Hi ashammaa!
It’s been a little while since the project, so I’ll do my best to recall.
Going through my files, it appears I used a library called NeoGPS. The developer also provides useful replacement libraries for serial connections, if you find yourself looking for one.
There is an excerpt at the bottom from my arduino code handling extracting, using the NMEAGPS function from NeoGPS. You would replace logfile.print()
with whatever function you are using to deal with the data. I just saved it to an SD card, and parsed the file on a laptop with python.
I hope this helps! I have some more experience I can share if you need it, feel free to ask anything else.
p.s. I may have switched to NMEA output, check if NeoGPS works with ENU, but if it doesn’t, give that a try.
if (fix.valid.location && fix.valid.time) {
rgb.setColour(ACQUIREDFIX); //LED STATUS yay
static uint16_t lastLoggingTime = 0;
uint16_t startLoggingTime = millis();
printL( logfile, fix.latitudeL() ); //lat
logfile.print( ',' );
printL( logfile, fix.longitudeL() ); //lon
logfile.print(',');
logfile.print(fix.altitude_cm()); //altitude above ellipsoid, not Mean Sea Level) in int cm
logfile.print(',');
logfile.print(fix.dateTime.year); //Time. Time is funky for date/time, see neogps documentation.
logfile.print(fix.dateTime.month); //nb no delimiter between them.
logfile.print(fix.dateTime.date);
logfile.print(',');
if (fix.dateTime.hours < 10)
logfile.print( '0' );
logfile.print(fix.dateTime.hours);
logfile.print( ':' );
if (fix.dateTime.minutes < 10)
logfile.print( '0' );
logfile.print(fix.dateTime.minutes);
logfile.print( ':' );
if (fix.dateTime.seconds < 10)
logfile.print( '0' );
logfile.print(fix.dateTime.seconds);
logfile.print( '.' );
if (fix.dateTime_cs < 10)
logfile.print( '0' ); // leading zero for .05, for example
logfile.print(fix.dateTime_cs);
logfile.print(',');
logfile.print(fix.satellites); //sat count
logfile.print(',');
logfile.print(fix.hdop); //hdop in "integer thousandths of the DOP"
logfile.print(',');
logfile.print(fix.heading());
logfile.print(',');
logfile.print(uT1);
logfile.print(',');
logfile.print(uT2);
logfile.print(',');
logfile.print(uT3);
logfile.print(',');
logfile.print(uT4);
logfile.print(',');
logfile.print(uT5);
logfile.print(',');
logfile.print(uT6);
logfile.print(',');
logfile.print( lastLoggingTime ); // write how long the previous logging took
logfile.println();