Esempio n. 1
0
static inline void led_blink()
{
	bcm2835_turn_led(1);
	simple_delay(DELAY);
	bcm2835_turn_led(0);
	simple_delay(DELAY);
}
//*****************************************************************************
//
// Initializes the switch task.
//
//*****************************************************************************
unsigned long
AccelerometerTaskInit(void)
{
 //   volatile unsigned char foo = 28;

    RGBInit(1);
    RGBIntensitySet(0.3f);

    //
    // Turn on the Green LED
    //
    g_ucColorsIndx = 0;
    g_ulColors[g_ucColorsIndx] = 0x8000;
    RGBColorSet(g_ulColors);
    RGBDisable();


    //////////////
    g_pAccelerometerQueue = xQueueCreate(ACCELEROMETER_QUEUE_SIZE, ACCELEROMETER_ITEM_SIZE);

    I2CSetup(I2C0BASEADDR, 40000);

    if (((I2CRegRead(I2C0BASEADDR, SLAVEID, DEVID)) & 0xE5) == 0)
    {
        while (1);
    }

    I2CRegWrite(I2C0BASEADDR, SLAVEID, THRESH_FF, 0x06);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, TIME_FF, 0x15);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_MAP, 0x00);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, POWER_CTL, 0x08);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_ENABLE, 0x04);
    simple_delay();

    if(xTaskCreate(AccelerometerTask, (signed portCHAR *)"Acclerometer",
                   ACCELEROMETERTASKSTACKSIZE, NULL, tskIDLE_PRIORITY +
                   PRIORITY_ACCELEROMETER_TASK, NULL) != pdTRUE)
    {
        return(1);
    }

    //
    // Success.
    //
    return(0);
}
Esempio n. 3
0
int main(int argc, char *argv[])
{
        XGpio led_gpio;              /* LED Instance */

        /* Initialize LED GPIO settings */
        XGpio_Initialize(&led_gpio, XPAR_AXI_GPIO_0_DEVICE_ID);
        XGpio_SetDataDirection(&led_gpio, 1, 0);

        /* Output something via UART1, 115200 baudrate */
        printf("Start to blink led_gpio !!!\n\r");

        int led_value = 0x03;   /* default led_gpio value */
        while(1) {
                printf("led_gpio value set to 0x%X\n\r", led_value);

                /* Set GPIO Channel 1 value. */
                XGpio_DiscreteWrite(&led_gpio, 1 , led_value);

                /* sleep and change led_gpio value */
                simple_delay(10000000);
                led_value = ~led_value;
        }

        return 0;
}
Esempio n. 4
0
static void test_task() {
	int pid = sched_current_pid();
	int counter = 0;
	for (;;) {
		down(&sem);
		printk("process %d: %d\n", pid, counter++);
		simple_delay(DELAY);
		up(&sem);
	}
}