2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Revision 69:1f892421d694, committed 2017-06-16
- Comitter:
- tsumagari
- Date:
- Fri Jun 16 02:04:45 2017 +0000
- Branch:
- SDandCadenceThread
- Parent:
- 65:075118165355
- Child:
- 70:763d62c486ca
- Commit message:
- 6/15?SD?thread?updatecadence????????
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Jun 15 05:01:39 2017 +0000 +++ b/main.cpp Fri Jun 16 02:04:45 2017 +0000 @@ -107,7 +107,7 @@ void air_countUp() { air_kaitensu++; - led3 = !led3; +// led3 = !led3; } void call_calcAirSpeed() @@ -169,7 +169,7 @@ return; } if((isOh182eOverThreshold(source,input) ^ lastCadenceInput) ||(isOh182eOverThreshold(source,input2) ^ lastCadenceInput2)) { - if(cadenceCounter < 4) { + if(cadenceCounter < 3) { cadenceCounter++; return; } @@ -177,6 +177,8 @@ cadenceTimer.reset(); cadenceCounter = 0; } + lastCadenceInput = isOh182eOverThreshold(source,input); + lastCadenceInput2 = isOh182eOverThreshold(source,input2); } void init() @@ -305,7 +307,8 @@ mkdir("/sd/mydir", 0777); fp = fopen("/sd/mydir/sdtest2.csv", "w"); if(fp == NULL) { - error("Could not open file for write\n"); + printf("Could not open file for write\n"); + return; } fprintf(fp, "Hello fun SD Card World!\n\r%f",0.1f); fclose(fp); @@ -314,11 +317,16 @@ void SDprintf(const void* arg) { SdInit(); + bool isFirstCadenceFlag = true; while(1) { + led3 = !led3; + updateCadence(V,mgPin.read() * 3.3,mgPin2.read() * 3.3,isFirstCadenceFlag); + printf("mgPin V:%f\n",mgPin.read()*3.3); + isFirstCadenceFlag = false; if(write_datas_index == SD_WRITE_NUM-1) { fp = fopen("/sd/mydir/data.csv", "a"); if(fp == NULL) { - printf("Could not open file for write\n"); + error("Could not open file for write!!\n"); } for(int i = 0; i < SD_WRITE_NUM; i++) { for(int j = 0; j < WRITE_DATAS_NUM; j++) { @@ -330,7 +338,7 @@ write_datas_index=0; } - Thread::wait(1); + Thread::wait(100); } } @@ -393,7 +401,10 @@ // 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("%f,%f,%f\n\r",pitch,roll,yaw); // printf("mgPin V:%f\n\r",mgPin.read()*3.3); - pc.printf("mgPin V:%f\n%d,%i,%d,%i\n%f,%f,%f\n%f,%f,%f\n\r",mgPin.read()*3.3,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); + 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); // for(int i = 0; i < strlen(cadence_twe.myBuff); i++){ // ////pc.printf("%c",*(cadence_twe.myBuff+i)); // } @@ -435,19 +446,19 @@ { Thread mpu_thread(&mpuProcessing); Thread SD_thread(&SDprintf); - bool isFirstCadenceFlag = true; // Thread soudaSerial_thread(&DataReceiveFromSouda); init(); - + int VCcounter = 0; while(1) { - if(VCmonitor.getVoltage(&V) == 0) { - printf("e:%f\n",V); - } - updateCadence(V,mgPin.read() * 3.3,mgPin2.read() * 3.3,isFirstCadenceFlag); - isFirstCadenceFlag = false; + if(VCcounter%20 == 0 && VCmonitor.getVoltage(&V) == 0) { + pc.printf("e:%f\n",V); + }VCcounter++; + +// updateCadence(V,mgPin.read() * 3.3,mgPin2.read() * 3.3,isFirstCadenceFlag); //pc.printf("test\n\r"); // mpuProcessing(); sonarCalc(); + Thread::wait(30); RollAlarm(); DataReceiveFromSouda(); WriteDatas();