2017年度の製作を開始します。

Dependencies:   BufferedSoftSerial2 SDFileSystem-RTOS mbed mbed-rtos INA226_ver1

Fork of keiki2016ver5 by albatross

Branch:
cadence
Revision:
68:ed8ffcb8c49a
Parent:
67:9d2eb6793464
--- a/main.cpp	Thu Jun 15 08:33:31 2017 +0000
+++ b/main.cpp	Thu Jun 15 09:30:43 2017 +0000
@@ -108,7 +108,7 @@
 void air_countUp()
 {
     air_kaitensu++;
-    led3 = !led3;
+//    led3 = !led3;
 }
 
 void call_calcAirSpeed()
@@ -161,6 +161,23 @@
 
 //ケイデンスの値を取得します。
 // source: 定格12V電源の電圧値[mV], input: センサ値[mV]
+//void updateCadence()
+//{
+//    static bool isFFlag = true;
+//    if(isFFlag) {
+//        cadenceTimer.start();
+//        isFFlag =  false;
+//        return;
+//    }
+//    led4 = !led4;
+//    if(cadenceCounter < 3) {
+//        cadenceCounter++;
+//        return;
+//    }
+//    cadenceResult =60.0/  (cadenceTimer.read_us() / 1000000.0); //クランク一回転にかかる時間を取得
+//    cadenceTimer.reset();
+//    cadenceCounter = 0;
+//}
 void updateCadence()
 {
     static bool isFFlag = true;
@@ -170,15 +187,15 @@
         return;
     }
     led4 = !led4;
-    if(cadenceCounter < 3) {
-        cadenceCounter++;
-        return;
-    }
-    cadenceResult =60.0/  (cadenceTimer.read_us() / 1000000.0); //クランク一回転にかかる時間を取得
+//    if(cadenceCounter < 3) {
+//        cadenceCounter++;
+//        return;
+//    }
+    cadenceResult =cadenceTimer.read_us(); //クランク半回転にかかる時間を取得
+    pc.printf("cadenceResult:%f\n\r",cadenceResult);
     cadenceTimer.reset();
     cadenceCounter = 0;
 }
-
 void init()
 {
     pc.printf("(BUILD:[" __DATE__ "/" __TIME__ "])\n\r");
@@ -224,7 +241,7 @@
         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 temperatur
             Thread::wait(200);
         } else {
         }
@@ -383,10 +400,9 @@
     19-22 L erebon
     23 LDRUG
     */
-    twe.printf("inp,%d,%i,%d,%i\nmpu,%f,%f,%f\nkei,%f,%f,%f\n",soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2]
+    twe.printf("%sinp,%d,%i,%d,%i\nmpu,%f,%f,%f\nkei,%f,%f,%f\n",sbuf,soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2]
                ,(int)soudaDatas[SOUDA_DATAS_NUM - sizeof(int) - 3],soudaDatas[SOUDA_DATAS_NUM-1]
                ,pitch,roll,yaw,airSpeed,sonarDist,cadenceResult);//cadence_twe.cadence);
-    pc.printf("cadence:%5.2f\n\r",cadenceResult);
     // pc.printf("%d,%i,%d,%i\n%f,%f,%f\n%f,%f,%f\n\r",soudaDatas[YOKUTAN_DATAS_NUM],soudaDatas[sizeof(int) + YOKUTAN_DATAS_NUM + 2],(int)soudaDatas[SOUDA_DATAS_NUM - sizeof(int) - 3],soudaDatas[SOUDA_DATAS_NUM-1],pitch,roll,yaw,airSpeed,sonarDist,cadenceResult);
     if(android.writeable()) {
         android.printf("%4.2f,%4.2f,%4.2f,\n,",roll,airSpeed,cadenceResult);//cadence_twe.cadence);
@@ -427,8 +443,9 @@
     Thread mpu_thread(&mpuProcessing);
     // Thread SD_thread(&SDprintf);
     //Thread cadenceThread(&updateCadenceFunc);
+    cadenceInter.mode(PullDown);
     cadenceInter.rise(&updateCadence);
-    cadenceInter.fall(&updateCadence);
+//    cadenceInter.fall(&updateCadence);
 //    Thread soudaSerial_thread(&DataReceiveFromSouda);
     init();
     int counter = 0;
@@ -444,5 +461,6 @@
         DataReceiveFromSouda();
         WriteDatas();
         //   wait_ms(20);
+        led3 = !led3;
     }
 }
\ No newline at end of file