Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 1:daa7e093ac88, committed 2021-03-11
- Comitter:
- tanahashi
- Date:
- Thu Mar 11 03:46:33 2021 +0000
- Parent:
- 0:3fb5ae3480ae
- Commit message:
- version 1.2
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Mar 08 16:55:29 2021 +0000
+++ b/main.cpp Thu Mar 11 03:46:33 2021 +0000
@@ -10,110 +10,72 @@
char data[128];
-char *phase_names[] = {"SAFETY", "READY", "FLIGHT", "SEP", "EMERGENCY", "RECOVERY"};
-
-int mission_time;
-float flight_time;
-char phase;
-char f_launched;
-char f_burning;
-char f_apogee;
-char f_mission;
-char f_relay;
-char f_flight_pin;
-char f_sep;
-char f_buzzer;
-char f_sd;
-char f_gps;
-char f_adxl;
-char f_ina_in;
-char f_ina_ex;
-char f_lps;
-char f_mpu;
-char f_mpu_ak;
-float lat;
-float lon;
-int sat;
-int fix;
-float hdop;
-float alt;
-float geoid;
-float high_accel[3];
-float voltage_in;
-float current_in;
-float voltage_ex;
-float current_ex;
-float press;
-float temp;
-float accel[3];
-float gyro[3];
-float mag[3];
-
-int mission_hour, mission_min, mission_sec;
-
int main()
{
for(int addr = 0x000000; addr < 0x07FFFF; addr += 0x80) {
eeprom.read(addr, data, 128);
- mission_time = *(int*)&data[0];
- flight_time = *(float*)&data[4];
- phase = *(float*)&data[8];
- f_launched = *(float*)&data[9];
- f_burning = *(float*)&data[10];
- f_apogee = *(float*)&data[11];
- f_mission = *(float*)&data[12];
- f_relay = *(float*)&data[13];
- f_flight_pin = *(float*)&data[14];
- f_sep = *(float*)&data[15];
- f_buzzer = *(float*)&data[16];
- f_sd = *(float*)&data[17];
- f_gps = *(float*)&data[18];
- f_adxl = *(float*)&data[19];
- f_ina_in = *(float*)&data[20];
- f_ina_ex = *(float*)&data[21];
- f_lps = *(float*)&data[22];
- f_mpu = *(float*)&data[23];
- f_mpu_ak = *(float*)&data[24];
- lat = *(float*)&data[25];
- lon = *(float*)&data[29];
- sat = *(float*)&data[33];
- fix = *(float*)&data[37];
- hdop = *(float*)&data[41];
- alt = *(float*)&data[45];
- geoid = *(float*)&data[49];
+ short mission_time = *(float*)&data[0];
+ float flight_time = *(float*)&data[4];
+ int mission_time = *(int*)&data[0];
+ float flight_time = *(float*)&data[4];
+ char phase = data[8];
+ char launched = data[9];
+ char apogee = data[10];
+ char separated = data[11];
+ char landed = data[12];
+ char mission = data[13];
+ char relay = data[14];
+ char f_sep = data[15];
+ char f_buzzer = data[16];
+ char flight = data[17];
+ char f_sd = data[18];
+ char f_gps = data[19];
+ char f_adxl = data[20];
+ char f_ina_in = data[21];
+ char f_ina_ex = data[22];
+ char f_lps = data[23];
+ char f_mpu = data[24];
+ float lat = *(float*)&data[25];
+ float lon = *(float*)&data[29];
+ int sat = *(float*)&data[33];
+ int fix = *(float*)&data[37];
+ float hdop = *(float*)&data[41];
+ float alt = *(float*)&data[45];
+ float geoid = *(float*)&data[49];
+ float high_accel[3];
high_accel[0] = *(float*)&data[53];
high_accel[1] = *(float*)&data[57];
high_accel[2] = *(float*)&data[61];
- voltage_in = *(float*)&data[65];
- current_in = *(float*)&data[69];
- voltage_ex = *(float*)&data[73];
- current_ex = *(float*)&data[77];
- press = *(float*)&data[81];
- temp = *(float*)&data[85];
+ float voltage_in = *(float*)&data[65];
+ float current_in = *(float*)&data[69];
+ float voltage_ex = *(float*)&data[73];
+ float current_ex = *(float*)&data[77];
+ float press = *(float*)&data[81];
+ float temp = *(float*)&data[85];
+ float accel[3];
accel[0] = *(float*)&data[89];
accel[1] = *(float*)&data[93];
accel[2] = *(float*)&data[97];
+ float gyro[3];
gyro[0] = *(float*)&data[101];
gyro[1] = *(float*)&data[105];
gyro[2] = *(float*)&data[109];
- mag[0] = *(float*)&data[113];
- mag[1] = *(float*)&data[117];
- mag[2] = *(float*)&data[121];
-
-
- mission_hour = mission_time / 3600;
+
+ int mission_hour = mission_time / 3600;
mission_time %= 3600;
- mission_min = mission_time / 60;
+ int mission_min = mission_time / 60;
mission_time %= 60;
- mission_sec = mission_time;
+ int mission_sec = mission_time;
+
+ char *phase_names[] = {"SAFETY", "READY", "FLIGHT", "SEP", "EMERGENCY", "RECOVERY"};
pc.printf(" mission time:\t%02d:%02d:%02d\r\n", mission_hour, mission_min, mission_sec);
pc.printf(" flight time:\t%.3f[s]\r\n", flight_time);
pc.printf(" phase:\t%s\r\n", phase_names[phase]);
- pc.printf(" flags:\tLAUNCH\tBURNING\tAPOGEE\tMISSION\tRELAY\tFLIGHT\tSEP\tBUZZER\r\n");
- pc.printf(" \t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\r\n", f_launched, f_burning, f_apogee, f_mission, f_relay, f_flight_pin, f_sep, f_buzzer);
- pc.printf(" flags:\tSD\tGPS\tADXL\tINA_in\tINA_ex\tLPS\tMPU\tMPU_AK\r\n");
- pc.printf(" \t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\r\n", f_sd, f_gps, f_adxl, f_ina_in, f_ina_ex, f_lps, f_mpu, f_mpu_ak);
+ pc.printf(" flags:\tLAUNCH\tAPOGEE\tSEPED\tLANDED\tMISSION\tRELAY\tSEP\tBUZZER\r\n");
+ pc.printf(" \t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\r\n", launched, apogee, separated, landed, mission, relay, sep, buzzer);
+ pc.printf(" flags:\tFLIGHT\tSD\tGPS\tADXL\tINA_in\tINA_ex\tLPS\tMPU\r\n");
+ pc.printf(" \t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\r\n", flight, f_sd, f_gps, f_adxl, f_ina_in, f_ina_ex, f_lps, f_mpu);
pc.printf("\r\n");
pc.printf(" lat:\t\t%.6f\r\n", lat);
pc.printf(" lon:\t\t%.6f\r\n", lon);