2018 revision to classic DataBus AVC code.
Dependencies: LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell
Diff: Logger.cpp
- Revision:
- 29:cb2f55fbfe9c
- Parent:
- 24:a7f92dfc5310
- Child:
- 30:ed791f1f7f7d
diff -r eab1b0680bb2 -r cb2f55fbfe9c Logger.cpp --- a/Logger.cpp Sat Dec 22 06:56:55 2018 +0000 +++ b/Logger.cpp Sat Dec 22 20:28:52 2018 +0000 @@ -2,37 +2,43 @@ Logger::Logger(const char *file) { _file = file; + _fp = NULL; +} + + +void Logger::start() { + if (_fp == NULL) _fp = fopen(_file, "a"); +} + + +void Logger::stop() { + if (_fp && fclose(_fp) != EOF) { + _fp = NULL; + } +} + + +bool Logger::enabled() { + return (_fp != NULL); } void Logger::log_gps(GpsData gd) { - _open(); - fprintf(_fp, "G,%3.7f,%3.7f,%3.1f,%2.1f,%2.1f,%d\n", - gd.latitude, - gd.longitude, - gd.course, - gd.speed, - gd.hdop, - gd.svcount - ); - _close(); + if (enabled()) { + fprintf(_fp, "G,%llu,%3.9f,%3.9f,%3.1f,%2.1f,%2.1f,%d\n", + Kernel::get_ms_count(), + gd.latitude, + gd.longitude, + gd.course, + gd.speed, + gd.hdop, + gd.svcount + ); + } } void Logger::log_estimation() { - _open(); - - _close(); -} - - -void Logger::_open() { - _fp = fopen(_file, "a"); -} - - -void Logger::_close() { - if (_fp) { - fclose(_fp); + if (enabled()) { } } \ No newline at end of file