Some changes :)

This commit is contained in:
Blue Fox 2022-08-22 09:20:39 +02:00
parent 8ec317b07d
commit 646aa9fce4
3 changed files with 44 additions and 21 deletions

View File

@ -77,9 +77,9 @@ void showDailyText(String losung, String lehrtext, String losungPosition, String
// display title
paint.Clear(UNCOLORED);
int startTitleAtX = round((paint.GetWidth()-strlen(TITLE_TEXT)*TITLE_FONT.Width)/2);
paint.DrawStringAt(startTitleAtX, 2, TITLE_TEXT, &TITLE_FONT, COLORED);
paint.DrawStringAt(startTitleAtX, 0, TITLE_TEXT, &TITLE_FONT, COLORED);
paint.DrawHorizontalLine(startTitleAtX+15, TITLE_FONT.Height+1, paint.GetWidth()-(startTitleAtX+15)*2, COLORED);
text_y = TITLE_PADDING_TOP;
epd.TransmitPartialData(paint.GetImage(), text_x, text_y, paint.GetWidth(), paint.GetHeight());
text_y += TITLE_FONT.Height+2;

View File

@ -21,13 +21,22 @@ const int daylightOffset_sec = 3600; // for daylight saving
// style of the frame shown
sFONT TITLE_FONT = Font20;
char TITLE_TEXT[] = "Losung heute";
int TITLE_PADDING_TOP = 10;
sFONT TEXT_FONT = Font12; // for the daily text
int TEXT_WIDTH = 168; // width of the box around the text; should be a multiple of the width of the font (eg. Font8 => multiple of 8)
int TEXT_PADDING_TOP = 30;
int TEXT_PADDING_TOP = 20;
int TEXT_PADDING_BETWEEN_BLOCKS = 20; // pixels between the lines
int TEXT_PADDING_BETWEEN_LINES = 1; // pixels between the lines
sFONT SOURCE_FONT = Font8; // for the position in bible
void deepSleep() {
// deep sleep for DEEP_SLEEP_TIME seconds
esp_sleep_enable_timer_wakeup(DEEP_SLEEP_TIME*us_s_conversion_factor);
Serial.printf("[ESP32] Entering deep sleep mode for %ds\n", DEEP_SLEEP_TIME);
esp_deep_sleep_start();
}
bool gotLosung = false; // if everything worked and http get returned HTTP 200
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
@ -39,16 +48,34 @@ void setup() {
}
Serial.println("[INFO] Initialized e-Paper!");
connectWiFi();
if(connectWiFi()) {
Serial.println("[NTP] Getting time...");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer.c_str());
Serial.println("[NTP] Got time.");
}
String html = getHTML();
if(html != "") gotLosung = true;
showDailyText(getLosungFromHTML(html), getLehrtextFromHTML(html), getLosungSourceFromHTML(html), getLehrtextSourceFromHTML(html));
// deep sleep for DEEP_SLEEP_TIME seconds
esp_sleep_enable_timer_wakeup(DEEP_SLEEP_TIME*us_s_conversion_factor);
Serial.printf("[ESP32] Entering deep sleep mode for %ds\n", DEEP_SLEEP_TIME);
esp_deep_sleep_start();
if(gotLosung) {
showDailyText(getLosungFromHTML(html), getLehrtextFromHTML(html), getLosungSourceFromHTML(html), getLehrtextSourceFromHTML(html));
deepSleep();
}
}
void loop() {
if(!gotLosung) {
if(connectWiFi()) {
Serial.println("[NTP] Getting time...");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer.c_str());
Serial.println("[NTP] Got time.");
}
String html = getHTML();
if(html != "") gotLosung = true;
if(gotLosung) {
showDailyText(getLosungFromHTML(html), getLehrtextFromHTML(html), getLosungSourceFromHTML(html), getLehrtextSourceFromHTML(html));
deepSleep();
}
}
}

View File

@ -1,8 +1,8 @@
#include <WiFi.h>
#include "time.h"
void connectWiFi() { // connect to the wifi with the above defined credentials
if(WiFi.status() == WL_CONNECTED) { return; } // return if not connected
bool connectWiFi() { // connect to the wifi with the above defined credentials
if(WiFi.status() == WL_CONNECTED) { return true; } // return if not connected
Serial.print("[WiFi] Connecting to WiFi...");
@ -10,19 +10,15 @@ void connectWiFi() { // connect to the wifi with the above defined credentials
while(WiFi.status() != WL_CONNECTED) {
delay(2000); Serial.printf(".");
if(WiFi.status() == WL_NO_SSID_AVAIL) {
Serial.println("[WiFi] Failed to connect to WiFi. Reason: WL_NO_SSID_AVAIL");
return;
Serial.println("\n[WiFi] Failed to connect to WiFi. Reason: WL_NO_SSID_AVAIL");
return false;
} else if(WiFi.status() == WL_CONNECT_FAILED) {
Serial.println("[WiFi] Failed to connect to WiFi. Reason: WL_CONNECT_FAILED");
return;
Serial.println("\n[WiFi] Failed to connect to WiFi. Reason: WL_CONNECT_FAILED");
return false;
}
}
Serial.printf("\n[WiFi] Connected to WiFi \"%s\", got IP-Adress ", wiFiSSID);
Serial.println(WiFi.localIP());
Serial.println("[NTP] Getting time...");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer.c_str());
Serial.println("[NTP] Got time.");
return;
return true;
}