diff options
| author | Drashna Jaelre <drashna@live.com> | 2021-08-14 22:39:08 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-15 15:39:08 +1000 |
| commit | 488aaa0980b113240a461d6d7878c62f5663f5c6 (patch) | |
| tree | e660854792b5a2b5ae357b0bb6a5115c2daea99a /quantum/split_common | |
| parent | 4b3691e72da69290f63e859bb6ecb55dc561ece5 (diff) | |
| download | qmk_firmware-488aaa0980b113240a461d6d7878c62f5663f5c6.tar.gz qmk_firmware-488aaa0980b113240a461d6d7878c62f5663f5c6.zip | |
Enable sync of OLED/ST7565 display on/off state on Splits (#13542)
* Enable sync of OLED/ST7565 display on/off state on Splits
* Only send if states are not matched
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'quantum/split_common')
| -rw-r--r-- | quantum/split_common/transaction_id_define.h | 8 | ||||
| -rw-r--r-- | quantum/split_common/transactions.c | 108 | ||||
| -rw-r--r-- | quantum/split_common/transport.h | 10 |
3 files changed, 105 insertions, 21 deletions
diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index 464c73478..3b78402d4 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h | |||
| @@ -70,6 +70,14 @@ enum serial_transaction_id { | |||
| 70 | PUT_WPM, | 70 | PUT_WPM, |
| 71 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) | 71 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) |
| 72 | 72 | ||
| 73 | #if defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 74 | PUT_OLED, | ||
| 75 | #endif // defined(WPM_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 76 | |||
| 77 | #if defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 78 | PUT_ST7565, | ||
| 79 | #endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 80 | |||
| 73 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 81 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
| 74 | PUT_RPC_INFO, | 82 | PUT_RPC_INFO, |
| 75 | PUT_RPC_REQ_DATA, | 83 | PUT_RPC_REQ_DATA, |
diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index abad626e0..de42882df 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c | |||
| @@ -41,8 +41,8 @@ | |||
| 41 | { &dummy, 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } | 41 | { &dummy, 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } |
| 42 | #define trans_target2initiator_initializer(member) trans_target2initiator_initializer_cb(member, NULL) | 42 | #define trans_target2initiator_initializer(member) trans_target2initiator_initializer_cb(member, NULL) |
| 43 | 43 | ||
| 44 | #define transport_write(id, data, length) transport_execute_transaction(id, data, length, NULL, 0) | 44 | #define transport_write(id, data, length) transport_execute_transaction(id, data, length, NULL, 0) |
| 45 | #define transport_read(id, data, length) transport_execute_transaction(id, NULL, 0, data, length) | 45 | #define transport_read(id, data, length) transport_execute_transaction(id, NULL, 0, data, length) |
| 46 | 46 | ||
| 47 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 47 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
| 48 | // Forward-declare the RPC callback handlers | 48 | // Forward-declare the RPC callback handlers |
| @@ -160,8 +160,8 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro | |||
| 160 | memcpy(master_matrix, split_shmem->mmatrix.matrix, sizeof(split_shmem->mmatrix.matrix)); | 160 | memcpy(master_matrix, split_shmem->mmatrix.matrix, sizeof(split_shmem->mmatrix.matrix)); |
| 161 | } | 161 | } |
| 162 | 162 | ||
| 163 | # define TRANSACTIONS_MASTER_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(master_matrix_handlers) | 163 | # define TRANSACTIONS_MASTER_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(master_matrix_handlers) |
| 164 | # define TRANSACTIONS_MASTER_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(master_matrix_handlers) | 164 | # define TRANSACTIONS_MASTER_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(master_matrix_handlers) |
| 165 | # define TRANSACTIONS_MASTER_MATRIX_REGISTRATIONS [PUT_MASTER_MATRIX] = trans_initiator2target_initializer(mmatrix.matrix), | 165 | # define TRANSACTIONS_MASTER_MATRIX_REGISTRATIONS [PUT_MASTER_MATRIX] = trans_initiator2target_initializer(mmatrix.matrix), |
| 166 | 166 | ||
| 167 | #else // SPLIT_TRANSPORT_MIRROR | 167 | #else // SPLIT_TRANSPORT_MIRROR |
| @@ -238,8 +238,8 @@ static void sync_timer_handlers_slave(matrix_row_t master_matrix[], matrix_row_t | |||
| 238 | } | 238 | } |
| 239 | } | 239 | } |
| 240 | 240 | ||
| 241 | # define TRANSACTIONS_SYNC_TIMER_MASTER() TRANSACTION_HANDLER_MASTER(sync_timer_handlers) | 241 | # define TRANSACTIONS_SYNC_TIMER_MASTER() TRANSACTION_HANDLER_MASTER(sync_timer_handlers) |
| 242 | # define TRANSACTIONS_SYNC_TIMER_SLAVE() TRANSACTION_HANDLER_SLAVE(sync_timer_handlers) | 242 | # define TRANSACTIONS_SYNC_TIMER_SLAVE() TRANSACTION_HANDLER_SLAVE(sync_timer_handlers) |
| 243 | # define TRANSACTIONS_SYNC_TIMER_REGISTRATIONS [PUT_SYNC_TIMER] = trans_initiator2target_initializer(sync_timer), | 243 | # define TRANSACTIONS_SYNC_TIMER_REGISTRATIONS [PUT_SYNC_TIMER] = trans_initiator2target_initializer(sync_timer), |
| 244 | 244 | ||
| 245 | #else // DISABLE_SYNC_TIMER | 245 | #else // DISABLE_SYNC_TIMER |
| @@ -303,8 +303,8 @@ static void led_state_handlers_slave(matrix_row_t master_matrix[], matrix_row_t | |||
| 303 | set_split_host_keyboard_leds(split_shmem->led_state); | 303 | set_split_host_keyboard_leds(split_shmem->led_state); |
| 304 | } | 304 | } |
| 305 | 305 | ||
| 306 | # define TRANSACTIONS_LED_STATE_MASTER() TRANSACTION_HANDLER_MASTER(led_state_handlers) | 306 | # define TRANSACTIONS_LED_STATE_MASTER() TRANSACTION_HANDLER_MASTER(led_state_handlers) |
| 307 | # define TRANSACTIONS_LED_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE(led_state_handlers) | 307 | # define TRANSACTIONS_LED_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE(led_state_handlers) |
| 308 | # define TRANSACTIONS_LED_STATE_REGISTRATIONS [PUT_LED_STATE] = trans_initiator2target_initializer(led_state), | 308 | # define TRANSACTIONS_LED_STATE_REGISTRATIONS [PUT_LED_STATE] = trans_initiator2target_initializer(led_state), |
| 309 | 309 | ||
| 310 | #else // SPLIT_LED_STATE_ENABLE | 310 | #else // SPLIT_LED_STATE_ENABLE |
| @@ -360,8 +360,8 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave | |||
| 360 | # endif | 360 | # endif |
| 361 | } | 361 | } |
| 362 | 362 | ||
| 363 | # define TRANSACTIONS_MODS_MASTER() TRANSACTION_HANDLER_MASTER(mods_handlers) | 363 | # define TRANSACTIONS_MODS_MASTER() TRANSACTION_HANDLER_MASTER(mods_handlers) |
| 364 | # define TRANSACTIONS_MODS_SLAVE() TRANSACTION_HANDLER_SLAVE(mods_handlers) | 364 | # define TRANSACTIONS_MODS_SLAVE() TRANSACTION_HANDLER_SLAVE(mods_handlers) |
| 365 | # define TRANSACTIONS_MODS_REGISTRATIONS [PUT_MODS] = trans_initiator2target_initializer(mods), | 365 | # define TRANSACTIONS_MODS_REGISTRATIONS [PUT_MODS] = trans_initiator2target_initializer(mods), |
| 366 | 366 | ||
| 367 | #else // SPLIT_MODS_ENABLE | 367 | #else // SPLIT_MODS_ENABLE |
| @@ -385,8 +385,8 @@ static bool backlight_handlers_master(matrix_row_t master_matrix[], matrix_row_t | |||
| 385 | 385 | ||
| 386 | static void backlight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { backlight_set(split_shmem->backlight_level); } | 386 | static void backlight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { backlight_set(split_shmem->backlight_level); } |
| 387 | 387 | ||
| 388 | # define TRANSACTIONS_BACKLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(backlight_handlers) | 388 | # define TRANSACTIONS_BACKLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(backlight_handlers) |
| 389 | # define TRANSACTIONS_BACKLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(backlight_handlers) | 389 | # define TRANSACTIONS_BACKLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(backlight_handlers) |
| 390 | # define TRANSACTIONS_BACKLIGHT_REGISTRATIONS [PUT_BACKLIGHT] = trans_initiator2target_initializer(backlight_level), | 390 | # define TRANSACTIONS_BACKLIGHT_REGISTRATIONS [PUT_BACKLIGHT] = trans_initiator2target_initializer(backlight_level), |
| 391 | 391 | ||
| 392 | #else // BACKLIGHT_ENABLE | 392 | #else // BACKLIGHT_ENABLE |
| @@ -422,8 +422,8 @@ static void rgblight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s | |||
| 422 | } | 422 | } |
| 423 | } | 423 | } |
| 424 | 424 | ||
| 425 | # define TRANSACTIONS_RGBLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(rgblight_handlers) | 425 | # define TRANSACTIONS_RGBLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(rgblight_handlers) |
| 426 | # define TRANSACTIONS_RGBLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(rgblight_handlers) | 426 | # define TRANSACTIONS_RGBLIGHT_SLAVE() TRANSACTION_HANDLER_SLAVE(rgblight_handlers) |
| 427 | # define TRANSACTIONS_RGBLIGHT_REGISTRATIONS [PUT_RGBLIGHT] = trans_initiator2target_initializer(rgblight_sync), | 427 | # define TRANSACTIONS_RGBLIGHT_REGISTRATIONS [PUT_RGBLIGHT] = trans_initiator2target_initializer(rgblight_sync), |
| 428 | 428 | ||
| 429 | #else // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) | 429 | #else // defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) |
| @@ -452,8 +452,8 @@ static void led_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t | |||
| 452 | led_matrix_set_suspend_state(split_shmem->led_matrix_sync.led_suspend_state); | 452 | led_matrix_set_suspend_state(split_shmem->led_matrix_sync.led_suspend_state); |
| 453 | } | 453 | } |
| 454 | 454 | ||
| 455 | # define TRANSACTIONS_LED_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(led_matrix_handlers) | 455 | # define TRANSACTIONS_LED_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(led_matrix_handlers) |
| 456 | # define TRANSACTIONS_LED_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(led_matrix_handlers) | 456 | # define TRANSACTIONS_LED_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(led_matrix_handlers) |
| 457 | # define TRANSACTIONS_LED_MATRIX_REGISTRATIONS [PUT_LED_MATRIX] = trans_initiator2target_initializer(led_matrix_sync), | 457 | # define TRANSACTIONS_LED_MATRIX_REGISTRATIONS [PUT_LED_MATRIX] = trans_initiator2target_initializer(led_matrix_sync), |
| 458 | 458 | ||
| 459 | #else // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | 459 | #else // defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) |
| @@ -482,8 +482,8 @@ static void rgb_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t | |||
| 482 | rgb_matrix_set_suspend_state(split_shmem->rgb_matrix_sync.rgb_suspend_state); | 482 | rgb_matrix_set_suspend_state(split_shmem->rgb_matrix_sync.rgb_suspend_state); |
| 483 | } | 483 | } |
| 484 | 484 | ||
| 485 | # define TRANSACTIONS_RGB_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(rgb_matrix_handlers) | 485 | # define TRANSACTIONS_RGB_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(rgb_matrix_handlers) |
| 486 | # define TRANSACTIONS_RGB_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(rgb_matrix_handlers) | 486 | # define TRANSACTIONS_RGB_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(rgb_matrix_handlers) |
| 487 | # define TRANSACTIONS_RGB_MATRIX_REGISTRATIONS [PUT_RGB_MATRIX] = trans_initiator2target_initializer(rgb_matrix_sync), | 487 | # define TRANSACTIONS_RGB_MATRIX_REGISTRATIONS [PUT_RGB_MATRIX] = trans_initiator2target_initializer(rgb_matrix_sync), |
| 488 | 488 | ||
| 489 | #else // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) | 489 | #else // defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) |
| @@ -507,8 +507,8 @@ static bool wpm_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave | |||
| 507 | 507 | ||
| 508 | static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { set_current_wpm(split_shmem->current_wpm); } | 508 | static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { set_current_wpm(split_shmem->current_wpm); } |
| 509 | 509 | ||
| 510 | # define TRANSACTIONS_WPM_MASTER() TRANSACTION_HANDLER_MASTER(wpm_handlers) | 510 | # define TRANSACTIONS_WPM_MASTER() TRANSACTION_HANDLER_MASTER(wpm_handlers) |
| 511 | # define TRANSACTIONS_WPM_SLAVE() TRANSACTION_HANDLER_SLAVE(wpm_handlers) | 511 | # define TRANSACTIONS_WPM_SLAVE() TRANSACTION_HANDLER_SLAVE(wpm_handlers) |
| 512 | # define TRANSACTIONS_WPM_REGISTRATIONS [PUT_WPM] = trans_initiator2target_initializer(current_wpm), | 512 | # define TRANSACTIONS_WPM_REGISTRATIONS [PUT_WPM] = trans_initiator2target_initializer(current_wpm), |
| 513 | 513 | ||
| 514 | #else // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) | 514 | #else // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) |
| @@ -520,6 +520,68 @@ static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_ | |||
| 520 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) | 520 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) |
| 521 | 521 | ||
| 522 | //////////////////////////////////////////////////// | 522 | //////////////////////////////////////////////////// |
| 523 | // OLED | ||
| 524 | |||
| 525 | #if defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 526 | |||
| 527 | static bool oled_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { | ||
| 528 | static uint32_t last_update = 0; | ||
| 529 | bool current_oled_state = is_oled_on(); | ||
| 530 | return send_if_condition(PUT_OLED, &last_update, (current_oled_state != split_shmem->current_oled_state), ¤t_oled_state, sizeof(current_oled_state)); | ||
| 531 | } | ||
| 532 | |||
| 533 | static void oled_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { | ||
| 534 | if (split_shmem->current_oled_state) { | ||
| 535 | oled_on(); | ||
| 536 | } else { | ||
| 537 | oled_off(); | ||
| 538 | } | ||
| 539 | } | ||
| 540 | |||
| 541 | # define TRANSACTIONS_OLED_MASTER() TRANSACTION_HANDLER_MASTER(oled_handlers) | ||
| 542 | # define TRANSACTIONS_OLED_SLAVE() TRANSACTION_HANDLER_SLAVE(oled_handlers) | ||
| 543 | # define TRANSACTIONS_OLED_REGISTRATIONS [PUT_OLED] = trans_initiator2target_initializer(current_oled_state), | ||
| 544 | |||
| 545 | #else // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 546 | |||
| 547 | # define TRANSACTIONS_OLED_MASTER() | ||
| 548 | # define TRANSACTIONS_OLED_SLAVE() | ||
| 549 | # define TRANSACTIONS_OLED_REGISTRATIONS | ||
| 550 | |||
| 551 | #endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 552 | |||
| 553 | //////////////////////////////////////////////////// | ||
| 554 | // ST7565 | ||
| 555 | |||
| 556 | #if defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 557 | |||
| 558 | static bool st7565_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { | ||
| 559 | static uint32_t last_update = 0; | ||
| 560 | bool current_st7565_state = st7565_is_on(); | ||
| 561 | return send_if_condition(PUT_ST7565, &last_update, (current_st7565_state != split_shmem->current_st7565_state), ¤t_st7565_state, sizeof(current_st7565_state)); | ||
| 562 | } | ||
| 563 | |||
| 564 | static void st7565_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { | ||
| 565 | if (split_shmem->current_st7565_state) { | ||
| 566 | st7565_on(); | ||
| 567 | } else { | ||
| 568 | st7565_off(); | ||
| 569 | } | ||
| 570 | } | ||
| 571 | |||
| 572 | # define TRANSACTIONS_ST7565_MASTER() TRANSACTION_HANDLER_MASTER(st7565_handlers) | ||
| 573 | # define TRANSACTIONS_ST7565_SLAVE() TRANSACTION_HANDLER_SLAVE(st7565_handlers) | ||
| 574 | # define TRANSACTIONS_ST7565_REGISTRATIONS [PUT_ST7565] = trans_initiator2target_initializer(current_st7565_state), | ||
| 575 | |||
| 576 | #else // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 577 | |||
| 578 | # define TRANSACTIONS_ST7565_MASTER() | ||
| 579 | # define TRANSACTIONS_ST7565_SLAVE() | ||
| 580 | # define TRANSACTIONS_ST7565_REGISTRATIONS | ||
| 581 | |||
| 582 | #endif // defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 583 | |||
| 584 | //////////////////////////////////////////////////// | ||
| 523 | 585 | ||
| 524 | uint8_t dummy; | 586 | uint8_t dummy; |
| 525 | split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { | 587 | split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { |
| @@ -543,6 +605,8 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { | |||
| 543 | TRANSACTIONS_LED_MATRIX_REGISTRATIONS | 605 | TRANSACTIONS_LED_MATRIX_REGISTRATIONS |
| 544 | TRANSACTIONS_RGB_MATRIX_REGISTRATIONS | 606 | TRANSACTIONS_RGB_MATRIX_REGISTRATIONS |
| 545 | TRANSACTIONS_WPM_REGISTRATIONS | 607 | TRANSACTIONS_WPM_REGISTRATIONS |
| 608 | TRANSACTIONS_OLED_REGISTRATIONS | ||
| 609 | TRANSACTIONS_ST7565_REGISTRATIONS | ||
| 546 | // clang-format on | 610 | // clang-format on |
| 547 | 611 | ||
| 548 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 612 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
| @@ -567,6 +631,8 @@ bool transactions_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix | |||
| 567 | TRANSACTIONS_LED_MATRIX_MASTER(); | 631 | TRANSACTIONS_LED_MATRIX_MASTER(); |
| 568 | TRANSACTIONS_RGB_MATRIX_MASTER(); | 632 | TRANSACTIONS_RGB_MATRIX_MASTER(); |
| 569 | TRANSACTIONS_WPM_MASTER(); | 633 | TRANSACTIONS_WPM_MASTER(); |
| 634 | TRANSACTIONS_OLED_MASTER(); | ||
| 635 | TRANSACTIONS_ST7565_MASTER(); | ||
| 570 | return okay; | 636 | return okay; |
| 571 | } | 637 | } |
| 572 | 638 | ||
| @@ -583,6 +649,8 @@ void transactions_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[ | |||
| 583 | TRANSACTIONS_LED_MATRIX_SLAVE(); | 649 | TRANSACTIONS_LED_MATRIX_SLAVE(); |
| 584 | TRANSACTIONS_RGB_MATRIX_SLAVE(); | 650 | TRANSACTIONS_RGB_MATRIX_SLAVE(); |
| 585 | TRANSACTIONS_WPM_SLAVE(); | 651 | TRANSACTIONS_WPM_SLAVE(); |
| 652 | TRANSACTIONS_OLED_SLAVE(); | ||
| 653 | TRANSACTIONS_ST7565_SLAVE(); | ||
| 586 | } | 654 | } |
| 587 | 655 | ||
| 588 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 656 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 2e07f6b25..1d4f6ed0c 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h | |||
| @@ -165,6 +165,14 @@ typedef struct _split_shared_memory_t { | |||
| 165 | uint8_t current_wpm; | 165 | uint8_t current_wpm; |
| 166 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) | 166 | #endif // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) |
| 167 | 167 | ||
| 168 | #if defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 169 | uint8_t current_oled_state; | ||
| 170 | #endif // defined(OLED_ENABLE) && defined(SPLIT_OLED_ENABLE) | ||
| 171 | |||
| 172 | #if defined(ST7565_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 173 | uint8_t current_st7565_state; | ||
| 174 | #endif // ST7565_ENABLE(OLED_ENABLE) && defined(SPLIT_ST7565_ENABLE) | ||
| 175 | |||
| 168 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 176 | #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
| 169 | rpc_sync_info_t rpc_info; | 177 | rpc_sync_info_t rpc_info; |
| 170 | uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; | 178 | uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; |
| @@ -172,4 +180,4 @@ typedef struct _split_shared_memory_t { | |||
| 172 | #endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) | 180 | #endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) |
| 173 | } split_shared_memory_t; | 181 | } split_shared_memory_t; |
| 174 | 182 | ||
| 175 | extern split_shared_memory_t *const split_shmem; \ No newline at end of file | 183 | extern split_shared_memory_t *const split_shmem; |
