Hi,
Further to my post on the old forum(link below), I have located another typedef which needs to be changed from int16_t to int32_t at line 39 of lv_anim.h. For the roller to function correctly with animation enabled…
/*Type of the animated value*/
//typedef int16_t lv_anim_value_t;
typedef int32_t lv_anim_value_t;
https://forum.lvgl.io/viewtopic.php?f=15&t=194
Kind Regards,
Pete
This was originally changed to int16_t
here: https://github.com/littlevgl/lvgl/issues/1049
Hi @embeddedt,
I have just read that post and understand the problem when used with a 16-bit processor, but if you are using lv_coord_t
defined as int32_t
in ‘extreme cases’ like mine… as we discussed here…
https://forum.lvgl.io/viewtopic.php?f=15&t=194
Then for the animations not to suffer overflow we also need to define the lv_anim_value_t
to be signed 32-bits also.
Kind Regards,
Pete
Should we just typedef lv_anim_value_t
to be an lv_coord_t
then, because they are usually used together?
Hi @embeddedt that sounds like a very sensible solution.
Kind Regards,
Pete
Hi @embeddedt,
Can I propose that line 39 of lv_anim.h be changed to:
typedef lv_coord_t lv_anim_value_t;
Then this issue is resolved.
Kind Regards,
Pete
We need to check with @kisvegabor, but I don’t think that will be a problem.
As animations can animate any values I think it would be confusing to use the lv_coord_t
as type. What about adding typedef int16_t lv_anim_value_t;
to lv_conf.h?
I think it would be confusing to use the lv_coord_t
as type. What about adding typedef int16_t lv_anim_value_t;
to lv_conf.h?
I respectfully disagree. When lv_anim_value_t
is written in code it doesn’t mention lv_coord_t
at all.
Your suggestion would work, but the problem with that is that there are then two typedefs for related types. In general, I think it’s better to consolidate the typedef
s.
This seems to be leading back to the discussions we had about lv_int_t
. 
@embeddedt
Sorry, I didn’t notice you comment. Please ping me if don’t answer for so long. 
Your suggestion would work, but the problem with that is that there are then two typedefs for related types. In general, I think it’s better to consolidate the typedef
s.
This seems to be leading back to the discussions we had about lv_int_t
. 
Okay, let’s use typedef lv_coord_t lv_anim_value_t;
. I added it here