Plz

Dependencies:   mbed CANMsg Adafruit_LEDBackpack

Files at this revision

API Documentation at this revision

Comitter:
fconboy
Date:
Thu Jul 25 18:03:54 2019 +0000
Parent:
1:6c993d149edc
Child:
3:b9db3d4cbe1b
Child:
4:e687888fa056
Commit message:
Working out how to get bytes to send in right order

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Jul 24 19:24:25 2019 +0000
+++ b/main.cpp	Thu Jul 25 18:03:54 2019 +0000
@@ -1,7 +1,7 @@
 #include "mbed.h"
 #include "CANMsg.h"
 
-Ticker ticker;
+//Ticker ticker;
 AnalogIn currentPot(p15);
 AnalogIn speedPot(p16);
 DigitalIn enable(p5);
@@ -72,9 +72,19 @@
         }
 }
 
+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;
+}
+
 int main()
 {
-    ticker.attach(&send, 0.1);
+    //ticker.attach(&send, 0.1);
     pc.baud(9600);
     can1.frequency(1000000);
     pc.printf("-------------------------------------\r\n");
@@ -84,14 +94,22 @@
     float maxBusCurrent = 1.0;
     printf("Current and Speed: %f and %f\n", currentPot.read(), speedPot.read());
     pc.printf("-------------------------------------\r\n");
-    while(1) {
-        //printf("Entering transmission main code)\n");
+    //while(1) {
+        printf("Entering transmission main code)\n");
         //pc.printf("-------------------------------------\r\n");
         driverControls.clear();
         driverControls.id = SIGNAL_ID;
         // Append message with speed and current potentiometer s.
-        driverControls << currentPot.read();
-        driverControls << speedPot.read();
+        //float curr_val = currentPot.read();
+        //float speed_val = speedPot.read();
+        float curr_val = 0.1;
+        float speed_val = 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 << curr_val;
+        //driverControls << speed_val;
         busCurrent.clear();
         busCurrent.id = BUS_ID;
         busCurrent << maxBusCurrent;
@@ -100,5 +118,5 @@
             led2 = !led2;
         }
         send();  
-    }
+    //}
 }
\ No newline at end of file