diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index e64ffc60d..fc54edc8a 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -175,7 +175,7 @@ void writeHeader() if (sensor.logs) { memset(label, 0, sizeof(label)); zchar2str(label, sensor.label, TELEM_LABEL_LEN); - if (sensor.unit != UNIT_RAW) { + if (sensor.unit != UNIT_RAW && sensor.unit != UNIT_GPS && sensor.unit != UNIT_DATETIME) { strcat(label, "("); strncat(label, STR_VTELEMUNIT+1+3*sensor.unit, 3); strcat(label, ")"); @@ -289,9 +289,15 @@ void writeLogs() if (sensor.logs) { if (sensor.unit == UNIT_GPS) { if (telemetryItem.gps.longitudeEW && telemetryItem.gps.latitudeNS) - f_printf(&g_oLogFile, "%03d.%04d%c,%03d.%04d%c,", telemetryItem.gps.longitude_bp, telemetryItem.gps.longitude_ap, telemetryItem.gps.longitudeEW, telemetryItem.gps.latitude_bp, telemetryItem.gps.latitude_ap, telemetryItem.gps.latitudeNS); + f_printf(&g_oLogFile, "%03d.%04d%c %03d.%04d%c,", telemetryItem.gps.longitude_bp, telemetryItem.gps.longitude_ap, telemetryItem.gps.longitudeEW, telemetryItem.gps.latitude_bp, telemetryItem.gps.latitude_ap, telemetryItem.gps.latitudeNS); else - f_printf(&g_oLogFile, "-,-,"); + f_printf(&g_oLogFile, ","); + } + else if (sensor.unit == UNIT_DATETIME) { + if (telemetryItem.datetime.datestate) + f_printf(&g_oLogFile, "%4d-%02d-%02d %02d:%02d:%02d,", telemetryItem.datetime.year, telemetryItem.datetime.month, telemetryItem.datetime.day, telemetryItem.datetime.hour, telemetryItem.datetime.min, telemetryItem.datetime.sec); + else + f_printf(&g_oLogFile, ","); } else if (sensor.prec == 2) { div_t qr = div(telemetryItem.value, 100); diff --git a/radio/src/telemetry/telemetry.cpp b/radio/src/telemetry/telemetry.cpp index 6c833a41f..2fe5066bd 100644 --- a/radio/src/telemetry/telemetry.cpp +++ b/radio/src/telemetry/telemetry.cpp @@ -83,7 +83,7 @@ void TelemetryItem::setValue(const TelemetrySensor & sensor, int32_t val, uint32 datetime.timestate = 1; } #if defined(RTCLOCK) - if (g_eeGeneral.adjustRTC && (datetime.datestate == 1)) { + if (g_eeGeneral.adjustRTC && datetime.datestate == 1) { struct gtm t; gettime(&t); if (abs((t.tm_hour-datetime.hour)*3600 + (t.tm_min-datetime.min)*60 + (t.tm_sec-datetime.sec)) > 20) {