Example #1
0
static void kbd_task(void *pvParameters)
{
    uint8_t idx = 0;
    bool last_state = false;
    char hikob[] = "-- HiKoB --";

    while (1)
    {
        /*  LED used to indicate if the device is set up  */
        if(kbd_get_state())
            leds_off(LED_1);

        last_state = false;
        leds_toggle(LED_0);
        vTaskDelay(configTICK_RATE_HZ/10);

        if(!button_state() && !last_state){	//if the button is pushed
            kbd_send(hikob[idx]);
            idx ++;
            last_state = true;
        }
        else{
            kbd_send(NO_CHAR);
            last_state = false;
        }

        if(idx > sizeof(hikob))
            idx = 0;
    }
}
Example #2
0
static void sio_data_write(void *opaque, uint32_t addr, uint32_t value)
{
    KeyBoardState *s = opaque;

    if (s->status & SIO_STAT_TXRDY) {
        s->status &= ~SIO_STAT_TXE;
        kbd_send(s, value);
    }
}