Has base BMU code but sends dummy temperature and voltage readings to test CAN

Dependencies:   CUER_CAN DS1820 LTC2943 LTC6804 mbed

Fork of BMS_BMUCore_Max by CUER

Revision:
9:82ba050a7e13
Parent:
7:d00f4433cea9
Child:
10:1079f8e52d65
--- a/main.cpp	Sat Feb 11 14:58:28 2017 +0000
+++ b/main.cpp	Sat Feb 11 16:09:20 2017 +0000
@@ -9,6 +9,8 @@
 #include "State_Of_Charge.h"
 #include "SPI_I2C_Parser.h"
 
+
+
 using namespace CAN_IDs;
 
 // Function definitions
@@ -75,13 +77,27 @@
 
 void transmit_data(BMU_data measurements, uint32_t status)
 {
+    CANMessage msg;
     /*
     Place all of the collected data onto the CAN bus
     */
     // Send cell voltages
+    //voltages sent in sets of 4 + one cmy data set
+    int repeating_unit_length = NO_READINGS_PER_CMU /4 + 1;
     for(int i= 0; i < NO_CMUS; i++) {
-        createVoltageTelemetry(i + 2 , measurements.cell_voltages[i].first_cell_voltages);
-        createVoltageTelemetry(i + 3, measurements.cell_voltages[i].last_cell_voltages);
+        //createVoltageTelemetry(i + 2 , measurements.cell_voltages[i].first_cell_voltages);
+        //createVoltageTelemetry(i + 3, measurements.cell_voltages[i].last_cell_voltages);
+        //input id is offset, data structure is info, voltage, voltage, ......
+        //
+        msg = createVoltageTelemetry(repeating_unit_length*i+2, measures.cell_voltages[i].voltages); 
+        can.write(msg);
+        //+4 - 4 cell voltages sent per measurement
+        msg = createVoltageTelemetry(repeating_unit_length*i+3, measures.cell_voltages[i].voltages + 4); 
+        can.write(msg);
+        msg = createVoltageTelemetry(repeating_unit_length*i+4, measures.cell_voltages[i].voltages + 8); 
+        can.write(msg);
+        
+    
     }
 
     // Create SOC CAN message
@@ -231,6 +247,13 @@
     measurements.percentage_SOC = ltc2943.accumulatedCharge();
     measurements.SOC = (measurements.percentage_SOC /100) * BATTERY_CAPACITY;
     
+    for(int i=0; i<NO_CMUS; i++){
+        for(int j=0; j<12; j++){
+             measurements.cell_voltages[i][j] =  cellvoltages[i][j] / 10;   
+        }   
+    }
+    
+    
 }
 
 void init()