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

Dependencies:   mbed BMX055_rev2 SDFileSystem

Revision:
3:aad6f83b618e
Parent:
2:28ccb8bdac86
Child:
5:01a31dfe982a
diff -r 28ccb8bdac86 -r aad6f83b618e main.cpp
--- a/main.cpp	Mon Aug 24 05:30:23 2020 +0000
+++ b/main.cpp	Tue Aug 25 17:28:16 2020 +0000
@@ -52,33 +52,31 @@
     warikomi.attach(&FlightPinDriver,0.5);
     
    
-    while(1) {
-        //getGPS(hokui_n,tokei_n);
+    while(1) {       
+        //BMX055部分
         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;
-            c[i]=bmx.magnet[i];
-            }*/     
-        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]);
+        int a[3],b[3];
+        for(int i=0;i<3;i++){
+            a[i]=bmx.accel[i];
+            if(a[i]<0)a[i] += 4096;//負値の場合+4096
+            b[i]=bmx.gyroscope[i];
+            if(b[i]<0)b[i] += 4096;//負値の場合+4096         
+            }
+        //GPS部分
+        //getGPS(hokui_n,tokei_n);
+        //fprintf(fp,"北緯:%f,東経:%f,加速度:%f,%f,%f,ジャイロ:%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);
 
-
-        //以下IM920について
+        //IM920部分
         //ノード番号(00~FF)を設定.データを送るごとに1増やす.
         uart.printf("STNN %02x\r\n",j);
         j++;
         if(j==256){j=0;}
         
-        uart.printf("TXDA ");
+        uart.printf("TXDA ");//可変長データ送信コマンド
         
-        uart.printf("%03x",a);
-        uart.printf("%03x",b);
-        uart.printf("%03x",c);        
+        uart.printf("%04x%04x%04x",a[0],a[1],a[2]);//加速度の書き出し
+        uart.printf("%04x%04x%04x",b[0],b[1],b[2]);//角加速度の書き出し
         
         uart.printf("\r\n");
 
@@ -86,7 +84,7 @@
         }
         
             
-        fclose(fp);
+        //fclose(fp);
         
         return 0;