From 57319489d239cfef3e0a06195b63168c13f42396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Wed, 31 May 2017 02:24:55 +0200 Subject: [PATCH] Make the left half send only as many bytes of key state information as required. --- left/src/slave_protocol_handler.c | 5 ++--- left/src/slave_protocol_handler.h | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/left/src/slave_protocol_handler.c b/left/src/slave_protocol_handler.c index 9cc71de..e8719ea 100644 --- a/left/src/slave_protocol_handler.c +++ b/left/src/slave_protocol_handler.c @@ -33,9 +33,8 @@ void SlaveProtocolHandler(void) uint8_t commandId = SlaveRxBuffer[0]; switch (commandId) { case SlaveCommand_GetKeyStates: - SlaveTxSize = KEYBOARD_MATRIX_COLS_NUM*KEYBOARD_MATRIX_ROWS_NUM; - BoolBytesToBits(keyMatrix.keyStates, SlaveTxBuffer, SlaveTxSize); -// memcpy(SlaveTxBuffer, keyMatrix.keyStates, SlaveTxSize); + SlaveTxSize = KEY_STATE_BUFFER_SIZE; + BoolBytesToBits(keyMatrix.keyStates, SlaveTxBuffer, LEFT_KEYBOARD_HALF_KEY_COUNT); break; case SlaveCommand_SetTestLed: SlaveTxSize = 0; diff --git a/left/src/slave_protocol_handler.h b/left/src/slave_protocol_handler.h index b773c23..d62519f 100644 --- a/left/src/slave_protocol_handler.h +++ b/left/src/slave_protocol_handler.h @@ -13,6 +13,9 @@ #define PROTOCOL_RESPONSE_SUCCESS 0 #define PROTOCOL_RESPONSE_GENERIC_ERROR 1 + #define LEFT_KEYBOARD_HALF_KEY_COUNT (KEYBOARD_MATRIX_COLS_NUM*KEYBOARD_MATRIX_ROWS_NUM) + #define KEY_STATE_BUFFER_SIZE (LEFT_KEYBOARD_HALF_KEY_COUNT/8 + 1) + // Variables: uint8_t SlaveRxBuffer[SLAVE_RX_BUFFER_SIZE];