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:
Wed May 20 07:14:22 2015 +0000
Revision:
3:6085916c9d74
Parent:
2:bcd60a69583f
First release V1_0

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 2:bcd60a69583f 16 virtual ~MetaData();
rlinnmoran 0:77857a36b4ff 17
rlinnmoran 0:77857a36b4ff 18 void outputToCVSstring(void); // Format all captured data into CVS format
rlinnmoran 0:77857a36b4ff 19
rlinnmoran 2:bcd60a69583f 20 int appendSDcard(void); // Write the captured data into the end of the file
rlinnmoran 2:bcd60a69583f 21 int transmitUDP(void); // Transmit captured data over UDP port
rlinnmoran 2:bcd60a69583f 22
rlinnmoran 0:77857a36b4ff 23
rlinnmoran 0:77857a36b4ff 24 protected:
rlinnmoran 0:77857a36b4ff 25
rlinnmoran 0:77857a36b4ff 26 void capture6Axis( axis6_t* ); // Capture data from 6Axis sensor
rlinnmoran 0:77857a36b4ff 27 void captureGPS( gpsinfo_t* ); // Capture data from GPS sensor
rlinnmoran 0:77857a36b4ff 28
rlinnmoran 0:77857a36b4ff 29 char CSVOutput[500]; // Output buffer for CSV data
rlinnmoran 0:77857a36b4ff 30
rlinnmoran 0:77857a36b4ff 31 double lat; // GPS Latitude (deg)
rlinnmoran 0:77857a36b4ff 32 double lng; // GPS Longitude (deg)
rlinnmoran 0:77857a36b4ff 33 double alt; // GPS Altitude (m)
rlinnmoran 0:77857a36b4ff 34 char NS; // GPS NS indicator
rlinnmoran 0:77857a36b4ff 35 char EW; // GPS EW indicator
rlinnmoran 0:77857a36b4ff 36 double spd; // GPS Speed (kmph)
rlinnmoran 0:77857a36b4ff 37 double utc; // GPS UTC time (hhmmss.ss)
rlinnmoran 0:77857a36b4ff 38 int dte; // GPS Date (ddmmyy)
rlinnmoran 0:77857a36b4ff 39
rlinnmoran 0:77857a36b4ff 40 int roll, pitch, yaw; // Roll, Pitch, Yaw and Compass from the eCompass algorithm
rlinnmoran 0:77857a36b4ff 41 float fGax, fGay, fGaz; // Accelerometer data converted to G's
rlinnmoran 0:77857a36b4ff 42 float fUTmx, fUTmy, fUTmz; // Magnetometer data converted to UT's
rlinnmoran 0:77857a36b4ff 43 float q0, q1, q2, q3; // Data from Quaternion converted to floating point
rlinnmoran 0:77857a36b4ff 44
rlinnmoran 0:77857a36b4ff 45 };
rlinnmoran 0:77857a36b4ff 46
rlinnmoran 0:77857a36b4ff 47 #endif