2018 revision to classic DataBus AVC code.

Dependencies:   LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell

Logger.cpp

Committer:
shimniok
Date:
2018-12-26
Revision:
30:ed791f1f7f7d
Parent:
29:cb2f55fbfe9c
Child:
31:20a95043adb0

File content as of revision 30:ed791f1f7f7d:

#include "Logger.h"

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 d) {
    if (enabled()) {
        fprintf(_fp, "G,%llu,%3.9f,%3.9f,%3.1f,%2.1f,%2.1f,%d\n",
            d.timestamp,
            d.latitude, 
            d.longitude,
            d.course,
            d.speed,
            d.hdop,
            d.svcount
        );
    }
}


void Logger::log_sensors(SensorData d) {
    if (enabled()) {
        fprintf(_fp, "S,%llu,%u,%d,%d,%d\n",
            d.timestamp,
            d.encoder, 
            d.gyro[0],
            d.gyro[1],
            d.gyro[2]
        );       
    }
}


void Logger::log_estimation() {
    if (enabled()) {
    }
}