2017年度の製作を開始します。
Dependencies: BufferedSoftSerial2 SDFileSystem-RTOS mbed mbed-rtos INA226_ver1
Fork of keiki2016ver5 by
Diff: main.cpp
- 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