2020/08/26 地磁気センサは今回のミッションでは不要と判断したので廃した.加速度と角加速度を16進数で送信することに成功.各軸ごとに2バイト(16進数4桁)を割り当てて,合計12バイトで送信

Dependencies:   mbed BMX055_rev2 SDFileSystem

Revision:
2:28ccb8bdac86
Parent:
1:4c7bace668f6
Child:
3:aad6f83b618e
diff -r 4c7bace668f6 -r 28ccb8bdac86 main.cpp
--- a/main.cpp	Mon Aug 24 04:02:38 2020 +0000
+++ b/main.cpp	Mon Aug 24 05:30:23 2020 +0000
@@ -7,6 +7,9 @@
 Serial gps(PA_9, PA_10);       // tx, rx
 DigitalIn FlightPin(PB_0);
 
+Serial pc(USBTX, USBRX, 19200);//パソコン側からもマイコン⇒IM920のデータはみれる
+Serial uart(PA_2, PA_3, 19200);//TX(IM920_RX), RX(IM920_TX)
+
 DigitalOut fet1(PA_8);       //MOSFET PIN:GATE
 DigitalOut fet2(PA_11);
 BMX055  bmx(PB_7,PB_6);//SDA,SCL
@@ -16,7 +19,7 @@
 Timeout t;
 //double a[3],b[3],c[3];
 
-int i,rlock,mode;
+int i,j=0,rlock,mode;
 char ns,ew;
 float w_time;//,hokui,tokei;
 float hokui,tokei;
@@ -50,10 +53,13 @@
     
    
     while(1) {
-        getGPS(hokui_n,tokei_n);
-        bmx.getAcc();
-        bmx.getGyro();
-        bmx.getMag();
+        //getGPS(hokui_n,tokei_n);
+        bmx.getAcc();//加速度の取得
+        bmx.getGyro();//角力加速度の取得
+        bmx.getMag();//地磁気の取得
+        int a=bmx.accel[0];
+        int b=bmx.accel[0];
+        int c=bmx.accel[0];
        /* for(int i=0;i<=3;i++){
             a[i]=(bmx.accel[i]/512)*9.8;
             b[i]=(bmx.gyroscope[i]*125)/2048;
@@ -61,7 +67,22 @@
             }*/     
         fprintf(fp,"北緯:%f,東経:%f,加速度:%f,%f,%f,ジャイロ:%2.4f,%2.4f,%2.4f,地磁気:%2.4f,%2.4f,%2.4f\n\r",hokui_n,tokei_n,(bmx.accel[0]/512)*9.8,(bmx.accel[1]/512)*9.8,(bmx.accel[2]/512)*9.8,(bmx.gyroscope[0]*125)/2048,(bmx.gyroscope[1]*125)/2048,(bmx.gyroscope[2]*125)/2048,bmx.magnet[0],bmx.magnet[1],bmx.magnet[2]);
 
-        wait(0.2);
+
+        //以下IM920について
+        //ノード番号(00~FF)を設定.データを送るごとに1増やす.
+        uart.printf("STNN %02x\r\n",j);
+        j++;
+        if(j==256){j=0;}
+        
+        uart.printf("TXDA ");
+        
+        uart.printf("%03x",a);
+        uart.printf("%03x",b);
+        uart.printf("%03x",c);        
+        
+        uart.printf("\r\n");
+
+        wait(0.34);//IM920長距離モードの場合,3パケット/sが理論上最大速度.
         }