diff --git a/right/src/slave_drivers/uhk_module_driver.c b/right/src/slave_drivers/uhk_module_driver.c index 02c666e..ef3d284 100644 --- a/right/src/slave_drivers/uhk_module_driver.c +++ b/right/src/slave_drivers/uhk_module_driver.c @@ -8,9 +8,8 @@ #include "bool_array_converter.h" #include "crc16.h" -uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT]; +uhk_module_state_t uhkModuleStates[UHK_MODULE_MAX_COUNT]; -static uhk_module_state_t uhkModuleStates[UHK_MODULE_MAX_COUNT]; static i2c_message_t txMessage; static uhk_module_i2c_addresses_t moduleIdsToI2cAddresses[] = { @@ -40,8 +39,8 @@ static status_t rx(i2c_message_t *rxMessage, uint8_t i2cAddress) void UhkModuleSlaveDriver_Init(uint8_t uhkModuleDriverId) { - uhk_module_vars_t *uhkModuleSourceVars = UhkModuleVars + uhkModuleDriverId; uhk_module_state_t *uhkModuleState = uhkModuleStates + uhkModuleDriverId; + uhk_module_vars_t *uhkModuleSourceVars = &uhkModuleState->sourceVars; uhk_module_vars_t *uhkModuleTargetVars = &uhkModuleState->targetVars; uhkModuleSourceVars->isTestLedOn = true; @@ -61,8 +60,8 @@ void UhkModuleSlaveDriver_Init(uint8_t uhkModuleDriverId) status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleDriverId) { status_t status = kStatus_Uhk_IdleSlave; - uhk_module_vars_t *uhkModuleSourceVars = UhkModuleVars + uhkModuleDriverId; uhk_module_state_t *uhkModuleState = uhkModuleStates + uhkModuleDriverId; + uhk_module_vars_t *uhkModuleSourceVars = &uhkModuleState->sourceVars; uhk_module_vars_t *uhkModuleTargetVars = &uhkModuleState->targetVars; uhk_module_phase_t *uhkModulePhase = &uhkModuleState->phase; uint8_t i2cAddress = uhkModuleState->firmwareI2cAddress; diff --git a/right/src/slave_drivers/uhk_module_driver.h b/right/src/slave_drivers/uhk_module_driver.h index c1ab21c..f3c7db5 100644 --- a/right/src/slave_drivers/uhk_module_driver.h +++ b/right/src/slave_drivers/uhk_module_driver.h @@ -61,6 +61,7 @@ uint8_t moduleId; uint8_t protocolVersion; uhk_module_phase_t phase; + uhk_module_vars_t sourceVars; uhk_module_vars_t targetVars; i2c_message_t rxMessage; uint8_t firmwareI2cAddress; @@ -76,7 +77,7 @@ // Variables: - extern uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT]; + extern uhk_module_state_t uhkModuleStates[UHK_MODULE_MAX_COUNT]; // Functions: diff --git a/right/src/usb_protocol_handler.c b/right/src/usb_protocol_handler.c index 8a0e5c4..ee27f14 100644 --- a/right/src/usb_protocol_handler.c +++ b/right/src/usb_protocol_handler.c @@ -80,7 +80,7 @@ void setTestLed(void) { uint8_t ledState = GenericHidInBuffer[1]; TEST_LED_SET(ledState); - UhkModuleVars[0].isTestLedOn = ledState; + uhkModuleStates[0].sourceVars.isTestLedOn = ledState; } // To be removed. Now it's already part of getKeyboardState() @@ -147,7 +147,7 @@ void setLedPwm(void) { uint8_t brightnessPercent = GenericHidInBuffer[1]; LedPwm_SetBrightness(brightnessPercent); - UhkModuleVars[0].ledPwmBrightness = brightnessPercent; + uhkModuleStates[0].sourceVars.ledPwmBrightness = brightnessPercent; } void getAdcValue(void)