ARLISS2012
Dependencies: mbed-rtos mbed MMA7361L MPL115A2
Fork of rtos_basic by
Diff: main.cpp
- Revision:
- 3:b740280416f6
- Parent:
- 2:5e02179f4141
- Child:
- 4:4faccc542b32
diff -r 5e02179f4141 -r b740280416f6 main.cpp --- a/main.cpp Wed Aug 22 03:02:00 2012 +0000 +++ b/main.cpp Fri Aug 24 02:26:51 2012 +0000 @@ -17,6 +17,7 @@ Serial gps(p13, p14); // decide pin number of gps <which pin does system use?(end) float begin, end;// timer define +float begin_1; FILE *fp = fopen("/local/cansat.txt", "a"); //file system start, file open <about file system to open "cansat.txt" @@ -28,7 +29,7 @@ bool gps_flag = true; //about gps_flag define(true) <gps_define(true) bool gps_get = true; //which gps get or lost bool stateSW = false; //about switch flag define(false) <stateSW(false) -int at = 20; // define avarage time <define avarage time +int at = 20; // define avarage time void gps_thread(void const *argument) // <gps thread start { @@ -84,7 +85,7 @@ humi_buff = 0; //humidity buffer reset accelx_buff = 0; //accelx buffer reset accely_buff = 0; //accely buffer reset - accelz_buff = 0; //accelz buffer reset <buffer reset(end) + accelz_buff = 0; //accelz buffer reset // <buffer reset(end) leds = 0; leds = 2; @@ -94,7 +95,7 @@ humi_buff += hu * 3.3 * 100; //humidity data culculation accelx_buff += accel.getAccelX(); //accelx get accely_buff += accel.getAccelY(); //accely get - accelz_buff += accel.getAccelZ(); //accelz get <get data loop(end) + accelz_buff += accel.getAccelZ(); //accelz get wait(0.005); } @@ -111,6 +112,21 @@ end = timer.read_us(); double timers = (end - begin) / 1000000; + if(xbee_count > 6) { + double stop_timer = (end - begin_1) / 1000000; + if(stop_timer > 1800) { + fclose(fp); + timer.stop(); + gps_flag = 0; + while(true) { + leds = 8; + wait(1.0); + leds = 0; + wait(1.0); + } + } + } + if(timers > 2000) { timer_count ++; begin = timer.read_us(); //timer number read @@ -121,6 +137,10 @@ if(xbee_count > 5) { xbee_flag = true; + if(xbee_count == 5) { + begin_1 = timer.read_us(); + break; + } } } @@ -128,6 +148,7 @@ if (gps_get == false) { fprintf(fp, "$DATA,%4.1f,%4.1f,%2.2f,%2.2f,%2.2f,%4.1f,%4.1f,%5.2f,#end\r\n", timers + timer_count * 2000, tempv, accelX, accelY, accelZ, press, humi,lx); + xbee.printf("%5.3f\r\n", lx); if(xbee_flag == true) { xbee.printf("$DATA,%4.1f,%4.1f,%2.2f,%2.2f,%2.2f,%4.1f,%4.1f,%5.2f,#end\r\n", timers + timer_count * 2000, tempv, accelX, accelY, accelZ, press, humi,lx); }