mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-06-28 01:00:59 +02:00
Compare commits
12 Commits
3.3.6
...
fix/resizi
Author | SHA1 | Date | |
---|---|---|---|
0a64424196 | |||
626a2240fa | |||
174ec6568f | |||
6b55719399 | |||
e2084f0738 | |||
5e07923690 | |||
04049439b1 | |||
c148d256d7 | |||
02849a1938 | |||
074337a96d | |||
4daa817a0b | |||
81a4502952 |
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,6 +1,6 @@
|
|||||||
[submodule "src/Libraries/airgradient-client"]
|
[submodule "src/Libraries/airgradient-client"]
|
||||||
path = 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"]
|
[submodule "src/Libraries/airgradient-ota"]
|
||||||
path = src/Libraries/airgradient-ota
|
path = src/Libraries/airgradient-ota
|
||||||
url = git@github.com:airgradienthq/airgradient-ota.git
|
url = ../../airgradienthq/airgradient-ota.git
|
||||||
|
@ -210,7 +210,7 @@ void setup() {
|
|||||||
oledDisplay.setAirGradient(ag);
|
oledDisplay.setAirGradient(ag);
|
||||||
stateMachine.setAirGradient(ag);
|
stateMachine.setAirGradient(ag);
|
||||||
wifiConnector.setAirGradient(ag);
|
wifiConnector.setAirGradient(ag);
|
||||||
openMetrics.setAirGradient(ag, agClient);
|
openMetrics.setAirGradient(ag);
|
||||||
localServer.setAirGraident(ag);
|
localServer.setAirGraident(ag);
|
||||||
measurements.setAirGradient(ag);
|
measurements.setAirGradient(ag);
|
||||||
|
|
||||||
@ -271,6 +271,7 @@ void setup() {
|
|||||||
|
|
||||||
Serial.println("Display brightness: " + String(configuration.getDisplayBrightness()));
|
Serial.println("Display brightness: " + String(configuration.getDisplayBrightness()));
|
||||||
oledDisplay.setBrightness(configuration.getDisplayBrightness());
|
oledDisplay.setBrightness(configuration.getDisplayBrightness());
|
||||||
|
delay(DISPLAY_DELAY_SHOW_CONTENT_MS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -352,7 +353,7 @@ void loop() {
|
|||||||
static bool pmsConnected = false;
|
static bool pmsConnected = false;
|
||||||
if (pmsConnected != ag->pms5003.connected()) {
|
if (pmsConnected != ag->pms5003.connected()) {
|
||||||
pmsConnected = ag->pms5003.connected();
|
pmsConnected = ag->pms5003.connected();
|
||||||
Serial.printf("PMS sensor %s ", pmsConnected?"connected":"removed");
|
Serial.printf("PMS sensor %s \n", pmsConnected?"connected":"removed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -555,6 +556,11 @@ static bool sgp41Init(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkForFirmwareUpdate(void) {
|
void checkForFirmwareUpdate(void) {
|
||||||
|
if (configuration.isCloudConnectionDisabled()) {
|
||||||
|
Serial.println("Cloud connection is disabled, skip firmware update");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
AirgradientOTA *agOta;
|
AirgradientOTA *agOta;
|
||||||
if (networkOption == UseWifi) {
|
if (networkOption == UseWifi) {
|
||||||
agOta = new AirgradientOTAWifi;
|
agOta = new AirgradientOTAWifi;
|
||||||
@ -566,7 +572,15 @@ void checkForFirmwareUpdate(void) {
|
|||||||
firmwareUpdateInProgress = true;
|
firmwareUpdateInProgress = true;
|
||||||
|
|
||||||
agOta->setHandlerCallback(otaHandlerCallback);
|
agOta->setHandlerCallback(otaHandlerCallback);
|
||||||
agOta->updateIfAvailable(ag->deviceId().c_str(), GIT_VERSION);
|
|
||||||
|
String httpDomain = configuration.getHttpDomain();
|
||||||
|
if (httpDomain != "") {
|
||||||
|
Serial.printf("httpDomain configuration available, start OTA with custom domain\n",
|
||||||
|
httpDomain.c_str());
|
||||||
|
agOta->updateIfAvailable(ag->deviceId().c_str(), GIT_VERSION, httpDomain.c_str());
|
||||||
|
} else {
|
||||||
|
agOta->updateIfAvailable(ag->deviceId().c_str(), GIT_VERSION);
|
||||||
|
}
|
||||||
|
|
||||||
// Only goes to this line if firmware update is not success
|
// Only goes to this line if firmware update is not success
|
||||||
// Handled by otaHandlerCallback
|
// Handled by otaHandlerCallback
|
||||||
@ -981,6 +995,9 @@ void initializeNetwork() {
|
|||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Provide openmetrics to have access to last transmission result
|
||||||
|
openMetrics.setAirgradientClient(agClient);
|
||||||
|
|
||||||
if (networkOption == UseCellular) {
|
if (networkOption == UseCellular) {
|
||||||
// Disabling it again
|
// Disabling it again
|
||||||
agSerial->setDebug(false);
|
agSerial->setDebug(false);
|
||||||
@ -1406,13 +1423,17 @@ void postUsingCellular(bool forcePost) {
|
|||||||
|
|
||||||
// Post success, remove the data that previously sent from queue
|
// Post success, remove the data that previously sent from queue
|
||||||
xSemaphoreTake(mutexMeasurementCycleQueue, portMAX_DELAY);
|
xSemaphoreTake(mutexMeasurementCycleQueue, portMAX_DELAY);
|
||||||
measurementCycleQueue.erase(measurementCycleQueue.begin(),
|
|
||||||
measurementCycleQueue.begin() + queueSize);
|
|
||||||
|
|
||||||
if (measurementCycleQueue.capacity() > RESERVED_MEASUREMENT_CYCLE_CAPACITY) {
|
if (measurementCycleQueue.capacity() > RESERVED_MEASUREMENT_CYCLE_CAPACITY) {
|
||||||
Serial.println("measurementCycleQueue capacity more than reserved space, resizing..");
|
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);
|
xSemaphoreGive(mutexMeasurementCycleQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1551,27 +1572,29 @@ void restartIfCeClientIssueOverTwoHours() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void networkingTask(void *args) {
|
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
|
#ifndef ESP8266
|
||||||
checkForFirmwareUpdate();
|
checkForFirmwareUpdate();
|
||||||
checkForUpdateSchedule.update();
|
checkForUpdateSchedule.update();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Because cellular interval is longer, needs to send first measures cycle on
|
// Because cellular interval is longer, needs to send first measures cycle on
|
||||||
// boot to indicate that its online
|
// boot to indicate that its online
|
||||||
if (networkOption == UseCellular) {
|
if (networkOption == UseCellular) {
|
||||||
Serial.println("Prepare first measures cycle to send on boot for 20s");
|
Serial.println("Prepare first measures cycle to send on boot for 20s");
|
||||||
delay(20000);
|
delay(20000);
|
||||||
networkSignalCheck();
|
networkSignalCheck();
|
||||||
newMeasurementCycle();
|
newMeasurementCycle();
|
||||||
postUsingCellular(true);
|
postUsingCellular(true);
|
||||||
measurementSchedule.update();
|
measurementSchedule.update();
|
||||||
|
}
|
||||||
|
// Reset scheduler
|
||||||
|
configSchedule.update();
|
||||||
|
transmissionSchedule.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset scheduler
|
|
||||||
configSchedule.update();
|
|
||||||
transmissionSchedule.update();
|
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
// Handle reconnection based on mode
|
// Handle reconnection based on mode
|
||||||
if (networkOption == UseWifi) {
|
if (networkOption == UseWifi) {
|
||||||
@ -1626,7 +1649,7 @@ void networkingTask(void *args) {
|
|||||||
// If connection to AirGradient server disable don't run config and transmission schedule
|
// If connection to AirGradient server disable don't run config and transmission schedule
|
||||||
if (configuration.isCloudConnectionDisabled()) {
|
if (configuration.isCloudConnectionDisabled()) {
|
||||||
delay(1000);
|
delay(1000);
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run scheduler
|
// Run scheduler
|
||||||
|
@ -6,8 +6,11 @@ OpenMetrics::OpenMetrics(Measurements &measure, Configuration &config,
|
|||||||
|
|
||||||
OpenMetrics::~OpenMetrics() {}
|
OpenMetrics::~OpenMetrics() {}
|
||||||
|
|
||||||
void OpenMetrics::setAirGradient(AirGradient *ag, AirgradientClient *client) {
|
void OpenMetrics::setAirGradient(AirGradient *ag) {
|
||||||
this->ag = ag;
|
this->ag = ag;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OpenMetrics::setAirgradientClient(AirgradientClient *client) {
|
||||||
this->agClient = client;
|
this->agClient = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,8 @@ public:
|
|||||||
OpenMetrics(Measurements &measure, Configuration &config,
|
OpenMetrics(Measurements &measure, Configuration &config,
|
||||||
WifiConnector &wifiConnector);
|
WifiConnector &wifiConnector);
|
||||||
~OpenMetrics();
|
~OpenMetrics();
|
||||||
void setAirGradient(AirGradient *ag, AirgradientClient *client);
|
void setAirGradient(AirGradient *ag);
|
||||||
|
void setAirgradientClient(AirgradientClient *client);
|
||||||
const char *getApiContentType(void);
|
const char *getApiContentType(void);
|
||||||
const char* getApi(void);
|
const char* getApi(void);
|
||||||
String getPayload(void);
|
String getPayload(void);
|
||||||
|
Submodule src/Libraries/airgradient-ota updated: 81a0189f54...c772392427
Reference in New Issue
Block a user