DDRF = (1<<7); | DDRF = (1<<7); | ||||
for (;;) { | for (;;) { | ||||
PORTF ^= (1<<7); | PORTF ^= (1<<7); | ||||
keyboard_proc(); | |||||
keyboard_task(); | |||||
timer = timer_read(); | timer = timer_read(); | ||||
usb_host.Task(); | usb_host.Task(); |
if (host_get_driver() == vusb_driver()) | if (host_get_driver() == vusb_driver()) | ||||
usbPoll(); | usbPoll(); | ||||
#endif | #endif | ||||
keyboard_proc(); | |||||
keyboard_task(); | |||||
#ifdef HOST_VUSB | #ifdef HOST_VUSB | ||||
if (host_get_driver() == vusb_driver()) | if (host_get_driver() == vusb_driver()) | ||||
vusb_transfer_keyboard(); | vusb_transfer_keyboard(); |
host_set_driver(pjrc_driver()); | host_set_driver(pjrc_driver()); | ||||
while (1) { | while (1) { | ||||
keyboard_proc(); | |||||
keyboard_task(); | |||||
} | } | ||||
} | } |
// TODO: configuration process is incosistent. it sometime fails. | // TODO: configuration process is incosistent. it sometime fails. | ||||
// To prevent failing to configure NOT scan keyboard during configuration | // To prevent failing to configure NOT scan keyboard during configuration | ||||
if (usbConfiguration && usbInterruptIsReady()) { | if (usbConfiguration && usbInterruptIsReady()) { | ||||
keyboard_proc(); | |||||
keyboard_task(); | |||||
} | } | ||||
vusb_transfer_keyboard(); | vusb_transfer_keyboard(); | ||||
} | } |