2017年度の製作を開始します。

Dependencies:   BufferedSoftSerial2 SDFileSystem-RTOS mbed mbed-rtos INA226_ver1

Fork of keiki2016ver5 by albatross

Branch:
Thread-gyogetsuMPU
Revision:
41:1bd730c4840d
Parent:
40:f15c11485e95
Child:
42:73c3862e4c12
--- a/main.cpp	Sun Mar 12 10:56:54 2017 +0000
+++ b/main.cpp	Sat Mar 18 03:13:36 2017 +0000
@@ -1,11 +1,11 @@
 //計器プログラム
 #include "mbed.h"
 #include "rtos.h"
+#include "Cadence.h"
 #include "Fusokukei.h"
 #include "MPU6050.h"
 #include "BufferedSoftSerial.h"
-#include "Cadence.h"
-#include "SDFileSystem.h"
+//#include "SDFileSystem.h"
 
 #define SOUDA_DATAS_NUM 24 //(yokutan 7 + input 5)*2
 #define WRITE_DATAS_NUM 30 // souda_datas_num + 6( rpy, airspeed, height, cadence)
@@ -31,15 +31,15 @@
 }
 //-------------------------------------------------------
 
-SDFileSystem sd(p5, p6, p7, p8, "sd");
-FILE* fp;
+//SDFileSystem sd(p5, p6, p7, p8, "sd");
+//FILE* fp;
 
 RawSerial pc(USBTX,USBRX);
 RawSerial android(p9,p10);
 BufferedSoftSerial soudaSerial(p17,p18);
 BufferedSoftSerial twe(p11,p12);
 Cadence cadence_twe(p13,p14);
-//Ticker cadenceUpdateTicker;
+Ticker cadenceUpdateTicker;
 //Ticker writeDatasTicker;
 //Timer writeTimer;
 
@@ -75,14 +75,14 @@
 void call_calcAirSpeed();
 void sonarInterruptStart();
 void sonarInterruptStop();
-void updateCadence(void const *arg);
+void updateCadence(/*void const *arg*/);
 void init();
 void FusokukeiInit();
 void MpuInit();
 void mpuProcessing(void const *arg);
 void DataReceiveFromSouda(void const *arg);
 void SdInit();
-void SDprintf();
+//void SDprintf();
 void WriteDatas();
 float calcAttackAngle();
 float calcKXdeg(float x);
@@ -130,10 +130,10 @@
     twe.baud(19200);//BufferedSoftSerialでは19200が上限。twelite側でもBPS無効化が必要
     //writeTimer.start();
     FusokukeiInit();
-    SdInit();
+//    SdInit();
 //    MpuInit(); 
     //writeDatasTicker.attach(&WriteDatas,1);
-//    cadenceUpdateTicker.attach(&updateCadence, 1);
+    cadenceUpdateTicker.attach(&updateCadence, 1);
     
 //-----for InterruptMode of sonar----------------------------
 //    sonarPin.rise(&sonarInterruptStart);
@@ -229,30 +229,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");
+//    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 WriteDatas(){
     int i;
@@ -274,7 +274,7 @@
 //    pc.printf("\n\r");
 //    twe.printf("\n\r");
     if(write_datas_index == SD_WRITE_NUM-1){
-        SDprintf();
+//        SDprintf();
         write_datas_index=0;
     }
     else{
@@ -287,12 +287,13 @@
     }
     //pc.printf("\n\r");
     twe.printf("%f,%f,%f,",pitch,roll,yaw);
-    twe.printf("%f,%f,%f\r\n",airSpeed,sonarDist,cadence_twe.cadence); 
+    twe.printf("%f,%f,%f\r\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,%s\n\r",airSpeed,sonarDist,cadence_twe.myBuff);
-    pc.printf(cadence_twe.strData.c_str());
-    pc.putc(cadence_twe.strV[0]);
+    //pc.printf("%f,%f,%f\n\r",calcKXdeg(kx_X.read()),calcKXdeg(KX_Y),calcKXdeg(KX_Z));
+    pc.printf("%f,%f\n\r",airSpeed,sonarDist);
+    for(int i = 0; i < cadence_twe.strData.length(); i++){
+        pc.printf("%c",*(cadence_twe.strData.c_str()+i));
+    }
     if(android.writeable()){
 //        for(int i = 0; i<SOUDA_DATAS_NUM; i++){
 //            android.printf("%i,",soudaDatas[i]);