From 4069776c022502f117b83b66c5a71700135acfbc Mon Sep 17 00:00:00 2001 From: tmk Date: Wed, 25 Jun 2014 13:57:36 +0900 Subject: Add initial files for RN-42 --- keyboard/hhkb_rn42/main.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 keyboard/hhkb_rn42/main.c (limited to 'keyboard/hhkb_rn42/main.c') diff --git a/keyboard/hhkb_rn42/main.c b/keyboard/hhkb_rn42/main.c new file mode 100644 index 0000000000..b6a8456f7f --- /dev/null +++ b/keyboard/hhkb_rn42/main.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include "lufa.h" +#include "print.h" +#include "sendchar.h" + + +static void SetupHardware(void) +{ + /* Disable watchdog if enabled by bootloader/fuses */ + MCUSR &= ~(1 << WDRF); + wdt_disable(); + + /* Disable clock division */ + clock_prescale_set(clock_div_1); + + // Leonardo needs. Without this USB device is not recognized. + USB_Disable(); + + USB_Init(); + + // for Console_Task + USB_Device_EnableSOFEvents(); + print_set_sendchar(sendchar); +} + +int main(void) __attribute__ ((weak)); +int main(void) +{ + SetupHardware(); + sei(); + + /* wait for USB startup & debug output */ + while (USB_DeviceState != DEVICE_STATE_Configured) { +#if defined(INTERRUPT_CONTROL_ENDPOINT) + ; +#else + USB_USBTask(); +#endif + } + print("USB configured.\n"); + + /* init modules */ + keyboard_init(); + host_set_driver(&lufa_driver); +#ifdef SLEEP_LED_ENABLE + sleep_led_init(); +#endif + + print("Keyboard start.\n"); + while (1) { + while (USB_DeviceState == DEVICE_STATE_Suspended) { + suspend_power_down(); + if (USB_Device_RemoteWakeupEnabled && suspend_wakeup_condition()) { + USB_Device_SendRemoteWakeup(); + } + } + + keyboard_task(); + +#if !defined(INTERRUPT_CONTROL_ENDPOINT) + USB_USBTask(); +#endif + } +} + -- cgit v1.2.3