From e97d9b98b550fb7c175da8939706315997572b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien?= Date: Fri, 22 Dec 2017 14:39:31 +0100 Subject: [PATCH] Many improvments --- LibreMetric.ino | 94 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 28 deletions(-) diff --git a/LibreMetric.ino b/LibreMetric.ino index 6dd2d76..5947b8a 100644 --- a/LibreMetric.ino +++ b/LibreMetric.ino @@ -11,6 +11,8 @@ #include #include #include +#include +#include "OTAsetup.h" #include "d_helper.h" @@ -32,7 +34,7 @@ String SITE_WIDTH = "1000"; int timezone = 1; int dstOffset = 1; const char* ntpServer = "fr.pool.ntp.org"; -int brightness = 2; +int brightness = 16; int pinCS = D4; int numberOfHorizontalDisplays = 4; int numberOfVerticalDisplays = 1; @@ -40,23 +42,50 @@ int numberOfVerticalDisplays = 1; //################## INITIALIZING ###################### char time_value[20]; String message, webpage; -ESP8266WebServer server(PORT); +ESP8266WebServer server(PORT); Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays); +void configModeCallback (WiFiManager *myWiFiManager) { // AP config mode + display_message("Setup"); +} void setup() { Serial.begin(115200); // initialize serial communications + DEBUG_PRINT(F("\n\r")); + matrix.fillScreen(LOW); //clr screen + + initOTA(); + + for (int i=0; i matrix.width()) { + display_message_long(message); + } + else { + matrix.fillScreen(LOW); + int x = (matrix.width()-(width * message.length() - spacer))/2; + int y = (matrix.height() - 8) / 2; // center the text vertically + for ( int i =0; i < message.length(); i++ ){ + matrix.drawChar(x + (i * width), y, message[i], HIGH, LOW, 1); // HIGH LOW means foreground ON, background OFF, reverse these to invert the display! + } + matrix.write(); // Send bitmap to display + delay(4000); + } +} +void display_message_long(String message){ for ( int i = 0 ; i < width * message.length() + matrix.width() - spacer; i++ ) { matrix.fillScreen(LOW); int letter = i / width; @@ -148,7 +186,7 @@ void GetMessage() { String Argument_Name = server.argName(i); String client_response = server.arg(i); if (Argument_Name == "message") message = client_response; - else if (Argument_Name == "brightness") brightness = client_response.toInt(); + if (Argument_Name == "brightness") brightness = client_response.toInt(); } } server.send(200, "text/html", webpage); // Send a response to the client to enter their inputs, if needed, Enter=defaults