diff options
| -rw-r--r-- | quantum/main.c | 15 | ||||
| -rw-r--r-- | tmk_core/protocol/chibios/chibios.c | 6 | ||||
| -rw-r--r-- | tmk_core/protocol/lufa/lufa.c | 6 | ||||
| -rw-r--r-- | tmk_core/protocol/vusb/protocol.c | 5 |
4 files changed, 21 insertions, 11 deletions
diff --git a/quantum/main.c b/quantum/main.c index a896a67c6..3814d371c 100644 --- a/quantum/main.c +++ b/quantum/main.c | |||
| @@ -19,11 +19,21 @@ | |||
| 19 | void platform_setup(void); | 19 | void platform_setup(void); |
| 20 | 20 | ||
| 21 | void protocol_setup(void); | 21 | void protocol_setup(void); |
| 22 | void protocol_init(void); | 22 | void protocol_pre_init(void); |
| 23 | void protocol_post_init(void); | ||
| 23 | void protocol_pre_task(void); | 24 | void protocol_pre_task(void); |
| 24 | void protocol_post_task(void); | 25 | void protocol_post_task(void); |
| 25 | 26 | ||
| 26 | // Bodge as refactoring vusb sucks.... | 27 | // Bodge as refactoring this area sucks.... |
| 28 | void protocol_init(void) __attribute__((weak)); | ||
| 29 | void protocol_init(void) { | ||
| 30 | protocol_pre_init(); | ||
| 31 | |||
| 32 | keyboard_init(); | ||
| 33 | |||
| 34 | protocol_post_init(); | ||
| 35 | } | ||
| 36 | |||
| 27 | void protocol_task(void) __attribute__((weak)); | 37 | void protocol_task(void) __attribute__((weak)); |
| 28 | void protocol_task(void) { | 38 | void protocol_task(void) { |
| 29 | protocol_pre_task(); | 39 | protocol_pre_task(); |
| @@ -44,7 +54,6 @@ int main(void) { | |||
| 44 | keyboard_setup(); | 54 | keyboard_setup(); |
| 45 | 55 | ||
| 46 | protocol_init(); | 56 | protocol_init(); |
| 47 | keyboard_init(); | ||
| 48 | 57 | ||
| 49 | /* Main loop */ | 58 | /* Main loop */ |
| 50 | while (true) { | 59 | while (true) { |
diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 98b330508..5ba21b3f8 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c | |||
| @@ -140,7 +140,7 @@ void protocol_setup(void) { | |||
| 140 | // chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL); | 140 | // chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL); |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | void protocol_init(void) { | 143 | void protocol_pre_init(void) { |
| 144 | /* Init USB */ | 144 | /* Init USB */ |
| 145 | usb_event_queue_init(); | 145 | usb_event_queue_init(); |
| 146 | init_usb_driver(&USB_DRIVER); | 146 | init_usb_driver(&USB_DRIVER); |
| @@ -173,10 +173,10 @@ void protocol_init(void) { | |||
| 173 | wait_ms(50); | 173 | wait_ms(50); |
| 174 | 174 | ||
| 175 | print("USB configured.\n"); | 175 | print("USB configured.\n"); |
| 176 | |||
| 177 | host_set_driver(driver); | ||
| 178 | } | 176 | } |
| 179 | 177 | ||
| 178 | void protocol_post_init(void) { host_set_driver(driver); } | ||
| 179 | |||
| 180 | void protocol_pre_task(void) { | 180 | void protocol_pre_task(void) { |
| 181 | usb_event_queue_task(); | 181 | usb_event_queue_task(); |
| 182 | 182 | ||
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 80781d2f3..e3be96d93 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c | |||
| @@ -1072,7 +1072,7 @@ void protocol_setup(void) { | |||
| 1072 | usb_device_state_init(); | 1072 | usb_device_state_init(); |
| 1073 | } | 1073 | } |
| 1074 | 1074 | ||
| 1075 | void protocol_init(void) { | 1075 | void protocol_pre_init(void) { |
| 1076 | setup_usb(); | 1076 | setup_usb(); |
| 1077 | sei(); | 1077 | sei(); |
| 1078 | 1078 | ||
| @@ -1094,10 +1094,10 @@ void protocol_init(void) { | |||
| 1094 | #else | 1094 | #else |
| 1095 | USB_USBTask(); | 1095 | USB_USBTask(); |
| 1096 | #endif | 1096 | #endif |
| 1097 | |||
| 1098 | host_set_driver(&lufa_driver); | ||
| 1099 | } | 1097 | } |
| 1100 | 1098 | ||
| 1099 | void protocol_post_init(void) { host_set_driver(&lufa_driver); } | ||
| 1100 | |||
| 1101 | void protocol_pre_task(void) { | 1101 | void protocol_pre_task(void) { |
| 1102 | #if !defined(NO_USB_STARTUP_CHECK) | 1102 | #if !defined(NO_USB_STARTUP_CHECK) |
| 1103 | if (USB_DeviceState == DEVICE_STATE_Suspended) { | 1103 | if (USB_DeviceState == DEVICE_STATE_Suspended) { |
diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c index 947c3383f..644e77e02 100644 --- a/tmk_core/protocol/vusb/protocol.c +++ b/tmk_core/protocol/vusb/protocol.c | |||
| @@ -113,12 +113,13 @@ void protocol_setup(void) { | |||
| 113 | #endif | 113 | #endif |
| 114 | } | 114 | } |
| 115 | 115 | ||
| 116 | void protocol_init(void) { | 116 | void protocol_pre_init(void) { |
| 117 | setup_usb(); | 117 | setup_usb(); |
| 118 | sei(); | 118 | sei(); |
| 119 | } | ||
| 119 | 120 | ||
| 121 | void protocol_post_init(void) { | ||
| 120 | host_set_driver(vusb_driver()); | 122 | host_set_driver(vusb_driver()); |
| 121 | |||
| 122 | wait_ms(50); | 123 | wait_ms(50); |
| 123 | } | 124 | } |
| 124 | 125 | ||
