Parcourir la source

Logic tested for 4 slots in 0x48 address to GET BATTERY MEASUREMENT

namrota ghosh il y a 6 mois
Parent
commit
e5179a190f
1 fichiers modifiés avec 5 ajouts et 4 suppressions
  1. 5 4
      src/controller/controller.c

+ 5 - 4
src/controller/controller.c

@@ -103,7 +103,7 @@ bool getBatteryMeasurement(uint8_t slot_id){
 
     txPacket.txComplete= false;
     txPacket.txLen= 1;
-    txPacket.txBuffer[0] = (0<<4) | (CMD_GET_MEASUREMENT & 0x0F);  
+    txPacket.txBuffer[0] = (slot_id<<4) | (CMD_GET_MEASUREMENT & 0x0F);  
 
     DL_I2C_flushControllerTXFIFO(I2C_1_INST);
     DL_I2C_fillControllerTXFIFO(I2C_1_INST, (uint8_t *)&txPacket.txBuffer[0], 1); 
@@ -179,9 +179,10 @@ bool getBatteryMeasurement(uint8_t slot_id){
     //DEBUG
     //printf("[I2C] Successfully read %d bytes from target 0x%02X\n", rxPacket.rxCount, TARGET_BASE_ADDRESS);
     printf("Voltage: %u\n", battery_data[slot_id].battery_measurement.voltage);
-    printf("Current: %d\n", battery_data[slot_id].battery_measurement.current);
-    printf("Temp: %u\n", battery_data[slot_id].battery_measurement.temperature);
-    printf("Slot state: %u\n", battery_data[slot_id].battery_measurement.slot_state);
+    printf("Current: %u\n", battery_data[slot_id].battery_measurement.current);
+    printf("Temp: %u\n",battery_data[slot_id].battery_measurement.temperature);
+    printf("Slot state: %u\n",battery_data[slot_id].battery_measurement.slot_state);
 
+    DL_I2C_flushControllerRXFIFO(I2C_1_INST);
     return true;
 }