Version 1.3.3 proper integration.

This commit is contained in:
GuruSR 2021-11-25 20:43:12 -05:00 committed by GitHub
parent 26e7c340e9
commit ba1304f1bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 118 deletions

View File

@ -10,7 +10,7 @@
//display //display
#define SOFTWARE_VERSION_MAJOR 1 #define SOFTWARE_VERSION_MAJOR 1
#define SOFTWARE_VERSION_MINOR 3 #define SOFTWARE_VERSION_MINOR 3
#define SOFTWARE_VERSION_PATCH 2 #define SOFTWARE_VERSION_PATCH 3
#define HARDWARE_VERSION_MAJOR 1 #define HARDWARE_VERSION_MAJOR 1
#define HARDWARE_VERSION_MINOR 0 #define HARDWARE_VERSION_MINOR 0
@ -93,7 +93,7 @@
#define MENU_INTROUBLE 4 #define MENU_INTROUBLE 4
// Button debounce. // Button debounce.
#define KEYPAUSE 333 #define KEYPAUSE 293
//ALARM flags. //ALARM flags.
#define ALARM_REPEAT 128 #define ALARM_REPEAT 128

View File

@ -70,10 +70,6 @@ RTC_DATA_ATTR struct TimeData {
tmElements_t Local; // Copy of the Local time on init. tmElements_t Local; // Copy of the Local time on init.
String TimeZone; // The location timezone, not the actual POSIX. String TimeZone; // The location timezone, not the actual POSIX.
char POSIX[64]; // The POSIX result. char POSIX[64]; // The POSIX result.
String LastTime; // Used for determining if the time display changed.
String LastDay;
String LastDate;
String LastYear;
unsigned long EPSMS; // Milliseconds (rounded to the enxt minute) when the clock was updated via NTP. unsigned long EPSMS; // Milliseconds (rounded to the enxt minute) when the clock was updated via NTP.
bool NewMinute; // Set to True when New Minute happens. bool NewMinute; // Set to True when New Minute happens.
time_t TravelTest; // For Travel Testing. time_t TravelTest; // For Travel Testing.
@ -114,8 +110,6 @@ RTC_DATA_ATTR struct MenuUse {
int8_t Item; // What Menu Item is being viewed. int8_t Item; // What Menu Item is being viewed.
int8_t SubItem; // Used for menus that have sub items, like alarms and Sync Time. int8_t SubItem; // Used for menus that have sub items, like alarms and Sync Time.
int8_t SubSubItem; // Used mostly in the alarm to offset choice. int8_t SubSubItem; // Used mostly in the alarm to offset choice.
String LastHeader; // Used for checking menu state needing update.
String LastItem;
} Menu; } Menu;
RTC_DATA_ATTR struct NTPUse { RTC_DATA_ATTR struct NTPUse {
@ -136,14 +130,6 @@ RTC_DATA_ATTR struct GoneDark {
} Darkness; // Whether or not the screen is darkened. } Darkness; // Whether or not the screen is darkened.
RTC_DATA_ATTR struct dispUpdate { RTC_DATA_ATTR struct dispUpdate {
bool Time;
bool Day;
bool Date;
bool Header;
bool Item;
bool Status;
bool Year;
bool Charge;
bool Full; bool Full;
bool Drawn; bool Drawn;
} Updates; } Updates;
@ -285,9 +271,6 @@ void WatchyGSR::init(){
break; break;
} }
display.init(0, false); //_initial_refresh to false to prevent full update on init (moved here so it isn't done repeatedly during loops).
display.epd2.setDarkBorder(Options.Border);
// Sometimes BMA crashes - simply try to reinitialize bma... // Sometimes BMA crashes - simply try to reinitialize bma...
if (sensor.getErrorCode() != 0) { if (sensor.getErrorCode() != 0) {
@ -607,8 +590,9 @@ void WatchyGSR::init(){
void WatchyGSR::showWatchFace(){ void WatchyGSR::showWatchFace(){
if (Options.Performance > 0) RefreshCPU((Options.Performance == 1 ? CPUMID : CPUMAX)); if (Options.Performance > 0) RefreshCPU((Options.Performance == 1 ? CPUMID : CPUMAX));
if (Darkness.Went) display.init(0,false); // Force it here so it fixes the border. display.init(0,false); // Force it here so it fixes the border.
display.epd2.setDarkBorder(Options.Border); display.epd2.setDarkBorder(Options.Border);
display.setFullWindow();
drawWatchFace(); drawWatchFace();
if (Options.Feedback && DoHaptic){ if (Options.Feedback && DoHaptic){
@ -618,7 +602,11 @@ void WatchyGSR::showWatchFace(){
} }
DoHaptic=false; DoHaptic=false;
UpdateDisp=false; UpdateDisp=false;
ScreenRefresh(); Darkness.Went=false;
Darkness.Last = millis();
display.display(!Updates.Full); //partial refresh
Updates.Full=false;
Updates.Drawn=true;
RefreshCPU(); RefreshCPU();
} }
@ -667,8 +655,6 @@ void WatchyGSR::drawTime(){
display.drawBitmap(tw, TimeY - 45, PMIndicator, 6, 6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE); display.drawBitmap(tw, TimeY - 45, PMIndicator, 6, 6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
// display.fillRect(tw, TimeY - 45 ,6 ,6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE); // display.fillRect(tw, TimeY - 45 ,6 ,6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
} }
Updates.Time = (O != WatchTime.LastTime);
WatchTime.LastTime = O;
} }
void WatchyGSR::drawDay(){ void WatchyGSR::drawDay(){
@ -683,8 +669,6 @@ void WatchyGSR::drawDay(){
w = (200 - w) /2; w = (200 - w) /2;
display.setCursor(w, DayY); display.setCursor(w, DayY);
display.println(O); display.println(O);
Updates.Day = (O != WatchTime.LastDay);
WatchTime.LastDay = O;
} }
void WatchyGSR::drawDate(){ void WatchyGSR::drawDate(){
@ -700,8 +684,6 @@ void WatchyGSR::drawDate(){
w = (200 - w) /2; w = (200 - w) /2;
display.setCursor(w, DateY); display.setCursor(w, DateY);
display.print(O); display.print(O);
Updates.Date = (O != WatchTime.LastDate);
WatchTime.LastDate = O;
} }
void WatchyGSR::drawYear(){ void WatchyGSR::drawYear(){
@ -716,8 +698,6 @@ void WatchyGSR::drawYear(){
w = (200 - w) /2; w = (200 - w) /2;
display.setCursor(w, YearY); display.setCursor(w, YearY);
display.print(O); display.print(O);
Updates.Year = (O != WatchTime.LastYear);
WatchTime.LastYear = O;
} }
void WatchyGSR::drawMenu(){ void WatchyGSR::drawMenu(){
@ -850,8 +830,6 @@ void WatchyGSR::drawMenu(){
w = (196 - w) /2; w = (196 - w) /2;
display.setCursor(w + 2, HeaderY); display.setCursor(w + 2, HeaderY);
display.print(O); display.print(O);
Updates.Header = (O != Menu.LastHeader);
Menu.LastHeader = O;
display.setTextColor(GxEPD_BLACK); // Only show menu in Light mode display.setTextColor(GxEPD_BLACK); // Only show menu in Light mode
if (Menu.Item == MENU_STEPS){ //Steps if (Menu.Item == MENU_STEPS){ //Steps
switch (Menu.SubItem){ switch (Menu.SubItem){
@ -1103,8 +1081,6 @@ void WatchyGSR::drawMenu(){
display.setCursor(w + 2, DataY); display.setCursor(w + 2, DataY);
display.print(O); display.print(O);
} }
Updates.Item = (O != Menu.LastItem);
Menu.LastItem = O;
} }
void WatchyGSR::deepSleep(){ void WatchyGSR::deepSleep(){
@ -1127,20 +1103,6 @@ void WatchyGSR::GoDark(){
Battery.DarkDirection = Battery.Direction; Battery.DarkDirection = Battery.Direction;
display.setFullWindow(); display.setFullWindow();
display.display(true); display.display(true);
WatchTime.LastTime="";
WatchTime.LastDay="";
WatchTime.LastDate="";
WatchTime.LastYear="";
Menu.LastHeader="";
Menu.LastItem="";
Updates.Time=true;
Updates.Day=true;
Updates.Date=true;
Updates.Header=true;
Updates.Item=true;
Updates.Status=true;
Updates.Year=true;
Updates.Charge=true;
Updates.Drawn=false; Updates.Drawn=false;
if (WatchTime.DeadRTC) display.hibernate(); if (WatchTime.DeadRTC) display.hibernate();
} }
@ -1333,8 +1295,6 @@ void WatchyGSR::drawChargeMe(){
display.drawBitmap(155, 178, ChargeMe, 40, 17, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE); display.drawBitmap(155, 178, ChargeMe, 40, 17, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
D = 1; D = 1;
} }
Updates.Charge = (D != Battery.LastState);
Battery.LastState = D;
} }
void WatchyGSR::drawStatus(){ void WatchyGSR::drawStatus(){
@ -1364,7 +1324,6 @@ void WatchyGSR::drawStatus(){
void WatchyGSR::setStatus(String Status){ void WatchyGSR::setStatus(String Status){
if (WatchyStatus != Status){ if (WatchyStatus != Status){
WatchyStatus = Status; WatchyStatus = Status;
Updates.Status=true;
UpdateDisp=Showing(); UpdateDisp=Showing();
} }
} }
@ -1417,15 +1376,12 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
if (Options.Orientated) { if (Direction != DIRECTION_DISP_UP && Direction != DIRECTION_TOP_EDGE) return; } // Don't accept it. if (Options.Orientated) { if (Direction != DIRECTION_DISP_UP && Direction != DIRECTION_TOP_EDGE) return; } // Don't accept it.
if (LastButton > 0 && (millis() - LastButton) < KEYPAUSE) return; if (LastButton > 0 && (millis() - LastButton) < KEYPAUSE) return;
if (LastButton > 0) { LastButton=millis(); Darkness.Last=LastButton; } if (Darkness.Went) { Darkness.Last=millis(); UpdateDisp=true; return; } // Don't do the button, just exit.
if (Darkness.Went) { UpdateDisp=true; return; } // Don't do the button, just exit.
switch (Pressed){ switch (Pressed){
case 1: case 1:
if (GuiMode != MENUON){ if (GuiMode != MENUON){
GuiMode = MENUON; GuiMode = MENUON;
Menu.LastItem="";
Menu.LastHeader="";
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
@ -1470,21 +1426,18 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
SetTurbo(); SetTurbo();
}else if (Menu.SubItem > 4 && Menu.SubItem < 12){ }else if (Menu.SubItem > 4 && Menu.SubItem < 12){
Alarms_Active[Menu.Item - MENU_ALARM1] ^= Bits[Menu.SubItem - 5]; // Toggle day. Alarms_Active[Menu.Item - MENU_ALARM1] ^= Bits[Menu.SubItem - 5]; // Toggle day.
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.SubItem == 12){ }else if (Menu.SubItem == 12){
Alarms_Active[Menu.Item - MENU_ALARM1] ^= ALARM_REPEAT; // Toggle repeat. Alarms_Active[Menu.Item - MENU_ALARM1] ^= ALARM_REPEAT; // Toggle repeat.
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.SubItem == 13){ }else if (Menu.SubItem == 13){
Alarms_Active[Menu.Item - MENU_ALARM1] ^= ALARM_ACTIVE; // Toggle Active. Alarms_Active[Menu.Item - MENU_ALARM1] ^= ALARM_ACTIVE; // Toggle Active.
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
@ -1496,7 +1449,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
Alarms_Repeats[1] = Options.MasterRepeats; Alarms_Repeats[1] = Options.MasterRepeats;
Alarms_Repeats[2] = Options.MasterRepeats; Alarms_Repeats[2] = Options.MasterRepeats;
Alarms_Repeats[3] = Options.MasterRepeats; Alarms_Repeats[3] = Options.MasterRepeats;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
@ -1553,7 +1505,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
}else if (Menu.Item == MENU_SAVE && !WatchTime.DeadRTC){ // Battery Saver. }else if (Menu.Item == MENU_SAVE && !WatchTime.DeadRTC){ // Battery Saver.
Options.Performance = roller(Options.Performance + 1,0,2); Options.Performance = roller(Options.Performance + 1,0,2);
Options.NeedsSaving = true; Options.NeedsSaving = true;
Menu.LastItem=""; // Forces a redraw.
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
@ -1579,8 +1530,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
NTPData.UpdateUTC = true; NTPData.UpdateUTC = true;
} }
GuiMode = WATCHON; GuiMode = WATCHON;
WatchTime.LastDay="";
WatchTime.LastDate="";
Menu.Item = MENU_DISP; Menu.Item = MENU_DISP;
Menu.SubItem = 0; Menu.SubItem = 0;
DoHaptic = true; DoHaptic = true;
@ -1590,7 +1539,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
} }
}else if (Menu.Item == MENU_DISP){ // Switch Mode }else if (Menu.Item == MENU_DISP){ // Switch Mode
Options.LightMode = !Options.LightMode; Options.LightMode = !Options.LightMode;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
Updates.Full = true; Updates.Full = true;
DoHaptic = true; DoHaptic = true;
@ -1598,21 +1546,18 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_SIDE){ // Dexterity Mode }else if (Menu.Item == MENU_SIDE){ // Dexterity Mode
Options.Lefty = !Options.Lefty; Options.Lefty = !Options.Lefty;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_SWAP){ // Swap Menu/Back Buttons }else if (Menu.Item == MENU_SWAP){ // Swap Menu/Back Buttons
Options.Swapped = !Options.Swapped; Options.Swapped = !Options.Swapped;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_BRDR){ // Border Mode }else if (Menu.Item == MENU_BRDR){ // Border Mode
Options.Border = !Options.Border; Options.Border = !Options.Border;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
display.init(0,false); // Force it here so it fixes the border. display.init(0,false); // Force it here so it fixes the border.
DoHaptic = true; DoHaptic = true;
@ -1620,21 +1565,18 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_ORNT){ // Watchy Orientation }else if (Menu.Item == MENU_ORNT){ // Watchy Orientation
Options.Orientated = !Options.Orientated; Options.Orientated = !Options.Orientated;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_MODE){ // Switch Time Mode }else if (Menu.Item == MENU_MODE){ // Switch Time Mode
Options.TwentyFour = !Options.TwentyFour; Options.TwentyFour = !Options.TwentyFour;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_FEED && !WatchTime.DeadRTC){ // Feedback. }else if (Menu.Item == MENU_FEED && !WatchTime.DeadRTC){ // Feedback.
Options.Feedback = !Options.Feedback; Options.Feedback = !Options.Feedback;
Menu.LastItem=""; // Forces a redraw.
Options.NeedsSaving = true; Options.NeedsSaving = true;
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
@ -1654,8 +1596,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
} }
}else if (Menu.Item == MENU_SCRN){ // Reset Screen }else if (Menu.Item == MENU_SCRN){ // Reset Screen
GuiMode = WATCHON; GuiMode = WATCHON;
WatchTime.LastDay="";
WatchTime.LastDate="";
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
Updates.Full = true; Updates.Full = true;
@ -1675,13 +1615,10 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
AskForWiFi(); AskForWiFi();
}else if (Menu.Item == MENU_RSET){ // Watchy Reboot }else if (Menu.Item == MENU_RSET){ // Watchy Reboot
if (Menu.SubItem == 1) ESP.restart(); else Menu.SubItem++; if (Menu.SubItem == 1) ESP.restart(); else Menu.SubItem++;
Menu.LastItem=""; // Forces a redraw.
DoHaptic = true; DoHaptic = true;
UpdateDisp = true; // Quick Update. UpdateDisp = true; // Quick Update.
SetTurbo(); SetTurbo();
}else if (Menu.Item == MENU_TOFF && NTPData.State == 0 && Menu.SubItem == 0){ // Detect Drift }else if (Menu.Item == MENU_TOFF && NTPData.State == 0 && Menu.SubItem == 0){ // Detect Drift
WatchTime.LastDay="";
WatchTime.LastDate="";
if (WatchTime.DeadRTC){ if (WatchTime.DeadRTC){
Options.NeedsSaving = true; Options.NeedsSaving = true;
WatchTime.DeadRTC = false; WatchTime.DeadRTC = false;
@ -1783,8 +1720,6 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
} }
}else{ }else{
GuiMode = WATCHON; GuiMode = WATCHON;
WatchTime.LastDay="";
WatchTime.LastDate="";
Menu.SubItem = 0; Menu.SubItem = 0;
Menu.SubSubItem = 0; Menu.SubSubItem = 0;
DoHaptic = true; DoHaptic = true;
@ -2549,40 +2484,6 @@ IRAM_ATTR uint8_t WatchyGSR::getSwapped(uint8_t pIn){
return 0; return 0;
} }
void WatchyGSR::ScreenRefresh(){
uint16_t XL, YL, XH, YH;
bool DoIt = false;
XL = 200; YL = 200; XH = 0; YH = 0;
if (!Updates.Full){
DoIt = false;
if (Updates.Time) { XL = 0; YL = TimeY - 45; XH = 200; YH = TimeY; DoIt = true; }
if (Updates.Day) { XL = 0; YL = golow(DayY - 16, YL); XH = 200; YH = gobig(DayY, YH); DoIt = true; }
if (Updates.Date) { XL = 0; YL = golow(DateY - 16,YL); XH = 200; YH = gobig(DateY, YH); DoIt = true; }
if (Updates.Header) { XL = 0; YL = golow(MenuTop, YL); XH = 200; YH = gobig(MenuTop + (MenuHeight / 2), YH); DoIt = true; }
if (Updates.Item) { XL = 0; YL = golow(MenuTop + (MenuHeight / 2), YL); XH = 200; YH = gobig(MenuTop + (MenuHeight / 2), YH); DoIt = true; }
if (Updates.Status) { XL = golow(NTPX, XL); YL = golow(NTPY - 19, YL); XH = gobig(60, XH); YH = gobig(NTPY, YH); DoIt = true; }
if (Updates.Year) { XL = 0; YL = golow(YearY - 17, YL); XH = gobig(154, XH); YH = gobig(YearY, YH); DoIt = true; }
if (Updates.Charge) { XL = golow(155, XL); YL = golow(178, YL); XH = gobig(196, XH); YH = gobig(196, YH); DoIt = true; }
}else{ XL = 0; YL = 0; XH = 200; YH = 200; DoIt = true; }
if (DoIt){
if(Updates.Full) display.setFullWindow(); else display.setFullWindow(); //init moved, can't do this: display.setPartialWindow(XL, YL, XH - XL, YH - YL);
Darkness.Went=false; Darkness.Last = millis();
display.display(!Updates.Full); //partial refresh
Updates.Drawn=Updates.Time || Updates.Day || Updates.Date || Updates.Header || Updates.Item || Updates.Status || Updates.Year || Updates.Charge || Updates.Full;
Updates.Time=false;
Updates.Day=false;
Updates.Date=false;
Updates.Header=false;
Updates.Item=false;
Updates.Status=false;
Updates.Year=false;
Updates.Charge=false;
Updates.Full=false;
}
}
void WatchyGSR::AskForWiFi(){ if (!GSRWiFi.Requested && !GSRWiFi.Working) GSRWiFi.Requested = true; } void WatchyGSR::AskForWiFi(){ if (!GSRWiFi.Requested && !GSRWiFi.Working) GSRWiFi.Requested = true; }
void WatchyGSR::endWiFi(){ void WatchyGSR::endWiFi(){
if (GSRWiFi.Requests - 1 <= 0){ if (GSRWiFi.Requests - 1 <= 0){
@ -2771,14 +2672,6 @@ void WatchyGSR::initZeros(){
GSRWiFi.Working=false; GSRWiFi.Working=false;
GSRWiFi.Results=false; GSRWiFi.Results=false;
GSRWiFi.Index=0; GSRWiFi.Index=0;
Updates.Time=true;
Updates.Day=true;
Updates.Date=true;
Updates.Header=true;
Updates.Item=true;
Updates.Status=true;
Updates.Year=true;
Updates.Charge=true;
Updates.Full=true; Updates.Full=true;
Updates.Drawn=true; Updates.Drawn=true;
strcpy(GSRWiFi.AP[0].APID,S.c_str()); strcpy(GSRWiFi.AP[0].APID,S.c_str());

View File

@ -1,6 +1,7 @@
#ifndef WATCHY_GSR_H #ifndef WATCHY_GSR_H
#define WATCHY_GSR_H #define WATCHY_GSR_H
#include <Watchy.h>
#include "Defines_GSR.h" #include "Defines_GSR.h"
#include "Web-HTML.h" #include "Web-HTML.h"
#include <Arduino.h> #include <Arduino.h>
@ -89,7 +90,6 @@ class WatchyGSR{
uint8_t getButtonPins(); uint8_t getButtonPins();
uint8_t getButtonMaskToID(uint64_t HW); uint8_t getButtonMaskToID(uint64_t HW);
uint8_t getSwapped(uint8_t pIn); uint8_t getSwapped(uint8_t pIn);
void ScreenRefresh();
void AskForWiFi(); void AskForWiFi();
void processWiFiRequest(); void processWiFiRequest();
String WiFiIndicator(uint8_t Index); String WiFiIndicator(uint8_t Index);