mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-20 12:12:08 +02:00
handle ledBarTestRequested
on OpenAir
This commit is contained in:
@ -939,6 +939,9 @@ static void configUpdateHandle() {
|
|||||||
|
|
||||||
stateMachine.executeLedBarTest();
|
stateMachine.executeLedBarTest();
|
||||||
}
|
}
|
||||||
|
else if(ag->isOpenAir()) {
|
||||||
|
stateMachine.executeLedBarTest();
|
||||||
|
}
|
||||||
|
|
||||||
appDispHandler();
|
appDispHandler();
|
||||||
appLedHandler();
|
appLedHandler();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "AgStateMachine.h"
|
#include "AgStateMachine.h"
|
||||||
|
|
||||||
|
#define LED_TEST_BLINK_DELAY 50 /** ms */
|
||||||
#define LED_FAST_BLINK_DELAY 250 /** ms */
|
#define LED_FAST_BLINK_DELAY 250 /** ms */
|
||||||
#define LED_SLOW_BLINK_DELAY 1000 /** ms */
|
#define LED_SLOW_BLINK_DELAY 1000 /** ms */
|
||||||
#define LED_SHORT_BLINK_DELAY 500 /** ms */
|
#define LED_SHORT_BLINK_DELAY 500 /** ms */
|
||||||
@ -305,18 +306,23 @@ void StateMachine::co2Calibration(void) {
|
|||||||
|
|
||||||
void StateMachine::ledBarTest(void) {
|
void StateMachine::ledBarTest(void) {
|
||||||
if (config.isLedBarTestRequested()) {
|
if (config.isLedBarTestRequested()) {
|
||||||
if (config.getCountry() == "TH") {
|
if (ag->isOne()) {
|
||||||
uint32_t tstart = millis();
|
if (config.getCountry() == "TH") {
|
||||||
logInfo("Start run LED test for 2 min");
|
uint32_t tstart = millis();
|
||||||
while (1) {
|
logInfo("Start run LED test for 2 min");
|
||||||
ledBarRunTest();
|
while (1) {
|
||||||
uint32_t ms = (uint32_t)(millis() - tstart);
|
ledBarRunTest();
|
||||||
if (ms >= (60 * 1000 * 2)) {
|
uint32_t ms = (uint32_t)(millis() - tstart);
|
||||||
logInfo("LED test after 2 min finish");
|
if (ms >= (60 * 1000 * 2)) {
|
||||||
break;
|
logInfo("LED test after 2 min finish");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ledBarRunTest();
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else if(ag->isOpenAir()) {
|
||||||
ledBarRunTest();
|
ledBarRunTest();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -325,22 +331,31 @@ void StateMachine::ledBarTest(void) {
|
|||||||
void StateMachine::ledBarPowerUpTest(void) { ledBarRunTest(); }
|
void StateMachine::ledBarPowerUpTest(void) { ledBarRunTest(); }
|
||||||
|
|
||||||
void StateMachine::ledBarRunTest(void) {
|
void StateMachine::ledBarRunTest(void) {
|
||||||
disp.setText("LED Test", "running", ".....");
|
if (ag->isOne()) {
|
||||||
runLedTest('r');
|
disp.setText("LED Test", "running", ".....");
|
||||||
ag->ledBar.show();
|
runLedTest('r');
|
||||||
delay(1000);
|
ag->ledBar.show();
|
||||||
runLedTest('g');
|
delay(1000);
|
||||||
ag->ledBar.show();
|
runLedTest('g');
|
||||||
delay(1000);
|
ag->ledBar.show();
|
||||||
runLedTest('b');
|
delay(1000);
|
||||||
ag->ledBar.show();
|
runLedTest('b');
|
||||||
delay(1000);
|
ag->ledBar.show();
|
||||||
runLedTest('w');
|
delay(1000);
|
||||||
ag->ledBar.show();
|
runLedTest('w');
|
||||||
delay(1000);
|
ag->ledBar.show();
|
||||||
runLedTest('n');
|
delay(1000);
|
||||||
ag->ledBar.show();
|
runLedTest('n');
|
||||||
delay(1000);
|
ag->ledBar.show();
|
||||||
|
delay(1000);
|
||||||
|
} else if (ag->isOpenAir()) {
|
||||||
|
for (int i = 0; i < 100; i++) {
|
||||||
|
ag->statusLed.setOn();
|
||||||
|
delay(LED_TEST_BLINK_DELAY);
|
||||||
|
ag->statusLed.setOff();
|
||||||
|
delay(LED_TEST_BLINK_DELAY);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StateMachine::runLedTest(char color) {
|
void StateMachine::runLedTest(char color) {
|
||||||
|
@ -65,6 +65,10 @@ bool AirGradient::isOne(void) {
|
|||||||
return boardType == BoardType::ONE_INDOOR;
|
return boardType == BoardType::ONE_INDOOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AirGradient::isOpenAir(void) {
|
||||||
|
return boardType == BoardType::OPEN_AIR_OUTDOOR;
|
||||||
|
}
|
||||||
|
|
||||||
bool AirGradient::isPro4_2(void) {
|
bool AirGradient::isPro4_2(void) {
|
||||||
return boardType == BoardType::DIY_PRO_INDOOR_V4_2;
|
return boardType == BoardType::DIY_PRO_INDOOR_V4_2;
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isOne(void);
|
bool isOne(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Check that Airgradient object is OPEN_AIR
|
||||||
|
*
|
||||||
|
* @return true
|
||||||
|
* @return false
|
||||||
|
*/
|
||||||
|
bool isOpenAir(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check that Airgradient object is DIY_PRO 4.2 indoor
|
* @brief Check that Airgradient object is DIY_PRO 4.2 indoor
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user