diff --git a/right/src/slave_drivers/uhk_module_driver.c b/right/src/slave_drivers/uhk_module_driver.c index bdf7df0..bb5e1ca 100644 --- a/right/src/slave_drivers/uhk_module_driver.c +++ b/right/src/slave_drivers/uhk_module_driver.c @@ -147,6 +147,7 @@ status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleDriverId) case UhkModulePhase_ProcessModuleFeatures: if (CRC16_IsMessageValid(rxMessage)) { memcpy(&uhkModuleState->features, rxMessage->data, sizeof(uhk_module_features_t)); + uhkModuleState->isEnumerated = true; } status = kStatus_Uhk_NoTransfer; *uhkModulePhase = UhkModulePhase_RequestKeyStates; @@ -209,4 +210,5 @@ void UhkModuleSlaveDriver_Disconnect(uint8_t uhkModuleDriverId) if (uhkModuleDriverId == SlaveId_LeftKeyboardHalf) { Slaves[SlaveId_LeftLedDriver].isConnected = false; } + uhkModuleStates[uhkModuleDriverId].isEnumerated = false; } diff --git a/right/src/slave_drivers/uhk_module_driver.h b/right/src/slave_drivers/uhk_module_driver.h index 3474852..c1ab21c 100644 --- a/right/src/slave_drivers/uhk_module_driver.h +++ b/right/src/slave_drivers/uhk_module_driver.h @@ -66,6 +66,7 @@ uint8_t firmwareI2cAddress; uint8_t bootloaderI2cAddress; uhk_module_features_t features; + bool isEnumerated; } uhk_module_state_t; typedef struct {