diff --git a/right/src/slave_drivers/uhk_module_driver.h b/right/src/slave_drivers/uhk_module_driver.h index 5f20d4f..3f90350 100644 --- a/right/src/slave_drivers/uhk_module_driver.h +++ b/right/src/slave_drivers/uhk_module_driver.h @@ -8,12 +8,18 @@ // Macros: - #define UHK_MODULE_MAX_COUNT 1 + #define UHK_MODULE_MAX_COUNT 3 #define KEY_STATE_SIZE (LEFT_KEYBOARD_HALF_KEY_COUNT/8 + 1) #define KEY_STATE_BUFFER_SIZE (KEY_STATE_SIZE + CRC16_HASH_LENGTH) // Typedefs: + typedef enum { + UhkModuleId_LeftKeyboardHalf, + UhkModuleId_LeftAddon, + UhkModuleId_RightAddon, + } uhk_module_id_t; + typedef enum { UhkModulePhase_SendKeystatesRequestCommand, UhkModulePhase_ReceiveKeystates, diff --git a/right/src/slave_scheduler.c b/right/src/slave_scheduler.c index 87ffd1d..4488bd2 100644 --- a/right/src/slave_scheduler.c +++ b/right/src/slave_scheduler.c @@ -12,9 +12,9 @@ uint8_t previousSlaveId = 0; uint8_t currentSlaveId = 0; uhk_slave_t Slaves[] = { - { .initializer = UhkModuleSlaveDriver_Init, .updater = UhkModuleSlaveDriver_Update, .perDriverId = 0 }, - { .initializer = LedSlaveDriver_Init, .updater = LedSlaveDriver_Update, .perDriverId = LedDriverId_Right }, - { .initializer = LedSlaveDriver_Init, .updater = LedSlaveDriver_Update, .perDriverId = LedDriverId_Left }, + { .initializer = UhkModuleSlaveDriver_Init, .updater = UhkModuleSlaveDriver_Update, .perDriverId = UhkModuleId_LeftKeyboardHalf }, + { .initializer = LedSlaveDriver_Init, .updater = LedSlaveDriver_Update, .perDriverId = LedDriverId_Right }, + { .initializer = LedSlaveDriver_Init, .updater = LedSlaveDriver_Update, .perDriverId = LedDriverId_Left }, }; static void bridgeProtocolCallback(I2C_Type *base, i2c_master_handle_t *handle, status_t status, void *userData)