From fa6eb2fc229a6a86c3895c64399761b965aaa27f Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Thu, 15 Feb 2018 13:37:23 +0100 Subject: [PATCH] lv_anim: delete unused global variable --- lv_misc/lv_anim.c | 183 +++++++++++++++++++++++----------------------- 1 file changed, 90 insertions(+), 93 deletions(-) diff --git a/lv_misc/lv_anim.c b/lv_misc/lv_anim.c index 027f8a5de..9befdc655 100644 --- a/lv_misc/lv_anim.c +++ b/lv_misc/lv_anim.c @@ -36,7 +36,6 @@ static bool anim_ready_handler(lv_anim_t * a); **********************/ static lv_ll_t anim_ll; static uint32_t last_task_run; -static bool anim_del_global_flag = false; /********************** * MACROS @@ -51,9 +50,9 @@ static bool anim_del_global_flag = false; */ void lv_anim_init(void) { - lv_ll_init(&anim_ll, sizeof(lv_anim_t)); - last_task_run = lv_tick_get(); - lv_task_create(anim_task, LV_REFR_PERIOD, LV_TASK_PRIO_MID, NULL); + lv_ll_init(&anim_ll, sizeof(lv_anim_t)); + last_task_run = lv_tick_get(); + lv_task_create(anim_task, LV_REFR_PERIOD, LV_TASK_PRIO_MID, NULL); } /** @@ -65,16 +64,16 @@ void lv_anim_create(lv_anim_t * anim_p) /* Do not let two animations for the same 'var' with the same 'fp'*/ if(anim_p->fp != NULL) lv_anim_del(anim_p->var, anim_p->fp); /*fp == NULL would delete all animations of var*/ - /*Add the new animation to the animation linked list*/ - lv_anim_t * new_anim = lv_ll_ins_head(&anim_ll); - lv_mem_assert(new_anim); + /*Add the new animation to the animation linked list*/ + lv_anim_t * new_anim = lv_ll_ins_head(&anim_ll); + lv_mem_assert(new_anim); - /*Initialize the animation descriptor*/ - anim_p->playback_now = 0; - memcpy(new_anim, anim_p, sizeof(lv_anim_t)); + /*Initialize the animation descriptor*/ + anim_p->playback_now = 0; + memcpy(new_anim, anim_p, sizeof(lv_anim_t)); - /*Set the start value*/ - if(new_anim->fp != NULL) new_anim->fp(new_anim->var, new_anim->start); + /*Set the start value*/ + if(new_anim->fp != NULL) new_anim->fp(new_anim->var, new_anim->start); } /** @@ -86,25 +85,24 @@ void lv_anim_create(lv_anim_t * anim_p) */ bool lv_anim_del(void * var, lv_anim_fp_t fp) { - bool del = false; - lv_anim_t * a; - lv_anim_t * a_next; - a = lv_ll_get_head(&anim_ll); - while(a != NULL) { - /*'a' might be deleted, so get the next object while 'a' is valid*/ - a_next = lv_ll_get_next(&anim_ll, a); + bool del = false; + lv_anim_t * a; + lv_anim_t * a_next; + a = lv_ll_get_head(&anim_ll); + while(a != NULL) { + /*'a' might be deleted, so get the next object while 'a' is valid*/ + a_next = lv_ll_get_next(&anim_ll, a); - if(a->var == var && (a->fp == fp || fp == NULL)) { - lv_ll_rem(&anim_ll, a); - lv_mem_free(a); - del = true; - anim_del_global_flag = true; - } + if(a->var == var && (a->fp == fp || fp == NULL)) { + lv_ll_rem(&anim_ll, a); + lv_mem_free(a); + del = true; + } - a = a_next; - } + a = a_next; + } - return del; + return del; } /** @@ -116,14 +114,14 @@ bool lv_anim_del(void * var, lv_anim_fp_t fp) */ uint16_t lv_anim_speed_to_time(uint16_t speed, int32_t start, int32_t end) { - int32_t d = LV_MATH_ABS((int32_t) start - end); - uint16_t time = (int32_t)((int32_t)(d * 1000) / speed); + int32_t d = LV_MATH_ABS((int32_t) start - end); + uint16_t time = (int32_t)((int32_t)(d * 1000) / speed); - if(time == 0) { - time++; - } + if(time == 0) { + time++; + } - return time; + return time; } /** @@ -174,39 +172,39 @@ static void anim_task (void * param) { (void)param; - volatile uint32_t elaps; - elaps = lv_tick_elaps(last_task_run); + volatile uint32_t elaps; + elaps = lv_tick_elaps(last_task_run); - lv_anim_t * a; - lv_anim_t * a_next; - a = lv_ll_get_head(&anim_ll); - while(a != NULL) { - /*'a' might be deleted, so get the next object while 'a' is valid*/ - a_next = lv_ll_get_next(&anim_ll, a); + lv_anim_t * a; + lv_anim_t * a_next; + a = lv_ll_get_head(&anim_ll); + while(a != NULL) { + /*'a' might be deleted, so get the next object while 'a' is valid*/ + a_next = lv_ll_get_next(&anim_ll, a); - a->act_time += elaps; - if(a->act_time >= 0) { - if(a->act_time > a->time) a->act_time = a->time; + a->act_time += elaps; + if(a->act_time >= 0) { + if(a->act_time > a->time) a->act_time = a->time; - int32_t new_value; + int32_t new_value; new_value = a->path(a); - if(a->fp != NULL) a->fp(a->var, new_value); /*Apply the calculated value*/ + if(a->fp != NULL) a->fp(a->var, new_value); /*Apply the calculated value*/ - /*If the time is elapsed the animation is ready*/ - if(a->act_time >= a->time) { - bool invalid; - invalid = anim_ready_handler(a); - if(invalid != false) { - a_next = lv_ll_get_head(&anim_ll); /*a_next might be invalid if animation delete occurred*/ - } - } - } + /*If the time is elapsed the animation is ready*/ + if(a->act_time >= a->time) { + bool invalid; + invalid = anim_ready_handler(a); + if(invalid != false) { + a_next = lv_ll_get_head(&anim_ll); /*a_next might be invalid if animation delete occurred*/ + } + } + } - a = a_next; - } + a = a_next; + } - last_task_run = lv_tick_get(); + last_task_run = lv_tick_get(); } /** @@ -217,43 +215,42 @@ static void anim_task (void * param) * */ static bool anim_ready_handler(lv_anim_t * a) { - bool invalid = false; + bool invalid = false; - /*Delete the animation if - * - no repeat and no play back (simple one shot animation) - * - no repeat, play back is enabled and play back is ready */ - if((a->repeat == 0 && a->playback == 0) || - (a->repeat == 0 && a->playback == 1 && a->playback_now == 1)) { - void (*cb) (void *) = a->end_cb; - void * p = a->var; - lv_ll_rem(&anim_ll, a); - lv_mem_free(a); + /*Delete the animation if + * - no repeat and no play back (simple one shot animation) + * - no repeat, play back is enabled and play back is ready */ + if((a->repeat == 0 && a->playback == 0) || + (a->repeat == 0 && a->playback == 1 && a->playback_now == 1)) { + void (*cb) (void *) = a->end_cb; + void * p = a->var; + lv_ll_rem(&anim_ll, a); + lv_mem_free(a); - /*Call the callback function at the end*/ - /* Check if an animation is deleted in the cb function - * if yes then the caller function has to know this*/ - anim_del_global_flag = false; - if(cb != NULL) cb(p); - invalid = anim_del_global_flag; - } - /*If the animation is not deleted then restart it*/ - else { - a->act_time = - a->repeat_pause; /*Restart the animation*/ - /*Swap the start and end values in play back mode*/ - if(a->playback != 0) { - /*If now turning back use the 'playback_pause*/ - if(a->playback_now == 0) a->act_time = - a->playback_pause; + /*Call the callback function at the end*/ + /* Check if an animation is deleted in the cb function + * if yes then the caller function has to know this*/ + if(cb != NULL) cb(p); + invalid = true; + } + /*If the animation is not deleted then restart it*/ + else { + a->act_time = - a->repeat_pause; /*Restart the animation*/ + /*Swap the start and end values in play back mode*/ + if(a->playback != 0) { + /*If now turning back use the 'playback_pause*/ + if(a->playback_now == 0) a->act_time = - a->playback_pause; - /*Toggle the play back state*/ - a->playback_now = a->playback_now == 0 ? 1: 0; - /*Swap the start and end values*/ - int32_t tmp; - tmp = a->start; - a->start = a->end; - a->end = tmp; - } - } + /*Toggle the play back state*/ + a->playback_now = a->playback_now == 0 ? 1: 0; + /*Swap the start and end values*/ + int32_t tmp; + tmp = a->start; + a->start = a->end; + a->end = tmp; + } + } - return invalid; + return invalid; } #endif