|
|
@@ -61,16 +61,19 @@ void controller_SetCurrent(uint8_t const TARGET_ADDRESS, uint8_t slot_id, int16_
|
|
|
|
|
|
//Get battery measurement: Voltage, Current and Temperature:
|
|
|
bool controller_GetBatteryMeasurement(uint8_t const TARGET_ADDRESS, uint8_t slot_id, BatteryMeasurement *measurement){
|
|
|
-
|
|
|
if(controller_GetCommandRequest(TARGET_ADDRESS, CMD_GET_MEASUREMENT, slot_id, (uint8_t *)measurement, sizeof(BatteryMeasurement))){
|
|
|
measurement->voltage = rx_packet.rxBuffer[0] | (rx_packet.rxBuffer[1] << 8);
|
|
|
measurement->current = rx_packet.rxBuffer[2] | (rx_packet.rxBuffer[3] << 8);
|
|
|
- measurement->temperature = rx_packet.rxBuffer[4] | (rx_packet.rxBuffer[5] << 8);
|
|
|
-
|
|
|
+ measurement->temperature = rx_packet.rxBuffer[4] | (rx_packet.rxBuffer[5] << 8);
|
|
|
+ measurement->slot_state = (SlotState)(rx_packet.rxBuffer[6]);
|
|
|
+ //Debug
|
|
|
+ printf("Slot ID: 0x%02X\n", slot_id);
|
|
|
printf("Voltage:0x%02X\n", rx_packet.rxBuffer[0] | (rx_packet.rxBuffer[1] << 8));
|
|
|
printf("Current:0x%02X\n", rx_packet.rxBuffer[2] | (rx_packet.rxBuffer[3] << 8));
|
|
|
printf("Temperature:0x%02X\n", rx_packet.rxBuffer[4] | (rx_packet.rxBuffer[5] << 8));
|
|
|
+ printf("Slot State:0x%02X\n", rx_packet.rxBuffer[6]);
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
-}
|
|
|
+}
|
|
|
+
|