mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-06-27 16:50:58 +02:00
Compare commits
8 Commits
fix/openme
...
fix/resizi
Author | SHA1 | Date | |
---|---|---|---|
0a64424196 | |||
626a2240fa | |||
174ec6568f | |||
6b55719399 | |||
e2084f0738 | |||
5e07923690 | |||
04049439b1 | |||
c148d256d7 |
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,6 +1,6 @@
|
||||
[submodule "src/Libraries/airgradient-client"]
|
||||
path = src/Libraries/airgradient-client
|
||||
url = git@github.com:airgradienthq/airgradient-client.git
|
||||
url = ../../airgradienthq/airgradient-client.git
|
||||
[submodule "src/Libraries/airgradient-ota"]
|
||||
path = src/Libraries/airgradient-ota
|
||||
url = git@github.com:airgradienthq/airgradient-ota.git
|
||||
url = ../../airgradienthq/airgradient-ota.git
|
||||
|
@ -271,6 +271,7 @@ void setup() {
|
||||
|
||||
Serial.println("Display brightness: " + String(configuration.getDisplayBrightness()));
|
||||
oledDisplay.setBrightness(configuration.getDisplayBrightness());
|
||||
delay(DISPLAY_DELAY_SHOW_CONTENT_MS);
|
||||
}
|
||||
|
||||
|
||||
@ -555,6 +556,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;
|
||||
@ -1417,13 +1423,17 @@ void postUsingCellular(bool forcePost) {
|
||||
|
||||
// Post success, remove the data that previously sent from queue
|
||||
xSemaphoreTake(mutexMeasurementCycleQueue, portMAX_DELAY);
|
||||
measurementCycleQueue.erase(measurementCycleQueue.begin(),
|
||||
measurementCycleQueue.begin() + queueSize);
|
||||
|
||||
if (measurementCycleQueue.capacity() > RESERVED_MEASUREMENT_CYCLE_CAPACITY) {
|
||||
Serial.println("measurementCycleQueue capacity more than reserved space, resizing..");
|
||||
measurementCycleQueue.resize(RESERVED_MEASUREMENT_CYCLE_CAPACITY);
|
||||
std::vector<Measurements::Measures> tmp;
|
||||
tmp.reserve(RESERVED_MEASUREMENT_CYCLE_CAPACITY);
|
||||
measurementCycleQueue.swap(tmp);
|
||||
} else {
|
||||
// If not more than the capacity, then just clear all the values
|
||||
measurementCycleQueue.clear();
|
||||
}
|
||||
|
||||
xSemaphoreGive(mutexMeasurementCycleQueue);
|
||||
}
|
||||
|
||||
@ -1562,27 +1572,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 +1649,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