Cell voltages fork (SoC)

Dependencies:   CUER_CAN CUER_DS1820 LTC2943 LTC6804 mbed PowerControl

Revision:
48:5c3f42c44036
Parent:
45:c288d7cbdb4a
Child:
53:4277cdcff69b
--- a/CANParserBMU.cpp	Sun Jul 23 10:33:53 2017 +0000
+++ b/CANParserBMU.cpp	Mon Jul 24 15:00:53 2017 +0000
@@ -253,7 +253,7 @@
 
 float decodeBatteryCurrent(CANMessage msg)
 {
-    uint32_t result = 0;
+    float result = 0;
     CAN_Data decode;
     decode.importCANData(msg);
     result = decode.getUpperFloat();
@@ -346,6 +346,40 @@
     return msg;
 }
 
+CANMessage createEEPROMReset(float init_SOC, float init_SOC_Percent) //TODO: Ensure ID doesn't conflict more carefully (It should be fine)
+{
+    CANMessage msg;
+    msg.len = 8;
+    msg.id = BMS_BASE_ID + EEPROM_RESET_ID;
+    
+    CAN_Data data;
+    data.setLowerFloat(init_SOC);
+    data.setUpperFloat(init_SOC_Percent);
+    
+    for(int i=0; i<8; i++) {
+        msg.data[i] = data.get_u8(i);
+    }
+    return msg;    
+}
+
+float decodeEEPROMSOC(CANMessage msg)
+{
+    float result = 0;
+    CAN_Data decode;
+    decode.importCANData(msg);
+    result = decode.getLowerFloat();
+    return result;
+}
+
+float decodeEEPROMSOCPercentage(CANMessage msg)
+{
+    float result = 0;
+    CAN_Data decode;
+    decode.importCANData(msg);
+    result = decode.getUpperFloat();
+    return result;   
+}
+
 void convertFloatFloat(float lower, float upper, CANMessage& msg, bool littleEndian)
 {
     // Code taken from driver_controls