* -------------------------
*/
+/* declarations */
+uint8_t keyboard_leds(void);
+void send_keyboard(report_keyboard_t *report);
+void send_mouse(report_mouse_t *report);
+void send_system(uint16_t data);
+void send_consumer(uint16_t data);
+
+/* host struct */
host_driver_t chibios_driver = {
keyboard_leds,
send_keyboard,
send_consumer
};
+
+/* TESTING
+ * Amber LED blinker thread, times are in milliseconds.
+ */
+/* set this variable to non-zero anywhere to blink once */
+// uint8_t blinkLed = 0;
+// static THD_WORKING_AREA(waBlinkerThread, 128);
+// static THD_FUNCTION(blinkerThread, arg) {
+// (void)arg;
+// chRegSetThreadName("blinkOrange");
+// while(true) {
+// if(blinkLed) {
+// blinkLed = 0;
+// palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
+// chThdSleepMilliseconds(100);
+// palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
+// }
+// chThdSleepMilliseconds(100);
+// }
+// }
+
+
+
/* Main thread
*/
int main(void) {
halInit();
chSysInit();
- palSetPad(GPIOC, GPIOC_LED_BLUE);
- chThdSleepMilliseconds(400);
- palClearPad(GPIOC, GPIOC_LED_BLUE);
+ // TESTING
+ // chThdCreateStatic(waBlinkerThread, sizeof(waBlinkerThread), NORMALPRIO, blinkerThread, NULL);
/* Init USB */
init_usb_driver(&USB_DRIVER);
host_set_driver(&chibios_driver);
#ifdef SLEEP_LED_ENABLE
- sleep_led_init();
+ sleep_led_init();
#endif
print("Keyboard start.\n");