Skip to content

Commit

Permalink
code cleanup around routingTask
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieucarbou committed Dec 24, 2024
1 parent 451e913 commit 4f7579c
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 43 deletions.
28 changes: 13 additions & 15 deletions include/YaSolR.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,46 +85,43 @@ extern Mycila::RouterRelay routerRelay2;
extern Mycila::TrafficLight lights;

extern Mycila::TaskManager coreTaskManager;
extern Mycila::Task calibrationTask;
extern Mycila::Task carouselTask;
extern Mycila::Task dashboardInitTask;
extern Mycila::Task dashboardUpdateTask;
extern Mycila::Task debugTask;
extern Mycila::Task networkConfigTask;
extern Mycila::Task networkManagerTask;
extern Mycila::Task safeBootTask;
extern Mycila::Task displayTask;
extern Mycila::Task lightsTask;
extern Mycila::Task relayTask;
extern Mycila::Task resetTask;
extern Mycila::Task restartTask;
extern Mycila::Task routerTask;
extern Mycila::Task safeBootTask;
extern Mycila::Task zcdTask;
#ifdef APP_MODEL_TRIAL
extern Mycila::Task trialTask;
#endif

extern Mycila::TaskManager mqttTaskManager;
extern Mycila::Task haDiscoveryTask;
extern Mycila::Task mqttConfigTask;
extern Mycila::Task mqttPublishTask;
extern Mycila::Task mqttPublishStaticTask;
extern Mycila::Task mqttPublishConfigTask;
extern Mycila::Task mqttPublishStaticTask;
extern Mycila::Task mqttPublishTask;

extern Mycila::TaskManager pioTaskManager;
extern Mycila::Task calibrationTask;
extern Mycila::Task carouselTask;
extern Mycila::Task displayTask;
extern Mycila::Task ds18Task;
extern Mycila::Task lightsTask;
extern Mycila::Task networkConfigTask;
extern Mycila::Task networkManagerTask;
extern Mycila::Task pzemO1PairingTask;
extern Mycila::Task pzemO2PairingTask;
extern Mycila::Task relayTask;
extern Mycila::Task routerTask;
extern Mycila::Task zcdTask;

extern Mycila::TaskManager jsyTaskManager;
extern Mycila::Task jsyTask;

extern Mycila::TaskManager pzemTaskManager;
extern Mycila::Task pzemTask;

// extern Mycila::TaskManager routingTaskManager;
extern Mycila::Task routingTask;

// Tasks alone without a manager
extern Mycila::Task bootTask;
extern Mycila::Task initConfigTask;
Expand All @@ -135,6 +132,7 @@ extern Mycila::Task initLoggingTask;
extern Mycila::Task initMqttSubscribersTask;
extern Mycila::Task initRestApiTask;
extern Mycila::Task initWebTask;
extern Mycila::Task routingTask;

extern Mycila::CircularBuffer<float, 50> udpMessageRateBuffer;

Expand Down
3 changes: 0 additions & 3 deletions src/init/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@ Mycila::Task initConfigTask("Init Config", [](void* params) {
// pzemTaskManager
pzemTask.setEnabledWhen([]() { return (pzemO1.isEnabled() || pzemO2.isEnabled()) && pzemO1PairingTask.isPaused() && pzemO2PairingTask.isPaused(); });

// routingTaskManager
routingTask.setEnabledWhen([]() { return !router.isCalibrationRunning() && (output1.isAutoDimmerEnabled() || output2.isAutoDimmerEnabled()); });

// Grid
grid.localMetrics().setExpiration(10000); // local is fast
grid.remoteMetrics().setExpiration(10000); // remote JSY is fast
Expand Down
12 changes: 4 additions & 8 deletions src/init/Core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ Mycila::Task initCoreTask("Init Core", [](void* params) {
debugTask.setManager(coreTaskManager);
displayTask.setManager(coreTaskManager);
lightsTask.setManager(coreTaskManager);
safeBootTask.setManager(coreTaskManager);
relayTask.setManager(coreTaskManager);
resetTask.setManager(coreTaskManager);
restartTask.setManager(coreTaskManager);
routerTask.setManager(coreTaskManager);
safeBootTask.setManager(coreTaskManager);
zcdTask.setManager(coreTaskManager);
#ifdef APP_MODEL_TRIAL
trialTask.setManager(coreTaskManager);
Expand All @@ -31,14 +31,14 @@ Mycila::Task initCoreTask("Init Core", [](void* params) {
// mqttTaskManager
haDiscoveryTask.setManager(mqttTaskManager);
mqttConfigTask.setManager(mqttTaskManager);
mqttPublishTask.setManager(mqttTaskManager);
mqttPublishStaticTask.setManager(mqttTaskManager);
mqttPublishConfigTask.setManager(mqttTaskManager);
mqttPublishStaticTask.setManager(mqttTaskManager);
mqttPublishTask.setManager(mqttTaskManager);

// pioTaskManager
ds18Task.setManager(pioTaskManager);
networkManagerTask.setManager(pioTaskManager);
networkConfigTask.setManager(pioTaskManager);
networkManagerTask.setManager(pioTaskManager);
pzemO1PairingTask.setManager(pioTaskManager);
pzemO2PairingTask.setManager(pioTaskManager);

Expand All @@ -48,9 +48,6 @@ Mycila::Task initCoreTask("Init Core", [](void* params) {
// pzemTaskManager
pzemTask.setManager(pzemTaskManager);

// routingTaskManager
// routingTask.setManager(routingTaskManager);

// Router
router.addOutput(output1);
router.addOutput(output2);
Expand All @@ -65,7 +62,6 @@ Mycila::Task initCoreTask("Init Core", [](void* params) {
Mycila::TaskMonitor.addTask(pioTaskManager.getName()); // YaSolR
Mycila::TaskMonitor.addTask(coreTaskManager.getName()); // YaSolR
Mycila::TaskMonitor.addTask(mqttTaskManager.getName()); // YaSolR
// Mycila::TaskMonitor.addTask(routingTaskManager.getName()); // YaSolR
Mycila::TaskMonitor.addTask(jsyTaskManager.getName()); // YaSolR
Mycila::TaskMonitor.addTask(pzemTaskManager.getName()); // YaSolR
});
18 changes: 18 additions & 0 deletions src/tasks/Router.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,21 @@ Mycila::Task routerTask("Router", [](void* params) {
output1.applyAutoBypass();
output2.applyAutoBypass();
});

Mycila::Task routingTask("Routing", Mycila::TaskType::ONCE, [](void* params) {
if (router.isCalibrationRunning())
return;

if (!output1.isAutoDimmerEnabled() && !output2.isAutoDimmerEnabled())
return;

std::optional<float> voltage = grid.getVoltage();
const Mycila::ExpiringValue<float>& power = grid.power();

if (voltage.has_value() && power.isPresent()) {
router.divert(voltage.value(), power.get());
if (config.getBool(KEY_ENABLE_PID_VIEW)) {
dashboardUpdateTask.requestEarlyRun();
}
}
});
17 changes: 0 additions & 17 deletions src/tasks/Routing.cpp

This file was deleted.

0 comments on commit 4f7579c

Please sign in to comment.