IZU2020 / Mbed 2 deprecated IZU2020_POST_PROCESS

Dependencies:   mbed PQEEPROM

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 #include "PQEEPROM.h"
00004 
00005 Serial pc(USBTX, USBRX, 115200);
00006 
00007 I2C i2c(p28, p27);
00008 
00009 EEPROM eeprom(i2c);
00010 
00011 char data[128];
00012 
00013 char mission_timer_reset;
00014 int mission_time;
00015 int flight_time;
00016 char f_sd;
00017 char f_gps;
00018 char f_adxl;
00019 char f_ina_in;
00020 char f_ina_ex;
00021 char f_lps;
00022 char f_mpu;
00023 char f_mpu_ak;
00024 char phase;
00025 int utc_hour;
00026 int utc_min;
00027 float utc_sec;
00028 float lat;
00029 float lon;
00030 int sat;
00031 int fix;
00032 float hdop;
00033 float alt;
00034 float geoid;
00035 float high_accel[3];
00036 float voltage_in;
00037 float current_in;
00038 float voltage_ex;
00039 float current_ex;
00040 float press;
00041 float temp;
00042 float accel[3];
00043 float gyro[3];
00044 float mag[3];
00045 
00046 int main()
00047 {
00048     for(int addr = 0x000000; addr < 0x07FFFF; addr += 0x80) {
00049         eeprom.read(addr, data, 128);
00050         mission_timer_reset = data[1];
00051         mission_time = *(int*)&data[2];
00052         flight_time = *(int*)&data[6];
00053         f_sd = data[10];
00054         f_gps = data[11];
00055         f_adxl = data[12];
00056         f_ina_in = data[13];
00057         f_ina_ex = data[14];
00058         f_lps = data[15];
00059         f_mpu = data[16];
00060         f_mpu_ak = data[17];
00061         phase = data[18];
00062         lat = *(float*)&data[19];
00063         lon = *(float*)&data[23];
00064         sat = *(int*)&data[27];
00065         fix = *(int*)&data[31];
00066         hdop = *(float*)&data[35];
00067         alt = *(float*)&data[39];
00068         geoid = *(float*)&data[43];
00069         high_accel[0] = *(float*)&data[47];
00070         high_accel[1] = *(float*)&data[51];
00071         high_accel[2] = *(float*)&data[55];
00072         voltage_in = *(float*)&data[59];
00073         current_in = *(float*)&data[63];
00074         voltage_ex = *(float*)&data[67];
00075         current_ex = *(float*)&data[71];
00076         press = *(float*)&data[75];
00077         temp = *(float*)&data[79];
00078         accel[0] = *(float*)&data[83];
00079         accel[1] = *(float*)&data[87];
00080         accel[2] = *(float*)&data[91];
00081         gyro[0] = *(float*)&data[95];
00082         gyro[1] = *(float*)&data[99];
00083         gyro[2] = *(float*)&data[103];
00084         mag[0] = *(float*)&data[107];
00085         mag[1] = *(float*)&data[111];
00086         mag[2] = *(float*)&data[115];
00087         
00088         pc.printf("addr:%x", addr);
00089         pc.printf("mission_timer_reset: %d\r\n", mission_timer_reset);
00090         pc.printf("mission_time: %d\r\n", mission_time);
00091         pc.printf("flight_time: %d\r\n", flight_time);
00092         pc.printf("phase: %d\r\n", phase);
00093         pc.printf("f_sd: %d\r\n", f_sd);
00094         pc.printf("f_gps: %d\r\n", f_gps);
00095         pc.printf("f_adxl: %d\r\n", f_adxl);
00096         pc.printf("f_ina_in: %d\r\n", f_ina_in);
00097         pc.printf("f_ina_ex: %d\r\n", f_ina_ex);
00098         pc.printf("f_lps: %d\r\n", f_lps);
00099         pc.printf("f_mpu: %d\r\n", f_mpu);
00100         pc.printf("f_mpu_ak: %d\r\n", f_mpu_ak);
00101         pc.printf("lat: %f\r\n", lat);
00102         pc.printf("lon: %f\r\n", lon);
00103         pc.printf("sat: %d\r\n", sat);
00104         pc.printf("fix: %d\r\n", fix);
00105         pc.printf("hdop: %f\r\n", hdop);
00106         pc.printf("alt: %f\r\n", alt);
00107         pc.printf("geoid: %f\r\n", geoid);
00108         pc.printf("high_accel_x: %f\r\n", high_accel[0]);
00109         pc.printf("high_accel_y: %f\r\n", high_accel[1]);
00110         pc.printf("high_accel_z: %f\r\n", high_accel[2]);
00111         pc.printf("voltage_in: %f\r\n", voltage_in);
00112         pc.printf("current_in: %f\r\n", current_in);
00113         pc.printf("voltage_ex: %f\r\n", voltage_ex);
00114         pc.printf("current_ex: %f\r\n", current_ex);
00115         pc.printf("press: %f\r\n", press);
00116         pc.printf("temp: %f\r\n", temp);
00117         pc.printf("accel_x: %f\r\n", accel[0]);
00118         pc.printf("accel_y: %f\r\n", accel[1]);
00119         pc.printf("accel_z: %f\r\n", accel[2]);
00120         pc.printf("gyro_x: %f\r\n", gyro[0]);
00121         pc.printf("gyro_y: %f\r\n", gyro[1]);
00122         pc.printf("gyro_z: %f\r\n", gyro[2]);
00123         pc.printf("mag_x: %f\r\n", mag[0]);
00124         pc.printf("mag_y: %f\r\n", mag[1]);
00125         pc.printf("mag_z: %f\r\n", mag[2]);
00126     }
00127 }