diff --git a/include/YaSolR.h b/include/YaSolR.h index 0997fa1a..9706bc42 100644 --- a/include/YaSolR.h +++ b/include/YaSolR.h @@ -141,9 +141,6 @@ extern Mycila::Task resetTask; extern Mycila::Task restartTask; extern Mycila::Task routerTask; extern Mycila::Task safeBootTask; -#ifdef APP_MODEL_TRIAL -extern Mycila::Task trialTask; -#endif extern Mycila::TaskManager unsafeTaskManager; @@ -165,5 +162,6 @@ extern void yasolr_start_logging(); extern void yasolr_start_pzem(); extern void yasolr_start_rest_api(); extern void yasolr_start_website(); +extern void yasolr_start_trial(); extern void yasolr_start_zcd(); extern void yasolr_configure_logging(); diff --git a/src/fn/yasolr_configure.cpp b/src/fn/yasolr_configure.cpp index bd083469..93d398f4 100644 --- a/src/fn/yasolr_configure.cpp +++ b/src/fn/yasolr_configure.cpp @@ -132,9 +132,6 @@ void yasolr_configure() { relayTask.setInterval(7 * Mycila::TaskDuration::SECONDS); routerTask.setEnabledWhen([]() { return !router.isCalibrationRunning(); }); routerTask.setInterval(500 * Mycila::TaskDuration::MILLISECONDS); -#ifdef APP_MODEL_TRIAL - trialTask.setInterval(30 * Mycila::TaskDuration::SECONDS); -#endif // unsafeTaskManager mqttPublishTask.setEnabledWhen([]() { return mqtt.isConnected(); }); @@ -151,9 +148,6 @@ void yasolr_configure() { restartTask.setManager(coreTaskManager); routerTask.setManager(coreTaskManager); safeBootTask.setManager(coreTaskManager); -#ifdef APP_MODEL_TRIAL - trialTask.setManager(coreTaskManager); -#endif // unsafeTaskManager haDiscoveryTask.setManager(unsafeTaskManager); diff --git a/src/fn/yasolr_start_trial.cpp b/src/fn/yasolr_start_trial.cpp new file mode 100644 index 00000000..e893bfc4 --- /dev/null +++ b/src/fn/yasolr_start_trial.cpp @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +/* + * Copyright (C) 2023-2024 Mathieu Carbou + */ +#include + +#ifdef APP_MODEL_TRIAL +Mycila::Task* trialTask; +#endif + +void yasolr_start_trial() { +#ifdef APP_MODEL_TRIAL + trialTask = new Mycila::Task("Trial", [](void* params) { Mycila::Trial.validate(); }); + trialTask->setInterval(30 * Mycila::TaskDuration::SECONDS); + trialTask->setManager(coreTaskManager); +#endif +} diff --git a/src/main.cpp b/src/main.cpp index facb42b7..e4e91c87 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -40,6 +40,7 @@ void setup() { yasolr_start_lights(); yasolr_start_logging(); yasolr_start_pzem(); + yasolr_start_trial(); yasolr_start_website(); yasolr_start_zcd(); diff --git a/src/tasks/trialTask.cpp b/src/tasks/trialTask.cpp deleted file mode 100644 index b6c8da37..00000000 --- a/src/tasks/trialTask.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -/* - * Copyright (C) 2023-2024 Mathieu Carbou - */ -#include - -#ifdef APP_MODEL_TRIAL -Mycila::Task trialTask("Trial", [](void* params) { Mycila::Trial.validate(); }); -#endif