From 63d86e2ca2f774f61a3fce710af010991229f857 Mon Sep 17 00:00:00 2001 From: Todd Treece Date: Fri, 8 Jul 2016 18:27:01 -0400 Subject: [PATCH] parse local time in callback example --- .../mqtt_esp8266_callback.ino | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/examples/mqtt_esp8266_callback/mqtt_esp8266_callback.ino b/examples/mqtt_esp8266_callback/mqtt_esp8266_callback.ino index cebffc8..c089a5a 100644 --- a/examples/mqtt_esp8266_callback/mqtt_esp8266_callback.ino +++ b/examples/mqtt_esp8266_callback/mqtt_esp8266_callback.ino @@ -51,9 +51,47 @@ Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAM /*************************** Sketch Code ************************************/ -void timecallback(uint32_t x) { - Serial.print("Hey we're in a time callback, the epoch time is: "); - Serial.println(x); +int sec; +int min; +int hour; + +int timeZone = -4; // utc-4 eastern daylight time (nyc) + +void timecallback(uint32_t current) { + + // adjust to local time zone + current += (timeZone * 60 * 60); + + // calculate current time + sec = current % 60; + current /= 60; + min = current % 60; + current /= 60; + hour = current % 24; + + // print hour + if(hour == 0 || hour == 12) + Serial.print("12"); + if(hour < 12) + Serial.print(hour); + else + Serial.print(hour - 12); + + // print mins + Serial.print(":"); + if(min < 10) Serial.print("0"); + Serial.print(min); + + // print seconds + Serial.print(":"); + if(sec < 10) Serial.print("0"); + Serial.print(sec); + + if(hour < 12) + Serial.println(" am"); + else + Serial.println(" pm"); + } void slidercallback(double x) { @@ -144,4 +182,4 @@ void MQTT_connect() { } } Serial.println("MQTT Connected!"); -} \ No newline at end of file +}