Just a regular publish

Dependencies:   mbed imu_driver

Revision:
1:8a9ac822aab7
Parent:
0:c4747ebbe0b4
Child:
2:c7a3a8c1aeed
--- a/main.cpp	Sat May 26 16:03:33 2018 +0000
+++ b/main.cpp	Mon Jun 18 06:50:24 2018 +0000
@@ -1,47 +1,54 @@
 #include "mbed.h"
 
-Ticker ticker;
-CAN can1(PB_5, PB_13, 1000000);
-CAN can2(PA_11, PA_12, 1000000);
+DigitalOut Cool(PA_15,0);
+//DigitalOut Led(D13,0);
+CAN can1(PA_11, PA_12, 1000000);                    //(Inverter, PadalBox, DashBoard) 1Mbps, contain critical torque command message
+CAN can2(PB_5, PB_13, 500000);                      //(BMS1, BMS2) 500kbps, contain battery status
+Serial pc(USBTX, USBRX, 115200);
 
 CANMessage can_msg_1;
 CANMessage can_msg_2;
 
 uint8_t CAN_flag_1 = 0;
 uint8_t CAN_flag_2 = 0;
+uint8_t RTD_State = 0;                              // use as bool
 
-void CAN1_RX(void);
-void CAN2_RX(void);
+void CAN_RX1(void);
+void CAN_RX2(void);
 
 int main()
 {
     CAN_flag_1 = 0;
     CAN_flag_2 = 0;
-    
-    can1.attach(&CAN1_RX, CAN::RxIrq);               //CAN1 Recieve Irq
-    can2.attach(&CAN2_RX, CAN::RxIrq);               //CAN2 Recieve Irq
+
+    can1.attach(&CAN_RX1, CAN::RxIrq);              //CAN1 Recieve Irq
+    can2.attach(&CAN_RX2, CAN::RxIrq);              //CAN2 Recieve Irq
 
     while(1) {
-        while(CAN_flag_1 == 1) {
-            can2.write(can_msg_1);
+        if(CAN_flag_1) {
+//            Led = RTD_State;
+            Cool = RTD_State;
+            pc.printf("%d\r", RTD_State);
             CAN_flag_1 = 0;
         }
-        while(CAN_flag_2 == 1) {
-            can1.write(can_msg_2);
-            CAN_flag_2 = 0;
-        }
     }
 }
 
-void CAN1_RX(void)
+void CAN_RX1(void)
 {
     if(can1.read(can_msg_1)) {
-        CAN_flag_1 = 1;
+        switch(can_msg_1.id) {                                                  //Filtered the input message and do corresponding action
+            case 0xAA:
+                //Internal state address
+                RTD_State = can_msg_1.data[6] & 0x01;                           //get bit "0", result ( 1 = RTD, 0 = OFF )
+                CAN_flag_1 = 1;
+                break;
+        }
     }
 }
-void CAN2_RX(void)
+
+void CAN_RX2(void)
 {
     if(can2.read(can_msg_2)) {
-        CAN_flag_2 = 1;
     }
 }
\ No newline at end of file