task refactoring work in progress

This commit is contained in:
Emanuele Trabattoni
2026-04-11 15:49:40 +02:00
parent 684c34e209
commit d1b96e932c
5 changed files with 367 additions and 185 deletions

View File

@@ -107,9 +107,9 @@ void loop()
rtTaskParams taskA_params{
.rt_running = true,
.dev = &dev,
.dev = std::make_shared<Devices>(dev),
.rt_queue = rt_taskA_queue,
.rt_int = rtTaskInterrupts{
.rt_int = rtTaskInterruptParams{
.isr_ptr = &trig_isr_A,
.trig_pin_12p = TRIG_PIN_A12P,
.trig_pin_12n = TRIG_PIN_A12N,
@@ -117,14 +117,14 @@ void loop()
.trig_pin_34n = TRIG_PIN_A34N,
.spark_pin_12 = SPARK_PIN_A12,
.spark_pin_34 = SPARK_PIN_A34},
.rt_resets = rtTaskResets{.rst_io_peak = POT_CS_12A, .rst_io_sh = POT_CS_34A}};
.rt_io = rtTaskIOParams{.rst_io_peak = 0, .rst_io_sh = 0}};
#ifdef CH_B_ENABLE
rtTaskParams taskB_params{
.rt_running = true,
.dev = &dev,
.rt_queue = rt_taskB_queue,
.rt_int = rtTaskInterrupts{
.rt_int = rtTaskInterruptParams{
.isr_ptr = &trig_isr_B,
.trig_pin_12p = TRIG_PIN_B12P,
.trig_pin_12n = TRIG_PIN_B12N,
@@ -132,7 +132,7 @@ void loop()
.trig_pin_34n = TRIG_PIN_B34N,
.spark_pin_12 = SPARK_PIN_B12,
.spark_pin_34 = SPARK_PIN_B34},
.rt_resets = rtTaskResets{.rst_io_peak = SS_FORCE_A, .rst_io_sh = SS_INIBHIT_A12}};
.rt_io = rtTaskIOParams{.rst_io_peak = SS_FORCE_A, .rst_io_sh = SS_INIBHIT_A12}};
#endif
if (!rt_taskA_queue || !rt_taskB_queue)
@@ -190,7 +190,7 @@ void loop()
// Ignition A on Core 0
auto ignA_task_success = pdPASS;
ignA_task_success = xTaskCreatePinnedToCore(
rtIgnitionTask_run,
rtIgnitionTask_realtime,
"rtTask_A",
RT_TASK_STACK,
(void *)&taskA_params,
@@ -204,7 +204,7 @@ void loop()
#ifdef CH_B_ENABLE
ignB_task_success = xTaskCreatePinnedToCore(
rtIgnitionTask_run,
rtIgnitionTask_realtime,
"rtTask_B",
RT_TASK_STACK,
(void *)&taskB_params,
@@ -236,8 +236,8 @@ void loop()
ignitionBoxStatus ign_info_A;
ignitionBoxStatus ign_info_B;
ignitionBoxStatusAverage ign_info_avg_A(filter_k);
ignitionBoxStatusAverage ign_info_avg_B(filter_k);
ignitionBoxStatusFiltered ign_info_avg_A(filter_k);
ignitionBoxStatusFiltered ign_info_avg_B(filter_k);
LITTLEFSGuard fsGuard;
WebPage webPage(80, LittleFS); // Initialize webserver and Websocket