Move 5 rollers simultaneously by scrolling

Description

i created an animation to move 5 rollers simultaneously upward/downward. (using 2 seperate buttons). but, this resets the internal watchdog timer

What MCU/Processor/Board and compiler are you using?

esp32 dev with arduino ide

What LVGL version are you using?

v8.3.11

What do you want to achieve?

i wish to move 5 rollers simultaneously upward/downward. (using 2 seperate buttons) or move 5 rollers simultaneously by scrolling.

What have you tried so far?

Code to reproduce

void rollerup_Animation(lv_obj_t * TargetObject, int delay)
{

ui_anim_user_data_t * PropertyAnimation_0_user_data = lv_mem_alloc(sizeof(ui_anim_user_data_t));
PropertyAnimation_0_user_data->target = TargetObject;
PropertyAnimation_0_user_data->val = -1;
lv_anim_t PropertyAnimation_0;
lv_anim_init(&PropertyAnimation_0);
lv_anim_set_time(&PropertyAnimation_0, 1000);
lv_anim_set_user_data(&PropertyAnimation_0, PropertyAnimation_0_user_data);
lv_anim_set_custom_exec_cb(&PropertyAnimation_0, _ui_anim_callback_set_y);
lv_anim_set_values(&PropertyAnimation_0, 0, -100);
lv_anim_set_path_cb(&PropertyAnimation_0, lv_anim_path_linear);
lv_anim_set_delay(&PropertyAnimation_0, delay + 0);
lv_anim_set_deleted_cb(&PropertyAnimation_0, _ui_anim_callback_free_user_data);
lv_anim_set_playback_time(&PropertyAnimation_0, 0);
lv_anim_set_playback_delay(&PropertyAnimation_0, 0);
lv_anim_set_repeat_count(&PropertyAnimation_0, 0);
lv_anim_set_repeat_delay(&PropertyAnimation_0, 0);
lv_anim_set_early_apply(&PropertyAnimation_0, false);
lv_anim_set_get_value_cb(&PropertyAnimation_0, &_ui_anim_callback_get_y);
lv_anim_start(&PropertyAnimation_0);

}
void rollerdown_Animation(lv_obj_t * TargetObject, int delay)
{

ui_anim_user_data_t * PropertyAnimation_0_user_data = lv_mem_alloc(sizeof(ui_anim_user_data_t));
PropertyAnimation_0_user_data->target = TargetObject;
PropertyAnimation_0_user_data->val = -1;
lv_anim_t PropertyAnimation_0;
lv_anim_init(&PropertyAnimation_0);
lv_anim_set_time(&PropertyAnimation_0, 1000);
lv_anim_set_user_data(&PropertyAnimation_0, PropertyAnimation_0_user_data);
lv_anim_set_custom_exec_cb(&PropertyAnimation_0, _ui_anim_callback_set_y);
lv_anim_set_values(&PropertyAnimation_0, 0, 100);
lv_anim_set_path_cb(&PropertyAnimation_0, lv_anim_path_linear);
lv_anim_set_delay(&PropertyAnimation_0, delay + 0);
lv_anim_set_deleted_cb(&PropertyAnimation_0, _ui_anim_callback_free_user_data);
lv_anim_set_playback_time(&PropertyAnimation_0, 0);
lv_anim_set_playback_delay(&PropertyAnimation_0, 0);
lv_anim_set_repeat_count(&PropertyAnimation_0, 0);
lv_anim_set_repeat_delay(&PropertyAnimation_0, 0);
lv_anim_set_early_apply(&PropertyAnimation_0, false);
lv_anim_set_get_value_cb(&PropertyAnimation_0, &_ui_anim_callback_get_y);
lv_anim_start(&PropertyAnimation_0);

}

void ui_event_Button135(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_RELEASED) {

    rollerup_Animation(ui_Roller1, 0);
   rollerup_Animation(ui_Roller2, 0);
    rollerup_Animation(ui_Roller3, 0);
    rollerup_Animation(ui_Roller4, 0);
    rollerup_Animation(ui_Roller5, 0);

    
}

}
void ui_event_Button136(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_RELEASED) {

    rollerdown_Animation(ui_Roller1, 0);
    rollerdown_Animation(ui_Roller2, 0);
    rollerdown_Animation(ui_Roller3, 0);
    rollerdown_Animation(ui_Roller4, 0);
    rollerdown_Animation(ui_Roller5, 0);

    
}

}

Screenshot and/or video

If possible, add screenshots and/or videos about the current state.

what about lv_anim_set_user_data()? how did you use it?

Dear Brother,

First of all, let me extend my heartfelt thanks for dedicating your valuable time for addressing this matter. I have discovered that the issue was with the “helpers.c” file, and I am pleased to inform you that it is now functioning correctly.

My objective is to conduct chemical-related tests involving five parameters. The values of these parameters need to be displayed simultaneously on Screen 1 immediately after the test (which I have successfully achieved using label texts). Upon running the test again, all those 5 values from the previous tests should be loaded into the five different rollers on Screen 2. However, I have not been able to accomplish this yet.

Could you please assist me in achieving this setup?

Thanks & Regards,
Suvij