Add and initialize firmwareI2cAddress and bootloaderI2cAddress to uhk_module_state_t.
This commit is contained in:
@@ -9,9 +9,25 @@
|
|||||||
#include "crc16.h"
|
#include "crc16.h"
|
||||||
|
|
||||||
uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT];
|
uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT];
|
||||||
|
|
||||||
static 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 i2c_message_t txMessage;
|
||||||
|
|
||||||
|
static uhk_module_i2c_addresses_t moduleIdsToI2cAddresses[] = {
|
||||||
|
{ // UhkModuleId_LeftKeyboardHalf
|
||||||
|
.firmwareI2cAddress = I2C_ADDRESS_LEFT_KEYBOARD_HALF_FIRMWARE,
|
||||||
|
.bootloaderI2cAddress = I2C_ADDRESS_LEFT_KEYBOARD_HALF_BOOTLOADER
|
||||||
|
},
|
||||||
|
{ // UhkModuleId_LeftAddon
|
||||||
|
.firmwareI2cAddress = I2C_ADDRESS_LEFT_ADDON_FIRMWARE,
|
||||||
|
.bootloaderI2cAddress = I2C_ADDRESS_LEFT_ADDON_BOOTLOADER
|
||||||
|
},
|
||||||
|
{ // UhkModuleId_RightAddon
|
||||||
|
.firmwareI2cAddress = I2C_ADDRESS_RIGHT_ADDON_FIRMWARE,
|
||||||
|
.bootloaderI2cAddress = I2C_ADDRESS_RIGHT_ADDON_BOOTLOADER
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static status_t tx(void) {
|
static status_t tx(void) {
|
||||||
return I2cAsyncWriteMessage(I2C_ADDRESS_LEFT_KEYBOARD_HALF_FIRMWARE, &txMessage);
|
return I2cAsyncWriteMessage(I2C_ADDRESS_LEFT_KEYBOARD_HALF_FIRMWARE, &txMessage);
|
||||||
}
|
}
|
||||||
@@ -34,6 +50,10 @@ void UhkModuleSlaveDriver_Init(uint8_t uhkModuleId)
|
|||||||
|
|
||||||
uhk_module_phase_t *uhkModulePhase = &uhkModuleState->phase;
|
uhk_module_phase_t *uhkModulePhase = &uhkModuleState->phase;
|
||||||
*uhkModulePhase = UhkModulePhase_RequestKeyStates;
|
*uhkModulePhase = UhkModulePhase_RequestKeyStates;
|
||||||
|
|
||||||
|
uhk_module_i2c_addresses_t *uhkModuleI2cAddresses = moduleIdsToI2cAddresses + uhkModuleId;
|
||||||
|
uhkModuleState->firmwareI2cAddress = uhkModuleI2cAddresses->firmwareI2cAddress;
|
||||||
|
uhkModuleState->bootloaderI2cAddress = uhkModuleI2cAddresses->bootloaderI2cAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleId)
|
status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleId)
|
||||||
|
|||||||
@@ -37,8 +37,15 @@
|
|||||||
uhk_module_phase_t phase;
|
uhk_module_phase_t phase;
|
||||||
uhk_module_vars_t targetVars;
|
uhk_module_vars_t targetVars;
|
||||||
i2c_message_t rxMessage;
|
i2c_message_t rxMessage;
|
||||||
|
uint8_t firmwareI2cAddress;
|
||||||
|
uint8_t bootloaderI2cAddress;
|
||||||
} uhk_module_state_t;
|
} uhk_module_state_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint8_t firmwareI2cAddress;
|
||||||
|
uint8_t bootloaderI2cAddress;
|
||||||
|
} uhk_module_i2c_addresses_t;
|
||||||
|
|
||||||
// Variables:
|
// Variables:
|
||||||
|
|
||||||
extern uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT];
|
extern uhk_module_vars_t UhkModuleVars[UHK_MODULE_MAX_COUNT];
|
||||||
|
|||||||
Reference in New Issue
Block a user