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

Dependencies:   mbed-rtos mbed

Fork of ControlMain2017 by albatross

Revision:
13:79eb74eb86c4
Parent:
10:b7159feb11fd
Child:
14:ffe9460922cb
diff -r 8d900408fef6 -r 79eb74eb86c4 main.cpp
--- a/main.cpp	Fri Feb 17 05:13:53 2017 +0000
+++ b/main.cpp	Sat Feb 18 18:32:23 2017 +0000
@@ -1,18 +1,16 @@
-//中央can program
+//中央
 
 #include "mbed.h"
-//#include "BufferedSoftSerial.h"
 #define WAIT_LOOP_TIME 0.001
 #define YOKUTAN_DATAS_NUM 7
 #define INPUT_DATAS_NUM 5
 #define SEND_DATAS_CAN_ID 100
 #define SEND_DATAS_TIME 0.5
 #define THRESHOLD_OH_VALUE 0.14
-#define CALC_CADENCE_TIME 0.05
 
 //-----------------------------------(resetInterrupt def)
 extern "C" void mbed_reset();
-InterruptIn resetPin(p26);
+InterruptIn resetPin(p22);
 Timer resetTimeCount;
 void resetInterrupt(){
     while(resetPin){
@@ -25,28 +23,20 @@
 
 CAN can_R(p30,p29);
 CAN can_L(p9,p10);
-Serial toKeikiSerial(p13,p14);
-//BufferedSoftSerial toKeikiSerial(p17,p18);
+Serial toKeikiSerial(p27,p28);
 Serial pc(USBTX,USBRX);
-//DigitalIn eruron_R(p22);
-//DigitalIn eruron_L(p20);
 AnalogIn rollPin(p15);
-AnalogIn pichPin(p16);
-DigitalIn drug_R(p23);
+AnalogIn pichPin(p20);
+DigitalIn drug_R(p14);
 DigitalIn drug_L(p19);
 DigitalOut myled1(LED1);
 DigitalOut myled2(LED2);
 //Ticker sendDatasTicker;
-//Ticker cadenceTicker;
-//Timer cadenceTimer;
-//AnalogIn p(p15);
-//AnalogIn q(p16);
 
 char yokutanDatas_R[YOKUTAN_DATAS_NUM];
 char yokutanDatas_L[YOKUTAN_DATAS_NUM];
 char inputDatas_R[INPUT_DATAS_NUM];
 char inputDatas_L[INPUT_DATAS_NUM];
-//char cadence = 0;
 bool stateP = true;
 bool stateQ = true;
 bool stateP_old = true;
@@ -68,18 +58,6 @@
     pc.printf("input_R:%f   input_L:%f\n\r",*(float *)inputDatas_R,*(float *)inputDatas_L);
     inputDatas_R[4] = (char)drug_R;
     inputDatas_L[4] = (char)drug_L;
-//    if(eruron_R){
-//        inputDatas_R[0] = 0;
-//        inputDatas_L[0] = 2;
-//    }
-//    else if(eruron_L){
-//        inputDatas_R[0] = 2;
-//        inputDatas_L[0] = 0;
-//    }
-//    else{
-//        inputDatas_R[0] = 1;
-//        inputDatas_L[0] = 1;
-//    }
 }
 
 void toString_R(){
@@ -102,14 +80,10 @@
     can_L.write(CANMessage(SEND_DATAS_CAN_ID, inputDatas_L, INPUT_DATAS_NUM));
     toKeikiSerial.putc(';');
     for(int i = 0; i < YOKUTAN_DATAS_NUM; i++){
-//        toKeikiSerial.putc(i);
-//        toKeikiSerial.putc(10+i);
         toKeikiSerial.putc(yokutanDatas_R[i]);
         toKeikiSerial.putc(yokutanDatas_L[i]);
     }
     for(int i = 0; i < INPUT_DATAS_NUM; i++){
-//        toKeikiSerial.putc(4+i);
-//        toKeikiSerial.putc(14+i);
         toKeikiSerial.putc(inputDatas_R[i]);
         toKeikiSerial.putc(inputDatas_L[i]);
     }
@@ -117,31 +91,11 @@
     pc.printf("test\n\r");
 }
 
-//void calcCadence(){
-//    //pc.printf("%f,%f\n\r",p.read(),q.read());
-//    if(p.read() > THRESHOLD_OH_VALUE) stateP = true;
-//    else stateP = false;
-//    if(q.read() > THRESHOLD_OH_VALUE) stateQ = true;
-//    else stateQ = false;
-//    if((stateP == true && stateP_old == false) || 
-//        stateQ == true && stateQ_old == false){
-//        cadenceTimer.stop();
-//        cadence = (char)30.0/cadenceTimer.read();
-//        pc.printf("Cadence:%i\n\r",cadence);
-//        cadenceTimer.reset();
-//        cadenceTimer.start();
-//    }
-//    stateP_old = stateP;
-//    stateQ_old = stateQ;
-//}        
-//
 void init(){
 //--------------------------------------(resetInterrupt init)
     resetPin.rise(resetInterrupt);
     resetPin.mode(PullDown);
 //-----------------------------------------------------------
-//    cadenceTimer.start();
-//    cadenceTicker.attach(calcCadence, CALC_CADENCE_TIME);
 //    sendDatasTicker.attach(SendDatas,SEND_DATAS_TIME);
     for(int i = 0; i < INPUT_DATAS_NUM; i++){
         inputDatas_R[i] = 0;
@@ -149,7 +103,6 @@
     }
 }
 
-
 void receiveDatas(){
     if(can_R.read(recmsg_R)){
         for(int i = 0; i < recmsg_R.len; i++){