2020/08/31 bmx055のライブラリ及びプログラム内容を一部変更. 変換レートを更新する必要あり?
Dependencies: mbed BMX055_rev2 SDFileSystem GPS_Interface
Diff: main.cpp
- 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;