diff options
Diffstat (limited to 'quantum/main.c')
| -rw-r--r-- | quantum/main.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/quantum/main.c b/quantum/main.c index 2cbcd73d8..6ed6b9574 100644 --- a/quantum/main.c +++ b/quantum/main.c | |||
| @@ -19,8 +19,33 @@ | |||
| 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_task(void); | 23 | void protocol_post_init(void); |
| 24 | void protocol_pre_task(void); | ||
| 25 | void protocol_post_task(void); | ||
| 26 | |||
| 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 | |||
| 37 | void protocol_task(void) __attribute__((weak)); | ||
| 38 | void protocol_task(void) { | ||
| 39 | protocol_pre_task(); | ||
| 40 | |||
| 41 | keyboard_task(); | ||
| 42 | |||
| 43 | protocol_post_task(); | ||
| 44 | } | ||
| 45 | |||
| 46 | #ifdef DEFERRED_EXEC_ENABLE | ||
| 47 | void deferred_exec_task(void); | ||
| 48 | #endif // DEFERRED_EXEC_ENABLE | ||
| 24 | 49 | ||
| 25 | /** \brief Main | 50 | /** \brief Main |
| 26 | * | 51 | * |
| @@ -30,12 +55,19 @@ int main(void) __attribute__((weak)); | |||
| 30 | int main(void) { | 55 | int main(void) { |
| 31 | platform_setup(); | 56 | platform_setup(); |
| 32 | protocol_setup(); | 57 | protocol_setup(); |
| 58 | keyboard_setup(); | ||
| 33 | 59 | ||
| 34 | protocol_init(); | 60 | protocol_init(); |
| 35 | 61 | ||
| 36 | /* Main loop */ | 62 | /* Main loop */ |
| 37 | while (true) { | 63 | while (true) { |
| 38 | protocol_task(); | 64 | protocol_task(); |
| 65 | |||
| 66 | #ifdef DEFERRED_EXEC_ENABLE | ||
| 67 | // Run deferred executions | ||
| 68 | deferred_exec_task(); | ||
| 69 | #endif // DEFERRED_EXEC_ENABLE | ||
| 70 | |||
| 39 | housekeeping_task(); | 71 | housekeeping_task(); |
| 40 | } | 72 | } |
| 41 | } | 73 | } |
