* removed `delay` from ePaper
* started improvements of `/system`
* fix LEDs to check all configured inverters
This commit is contained in:
lumapu 2023-09-01 07:58:33 +02:00
parent 201098ae0b
commit f3192b49ab
16 changed files with 218 additions and 124 deletions

View file

@ -567,11 +567,11 @@ void app::mqttSubRxCb(JsonObject obj) {
void app::setupLed(void) {
uint8_t led_off = (mConfig->led.led_high_active) ? LOW : HIGH;
if (mConfig->led.led0 != 0xff) {
if (mConfig->led.led0 != DEF_PIN_OFF) {
pinMode(mConfig->led.led0, OUTPUT);
digitalWrite(mConfig->led.led0, led_off);
}
if (mConfig->led.led1 != 0xff) {
if (mConfig->led.led1 != DEF_PIN_OFF) {
pinMode(mConfig->led.led1, OUTPUT);
digitalWrite(mConfig->led.led1, led_off);
}
@ -582,17 +582,23 @@ void app::updateLed(void) {
uint8_t led_off = (mConfig->led.led_high_active) ? LOW : HIGH;
uint8_t led_on = (mConfig->led.led_high_active) ? HIGH : LOW;
if (mConfig->led.led0 != 0xff) {
Inverter<> *iv = mSys.getInverterByPos(0);
if (NULL != iv) {
if (iv->isProducing())
digitalWrite(mConfig->led.led0, led_on);
else
digitalWrite(mConfig->led.led0, led_off);
if (mConfig->led.led0 != DEF_PIN_OFF) {
Inverter<> *iv;
for (uint8_t id = 0; id < mSys.getNumInverters(); id++) {
iv = mSys.getInverterByPos(id);
if (NULL != iv) {
if (iv->isProducing()) {
// turn on when at least one inverter is producing
digitalWrite(mConfig->led.led0, led_on);
break;
}
else if(iv->config->enabled)
digitalWrite(mConfig->led.led0, led_off);
}
}
}
if (mConfig->led.led1 != 0xff) {
if (mConfig->led.led1 != DEF_PIN_OFF) {
if (getMqttIsConnected()) {
digitalWrite(mConfig->led.led1, led_on);
} else {