2020/08/26 地磁気センサは今回のミッションでは不要と判断したので廃した.加速度と角加速度を16進数で送信することに成功.各軸ごとに2バイト(16進数4桁)を割り当てて,合計12バイトで送信
Dependencies: mbed BMX055_rev2 SDFileSystem
Diff: main.cpp
- Revision:
- 1:4c7bace668f6
- Parent:
- 0:34d043558630
- Child:
- 2:28ccb8bdac86
--- a/main.cpp Wed Aug 19 01:29:35 2020 +0000 +++ b/main.cpp Mon Aug 24 04:02:38 2020 +0000 @@ -1,22 +1,21 @@ #include "mbed.h" #include "BMX055.h" #include "SDFileSystem.h" -//#include "IM920.h" + Serial gps(PA_9, PA_10); // tx, rx DigitalIn FlightPin(PB_0); -//DigitalOut myled(LED1); + DigitalOut fet1(PA_8); //MOSFET PIN:GATE DigitalOut fet2(PA_11); BMX055 bmx(PB_7,PB_6);//SDA,SCL SDFileSystem sd(PA_7, PA_6, PA_5, PA_4, "sd"); // the pinout on the mbed Cool Components workshop board -//IM920 im920(PA_2,PA_3,PA_0,PA_1); + Ticker warikomi; Timeout t; //double a[3],b[3],c[3]; -//Serial gps(PA_9, PA_10); // tx, rxD int i,rlock,mode; char ns,ew; float w_time;//,hokui,tokei; @@ -25,7 +24,7 @@ float d_hokui,m_hokui,d_tokei,m_tokei; char gps_data[256]; char str[256]; -//,gps2_data[256]; + void getGPS(float *hokui_n,float *tokei_n); //void callback (); @@ -33,7 +32,6 @@ void nichrome_ON(); void buzzer(); -//void getGPS(); int main() { @@ -45,7 +43,6 @@ error("Could not open file for write\n"); } - //pc.printf("*** GPS GT-720F ***");//GPS作動 gps.baud(9600); //pc.baud(9600); //gps.attach(getGPS(&hokui_n,&tokei_n),Serial::RxIrq); @@ -63,62 +60,13 @@ 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]); -/* im920.init(); - im920.attach(callback); - im920.poll(); - //char hokui_c=char(hokui_n); - sprintf(str,"北緯:%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]); - im920.send(str,256); */ //64-69はIM関連 + wait(0.2); } - /* while(t<3){//テグスカットまでの時間 - printf("waiting..."); - } - if(t==3){ - printf("テグスカット!"); - fet1=1; - } - while(t<6){ - printf("waiting..."); - } - if(t==6){ - printf("テグスカットEND"); - fet1=0; - } - while(t<9){ - printf("waiting..."); - } - if(t==9){ - printf("ブザー"); - fet2=1; - } - }*/ fclose(fp); - - - /*while(FlightPin==0) { //Flight Pin作動 - printf("waiting\n\r"); - wait(0.5); - }*/ - /*if(FlightPin==1){ - printf("Flight Pin Worked!!"); - } - - fet1=0; - fet2=0; - wait(3);//テグスカットまでの時間 - fet1=1; - wait(3);//テグスカット中 - - fet1=0; - wait(3);//ブザー作動までの時間 - - fet2=1;//ブザー*/ - fclose(fp); - return 0; } @@ -163,14 +111,14 @@ } //L.16 if } -void callback () { +/*void callback () { int i; char buf[65]; //i = im920.recv(buf, 64); buf[i] = 0; printf("recv: '%s' (%d)\r\n", buf, i); -} +}*/ void FlightPinDriver(){