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 #include "mbed.h"
rlinnmoran 0:77857a36b4ff 2 #include "meta.h"
rlinnmoran 0:77857a36b4ff 3
rlinnmoran 0:77857a36b4ff 4 extern int eCompass_init(void);
rlinnmoran 0:77857a36b4ff 5
rlinnmoran 0:77857a36b4ff 6
rlinnmoran 0:77857a36b4ff 7 Serial pc(USBTX, USBRX);
rlinnmoran 0:77857a36b4ff 8
rlinnmoran 0:77857a36b4ff 9
rlinnmoran 0:77857a36b4ff 10 int main(void)
rlinnmoran 0:77857a36b4ff 11 {
rlinnmoran 0:77857a36b4ff 12 printf("Setting up eComapss\r\n");
rlinnmoran 0:77857a36b4ff 13 if (eCompass_init())
rlinnmoran 0:77857a36b4ff 14 printf("Issue setting up compass\r\n");
rlinnmoran 0:77857a36b4ff 15
rlinnmoran 0:77857a36b4ff 16 while(1){
rlinnmoran 0:77857a36b4ff 17 printf("Creating MetaData Object\r\n");
rlinnmoran 0:77857a36b4ff 18 MetaData _metadata;
rlinnmoran 0:77857a36b4ff 19
rlinnmoran 0:77857a36b4ff 20 printf("Creating CSV Output");
rlinnmoran 0:77857a36b4ff 21 _metadata.outputToCVSstring();
rlinnmoran 0:77857a36b4ff 22
rlinnmoran 0:77857a36b4ff 23 printf("Save to CSV file");
rlinnmoran 0:77857a36b4ff 24 _metadata.appendSDcard();
rlinnmoran 0:77857a36b4ff 25
rlinnmoran 0:77857a36b4ff 26 printf("###done####\r\n");
rlinnmoran 0:77857a36b4ff 27
rlinnmoran 0:77857a36b4ff 28 wait(1);
rlinnmoran 0:77857a36b4ff 29 }
rlinnmoran 0:77857a36b4ff 30
rlinnmoran 0:77857a36b4ff 31 // while(1);
rlinnmoran 0:77857a36b4ff 32 }
rlinnmoran 0:77857a36b4ff 33
rlinnmoran 0:77857a36b4ff 34 /*
rlinnmoran 0:77857a36b4ff 35
rlinnmoran 0:77857a36b4ff 36 - Init routines for 6axis + GPS (none) + UDP + Filesystem
rlinnmoran 0:77857a36b4ff 37
rlinnmoran 0:77857a36b4ff 38 - Wait some time to let system settle
rlinnmoran 0:77857a36b4ff 39
rlinnmoran 0:77857a36b4ff 40 --> (loop re-entry)
rlinnmoran 0:77857a36b4ff 41 - Create new MetaData object that goes off and samples 6axis and all GPS components (mainly RMC message)
rlinnmoran 0:77857a36b4ff 42 --- In object code (constructor), include the code for 6axis + GPS
rlinnmoran 0:77857a36b4ff 43 - Create string in CSV format from MetaData
rlinnmoran 0:77857a36b4ff 44
rlinnmoran 0:77857a36b4ff 45 #Improvement - add push button/led to start/stop data logging
rlinnmoran 0:77857a36b4ff 46 - Append string to file
rlinnmoran 0:77857a36b4ff 47 - Create new UDP frame from string
rlinnmoran 0:77857a36b4ff 48 - Wait for 1 sec, loop to re-entry point.
rlinnmoran 0:77857a36b4ff 49
rlinnmoran 0:77857a36b4ff 50 */
rlinnmoran 0:77857a36b4ff 51
rlinnmoran 0:77857a36b4ff 52 /* ### Error Log ###
rlinnmoran 0:77857a36b4ff 53 e001 - GPS/Compass Function did not complete on MetaData class constructor
rlinnmoran 0:77857a36b4ff 54 */