2018年度計器mbed用プログラム

Dependencies:   BufferedSoftSerial2 INA226_ver1 mbed-rtos mbed SDFileSystem-RTOS

Fork of keiki2017 by albatross

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) {