From b6c019d1a8744bd66686e78ac27205d5686d561b Mon Sep 17 00:00:00 2001 From: Gregg Date: Thu, 3 Mar 2022 21:37:20 -0600 Subject: [PATCH] Finished Time Stamping - Started Web Log Structure --- src/HAP.cpp | 3 ++- src/HomeSpan.cpp | 6 +++--- src/HomeSpan.h | 11 ++++++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/HAP.cpp b/src/HAP.cpp index 5b15003..98383e2 100644 --- a/src/HAP.cpp +++ b/src/HAP.cpp @@ -1274,7 +1274,8 @@ int HAPClient::getStatusURL(){ response+="

" + String(homeSpan.displayName) + "

\n"; response+="\n"; - response+="\n"; + response+="\n"; + response+="\n"; response+="\n"; response+="\n"; response+="\n"; diff --git a/src/HomeSpan.cpp b/src/HomeSpan.cpp index 98bc563..2942197 100644 --- a/src/HomeSpan.cpp +++ b/src/HomeSpan.cpp @@ -563,10 +563,10 @@ void Span::checkConnect(){ if(timeServer){ Serial.printf("Acquiring Time from %s... ",timeServer,timeZone); configTzTime(timeZone,timeServer); + struct tm timeinfo; if(getLocalTime(&timeinfo)){ - char c[65]; - strftime(c,64,"%a %b %e %Y %I:%M:%S %p",&timeinfo); - Serial.printf("%s (%s)\n\n",c,timeZone); + strftime(bootTime,sizeof(bootTime),"%c",&timeinfo); + Serial.printf("%s\n\n",bootTime); } else { Serial.printf("Can't access Time Server - time-keeping disabled!\n\n"); timeServer=NULL; diff --git a/src/HomeSpan.h b/src/HomeSpan.h index 6312da7..bddc282 100644 --- a/src/HomeSpan.h +++ b/src/HomeSpan.h @@ -94,6 +94,14 @@ struct SpanBuf{ // temporary storage buffer for us /////////////////////////////// +struct SpanWebLog{ // optional web status/log data + int maxEntries=-1; // max number of log entries; -1 = do not create log or status; 0 = create status but no log; 1..N = create status and log with N entries + int nEntries=0; // current number of log entries + char **entry; // pointers to log entries of arbitrary size +}; + +/////////////////////////////// + struct Span{ const char *displayName; // display name for this device - broadcast as part of Bonjour MDNS @@ -115,7 +123,8 @@ struct Span{ char pairingCodeCommand[12]=""; // user-specified Pairing Code - only needed if Pairing Setup Code is specified in sketch using setPairingCode() const char *timeZone=NULL; // optional time-zone specification const char *timeServer=NULL; // optional time server to use for acquiring clock time - struct tm timeinfo; // optional time info structure + char bootTime[33]="Unknown"; // boot time + SpanWebLog webLog; // optional web status/log boolean connected=false; // WiFi connection status unsigned long waitTime=60000; // time to wait (in milliseconds) between WiFi connection attempts
Uptime:" + String(uptime) + "
Up Time:" + String(uptime) + "
Boot Time:" + String(homeSpan.bootTime) + "
ESP32 Board:" + String(ARDUINO_BOARD) + "
Arduino-ESP Version:" + String(ARDUINO_ESP_VERSION) + "
ESP-IDF Version:" + String(ESP_IDF_VERSION_MAJOR) + "." + String(ESP_IDF_VERSION_MINOR) + "." + String(ESP_IDF_VERSION_PATCH) + "