Formula Student / Mbed 2 deprecated Canbus_test

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
TiboSTM
Date:
Wed Dec 06 09:46:46 2017 +0000
Parent:
3:7530a7aca1ab
Commit message:
met motorfunctie

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Dec 06 07:53:48 2017 +0000
+++ b/main.cpp	Wed Dec 06 09:46:46 2017 +0000
@@ -14,6 +14,7 @@
 DigitalOut buzzer(PB_0);
 
 AnalogIn analog_value(PA_0);
+
  
 /* Structures to help pack and unpack the 8 CAN data bytes */
 typedef struct bytes_64 {
@@ -32,10 +33,24 @@
     bytes_64 bytes;
 } data_packed;
  
+int send_id = 513;     
+data_packed send_data;
+int reg = 0x31;                                                                                                   //Id motorcontroller   0x201 -> 513                                                                                                               //Voor moving average te berekenen
+    
+    
 long map(long x, long in_min, long in_max, long out_min, long out_max)                                                      //MAP functie voor verschalingen.
 {
   return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
 }
+
+
+void MOTOR_Calculate_Power(int speed)
+{
+   
+    send_data.data = (speed << 8) + reg;                                                                       //shiften en optellen
+    can.write(CANMessage(send_id, (char*) &send_data, 3));
+}
+ 
 int main() {
     
     printf("\r\n---Start---\r\n");
@@ -43,11 +58,7 @@
     data_packed send_data;                                                                                                  //struct for send message
     data_packed receive_data;                                                                                               //struct for rcv message
     CANMessage msg;                                                                                                         //message object for rcv
-    int send_id = 513;                                                                                                      //Id motorcontroller   0x201 -> 513
-    int send_status = 0;
-   /* int ADC_Torque_Filter[8];
-    int ADC_Torque_Value;
-    int i;    */                                                                                                              //Voor moving average te berekenen
+    int send_id = 513;                                                                                                      //Id motorcontroller   0x201 -> 513                                                                                                               //Voor moving average te berekenen
     canEN = 0;                                                                                                              //Voor de tranceiver
     
     //send_data.data = 0x0CCD31;                                                                                            //0CCD snelheid motor, 31 register in controller.             WERKT
@@ -64,35 +75,12 @@
         meas_r = analog_value.read() * 100;
         speed = map(meas_r, 0, 100, 0, 0x7FFF);                                                                             //waarde schommelt niet
         
-  /*      for (i = 0; i < 7; i++)
-        {
-            ADC_Torque_Filter[i] = ADC_Torque_Filter[i+1];
-            //wait(0.005);                                                                                                  //wacht 5 ms
-        }
-        ADC_Torque_Filter[7] = speed;                                                                                       //gas waarde berekenen via 8point moving average
-        ADC_Torque_Value = ((   ADC_Torque_Filter[0]+
-                                ADC_Torque_Filter[1]+
-                                ADC_Torque_Filter[2]+
-                                ADC_Torque_Filter[3]+
-                                ADC_Torque_Filter[4]+
-                                ADC_Torque_Filter[5]+
-                                ADC_Torque_Filter[6]+
-                                ADC_Torque_Filter[7]
-                            ) / 8);
-   //      for (i = 0; i < 7; i++)                                                                                            //data van array leegmaken
-     //   {
-       //     ADC_Torque_Filter[i] = 0;
-            //wait(0.005);                                                                                                
-        //}*/
+               
+        MOTOR_Calculate_Power(speed);
         
-               
-        send_data.data = (speed << 8) + reg;                                                                       //shiften en optellen
-        send_status = can.write(CANMessage(send_id, (char*) &send_data, 3));
+        
  
-        if (send_status == true) {
-            //send_data.data = send_data.data + 1;
-            
-        }
+       
  
         /* Receive */
         if (can.read(msg)) {