Compare commits

...

2 Commits

Author SHA1 Message Date
ITCactus f33cc16b52
Merge ac031177d4 into a07903f7b2 2024-04-16 04:00:17 -03:00
ITCactus ac031177d4 [#53][#176] add waiting for BLE connection (timeout) 2022-08-05 14:53:29 +02:00
2 changed files with 20 additions and 1 deletions

View File

@ -903,6 +903,7 @@ void Watchy::showUpdateFW() {
}
void Watchy::updateFWBegin() {
int connectionTimeOutSeconds = BLE_WAIT_FOR_CONNECTION_TIMEOUT;
display.setFullWindow();
display.fillScreen(GxEPD_BLACK);
display.setFont(&FreeMonoBold9pt7b);
@ -914,16 +915,33 @@ void Watchy::updateFWBegin() {
display.println(" ");
display.println("Waiting for");
display.println("connection...");
display.println(String(connectionTimeOutSeconds) + " seconds timeout");
display.display(false); // full refresh
BLE BT;
BT.begin("Watchy BLE OTA");
int prevStatus = -1;
int currentStatus;
bool checkTimeout = true;
bool proceed = true;
long startTime = millis();
int lastTimeSeconds = 0;
while (1) {
while (proceed) {
currentStatus = BT.updateStatus();
int seconds = (millis() - startTime)/1000;
if(seconds > lastTimeSeconds) {
lastTimeSeconds = seconds;
display.print(".");
display.display(true);
}
if (checkTimeout && lastTimeSeconds > connectionTimeOutSeconds) {
proceed = false;
}
if (prevStatus != currentStatus || prevStatus == 1) {
checkTimeout = false;
if (currentStatus == 0) {
display.setFullWindow();
display.fillScreen(GxEPD_BLACK);

View File

@ -72,6 +72,7 @@
#define HOUR_12_24 24
// BLE OTA
#define BLE_DEVICE_NAME "Watchy BLE OTA"
#define BLE_WAIT_FOR_CONNECTION_TIMEOUT 60
#define WATCHFACE_NAME "Watchy 7 Segment"
#define SOFTWARE_VERSION_MAJOR 1
#define SOFTWARE_VERSION_MINOR 0