Split InverterSettings into multiple tasks
This commit is contained in:
parent
80d534e045
commit
134fefa30e
@ -11,11 +11,11 @@ public:
|
|||||||
void init(Scheduler* scheduler);
|
void init(Scheduler* scheduler);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loop();
|
void settingsLoop();
|
||||||
|
void hoyLoop();
|
||||||
|
|
||||||
Task _loopTask;
|
Task _settingsTask;
|
||||||
|
Task _hoyTask;
|
||||||
uint32_t _lastUpdate = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern InverterSettingsClass InverterSettings;
|
extern InverterSettingsClass InverterSettings;
|
||||||
|
|||||||
@ -88,15 +88,20 @@ void InverterSettingsClass::init(Scheduler* scheduler)
|
|||||||
MessageOutput.println("Invalid pin config");
|
MessageOutput.println("Invalid pin config");
|
||||||
}
|
}
|
||||||
|
|
||||||
scheduler->addTask(_loopTask);
|
scheduler->addTask(_hoyTask);
|
||||||
_loopTask.setCallback(std::bind(&InverterSettingsClass::loop, this));
|
_hoyTask.setCallback(std::bind(&InverterSettingsClass::hoyLoop, this));
|
||||||
_loopTask.setIterations(TASK_FOREVER);
|
_hoyTask.setIterations(TASK_FOREVER);
|
||||||
_loopTask.enable();
|
_hoyTask.enable();
|
||||||
|
|
||||||
|
scheduler->addTask(_settingsTask);
|
||||||
|
_settingsTask.setCallback(std::bind(&InverterSettingsClass::settingsLoop, this));
|
||||||
|
_settingsTask.setIterations(TASK_FOREVER);
|
||||||
|
_settingsTask.setInterval(INVERTER_UPDATE_SETTINGS_INTERVAL);
|
||||||
|
_settingsTask.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InverterSettingsClass::loop()
|
void InverterSettingsClass::settingsLoop()
|
||||||
{
|
{
|
||||||
if (millis() - _lastUpdate > INVERTER_UPDATE_SETTINGS_INTERVAL) {
|
|
||||||
const CONFIG_T& config = Configuration.get();
|
const CONFIG_T& config = Configuration.get();
|
||||||
|
|
||||||
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
||||||
@ -114,5 +119,7 @@ void InverterSettingsClass::loop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InverterSettingsClass::hoyLoop()
|
||||||
|
{
|
||||||
Hoymiles.loop();
|
Hoymiles.loop();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user