commit e1a139bcaea40cf0c791d0d06248ae46fc9bc0d6
parent eeaa7d640e8fafc29e9901d4996aa2c6836a3ed6
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date: Tue, 31 Mar 2026 14:15:02 -0300
Crear estructura para guardar configuración de `task_temp_ctrl`
Diffstat:
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/firmware/app/src/task_temp_ctrl.c b/firmware/app/src/task_temp_ctrl.c
@@ -16,19 +16,28 @@
#define G_TASK_CTRL_TICK_CNT_INI 0ul
-uint32_t g_task_temp_ctrl_tick;
+// Private data definition
+typedef struct {
+ TIM_HandleTypeDef *htim;
+ uint32_t tim_channel;
+} task_temp_ctrl_cfg_t;
-// this variable is incremented by 1 on every ms by HAL_SysTick
-volatile uint32_t g_task_temp_ctrl_tick_cnt;
+task_temp_ctrl_cfg_t task_temp_ctrl_cfg = {&htim1, TIM_CHANNEL_1};
+// Public data definition
+volatile uint32_t g_task_temp_ctrl_tick_cnt; // Incremented by HAL_SysTick callback
+
+// Public functions definition
void task_temp_ctrl_init(void *parameters)
{
LOGGER_INFO("Initializing `task_temp_ctrl`...");
- g_task_temp_ctrl_tick = G_TASK_CTRL_TICK_CNT_INI;
-
+ task_temp_ctrl_cfg_t *p_task_cfg = &task_temp_ctrl_cfg;
shared_data_type *p_shared_data = (shared_data_type *)parameters;
- TIM1->CCR1 = p_shared_data->temp_ctrl_pwm_dc;
+
+ __HAL_TIM_SET_COMPARE(p_task_cfg->htim,
+ p_task_cfg->tim_channel,
+ p_shared_data->temp_ctrl_pwm_dc);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
LOGGER_INFO("Done initializing `task_temp_ctrl`");
@@ -38,6 +47,7 @@ void task_temp_ctrl_update(void *parameters)
{
bool b_time_update_required;
shared_data_type *p_shared_data = (shared_data_type *)parameters;
+ task_temp_ctrl_cfg_t *p_task_cfg = &task_temp_ctrl_cfg;
__asm("CPSID i");
if (G_TASK_CTRL_TICK_CNT_INI < g_task_temp_ctrl_tick_cnt)
@@ -74,12 +84,15 @@ void task_temp_ctrl_update(void *parameters)
{
if (p_shared_data->temp_ctrl_pwm_dc != TIM1->CCR1)
{
- TIM1->CCR1 = p_shared_data->temp_ctrl_pwm_dc;
+ __HAL_TIM_SET_COMPARE(p_task_cfg->htim,
+ p_task_cfg->tim_channel,
+ p_shared_data->temp_ctrl_pwm_dc);
}
}
else
{
- TIM1->CCR1 = 0;
+ __HAL_TIM_SET_COMPARE(p_task_cfg->htim,
+ p_task_cfg->tim_channel, 0);
}
}
}