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
meta.h@3:6085916c9d74, 2015-05-20 (annotated)
- 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?
User | Revision | Line number | New 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 |