今までのジョイスティックの入力を段階分けしていた方式から、アナログ値をできる限りそのまま使用する方式に変更しました。

Dependencies:   mbed-rtos mbed

Fork of ControlMain2017 by albatross

Revision:
3:0e66ce2ab2fb
Parent:
2:9dc7d5f1e910
Child:
4:4a13dd263a7b
--- a/main.cpp	Tue Feb 16 09:50:45 2016 +0000
+++ b/main.cpp	Wed Feb 17 01:58:07 2016 +0000
@@ -1,7 +1,7 @@
 //中央can program
 
 #include "mbed.h"
-#define WAIT_LOOP_TIME 1
+#define WAIT_LOOP_TIME 0.2
 #define YOKUTAN_DATAS_NUM 5
 #define IMPUT_DATAS_NUM 2
 #define SEND_DATAS_CAN_ID 100
@@ -10,12 +10,10 @@
 CAN can_L(p30,p29);
 Serial toKeikiSerial(p28,p27);
 Serial pc(USBTX,USBRX);
-//DigitalIn eruron_R(p7);
-//DigitalIn eruron_L(p7);
-int eruron_R = 0;
-int eruron_L = 0;
-DigitalIn drug_R(p8);
-DigitalIn drug_L(p8);
+DigitalIn eruron_R(p20);
+DigitalIn eruron_L(p22);
+DigitalIn drug_R(p19);
+DigitalIn drug_L(p23);
 DigitalOut myled1(LED1);
 DigitalOut myled2(LED2);
 
@@ -24,15 +22,17 @@
 char inputDatas_R[IMPUT_DATAS_NUM];
 char inputDatas_L[IMPUT_DATAS_NUM];
 
-CANMessage recmsg_R(SEND_DATAS_CAN_ID, inputDatas_R, IMPUT_DATAS_NUM);
-CANMessage recmsg_L(SEND_DATAS_CAN_ID, inputDatas_L, IMPUT_DATAS_NUM);
+CANMessage recmsg_R;
+CANMessage recmsg_L;
 
 void InputAndSentControlValues_R(){
-    inputDatas_R[0] = 1 - inputDatas_R[0];
-    inputDatas_R[1] = 1 - inputDatas_R[1];
+    inputDatas_R[0] = (char)drug_R;
+    inputDatas_R[1] = (char)eruron_R;
+    // pc.printf("R : %d\t%d\t",drug_R.read(),eruron_R.read());
     //for(int i = 0; i < IMPUT_DATAS_NUM; i++){
-        if(can_R.write(recmsg_R)){
-            pc.printf("Right successed!\n\r");
+        if(can_R.write(CANMessage(SEND_DATAS_CAN_ID, inputDatas_R, IMPUT_DATAS_NUM))){
+        //    pc.printf("Right successed!\n\r");
+      
         }
     //}
 }
@@ -51,27 +51,13 @@
         wait(0.2);
 }
 
-void servo_check(){
-    int counter = 0;
-    counter++;
-    if(counter >= 170)
-    counter = 0;
-    if(counter >= 20){
-        eruron_R = 1;
-        eruron_L = 1;
-    }
-    else{
-        eruron_R = 0;
-        eruron_L = 0;
-    }
-}
-
 void InputAndSentControlValues_L(){
-    inputDatas_L[0] = 1 - inputDatas_L[0];
-    inputDatas_L[1] = 1 - inputDatas_L[1];
+    inputDatas_L[0] = (char)drug_L;
+    inputDatas_L[1] = (char)eruron_L;
+      pc.printf("L : %d\t%d\n\r",drug_L.read(),eruron_L.read());
     //for(int i = 0; i < IMPUT_DATAS_NUM; i++){
-        if(can_L.write(recmsg_L)){
-            pc.printf("Left successed!\n\r");
+        if(can_L.write(CANMessage(SEND_DATAS_CAN_ID, inputDatas_L, IMPUT_DATAS_NUM))){
+          //  pc.printf("Left successed!\n\r");
         }
     //}
 }
@@ -89,9 +75,9 @@
         pc.printf("%i:",yokutanDatas_R[i]);
     }
     for(int i = 0; i < IMPUT_DATAS_NUM; i++){
-        pc.printf("%d:%d",i,inputDatas_R[i]);
+       // pc.printf("%d:%d",i,inputDatas_R[i]);
     }
-    pc.printf("\t");
+  //  pc.printf("\t");
 }
 
 void toString_L(){
@@ -115,12 +101,14 @@
         ledcheck_R();
         for(int i = 0; i < recmsg_R.len; i++){
             yokutanDatas_R[i] = recmsg_R.data[i];
+           // pc.printf("R : %d , %d\t",recmsg_R.data[i]);
         }
     }
      if(can_L.read(recmsg_L)){
         ledcheck_L();
         for(int i = 0; i < recmsg_L.len; i++){
             yokutanDatas_L[i] = recmsg_L.data[i];
+        //    pc.printf("L : %d , %d\t",recmsg_L.data[i]);
         }
     }
 }