Version 1.4.3.
This commit is contained in:
parent
94b6d5222f
commit
045b4098ba
@ -1,9 +1,6 @@
|
|||||||
#ifndef DEFINES_GSR_H
|
#ifndef DEFINES_GSR_H
|
||||||
#define DEFINES_GSR_H
|
#define DEFINES_GSR_H
|
||||||
|
|
||||||
// Time Sync Server
|
|
||||||
#define ntpServer "pool.ntp.org"
|
|
||||||
|
|
||||||
//debug
|
//debug
|
||||||
#define USEDEBUG 0 // !0 is on, will not setup Serial OR print output if zero.
|
#define USEDEBUG 0 // !0 is on, will not setup Serial OR print output if zero.
|
||||||
|
|
||||||
@ -20,8 +17,6 @@
|
|||||||
|
|
||||||
// Battery
|
// Battery
|
||||||
#define MaxBattery 4.37
|
#define MaxBattery 4.37
|
||||||
#define MinBattery 3.58
|
|
||||||
#define LowBattery 3.45
|
|
||||||
|
|
||||||
// functions
|
// functions
|
||||||
#define roller(v,lo,hi) (((v)<(lo))?(hi):((v)>(hi))?(lo):(v))
|
#define roller(v,lo,hi) (((v)<(lo))?(hi):((v)>(hi))?(lo):(v))
|
||||||
|
|||||||
@ -301,6 +301,14 @@ const unsigned char PMIndicator [] PROGMEM = {
|
|||||||
0x78, 0xfc, 0xfc, 0xfc, 0xfc, 0x78
|
0x78, 0xfc, 0xfc, 0xfc, 0xfc, 0x78
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 'NoClock', 19x19px
|
||||||
|
const unsigned char iNoClock [] PROGMEM = {
|
||||||
|
0x87, 0xfc, 0x20, 0xdf, 0xff, 0x60, 0x7c, 0x07, 0xc0, 0x70, 0x41, 0xc0, 0x78, 0xe3, 0xc0, 0xec,
|
||||||
|
0xe6, 0xe0, 0xc6, 0xec, 0x60, 0xc3, 0xf8, 0x60, 0xc1, 0xf0, 0x60, 0xc0, 0xe0, 0x60, 0xc0, 0xf0,
|
||||||
|
0x60, 0xc1, 0xb8, 0x60, 0xc3, 0x1c, 0x60, 0xe6, 0x0e, 0xe0, 0x6c, 0x06, 0xc0, 0x78, 0x03, 0xc0,
|
||||||
|
0x3c, 0x07, 0x80, 0x7f, 0xff, 0xc0, 0xc7, 0xfc, 0x60
|
||||||
|
};
|
||||||
|
|
||||||
// 'Sync', 19x19px
|
// 'Sync', 19x19px
|
||||||
const unsigned char iSync [] PROGMEM = {
|
const unsigned char iSync [] PROGMEM = {
|
||||||
0x07, 0xfc, 0x00, 0x1f, 0xff, 0x00, 0x3c, 0x07, 0x80, 0x70, 0x41, 0xc0, 0x60, 0xe0, 0xc0, 0xe0,
|
0x07, 0xfc, 0x00, 0x1f, 0xff, 0x00, 0x3c, 0x07, 0x80, 0x70, 0x41, 0xc0, 0x60, 0xe0, 0xc0, 0xe0,
|
||||||
|
|||||||
@ -156,6 +156,8 @@ RTC_DATA_ATTR struct BatteryUse final {
|
|||||||
int8_t UpCount; // Counts how many times the battery is in a direction to determine true charging.
|
int8_t UpCount; // Counts how many times the battery is in a direction to determine true charging.
|
||||||
int8_t DownCount;
|
int8_t DownCount;
|
||||||
int8_t LastState; // 0=not visible, 1= showing chargeme, 2=showing charging.
|
int8_t LastState; // 0=not visible, 1= showing chargeme, 2=showing charging.
|
||||||
|
float MinLevel; // Lowest level before the indicator comes on.
|
||||||
|
float LowLevel; // The battery is about to get too low for the RTC to function.
|
||||||
} Battery;
|
} Battery;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct MenuUse final {
|
RTC_DATA_ATTR struct MenuUse final {
|
||||||
@ -181,6 +183,7 @@ RTC_DATA_ATTR struct GoneDark final {
|
|||||||
bool Went;
|
bool Went;
|
||||||
unsigned long Last;
|
unsigned long Last;
|
||||||
bool Woke;
|
bool Woke;
|
||||||
|
unsigned long Tilt; // Used to track Tilt, if upright count for 1 second.
|
||||||
} Darkness; // Whether or not the screen is darkened.
|
} Darkness; // Whether or not the screen is darkened.
|
||||||
|
|
||||||
RTC_DATA_ATTR struct dispUpdate final {
|
RTC_DATA_ATTR struct dispUpdate final {
|
||||||
@ -277,6 +280,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
Updates.Tapped = false;
|
Updates.Tapped = false;
|
||||||
LastButton = 0;
|
LastButton = 0;
|
||||||
Darkness.Last = 0;
|
Darkness.Last = 0;
|
||||||
|
Darkness.Tilt = 0;
|
||||||
Darkness.Woke = false;
|
Darkness.Woke = false;
|
||||||
TurboTime = 0;
|
TurboTime = 0;
|
||||||
CPUSet.Freq=getCpuFrequencyMhz();
|
CPUSet.Freq=getCpuFrequencyMhz();
|
||||||
@ -306,10 +310,10 @@ void WatchyGSR::init(String datetime){
|
|||||||
if (Button == 5 && Options.SleepStyle > 1){ // Accelerometer caused this.
|
if (Button == 5 && Options.SleepStyle > 1){ // Accelerometer caused this.
|
||||||
if (Options.SleepMode == 0) Options.SleepMode = 2; // Do this to avoid someone accidentally not setting this before usage.
|
if (Options.SleepMode == 0) Options.SleepMode = 2; // Do this to avoid someone accidentally not setting this before usage.
|
||||||
UpdateClock(); // Make sure these are done during times when it won't.
|
UpdateClock(); // Make sure these are done during times when it won't.
|
||||||
Darkness.Woke=true; Updates.Tapped=true; Darkness.Last=millis(); UpdateDisp = true; // Update Screen to new state.
|
Darkness.Woke=true; Updates.Tapped=true; Darkness.Last=millis(); Darkness.Tilt = Darkness.Last; UpdateDisp = true; // Update Screen to new state.
|
||||||
}else if (Button == 6 && !WatchTime.BedTime){ // Wrist.
|
}else if (Button == 6 && !WatchTime.BedTime){ // Wrist.
|
||||||
UpdateClock(); // Make sure these are done during times when it won't.
|
UpdateClock(); // Make sure these are done during times when it won't.
|
||||||
Darkness.Woke=true; Darkness.Last=millis(); UpdateDisp = true; // Do this anyways, always.
|
Darkness.Woke=true; Darkness.Last=millis(); Darkness.Tilt = Darkness.Last; UpdateDisp = true; // Do this anyways, always.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SRTC.resetWake();
|
SRTC.resetWake();
|
||||||
@ -318,6 +322,8 @@ void WatchyGSR::init(String datetime){
|
|||||||
WatchStyles.Count = 0;
|
WatchStyles.Count = 0;
|
||||||
BasicWatchStyles = -1;
|
BasicWatchStyles = -1;
|
||||||
SRTC.init();
|
SRTC.init();
|
||||||
|
Battery.MinLevel = SRTC.getRTCBattery();
|
||||||
|
Battery.LowLevel = SRTC.getRTCBattery(true);
|
||||||
initZeros();
|
initZeros();
|
||||||
setupDefaults();
|
setupDefaults();
|
||||||
Rebooted=true;
|
Rebooted=true;
|
||||||
@ -355,7 +361,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ((Battery.Last > LowBattery || Button != 0 || Updates.Tapped || Darkness.Woke) && !(Options.SleepStyle == 4 && Darkness.Went && !Updates.Tapped)){
|
if ((Battery.Last > Battery.LowLevel || Button != 0 || Updates.Tapped || Darkness.Woke) && !(Options.SleepStyle == 4 && Darkness.Went && !Updates.Tapped)){
|
||||||
//Init interrupts.
|
//Init interrupts.
|
||||||
attachInterrupt(digitalPinToInterrupt(MENU_BTN_PIN), std::bind(&WatchyGSR::handleInterrupt,this), HIGH);
|
attachInterrupt(digitalPinToInterrupt(MENU_BTN_PIN), std::bind(&WatchyGSR::handleInterrupt,this), HIGH);
|
||||||
attachInterrupt(digitalPinToInterrupt(BACK_BTN_PIN), std::bind(&WatchyGSR::handleInterrupt,this), HIGH);
|
attachInterrupt(digitalPinToInterrupt(BACK_BTN_PIN), std::bind(&WatchyGSR::handleInterrupt,this), HIGH);
|
||||||
@ -391,9 +397,13 @@ void WatchyGSR::init(String datetime){
|
|||||||
ManageTime(); // Handle Time method.
|
ManageTime(); // Handle Time method.
|
||||||
Up=SBMA.IsUp();
|
Up=SBMA.IsUp();
|
||||||
// Wrist Tilt delay, keep screen on during this until you put your wrist down.
|
// Wrist Tilt delay, keep screen on during this until you put your wrist down.
|
||||||
if (Options.SleepStyle == 1 || Options.SleepStyle > 2){
|
if ((Options.SleepStyle == 1 || Options.SleepStyle > 2 || WatchTime.DeadRTC) && !WatchTime.BedTime){
|
||||||
if (Darkness.Woke && Up) Darkness.Last = millis();
|
if (Darkness.Went && Up && !Darkness.Woke){ // Do this when the wrist is UP.
|
||||||
if (Darkness.Went && Up && !WatchTime.BedTime) { Darkness.Last = millis(); Darkness.Woke = true; UpdateDisp=Showing(); }
|
if (Darkness.Tilt == 0) Darkness.Tilt = millis();
|
||||||
|
else if (millis() - Darkness.Tilt > 999) { Darkness.Last = millis(); Darkness.Woke = true; UpdateDisp=Showing(); }
|
||||||
|
}
|
||||||
|
if (!Up) Darkness.Tilt = 0;
|
||||||
|
else if (Darkness.Tilt != 0 && millis() - Darkness.Tilt > 999 && Darkness.Woke) { Darkness.Last = millis(); }
|
||||||
}
|
}
|
||||||
processWiFiRequest(); // Process any WiFi requests.
|
processWiFiRequest(); // Process any WiFi requests.
|
||||||
if (!Sensitive){
|
if (!Sensitive){
|
||||||
@ -680,12 +690,12 @@ void WatchyGSR::init(String datetime){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::showWatchFace(){
|
void WatchyGSR::showWatchFace(){
|
||||||
if (Options.Performance > 0 && Battery.Last > MinBattery ) RefreshCPU((Options.Performance == 1 ? CPUMID : CPUMAX));
|
if (Options.Performance > 0 && Battery.Last > Battery.MinLevel ) RefreshCPU((Options.Performance == 1 ? CPUMID : CPUMAX));
|
||||||
DisplayInit();
|
DisplayInit();
|
||||||
display.setFullWindow();
|
display.setFullWindow();
|
||||||
drawWatchFace();
|
drawWatchFace();
|
||||||
|
|
||||||
if (Options.Feedback && DoHaptic && Battery.Last > MinBattery){
|
if (Options.Feedback && DoHaptic && Battery.Last > Battery.MinLevel){
|
||||||
VibeTo(true);
|
VibeTo(true);
|
||||||
delay(40);
|
delay(40);
|
||||||
VibeTo(false);
|
VibeTo(false);
|
||||||
@ -1223,7 +1233,7 @@ void WatchyGSR::deepSleep(){
|
|||||||
uint8_t I, N, D;
|
uint8_t I, N, D;
|
||||||
bool BatOk, BT,B, DM;
|
bool BatOk, BT,B, DM;
|
||||||
UpdateUTC(); UpdateClock();
|
UpdateUTC(); UpdateClock();
|
||||||
BatOk = (Battery.Last == 0 || Battery.Last > LowBattery);
|
BatOk = (Battery.Last == 0 || Battery.Last > Battery.LowLevel);
|
||||||
BT = (Options.SleepStyle == 2 && WatchTime.BedTime);
|
BT = (Options.SleepStyle == 2 && WatchTime.BedTime);
|
||||||
B = (((Options.SleepStyle == 1 || Options.SleepStyle > 2) || BT) && BatOk);
|
B = (((Options.SleepStyle == 1 || Options.SleepStyle > 2) || BT) && BatOk);
|
||||||
|
|
||||||
@ -1250,14 +1260,16 @@ void WatchyGSR::deepSleep(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::GoDark(){
|
void WatchyGSR::GoDark(){
|
||||||
if ((Updates.Drawn || Battery.Direction != Battery.DarkDirection || !Darkness.Went || Battery.Last < LowBattery) && !Showing())
|
if ((Updates.Drawn || Battery.Direction != Battery.DarkDirection || !Darkness.Went || Battery.Last < Battery.LowLevel) && !Showing())
|
||||||
{
|
{
|
||||||
Darkness.Went=true;
|
Darkness.Went=true;
|
||||||
|
Darkness.Woke=false;
|
||||||
|
Darkness.Tilt=0;
|
||||||
Updates.Init=Updates.Drawn;
|
Updates.Init=Updates.Drawn;
|
||||||
display.setFullWindow();
|
display.setFullWindow();
|
||||||
DisplayInit(true); // Force it here so it fixes the border.
|
DisplayInit(true); // Force it here so it fixes the border.
|
||||||
display.fillScreen(GxEPD_BLACK);
|
display.fillScreen(GxEPD_BLACK);
|
||||||
if (Battery.Last < MinBattery) display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < LowBattery ? ChargeMeBad : ChargeMe), 40, 17, GxEPD_WHITE); else if (Battery.Direction == 1) display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, GxEPD_WHITE);
|
if (Battery.Last < Battery.MinLevel) display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < Battery.LowLevel ? ChargeMeBad : ChargeMe), 40, 17, GxEPD_WHITE); else if (Battery.Direction == 1) display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, GxEPD_WHITE);
|
||||||
Battery.DarkDirection = Battery.Direction;
|
Battery.DarkDirection = Battery.Direction;
|
||||||
display.display(true);
|
display.display(true);
|
||||||
Updates.Drawn=false;
|
Updates.Drawn=false;
|
||||||
@ -1392,7 +1404,7 @@ void WatchyGSR::ProcessNTP(){
|
|||||||
}
|
}
|
||||||
NTPData.NTPDone = false;
|
NTPData.NTPDone = false;
|
||||||
setStatus("NTP");
|
setStatus("NTP");
|
||||||
SNTP.Begin(ntpServer); //"132.246.11.237","132.246.11.227");
|
SNTP.Begin(InsertNTPServer()); //"132.246.11.237","132.246.11.227");
|
||||||
NTPData.Wait = 0;
|
NTPData.Wait = 0;
|
||||||
NTPData.Pause = 20;
|
NTPData.Pause = 20;
|
||||||
NTPData.State++;
|
NTPData.State++;
|
||||||
@ -1443,9 +1455,9 @@ void WatchyGSR::drawChargeMe(){
|
|||||||
// Show Battery charging bitmap.
|
// Show Battery charging bitmap.
|
||||||
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, ForeColor());
|
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, ForeColor());
|
||||||
D = 2;
|
D = 2;
|
||||||
}else if (Battery.Last < MinBattery){
|
}else if (Battery.Last < Battery.MinLevel){
|
||||||
// Show Battery needs charging bitmap.
|
// Show Battery needs charging bitmap.
|
||||||
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < LowBattery ? ChargeMeBad : ChargeMe), 40, 17, ForeColor());
|
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < Battery.LowLevel ? ChargeMeBad : ChargeMe), 40, 17, ForeColor());
|
||||||
D = 1;
|
D = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1465,6 +1477,7 @@ void WatchyGSR::drawStatus(){
|
|||||||
else if (WatchyStatus == "TZ") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iTZ, 19, 19, ForeColor());
|
else if (WatchyStatus == "TZ") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iTZ, 19, 19, ForeColor());
|
||||||
else if (WatchyStatus == "NTP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
else if (WatchyStatus == "NTP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
||||||
else if (WatchyStatus == "ESP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
else if (WatchyStatus == "ESP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
||||||
|
else if (WatchyStatus == "NC") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iNoClock, 19, 19, ForeColor());
|
||||||
else{
|
else{
|
||||||
display.setTextColor(ForeColor());
|
display.setTextColor(ForeColor());
|
||||||
display.setCursor(Design.Status.WIFIx, Design.Status.WIFIy);
|
display.setCursor(Design.Status.WIFIx, Design.Status.WIFIy);
|
||||||
@ -1474,6 +1487,7 @@ void WatchyGSR::drawStatus(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::setStatus(String Status){
|
void WatchyGSR::setStatus(String Status){
|
||||||
|
if (Status == "" && !SRTC.isOperating()) Status = "NC";
|
||||||
if (WatchyStatus != Status){
|
if (WatchyStatus != Status){
|
||||||
WatchyStatus = Status;
|
WatchyStatus = Status;
|
||||||
UpdateDisp=Showing();
|
UpdateDisp=Showing();
|
||||||
@ -1501,7 +1515,7 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
|
|||||||
if (Darkness.Went && Options.SleepStyle == 4 && !WatchTime.DeadRTC && !Updates.Tapped) return; // No buttons unless a tapped happened.
|
if (Darkness.Went && Options.SleepStyle == 4 && !WatchTime.DeadRTC && !Updates.Tapped) return; // No buttons unless a tapped happened.
|
||||||
if (!UpRight()) return; // Don't do buttons if not upright.
|
if (!UpRight()) return; // Don't do buttons if not upright.
|
||||||
if (Pressed < 5 && LastButton > 0 && (millis() - LastButton) < KEYPAUSE) return;
|
if (Pressed < 5 && LastButton > 0 && (millis() - LastButton) < KEYPAUSE) return;
|
||||||
if (Darkness.Went) { Darkness.Woke=true; Darkness.Last=millis(); UpdateUTC(); UpdateClock(); UpdateDisp=true; return; } // Don't do the button, just exit.
|
if (Darkness.Went) { Darkness.Woke=true; Darkness.Last=millis(); Darkness.Tilt = Darkness.Last; UpdateUTC(); UpdateClock(); UpdateDisp=true; return; } // Don't do the button, just exit.
|
||||||
if ((NTPData.TimeTest || OTAUpdate) && (Pressed == 3 || Pressed == 4)) return; // Up/Down don't work in these modes.
|
if ((NTPData.TimeTest || OTAUpdate) && (Pressed == 3 || Pressed == 4)) return; // Up/Down don't work in these modes.
|
||||||
|
|
||||||
switch (Pressed){
|
switch (Pressed){
|
||||||
@ -2052,7 +2066,7 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
|
|||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
if (Menu.Style == MENU_INOPTIONS){
|
if (Menu.Style == MENU_INOPTIONS){
|
||||||
Menu.Item = roller(Menu.Item - 1, MENU_STYL, (NTPData.State > 0 || WatchyAPOn || OTAUpdate || Battery.Last < MinBattery) ? MENU_TRBL : MENU_OTAM);
|
Menu.Item = roller(Menu.Item - 1, MENU_STYL, (NTPData.State > 0 || WatchyAPOn || OTAUpdate || Battery.Last < Battery.MinLevel) ? MENU_TRBL : MENU_OTAM);
|
||||||
}else if (Menu.Style == MENU_INALARMS){
|
}else if (Menu.Style == MENU_INALARMS){
|
||||||
Menu.Item = roller(Menu.Item - 1, MENU_ALARM1, MENU_TONES);
|
Menu.Item = roller(Menu.Item - 1, MENU_ALARM1, MENU_TONES);
|
||||||
}else if (Menu.Style == MENU_INTIMERS){
|
}else if (Menu.Style == MENU_INTIMERS){
|
||||||
@ -2230,7 +2244,7 @@ void WatchyGSR::handleButtonPress(uint8_t Pressed){
|
|||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
if (Menu.Style == MENU_INOPTIONS){
|
if (Menu.Style == MENU_INOPTIONS){
|
||||||
Menu.Item = roller(Menu.Item + 1, MENU_STYL, (NTPData.State > 0 || WatchyAPOn || OTAUpdate || Battery.Last < MinBattery) ? MENU_TRBL : MENU_OTAM);
|
Menu.Item = roller(Menu.Item + 1, MENU_STYL, (NTPData.State > 0 || WatchyAPOn || OTAUpdate || Battery.Last < Battery.MinLevel) ? MENU_TRBL : MENU_OTAM);
|
||||||
}else if (Menu.Style == MENU_INALARMS){
|
}else if (Menu.Style == MENU_INALARMS){
|
||||||
Menu.Item = roller(Menu.Item + 1, MENU_ALARM1, MENU_TONES);
|
Menu.Item = roller(Menu.Item + 1, MENU_ALARM1, MENU_TONES);
|
||||||
}else if (Menu.Style == MENU_INTIMERS){
|
}else if (Menu.Style == MENU_INTIMERS){
|
||||||
@ -2296,6 +2310,7 @@ void WatchyGSR::ManageTime(){
|
|||||||
else if (WatchTime.UTC_RAW == WatchTime.TravelTest) Options.Drift = 0;
|
else if (WatchTime.UTC_RAW == WatchTime.TravelTest) Options.Drift = 0;
|
||||||
if (Options.Drift < -29 || Options.Drift > 29){
|
if (Options.Drift < -29 || Options.Drift > 29){
|
||||||
WatchTime.DeadRTC = true; Options.NeedsSaving = true; Options.UsingDrift = false; Options.Feedback = false; Options.MasterRepeats = 4; Alarms_Repeats[0] = 4; Alarms_Repeats[1] = 4; Alarms_Repeats[2] = 4; Alarms_Repeats[3] = 4; TimerDown.MaxTones = 4;
|
WatchTime.DeadRTC = true; Options.NeedsSaving = true; Options.UsingDrift = false; Options.Feedback = false; Options.MasterRepeats = 4; Alarms_Repeats[0] = 4; Alarms_Repeats[1] = 4; Alarms_Repeats[2] = 4; Alarms_Repeats[3] = 4; TimerDown.MaxTones = 4;
|
||||||
|
NTPData.State = 1; NTPData.UpdateUTC = true; AskForWiFi();
|
||||||
if (Options.SleepStyle == 0) Options.SleepStyle = 1;
|
if (Options.SleepStyle == 0) Options.SleepStyle = 1;
|
||||||
}else Options.UsingDrift = (Options.Drift != 0);
|
}else Options.UsingDrift = (Options.Drift != 0);
|
||||||
if (Menu.Item == MENU_TOFF) Menu.SubItem = 3;
|
if (Menu.Item == MENU_TOFF) Menu.SubItem = 3;
|
||||||
@ -2416,6 +2431,7 @@ uint8_t WatchyGSR::AddWatchStyle(String StyleName){
|
|||||||
WatchStyles.Count++;
|
WatchStyles.Count++;
|
||||||
return WatchStyles.Count;
|
return WatchStyles.Count;
|
||||||
}
|
}
|
||||||
|
String WatchyGSR::InsertNTPServer() { return "pool.ntp.org"; }
|
||||||
void WatchyGSR::AllowDefaultWatchStyles(bool Allow) { DefaultWatchStyles = Allow; }
|
void WatchyGSR::AllowDefaultWatchStyles(bool Allow) { DefaultWatchStyles = Allow; }
|
||||||
|
|
||||||
bool WatchyGSR::IsDark(){ return Darkness.Went; }
|
bool WatchyGSR::IsDark(){ return Darkness.Went; }
|
||||||
@ -3162,7 +3178,7 @@ void WatchyGSR::NVSEmpty(){
|
|||||||
|
|
||||||
// Turbo Mode!
|
// Turbo Mode!
|
||||||
void WatchyGSR::SetTurbo(){
|
void WatchyGSR::SetTurbo(){
|
||||||
if (Battery.Last > MinBattery){
|
if (Battery.Last > Battery.MinLevel){
|
||||||
TurboTime=millis();
|
TurboTime=millis();
|
||||||
LastButton=TurboTime; // Here for speed.
|
LastButton=TurboTime; // Here for speed.
|
||||||
//Darkness.Last=LastButton; // Keeps track of SleepMode.
|
//Darkness.Last=LastButton; // Keeps track of SleepMode.
|
||||||
@ -3205,7 +3221,7 @@ bool WatchyGSR::Showing() {
|
|||||||
void WatchyGSR::RefreshCPU(){ RefreshCPU(0); }
|
void WatchyGSR::RefreshCPU(){ RefreshCPU(0); }
|
||||||
void WatchyGSR::RefreshCPU(int Value){
|
void WatchyGSR::RefreshCPU(int Value){
|
||||||
uint32_t C = 80;
|
uint32_t C = 80;
|
||||||
if (!WatchTime.DeadRTC && Battery.Last > MinBattery) {
|
if (!WatchTime.DeadRTC && Battery.Last > Battery.MinLevel) {
|
||||||
if (Value == CPUMAX) CPUSet.Locked = true;
|
if (Value == CPUMAX) CPUSet.Locked = true;
|
||||||
if (Value == CPUDEF) CPUSet.Locked = false;
|
if (Value == CPUDEF) CPUSet.Locked = false;
|
||||||
if (!CPUSet.Locked && Options.Performance != 2) C = (InTurbo() || Value == CPUMID) ? 160 : 80;
|
if (!CPUSet.Locked && Options.Performance != 2) C = (InTurbo() || Value == CPUMID) ? 160 : 80;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ class WatchyGSR{
|
|||||||
static SmallRTC SRTC;
|
static SmallRTC SRTC;
|
||||||
static SmallNTP SNTP;
|
static SmallNTP SNTP;
|
||||||
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
||||||
static constexpr const char* Build = "1.4.2";
|
static constexpr const char* Build = "1.4.3";
|
||||||
enum DesOps {dSTATIC, dLEFT, dRIGHT, dCENTER};
|
enum DesOps {dSTATIC, dLEFT, dRIGHT, dCENTER};
|
||||||
public:
|
public:
|
||||||
WatchyGSR();
|
WatchyGSR();
|
||||||
@ -73,6 +73,7 @@ class WatchyGSR{
|
|||||||
void InsertDrawWatchStyle(uint8_t StyleID);
|
void InsertDrawWatchStyle(uint8_t StyleID);
|
||||||
void InsertInitWatchStyle(uint8_t StyleID);
|
void InsertInitWatchStyle(uint8_t StyleID);
|
||||||
virtual uint8_t AddWatchStyle(String StyleName) final;
|
virtual uint8_t AddWatchStyle(String StyleName) final;
|
||||||
|
String InsertNTPServer();
|
||||||
virtual void AllowDefaultWatchStyles(bool Allow = true) final;
|
virtual void AllowDefaultWatchStyles(bool Allow = true) final;
|
||||||
virtual void AskForWiFi() final;
|
virtual void AskForWiFi() final;
|
||||||
virtual wl_status_t currentWiFi() final;
|
virtual wl_status_t currentWiFi() final;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user