2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: main.cpp
- 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();