mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-09-25 20:20:55 +02:00
Merge pull request #313 from airgradienthq/fix/mode-cloud-disable
Fix bootloop when cloud connection is disabled
This commit is contained in:
@@ -555,6 +555,11 @@ static bool sgp41Init(void) {
|
||||
}
|
||||
|
||||
void checkForFirmwareUpdate(void) {
|
||||
if (configuration.isCloudConnectionDisabled()) {
|
||||
Serial.println("Cloud connection is disabled, skip firmware update");
|
||||
return;
|
||||
}
|
||||
|
||||
AirgradientOTA *agOta;
|
||||
if (networkOption == UseWifi) {
|
||||
agOta = new AirgradientOTAWifi;
|
||||
@@ -1562,27 +1567,29 @@ void restartIfCeClientIssueOverTwoHours() {
|
||||
}
|
||||
|
||||
void networkingTask(void *args) {
|
||||
// OTA check on boot
|
||||
// If cloud connection enabled, run first transmission to server at boot
|
||||
if (configuration.isCloudConnectionDisabled() == false) {
|
||||
// OTA check on boot
|
||||
#ifndef ESP8266
|
||||
checkForFirmwareUpdate();
|
||||
checkForUpdateSchedule.update();
|
||||
checkForFirmwareUpdate();
|
||||
checkForUpdateSchedule.update();
|
||||
#endif
|
||||
|
||||
// Because cellular interval is longer, needs to send first measures cycle on
|
||||
// boot to indicate that its online
|
||||
if (networkOption == UseCellular) {
|
||||
Serial.println("Prepare first measures cycle to send on boot for 20s");
|
||||
delay(20000);
|
||||
networkSignalCheck();
|
||||
newMeasurementCycle();
|
||||
postUsingCellular(true);
|
||||
measurementSchedule.update();
|
||||
// Because cellular interval is longer, needs to send first measures cycle on
|
||||
// boot to indicate that its online
|
||||
if (networkOption == UseCellular) {
|
||||
Serial.println("Prepare first measures cycle to send on boot for 20s");
|
||||
delay(20000);
|
||||
networkSignalCheck();
|
||||
newMeasurementCycle();
|
||||
postUsingCellular(true);
|
||||
measurementSchedule.update();
|
||||
}
|
||||
// Reset scheduler
|
||||
configSchedule.update();
|
||||
transmissionSchedule.update();
|
||||
}
|
||||
|
||||
// Reset scheduler
|
||||
configSchedule.update();
|
||||
transmissionSchedule.update();
|
||||
|
||||
while (1) {
|
||||
// Handle reconnection based on mode
|
||||
if (networkOption == UseWifi) {
|
||||
@@ -1637,7 +1644,7 @@ void networkingTask(void *args) {
|
||||
// If connection to AirGradient server disable don't run config and transmission schedule
|
||||
if (configuration.isCloudConnectionDisabled()) {
|
||||
delay(1000);
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Run scheduler
|
||||
|
Reference in New Issue
Block a user