From dddf04fb106b9c96f5f94e500adbd9078a8b4788 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Sun, 10 Mar 2019 19:23:23 +0100 Subject: [PATCH] Updated the app sample code and added a new view --- src/app/app.ino | 31 ++++++++++++++++++++++++------- src/app/views.cpp | 24 ++++++++++++++++++++++-- src/app/views.h | 2 ++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/app/app.ino b/src/app/app.ino index 65322df..9da1ab4 100644 --- a/src/app/app.ino +++ b/src/app/app.ino @@ -5,15 +5,17 @@ SAB sab; -unsigned long currentMs = 0; +unsigned long currentMs = 0, batteryMs = 0, buttonMs = 0; int mySize = 0; -DateTimePacket dtp = {sab.getRtcManager().getDateTime(), sab.getSdCardManager().getSize(GBYTE)}; +unsigned char curView = 0; +DateTimePacket dtp = {sab.getRtcManager().getDateTime(), sab.getSdCardManager().getSize(GBYTE), sab.getPowerInfo()}; void setup() { // put your setup code here, to run once: Serial.println("Starting setup"); pinMode(GPIO_0, INPUT); - sab.getScreenManager().addView(&(view_1), &dtp, 1); + sab.getScreenManager().addView(&(view_1), &dtp, 0); + sab.getScreenManager().addView(&(view_2), NULL, 1); /*Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(GBYTE)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(GBIT)); @@ -21,7 +23,7 @@ void setup() { Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(MBIT)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(KBYTE)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(KBIT));*/ - + sab.getScreenManager().displayView(curView); Serial.println("End setup"); } @@ -30,9 +32,24 @@ void loop() { { currentMs = millis(); dtp.dateTime = sab.getRtcManager().getDateTime(); - sab.getScreenManager().displayView(1); + sab.getScreenManager().displayView(); } - /*if(digitalRead(GPIO_0)==0) - sab.getRtcManager().setDateTime(DateTime(2019,3,9,19,34,0));*/ + if(millis() - batteryMs > 10000) + { + batteryMs = millis(); + dtp.powerInfo = sab.getPowerInfo(); + } + + + if(digitalRead(GPIO_0) == 0 && millis() - buttonMs > 500) + { + buttonMs = millis(); + Serial.println("Changing view"); + //sab.getRtcManager().setDateTime(DateTime(2019,3,9,19,34,0)); + curView++; + curView %= 2; + sab.getScreenManager().displayView(curView); + } + } diff --git a/src/app/views.cpp b/src/app/views.cpp index c3b3ea8..86c0934 100644 --- a/src/app/views.cpp +++ b/src/app/views.cpp @@ -2,15 +2,35 @@ boolean view_1(Adafruit_SSD1306 &display, void *pData) { - char time_str[300] = ""; + char time_str[300] = "", power_str[50] = ""; DateTimePacket *p = (DateTimePacket *) pData; - sprintf(time_str,"RTC:time--> %d:%d:%d\ndate--> %d/%d/%d\nFree RAM : %d\nSdCard : %.2fGB\n",p->dateTime.hour(), p->dateTime.minute(), p->dateTime.second(), p->dateTime.day(), p->dateTime.month(), p->dateTime.year(),ESP.getFreeHeap(),p->sdCardSize); + + switch(p->powerInfo.powerType) + { + case USB: + sprintf(power_str,"USB"); + break; + default: + sprintf(power_str,"BATT(%u%%)", p->powerInfo.level); + } + + sprintf(time_str,"RTC:time--> %d:%d:%d\ndate--> %d/%d/%d\nFree RAM : %d\nSdCard : %.2fGB\nPower : %s\n",p->dateTime.hour(), p->dateTime.minute(), p->dateTime.second(), p->dateTime.day(), p->dateTime.month(), p->dateTime.year(),ESP.getFreeHeap(),p->sdCardSize,power_str); display.println(time_str); + display.setCursor(0,56); + display.println("GLOBAL INFO"); return true; } boolean view_2(Adafruit_SSD1306 &display, void *pData) { + char conn_str[300]; + sprintf(conn_str,"Ip addr :"); + display.println(conn_str); + + display.setCursor(0,56); + display.println("CONNECTION INFO"); + + return true; } diff --git a/src/app/views.h b/src/app/views.h index 582f304..a3ae00c 100644 --- a/src/app/views.h +++ b/src/app/views.h @@ -7,7 +7,9 @@ typedef struct dateTimePacket { DateTime dateTime; float sdCardSize; + PowerInfo powerInfo; } DateTimePacket; + boolean view_1(Adafruit_SSD1306 &display, void *pData); boolean view_2(Adafruit_SSD1306 &display, void *pData);