Use local hh:mm:ss in SD CSV human-readable column

This commit is contained in:
2026-02-17 00:39:23 +01:00
parent 318b81adbe
commit 16b8827dca

View File

@@ -39,18 +39,18 @@ static String format_date_utc(uint32_t ts_utc) {
return String(buf); return String(buf);
} }
static String format_hms_utc(uint32_t ts_utc) { static String format_hms_local(uint32_t ts_utc) {
if (ts_utc == 0) { if (ts_utc == 0) {
return ""; return "";
} }
time_t t = static_cast<time_t>(ts_utc); time_t t = static_cast<time_t>(ts_utc);
struct tm tm_utc; struct tm tm_local;
gmtime_r(&t, &tm_utc); localtime_r(&t, &tm_local);
char buf[16]; char buf[16];
snprintf(buf, sizeof(buf), "%02d:%02d:%02d", snprintf(buf, sizeof(buf), "%02d:%02d:%02d",
tm_utc.tm_hour, tm_local.tm_hour,
tm_utc.tm_min, tm_local.tm_min,
tm_utc.tm_sec); tm_local.tm_sec);
return String(buf); return String(buf);
} }
@@ -102,13 +102,13 @@ void sd_logger_log_sample(const MeterData &data, bool include_error_text) {
} }
if (new_file) { if (new_file) {
f.println("ts_utc,ts_hms_utc,p_w,p1_w,p2_w,p3_w,e_kwh,bat_v,bat_pct,rssi,snr,err_m,err_d,err_tx,err_last"); f.println("ts_utc,ts_hms_local,p_w,p1_w,p2_w,p3_w,e_kwh,bat_v,bat_pct,rssi,snr,err_m,err_d,err_tx,err_last");
} }
String ts_hms_utc = format_hms_utc(data.ts_utc); String ts_hms_local = format_hms_local(data.ts_utc);
f.print(data.ts_utc); f.print(data.ts_utc);
f.print(','); f.print(',');
f.print(ts_hms_utc); f.print(ts_hms_local);
f.print(','); f.print(',');
f.print(data.total_power_w, 1); f.print(data.total_power_w, 1);
f.print(','); f.print(',');