2/13 操舵翼端CAN

Dependencies:   ADXL345_I2C Control_Yokutan_CANver1 mbed

Fork of Control_Yokutan_CAN_ver1 by albatross

Revision:
2:7fcb4f970a02
Parent:
1:9cc932a16d17
Child:
3:4417217b4f66
diff -r 9cc932a16d17 -r 7fcb4f970a02 main.cpp
--- a/main.cpp	Sat Feb 13 11:35:50 2016 +0000
+++ b/main.cpp	Tue Feb 16 09:49:50 2016 +0000
@@ -3,10 +3,11 @@
 #include "ADXL345_I2C.h"
 #include "INA226.hpp"
 #define TO_SEND_DATAS_NUM 5
-#define INIT_SERVO_PERIOD_MS 20000
-#define WAIT_LOOP_TIME_MS 10
+#define INIT_SERVO_PERIOD_MS 20
+#define WAIT_LOOP_TIME 1
 #define CONTROL_VALUES_NUM 2
 #define TO_SEND_CAN_ID 100
+
 CAN can(p30,p29);
 CANMessage recmsg;
 Serial pc(USBTX,USBRX);
@@ -16,6 +17,8 @@
 PwmOut servo1(p21);
 PwmOut servo2(p22);
 DigitalOut led1(LED1);
+AnalogIn a(p20);
+AnalogIn b(p19);
 
 char toSendDatas[TO_SEND_DATAS_NUM];
 char controlValues[CONTROL_VALUES_NUM];//0:eruruon,1:drug
@@ -83,24 +86,27 @@
 
 void receiveDatas(){
     if(can.read(recmsg)){
-        for(int i = 0; i < recmsg.len; i++){
-            controlValues[i] = recmsg.data[i];
+        for(int i = 0; i < CONTROL_VALUES_NUM; i++){
+            //controlValues[i] = recmsg.data[i];
+            controlValues[i] = 1 - controlValues[i];
+            //pc.printf("%d:%d    ",i,recmsg.data[i]);
         }
+        pc.printf("\n\r");
         led1 = !led1;
     }
 }
 
 void toString(){
     //for(int i = 0; i < TO_SEND_DATAS_NUM; i++){
-        pc.printf("%i:",toSendDatas[3]);
-        pc.printf("%i:",toSendDatas[4]);
-        pc.printf("%f:",V);
-        pc.printf("%f:",C);
-    //}
-    //for(int i = 0; i <CONTROL_VALUES_NUM; i++){
-//        pc.printf("%i:",controlValues[i]);
-//    }
-//    pc.printf("%d",INA_FLAG);
+    //    pc.printf("%i:",toSendDatas[3]);
+//        pc.printf("%i:",toSendDatas[4]);
+//        pc.printf("%f:",V);
+//        pc.printf("%f:",C);
+//    //}
+    for(int i = 0; i <CONTROL_VALUES_NUM; i++){
+        pc.printf("%d:%d, ",i,controlValues[i]);
+    }
+    pc.printf("%d",INA_FLAG);
     pc.printf("\n\r");
 }
 
@@ -114,12 +120,21 @@
 }
 
 void WriteServo(){
-    if(controlValues[0]){
-        servo1.pulsewidth(calcPulse(90));
-    } 
-    else{
-        servo1.pulsewidth(calcPulse(45));
-    }
+    //if(controlValues[0] == 1){
+//        servo1.pulsewidth(calcPulse(90));
+//    } 
+//    else{
+//        servo1.pulsewidth(calcPulse(45));
+//    }
+//    if(controlValues[1] == 1){
+//        servo1.pulsewidth(calcPulse(90));
+//    } 
+//    else{
+//        servo1.pulsewidth(calcPulse(45));
+//    }
+    servo1.pulsewidth(calcPulse(a.read()*170));
+    servo2.pulsewidth(calcPulse(b.read()*170));
+    pc.printf("%f", a.read());
 }
 
 int main(){
@@ -130,6 +145,6 @@
         WriteServo();
         toString();
         sendDatas();
-        wait_ms(WAIT_LOOP_TIME_MS);
+        wait(WAIT_LOOP_TIME);
     }
 }
\ No newline at end of file