diff --git a/right/src/slave_drivers/uhk_module_driver.c b/right/src/slave_drivers/uhk_module_driver.c index 98bfcfe..e0bcbdc 100644 --- a/right/src/slave_drivers/uhk_module_driver.c +++ b/right/src/slave_drivers/uhk_module_driver.c @@ -151,7 +151,6 @@ status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleDriverId) bool isMessageValid = CRC16_IsMessageValid(rxMessage); if (isMessageValid) { memcpy(&uhkModuleState->features, rxMessage->data, sizeof(uhk_module_features_t)); - uhkModuleState->isEnumerated = true; } status = kStatus_Uhk_NoTransfer; *uhkModulePhase = isMessageValid ? UhkModulePhase_RequestKeyStates : UhkModulePhase_RequestModuleFeatures; @@ -215,5 +214,5 @@ void UhkModuleSlaveDriver_Disconnect(uint8_t uhkModuleDriverId) if (uhkModuleDriverId == SlaveId_LeftKeyboardHalf) { Slaves[SlaveId_LeftLedDriver].isConnected = false; } - UhkModuleStates[uhkModuleDriverId].isEnumerated = false; + UhkModuleStates[uhkModuleDriverId].moduleId = 0; } diff --git a/right/src/slave_drivers/uhk_module_driver.h b/right/src/slave_drivers/uhk_module_driver.h index c5b9f99..848c1b6 100644 --- a/right/src/slave_drivers/uhk_module_driver.h +++ b/right/src/slave_drivers/uhk_module_driver.h @@ -67,7 +67,6 @@ uint8_t firmwareI2cAddress; uint8_t bootloaderI2cAddress; uhk_module_features_t features; - bool isEnumerated; } uhk_module_state_t; typedef struct { diff --git a/right/src/usb_protocol_handler.c b/right/src/usb_protocol_handler.c index e509d1b..d2a5692 100644 --- a/right/src/usb_protocol_handler.c +++ b/right/src/usb_protocol_handler.c @@ -224,6 +224,9 @@ void getKeyboardState(void) { GenericHidOutBuffer[1] = IsEepromBusy; GenericHidOutBuffer[2] = MERGE_SENSOR_IS_MERGED; + GenericHidOutBuffer[3] = UhkModuleStates[UhkModuleDriverId_LeftKeyboardHalf].moduleId; + GenericHidOutBuffer[4] = UhkModuleStates[UhkModuleDriverId_LeftAddon].moduleId; + GenericHidOutBuffer[5] = UhkModuleStates[UhkModuleDriverId_RightAddon].moduleId; } void getDebugInfo(void)