mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-08-01 09:54:28 +02:00
Merge pull request #52 from airgradienthq/feature/led-test-with-button-on-power-up
Feature/led test with button on power up
This commit is contained in:
@@ -51,7 +51,7 @@ CC BY-SA 4.0 Attribution-ShareAlike 4.0 International License
|
|||||||
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define DISPLAY_DELAY_SHOW_CONTENT_MS 3000 /** ms */
|
#define DISPLAY_DELAY_SHOW_CONTENT_MS 6000 /** ms */
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
||||||
"cleanair" /** default WiFi AP password \
|
"cleanair" /** default WiFi AP password \
|
||||||
*/
|
*/
|
||||||
@@ -160,9 +160,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get "pmsStandard" */
|
/** Get "pmStandard" */
|
||||||
if (JSON.typeof_(root["pmsStandard"]) == "string") {
|
if (JSON.typeof_(root["pmStandard"]) == "string") {
|
||||||
String standard = root["pmsStandard"];
|
String standard = root["pmStandard"];
|
||||||
if (standard == "ugm3") {
|
if (standard == "ugm3") {
|
||||||
inUSAQI = false;
|
inUSAQI = false;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -94,7 +94,7 @@ enum {
|
|||||||
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define DISPLAY_DELAY_SHOW_CONTENT_MS 3000 /** ms */
|
#define DISPLAY_DELAY_SHOW_CONTENT_MS 6000 /** ms */
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
||||||
"cleanair" /** default WiFi AP password \
|
"cleanair" /** default WiFi AP password \
|
||||||
*/
|
*/
|
||||||
@@ -194,7 +194,9 @@ public:
|
|||||||
|
|
||||||
/** Get "country" */
|
/** Get "country" */
|
||||||
if (JSON.typeof_(root["country"]) == "string") {
|
if (JSON.typeof_(root["country"]) == "string") {
|
||||||
String country = root["country"];
|
String _country = root["country"];
|
||||||
|
country = _country;
|
||||||
|
|
||||||
if (country == "US") {
|
if (country == "US") {
|
||||||
inF = true;
|
inF = true;
|
||||||
} else {
|
} else {
|
||||||
@@ -202,9 +204,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get "pmsStandard" */
|
/** Get "pmStandard" */
|
||||||
if (JSON.typeof_(root["pmsStandard"]) == "string") {
|
if (JSON.typeof_(root["pmStandard"]) == "string") {
|
||||||
String standard = root["pmsStandard"];
|
String standard = root["pmStandard"];
|
||||||
if (standard == "ugm3") {
|
if (standard == "ugm3") {
|
||||||
inUSAQI = false;
|
inUSAQI = false;
|
||||||
} else {
|
} else {
|
||||||
@@ -406,6 +408,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
UseLedBar getLedBarMode(void) { return ledBarMode; }
|
UseLedBar getLedBarMode(void) { return ledBarMode; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the Country
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
String getCountry(void) { return country; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool inF; /** Temperature unit, true: F, false: C */
|
bool inF; /** Temperature unit, true: F, false: C */
|
||||||
bool inUSAQI; /** PMS unit, true: USAQI, false: ugm3 */
|
bool inUSAQI; /** PMS unit, true: USAQI, false: ugm3 */
|
||||||
@@ -417,6 +426,7 @@ private:
|
|||||||
UseLedBar ledBarMode = UseLedBarCO2; /** */
|
UseLedBar ledBarMode = UseLedBarCO2; /** */
|
||||||
char models[20]; /** */
|
char models[20]; /** */
|
||||||
char mqttBroker[256]; /** */
|
char mqttBroker[256]; /** */
|
||||||
|
String country; /***/
|
||||||
};
|
};
|
||||||
AgServer agServer;
|
AgServer agServer;
|
||||||
|
|
||||||
@@ -597,6 +607,19 @@ static void ledTest() {
|
|||||||
ag.ledBar.show();
|
ag.ledBar.show();
|
||||||
delay(1000);
|
delay(1000);
|
||||||
}
|
}
|
||||||
|
static void ledTest2Min(void) {
|
||||||
|
uint32_t tstart = millis();
|
||||||
|
|
||||||
|
Serial.println("Start run LED test for 2 min");
|
||||||
|
while (1) {
|
||||||
|
ledTest();
|
||||||
|
uint32_t ms = (uint32_t)(millis() - tstart);
|
||||||
|
if (ms >= (60 * 1000 * 2)) {
|
||||||
|
Serial.println("LED test after 2 min finish");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void co2Poll(void) {
|
static void co2Poll(void) {
|
||||||
co2Ppm = ag.s8.getCo2();
|
co2Ppm = ag.s8.getCo2();
|
||||||
@@ -814,6 +837,8 @@ static void connectToWifi() {
|
|||||||
dispSmState = APP_SM_WIFI_MANAGER_STA_CONNECTING;
|
dispSmState = APP_SM_WIFI_MANAGER_STA_CONNECTING;
|
||||||
ledSmState = APP_SM_WIFI_MANAGER_STA_CONNECTING;
|
ledSmState = APP_SM_WIFI_MANAGER_STA_CONNECTING;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
displayShowText("Connecting to", "config WiFi", "...");
|
||||||
wifiManager.autoConnect(wifiSSID.c_str(), WIFI_HOTSPOT_PASSWORD_DEFAULT);
|
wifiManager.autoConnect(wifiSSID.c_str(), WIFI_HOTSPOT_PASSWORD_DEFAULT);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
[](void *obj) {
|
[](void *obj) {
|
||||||
@@ -986,6 +1011,25 @@ static void boardInit(void) {
|
|||||||
if (ag.pms5003.begin(Serial0) == false) {
|
if (ag.pms5003.begin(Serial0) == false) {
|
||||||
failedHandler("Init PMS5003 failed");
|
failedHandler("Init PMS5003 failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Run LED test on start up */
|
||||||
|
displayShowText("Press now for", "LED test", "");
|
||||||
|
bool test = false;
|
||||||
|
uint32_t stime = millis();
|
||||||
|
while (1) {
|
||||||
|
if (ag.button.getState() == ag.button.BUTTON_PRESSED) {
|
||||||
|
test = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
delay(1);
|
||||||
|
uint32_t ms = (uint32_t)(millis() - stime);
|
||||||
|
if (ms >= 3000) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (test) {
|
||||||
|
ledTest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1014,7 +1058,11 @@ static void serverConfigPoll(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (agServer.isLedBarTestRequested()) {
|
if (agServer.isLedBarTestRequested()) {
|
||||||
ledTest();
|
if (agServer.getCountry() == "TH") {
|
||||||
|
ledTest2Min();
|
||||||
|
} else {
|
||||||
|
ledTest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -89,7 +89,7 @@ enum {
|
|||||||
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define DISPLAY_DELAY_SHOW_CONTENT_MS 3000 /** ms */
|
#define DISPLAY_DELAY_SHOW_CONTENT_MS 6000 /** ms */
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
||||||
"cleanair" /** default WiFi AP password \
|
"cleanair" /** default WiFi AP password \
|
||||||
*/
|
*/
|
||||||
@@ -197,9 +197,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get "pmsStandard" */
|
/** Get "pmStandard" */
|
||||||
if (JSON.typeof_(root["pmsStandard"]) == "string") {
|
if (JSON.typeof_(root["pmStandard"]) == "string") {
|
||||||
String standard = root["pmsStandard"];
|
String standard = root["pmStandard"];
|
||||||
if (standard == "ugm3") {
|
if (standard == "ugm3") {
|
||||||
inUSAQI = false;
|
inUSAQI = false;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -89,7 +89,7 @@ enum {
|
|||||||
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define DISPLAY_DELAY_SHOW_CONTENT_MS 3000 /** ms */
|
#define DISPLAY_DELAY_SHOW_CONTENT_MS 6000 /** ms */
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
||||||
"cleanair" /** default WiFi AP password \
|
"cleanair" /** default WiFi AP password \
|
||||||
*/
|
*/
|
||||||
@@ -197,9 +197,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get "pmsStandard" */
|
/** Get "pmStandard" */
|
||||||
if (JSON.typeof_(root["pmsStandard"]) == "string") {
|
if (JSON.typeof_(root["pmStandard"]) == "string") {
|
||||||
String standard = root["pmsStandard"];
|
String standard = root["pmStandard"];
|
||||||
if (standard == "ugm3") {
|
if (standard == "ugm3") {
|
||||||
inUSAQI = false;
|
inUSAQI = false;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -93,7 +93,7 @@ enum {
|
|||||||
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_CO2_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_PM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
#define SENSOR_TEMP_HUM_UPDATE_INTERVAL 5000 /** ms */
|
||||||
#define DISPLAY_DELAY_SHOW_CONTENT_MS 3000 /** ms */
|
#define DISPLAY_DELAY_SHOW_CONTENT_MS 6000 /** ms */
|
||||||
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
#define WIFI_HOTSPOT_PASSWORD_DEFAULT \
|
||||||
"cleanair" /** default WiFi AP password \
|
"cleanair" /** default WiFi AP password \
|
||||||
*/
|
*/
|
||||||
@@ -201,9 +201,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get "pmsStandard" */
|
/** Get "pmStandard" */
|
||||||
if (JSON.typeof_(root["pmsStandard"]) == "string") {
|
if (JSON.typeof_(root["pmStandard"]) == "string") {
|
||||||
String standard = root["pmsStandard"];
|
String standard = root["pmStandard"];
|
||||||
if (standard == "ugm3") {
|
if (standard == "ugm3") {
|
||||||
inUSAQI = false;
|
inUSAQI = false;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
#include "AirGradient.h"
|
#include "AirGradient.h"
|
||||||
|
|
||||||
#define AG_LIB_VER "3.0.0"
|
#define AG_LIB_VER "3.0.1"
|
||||||
|
|
||||||
AirGradient::AirGradient(BoardType type)
|
AirGradient::AirGradient(BoardType type)
|
||||||
: pms5003(type), pms5003t_1(type), pms5003t_2(type), s8(type), sht4x(type),
|
: pms5003(type), pms5003t_1(type), pms5003t_2(type), s8(type), sht4x(type),
|
||||||
|
Reference in New Issue
Block a user