Plz

Dependencies:   mbed CANMsg Adafruit_LEDBackpack

Revision:
6:be28839a8221
Parent:
5:6283f93fa278
Child:
7:060be032c57a
--- a/main.cpp	Fri Jul 26 11:53:44 2019 +0000
+++ b/main.cpp	Fri Jul 26 13:32:21 2019 +0000
@@ -1,12 +1,13 @@
 #include "mbed.h"
 #include "CANMsg.h"
 
-//Ticker ticker;
+Ticker ticker;
+Timer timer;
 AnalogIn currentPot(p15);
 AnalogIn speedPot(p16);
 DigitalIn ignition(p21);
 DigitalIn regen(p22);
-DigitalIn forward/reverse(p22);
+DigitalIn forwardreverse(p22);
 DigitalIn brake(p22);
 DigitalIn accel(p22);
 DigitalIn enable(p5);
@@ -19,6 +20,8 @@
 const uint16_t SIGNAL_ID = 0x501;
 const uint16_t BUS_ID = 0x502;
 char counter = 0;
+float curr_val = 0;
+float speed_val = 0;
 Serial pc(USBTX, USBRX); // tx, rx
 
 CANMsg driverControls;
@@ -63,8 +66,17 @@
 */
 //======================================================================
 
+void setDriverControls()
+{
+    driverControls.clear();
+    driverControls.id = SIGNAL_ID;
+    driverControls << speed_val;
+    driverControls << curr_val;
+}
+
 void send()
 {
+    setDriverControls();
     if(can1.write(driverControls))
         {
             led1 = !led1;
@@ -75,21 +87,22 @@
             led2 = 1;
             wait(3);
         }
+    timer.stop();
 }
 
-unsigned int swap(unsigned int value)
-{
-    value = ((value & 0xFFFF0000) >> 16) | ((value & 0x0000FFFF) << 16);
-    value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8);
+//unsigned int swap(unsigned int value)
+//{
+//    value = ((value & 0xFFFF0000) >> 16) | ((value & 0x0000FFFF) << 16);
+//    value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8);
     //value = ((value & 0xF0F0F0F0) >> 4) | ((value & 0x0F0F0F0F) << 4);
     //value = ((value & 0xCCCCCCCC) >> 2) | ((value & 0x33333333) << 2);
     //value = ((value & 0xAAAAAAAA) >> 1) | ((value & 0x55555555) << 1);
-    return value;
-}
+//    return value;
+//}
 
 int main()
 {
-    //ticker.attach(&send, 0.1);
+    ticker.attach(&send, 0.1);
     pc.baud(9600);
     can1.frequency(1000000);
     pc.printf("-------------------------------------\r\n");
@@ -105,16 +118,17 @@
         driverControls.clear();
         driverControls.id = SIGNAL_ID;
         // Append message with speed and current potentiometer s.
-        //float curr_val = currentPot.read();
-        //float speed_val = speedPot.read();
-        float curr_val = 50;
-        float speed_val = 1.0;
-        unsigned int *curr_as_int  = (unsigned int *)&curr_val;
-        unsigned int *speed_as_int  = (unsigned int *)&speed_val;
+        float curr_val = currentPot.read();
+        float speed_val = speedPot.read();
+        //float curr_val = 1.0;
+        //float speed_val = 50.0;
+        //float a = 1.0;
+        //unsigned int *curr_as_int  = (unsigned int *)&curr_val;
+        //unsigned int *speed_as_int  = (unsigned int *)&speed_val;
         //driverControls << swap(*curr_as_int);
         //driverControls << swap(*speed_as_int);
+        driverControls << speed_val;
         driverControls << curr_val;
-        driverControls << speed_val;
         busCurrent.clear();
         busCurrent.id = BUS_ID;
         busCurrent << maxBusCurrent;