2018年度計器mbed用プログラム

Dependencies:   BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS

Fork of keiki2017 by albatross

Branch:
Thread-gyogetsuMPU
Revision:
50:2160c28d02f8
Parent:
48:0c9f3a057f79
Child:
51:f391d3a02397
--- a/main.cpp	Sat Apr 01 08:43:02 2017 +0000
+++ b/main.cpp	Fri Apr 21 05:44:00 2017 +0000
@@ -37,7 +37,7 @@
 //FILE* fp;
 
 //RawSerial pc(USBTX,USBRX);
-RawSerial android(p9,p10);
+Serial android(p9,p10);
 BufferedSoftSerial soudaSerial(p17,p18);
 BufferedSoftSerial twe(p11,p12);
 Cadence cadence_twe(p13,p14);
@@ -136,7 +136,8 @@
     resetPin.rise(resetInterrupt);
     resetPin.mode(PullDown);
 //-----------------------------------------------------------
-    twe.baud(19200);//BufferedSoftSerialでは19200が上限。twelite側でもBPS無効化が必要
+    twe.baud(14400);//BufferedSoftSerialでは19200が上限。twelite側でもBPS無効化が必要
+    android.baud(9600);
     //writeTimer.start();
     FusokukeiInit();
 //    SdInit();
@@ -168,12 +169,12 @@
         if(SelfTest[0] < 1.0f && SelfTest[1] < 1.0f && SelfTest[2] < 1.0f && SelfTest[3] < 1.0f && SelfTest[4] < 1.0f && SelfTest[5] < 1.0f) {
             mpu6050.resetMPU6050(); // Reset registers to default in preparation for device calibration
             mpu6050.calibrateMPU6050(gyroBias, accelBias); // Calibrate gyro and accelerometers, load biases in bias registers
-            mpu6050.initMPU6050(); //pc.printf("MPU6050 initialized for active data mode....\n\r"); // Initialize device for active mode read of acclerometer, gyroscope, and temperature
+            mpu6050.initMPU6050(); ////////////pc.printf("MPU6050 initialized for active data mode....\n\r"); // Initialize device for active mode read of acclerometer, gyroscope, and temperature
             Thread::wait(200);
         } else {
         }
     } else {
-        //pc.printf("out\n\r"); // Loop forever if communication doesn't happen
+        //////pc.printf("out\n\r"); // Loop forever if communication doesn't happen
     }
 }
 
@@ -283,10 +284,10 @@
     writeDatas[write_datas_index][i++] = cadence_twe.cadence;
     //writeDatas[write_datas_index][i++] = writeTimer.read();
     //for(i = 0; i < WRITE_DATAS_NUM; i++){
-//        pc.printf("%f   ", writeDatas[write_datas_index][i]);
+//        ////pc.printf("%f   ", writeDatas[write_datas_index][i]);
 //        twe.printf("%f,", writeDatas[write_datas_index][i]);
 //    }
-//    pc.printf("\n\r");
+//    //pc.printf("\n\r");
 //    twe.printf("\n\r");
     if(write_datas_index == SD_WRITE_NUM-1) {
 //        SDprintf();
@@ -296,14 +297,14 @@
     }
     twe.printf("con,");
     for(int i = 0; i <YOKUTAN_DATAS_NUM ; i++) {
-        pc.printf("%i   ",soudaDatas[i]);
+        //pc.printf("%i   ",soudaDatas[i]);
         twe.printf("%i,",soudaDatas[i]);
-        
+
         if(i == YOKUTAN_DATAS_NUM - 1)
-          twe.printf("%i\n",soudaDatas[i]);
+            twe.printf("%i\n",soudaDatas[i]);
     }
     twe.printf("inp,%d,%i,%d,%i\n",soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2],(int)soudaDatas[SOUDA_DATAS_NUM - sizeof(int) - 3],soudaDatas[SOUDA_DATAS_NUM-1]);
-    pc.printf("%d,%i,%d,%i,",soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2],(int)soudaDatas[SOUDA_DATAS_NUM - sizeof(int) - 3],soudaDatas[SOUDA_DATAS_NUM-1]);
+    //pc.printf("%d,%i,%d,%i,",soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2],(int)soudaDatas[SOUDA_DATAS_NUM - sizeof(int) - 3],soudaDatas[SOUDA_DATAS_NUM-1]);
     /*
     送信文字列
     0-13翼端データ
@@ -312,29 +313,31 @@
     19-22 L erebon
     23 LDRUG
     */
-    //pc.printf("\n\r");
+    ////pc.printf("\n\r");
     twe.printf("mpu,%f,%f,%f\n",pitch,roll,yaw);
     twe.printf("kei,%f,%f,%f\n",airSpeed,sonarDist,cadence_twe.cadence);
-    pc.printf("%f,%f,%f\n\r",pitch,roll,yaw);
-    //pc.printf("%f,%f,%f\n\r",calcKXdeg(kx_X.read()),calcKXdeg(KX_Y),calcKXdeg(KX_Z));
-    pc.printf("%f,%f,%f\n\r",airSpeed,sonarDist,cadence_twe.cadence);
+    //pc.printf("%f,%f,%f\n\r",pitch,roll,yaw);
+    ////pc.printf("%f,%f,%f\n\r",calcKXdeg(kx_X.read()),calcKXdeg(KX_Y),calcKXdeg(KX_Z));
+    //pc.printf("%f,%f,%f\n\r",airSpeed,sonarDist,cadence_twe.cadence);
 //    for(int i = 0; i < strlen(cadence_twe.myBuff); i++){
-//        pc.printf("%c",*(cadence_twe.myBuff+i));
+//        ////pc.printf("%c",*(cadence_twe.myBuff+i));
 //    }
+    pc.printf("%f\n\r",airSpeed);
     if(android.writeable()) {
 //        for(int i = 0; i<SOUDA_DATAS_NUM; i++){
 //            android.printf("%i,",soudaDatas[i]);
 //        }
 //        android.printf("%f,%f,%f,",pitch,roll,yaw);
 //        android.printf("%f,%f,\r\n",airSpeed,sonarDist);
-        android.printf("%f,%f,test\n\r",roll,airSpeed);
+        android.printf("%4.2f,%4.2f,test,\n,",roll,airSpeed);
+        led2 = !led2;
     }
 //    SDprintf();
 }
 
 void WriteDatasF()
 {
-    pc.printf("airSpeed:%f\n\r",airSpeed);
+    //pc.printf("airSpeed:%f\n\r",airSpeed);
 }
 
 //float calcKXdeg(float x){
@@ -369,8 +372,8 @@
     } else {
 //        geikakuServo.pulsewidth(calcPulse(abs(pitch*90/13.0)));
     }
-    ////pc.printf("a:%f",airSpeed);
-    pc.printf("p:%f\r\n",pitch);
+    //////////pc.printf("a:%f",airSpeed);
+    //pc.printf("p:%f\r\n",pitch);
     //kisokuServo.pulsewidth(calcPulse(0));
     //geikakuServo.pulsewidth(calcPulse(0));
 }
@@ -382,7 +385,7 @@
 //    Thread soudaSerial_thread(&DataReceiveFromSouda);
     init();
     while(1) {
-        pc.printf("test\n\r");
+        //pc.printf("test\n\r");
 //        mpuProcessing();
         sonarCalc();
         RollAlarm();