K64F based data logger for GPS (ublox MAX M8Q) & 6 Axis Sensor (FXOS8700Q) - Outputs to SD + UDP - Uses FRDM K64F + ublox "Cellular and positioning shield" (3G version)

Dependencies:   MAX_M8Q_Capture EthernetInterface FXOS8700Q SDFileSystem eCompass_FPU_Lib mbed-rtos mbed

Committer:
rlinnmoran
Date:
Fri Mar 27 08:35:29 2015 +0000
Revision:
0:77857a36b4ff
Child:
2:bcd60a69583f
Initial version.; ; Working:; - Capture GPS ; - Capture 6 Axis; - Write to CVS on SD (crude); ; Issues:; - Update freq slow (5s); - No UDP; - Improve SD functions; - Clean MetaData class code + docs; - No status led, start/stop button; - Param for printf's

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rlinnmoran 0:77857a36b4ff 1 #ifndef META_H_
rlinnmoran 0:77857a36b4ff 2 #define META_H_
rlinnmoran 0:77857a36b4ff 3
rlinnmoran 0:77857a36b4ff 4 #include "MAX_M8Q.h"
rlinnmoran 0:77857a36b4ff 5 #include "eCompass_Lib.h"
rlinnmoran 0:77857a36b4ff 6
rlinnmoran 0:77857a36b4ff 7 #define _FILENAME "metaData.csv"
rlinnmoran 0:77857a36b4ff 8
rlinnmoran 0:77857a36b4ff 9 extern axis6_t axis6; // Structure containing 6axis data
rlinnmoran 0:77857a36b4ff 10 extern gpsinfo_t gpsinfo; // Structure containing GPS data
rlinnmoran 0:77857a36b4ff 11
rlinnmoran 0:77857a36b4ff 12 class MetaData
rlinnmoran 0:77857a36b4ff 13 {
rlinnmoran 0:77857a36b4ff 14 public:
rlinnmoran 0:77857a36b4ff 15 MetaData();
rlinnmoran 0:77857a36b4ff 16 //####need destructor
rlinnmoran 0:77857a36b4ff 17
rlinnmoran 0:77857a36b4ff 18 void outputToCVSstring(void); // Format all captured data into CVS format
rlinnmoran 0:77857a36b4ff 19
rlinnmoran 0:77857a36b4ff 20 void appendSDcard(void); // Write the captured data into the end of the file
rlinnmoran 0:77857a36b4ff 21
rlinnmoran 0:77857a36b4ff 22 protected:
rlinnmoran 0:77857a36b4ff 23
rlinnmoran 0:77857a36b4ff 24 void capture6Axis( axis6_t* ); // Capture data from 6Axis sensor
rlinnmoran 0:77857a36b4ff 25 void captureGPS( gpsinfo_t* ); // Capture data from GPS sensor
rlinnmoran 0:77857a36b4ff 26
rlinnmoran 0:77857a36b4ff 27 char CSVOutput[500]; // Output buffer for CSV data
rlinnmoran 0:77857a36b4ff 28
rlinnmoran 0:77857a36b4ff 29 double lat; // GPS Latitude (deg)
rlinnmoran 0:77857a36b4ff 30 double lng; // GPS Longitude (deg)
rlinnmoran 0:77857a36b4ff 31 double alt; // GPS Altitude (m)
rlinnmoran 0:77857a36b4ff 32 char NS; // GPS NS indicator
rlinnmoran 0:77857a36b4ff 33 char EW; // GPS EW indicator
rlinnmoran 0:77857a36b4ff 34 double spd; // GPS Speed (kmph)
rlinnmoran 0:77857a36b4ff 35 double utc; // GPS UTC time (hhmmss.ss)
rlinnmoran 0:77857a36b4ff 36 int dte; // GPS Date (ddmmyy)
rlinnmoran 0:77857a36b4ff 37
rlinnmoran 0:77857a36b4ff 38 int roll, pitch, yaw; // Roll, Pitch, Yaw and Compass from the eCompass algorithm
rlinnmoran 0:77857a36b4ff 39 float fGax, fGay, fGaz; // Accelerometer data converted to G's
rlinnmoran 0:77857a36b4ff 40 float fUTmx, fUTmy, fUTmz; // Magnetometer data converted to UT's
rlinnmoran 0:77857a36b4ff 41 float q0, q1, q2, q3; // Data from Quaternion converted to floating point
rlinnmoran 0:77857a36b4ff 42
rlinnmoran 0:77857a36b4ff 43 };
rlinnmoran 0:77857a36b4ff 44
rlinnmoran 0:77857a36b4ff 45 #endif