/*
 * Class:     org_bulldog_beagleboneblack_jni_NativeGpio
 * Method:    enableGpio
 * Signature: V
 */
JNIEXPORT void JNICALL Java_org_bulldog_beagleboneblack_jni_NativeGpio_enableGpio
  (JNIEnv * env, jclass clazz) {
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO0);
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO1);
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO2);
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO3);
}
Esempio n. 2
0
//-------------------------------------------------------------------------------------
void keypad_4x4_init()
{
        iolib_init();

        BBBIO_sys_Enable_GPIO(BBBIO_GPIO2);

	// P8_39 / P8_41 / P8_43 / P8_45 as input
	// P8_40 / P8_42 / P8_44 / P8_46 as input
	// GPIO mapping reference from BBB_SRM , page 80 , "Table 11. Expansion Header P8 Pinout"
        BBBIO_GPIO_set_dir(BBBIO_GPIO2 ,
                           BBBIO_GPIO_PIN_12 |BBBIO_GPIO_PIN_10 |BBBIO_GPIO_PIN_8 |BBBIO_GPIO_PIN_6 ,   // input
                           BBBIO_GPIO_PIN_13 |BBBIO_GPIO_PIN_11 |BBBIO_GPIO_PIN_9 |BBBIO_GPIO_PIN_7 );  // output

}
void bbio::open(){
    
    // GPIO init
    init();
    init_pins(); // ALL 5 pins are HIGH except for GND
    init_DAConvAD5328();

    //BBBIO init
    iolib_init();
    BBBIO_sys_Enable_GPIO(BBBIO_GPIO1);
    BBBIO_GPIO_set_dir(BBBIO_GPIO1 ,
                       port_dout_SPI[0] ,
                       port_din_SPI[0] | port_clk_SPI[0] | port_cs_SPI[0]);
    
    BBBIO_GPIO_low(BBBIO_GPIO1 ,port_din_SPI[0]);
    BBBIO_GPIO_low(BBBIO_GPIO1 ,port_clk_SPI[0]);
    BBBIO_GPIO_low(BBBIO_GPIO1 ,port_cs_SPI[0]);
    
}
Esempio n. 4
0
//-----------------------------------------------------------------
int
main(void)
{
	int del =5;
	iolib_init();
	printf("init finish\n");
/*
	BBBIO_GPIO_set_dir(BBBIO_GPIO1 , 0 ,
					BBBIO_GPIO_PIN_12 |
					BBBIO_GPIO_PIN_13 |
                                        BBBIO_GPIO_PIN_14 |
                                        BBBIO_GPIO_PIN_15 );
*/
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO2);

	iolib_setdir(8,11, BBBIO_DIR_OUT);	// Scan A
	iolib_setdir(8,12, BBBIO_DIR_OUT);	// Scan B
        iolib_setdir(8,15, BBBIO_DIR_OUT);	// Scan C
        iolib_setdir(8,16, BBBIO_DIR_OUT);	// Scan D

	iolib_setdir(8,39, BBBIO_DIR_OUT);      // Seg A
	iolib_setdir(8,40, BBBIO_DIR_OUT);      // Seg B
        iolib_setdir(8,41, BBBIO_DIR_OUT);      // Seg C
        iolib_setdir(8,42, BBBIO_DIR_OUT);      // Seg D
        iolib_setdir(8,43, BBBIO_DIR_OUT);      // Seg E
        iolib_setdir(8,44, BBBIO_DIR_OUT);      // Seg F
        iolib_setdir(8,45, BBBIO_DIR_OUT);      // Seg G
        iolib_setdir(8,46, BBBIO_DIR_OUT);      // Seg . (point)


	printf("OK");

	int count = 0;
	int DisplayNumber =1234 ;
	while(count < 200)
	{
		count ++ ;
		pin_low(8,11);
		Display_Number(DisplayNumber / 1000);
		iolib_delay_ms(del);
		pin_high(8,11);

                pin_low(8,12);
                Display_Number(DisplayNumber / 100);
                iolib_delay_ms(del);
                pin_high(8,12);

                pin_low(8,15);
                Display_Number(DisplayNumber / 10);
                iolib_delay_ms(del);
                pin_high(8,15);

                pin_low(8,16);
                Display_Number(DisplayNumber);
                iolib_delay_ms(del);
                pin_high(8,16);
	}
	BBBIO_sys_Disable_GPIO(BBBIO_GPIO2);
	iolib_free();
	return(0);
}
Esempio n. 5
0
//-----------------------------------------------------------------
int
main(void)
{
	struct timeval t_start,t_end;
	pid_t PID ;
	struct sched_param param;
	int maxpri = sched_get_priority_max(SCHED_FIFO);

	param.sched_priority =maxpri ;
	PID =getpid();
//	sched_setscheduler(PID , SCHED_FIFO ,&param );

	iolib_init();
	iolib_setdir(8,11, BBBIO_DIR_OUT);	// Server motor
	iolib_setdir(8,12, BBBIO_DIR_OUT);
	iolib_setdir(8,15, BBBIO_DIR_OUT);
	iolib_setdir(8,16, BBBIO_DIR_OUT);
	iolib_setdir(8,22, BBBIO_DIR_OUT);
        iolib_setdir(8,23, BBBIO_DIR_OUT);
	BBBIO_sys_Enable_GPIO(BBBIO_GPIO2);

	BBBIO_GPIO_set_dir(BBBIO_GPIO2 ,	// key pad pin
                           BBBIO_GPIO_PIN_12 |BBBIO_GPIO_PIN_10 |BBBIO_GPIO_PIN_8 |BBBIO_GPIO_PIN_6 ,   // input
                           BBBIO_GPIO_PIN_13 |BBBIO_GPIO_PIN_11 |BBBIO_GPIO_PIN_9 |BBBIO_GPIO_PIN_7 );  // output

	int i , j ;
	// recover
        ActionPush(SM_BUTTOM ,90 ,0);
        ActionPush(SM_ARM1 ,90 ,0);
        ActionPush(SM_ARM2 ,110 ,0);
        ActionPush(SM_ARM3 ,150 ,0);
        ActionPush(SM_HAND ,90 ,0);
        ActionStart();

	Angle_Arm_1 =90 ;
	Angle_Arm_2 =110 ;
	Angle_Arm_3 =150;
	Angle_Hand =90 ;
	Angle_Buttom = 90 ;

        //-----------------------------------------
        // create 4x4 scan therad

        pthread_t pid_4x4 ;
        int ret ;
        ret = pthread_create(&pid_4x4, NULL, (void *)Thread_4x4_scan, NULL);

        //-----------------------------------------

	usleep(100000);

	float max_Angle =0 ;


for(j=0 ;j <5 ; j ++)
{
	for(i=0 ; i<7 ;i++)
	{
            ActionPush(SM_BUTTOM ,Action[i][0] ,0);
            ActionPush(SM_ARM1 ,Action[i][1] ,0);
            ActionPush(SM_ARM2 ,Action[i][2] ,0);
            ActionPush(SM_ARM3 ,Action[i][3] ,0);
            ActionPush(SM_HAND ,Action[i][4] ,0);
            ActionStart();
	}
}

/*
	while(key_status[3][3]==1)	//f
	{

	    ActionPush(SM_BUTTOM ,Angle_Buttom ,0);
            ActionPush(SM_ARM1 ,Angle_Arm_1 ,0);
            ActionPush(SM_ARM2 ,Angle_Arm_2 ,0);
            ActionPush(SM_ARM3 ,Angle_Arm_3 ,0);
            ActionPush(SM_HAND ,Angle_Hand ,0);

            ActionStart();
	}
*/
        ActionPush(SM_BUTTOM ,90 ,0);
        ActionPush(SM_ARM1 ,90 ,0);
        ActionPush(SM_ARM2 ,110 ,0);
        ActionPush(SM_ARM3 ,150 ,0);
        ActionPush(SM_HAND ,90 ,0);
        ActionStart();

	//---------------------------

	pthread_join(pid_4x4,NULL);
	printf("Finish\n");

	iolib_free();
	return(0);
}