2018年度計器mbed用プログラム
Dependencies: BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS
Fork of keiki2017 by
Diff: main.cpp
- Branch:
- Thread-gyogetsuMPU
- Revision:
- 56:6823d2324704
- Parent:
- 55:a291462053d3
- Child:
- 58:b4f3ed763cb4
--- a/main.cpp Fri May 19 10:02:09 2017 +0000 +++ b/main.cpp Sat May 27 03:23:13 2017 +0000 @@ -5,11 +5,11 @@ #include "Fusokukei.h" #include "MPU6050.h" #include "BufferedSoftSerial.h" -//#include "SDFileSystem.h" +#include "SDFileSystem.h"//2014.6/5以前の環境で動作します。アップデートすると動きません。 #define SOUDA_DATAS_NUM 28 //(yokutan 7 + input 7)*2 #define YOKUTAN_DATAS_NUM 14 -#define WRITE_DATAS_NUM 30 // souda_datas_num + 6( rpy, airspeed, height, cadence) +#define WRITE_DATAS_NUM 34 // souda_datas_num + 6( rpy, airspeed, height, cadence) #define SD_WRITE_NUM 20 #define MPU_LOOP_TIME 0.01 #define AIR_LOOP_TIME 0.01//(0.002005) @@ -33,8 +33,8 @@ } //------------------------------------------------------- -//SDFileSystem sd(p5, p6, p7, p8, "sd"); -//FILE* fp; +SDFileSystem sd(p5, p6, p7, p8, "sd"); +FILE* fp; //RawSerial pc(USBTX,USBRX); Serial android(p9,p10); @@ -85,7 +85,7 @@ void mpuProcessing(void const *arg); void DataReceiveFromSouda(void const *arg); void SdInit(); -//void SDprintf(); +void SDprintf(); void WriteDatas(); float calcAttackAngle(); float calcKXdeg(float x); @@ -142,7 +142,7 @@ android.baud(9600); //writeTimer.start(); FusokukeiInit(); -// SdInit(); + SdInit(); // MpuInit(); //writeDatasTicker.attach(&WriteDatas,1); // cadenceUpdateTicker.attach(&updateCadence, 0.2); @@ -246,30 +246,30 @@ }//if // }//while(1) } -// -//void SdInit(){ -// mkdir("/sd/mydir", 0777); -// fp = fopen("/sd/mydir/sdtest2.csv", "w"); -// if(fp == NULL) { -// error("Could not open file for write\n"); -// } -// fprintf(fp, "Hello fun SD Card World!\n\r"); -// fclose(fp); -//} -// -//void SDprintf(){ -// fp = fopen("/sd/mydir/data.csv", "a"); -// if(fp == NULL) { -// 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++){ -// fprintf(fp,"%f,", writeDatas[i][j]); -// } -// } -// fprintf(fp,"\n\r"); -// fclose(fp); -//} + +void SdInit(){ + mkdir("/sd/mydir", 0777); + fp = fopen("/sd/mydir/sdtest2.csv", "w"); + if(fp == NULL) { + error("Could not open file for write\n"); + } + fprintf(fp, "Hello fun SD Card World!\n\r%f",0.1f); + fclose(fp); +} + +void SDprintf(){ + fp = fopen("/sd/mydir/data.csv", "a"); + if(fp == NULL) { + 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++){ + fprintf(fp,"%f,", writeDatas[i][j]); + } + } + fprintf(fp,"\n"); + fclose(fp); +} void WriteDatas() { @@ -292,7 +292,7 @@ // //pc.printf("\n\r"); // twe.printf("\n\r"); if(write_datas_index == SD_WRITE_NUM-1) { -// SDprintf(); + SDprintf(); write_datas_index=0; } else { write_datas_index++; @@ -331,7 +331,7 @@ // } // android.printf("%f,%f,%f,",pitch,roll,yaw); // android.printf("%f,%f,\r\n",airSpeed,sonarDist); - android.printf("%4.2f,%4.2f,%4.2,\n,",roll,airSpeed,cadence_twe.cadence); + android.printf("%4.2f,%4.2f,%4.2f,\n,",roll,airSpeed,cadence_twe.cadence); led2 = !led2; } // SDprintf(); @@ -383,7 +383,7 @@ int main() { // Thread cadence_thread(&updateCadence); - Thread mpu_thread(&mpuProcessing); +// Thread mpu_thread(&mpuProcessing); // Thread soudaSerial_thread(&DataReceiveFromSouda); init(); while(1) {