From 9472d0d0c7e601e92b6ded005605004e2dfb35c4 Mon Sep 17 00:00:00 2001 From: Jan Van Winkel Date: Sun, 3 Nov 2019 14:43:26 +0100 Subject: [PATCH 1/4] Added missing lv_indev.h includes (#1251) --- lvgl.h | 1 + src/lv_objx/lv_slider.c | 1 + src/lv_objx/lv_sw.c | 1 + 3 files changed, 3 insertions(+) diff --git a/lvgl.h b/lvgl.h index b6e29b61b..8344953f8 100644 --- a/lvgl.h +++ b/lvgl.h @@ -25,6 +25,7 @@ extern "C" { #include "src/lv_core/lv_obj.h" #include "src/lv_core/lv_group.h" +#include "src/lv_core/lv_indev.h" #include "src/lv_core/lv_refr.h" #include "src/lv_core/lv_disp.h" diff --git a/src/lv_objx/lv_slider.c b/src/lv_objx/lv_slider.c index a7fb4333b..a1624e37f 100644 --- a/src/lv_objx/lv_slider.c +++ b/src/lv_objx/lv_slider.c @@ -11,6 +11,7 @@ #if LV_USE_SLIDER != 0 #include "../lv_core/lv_group.h" +#include "../lv_core/lv_indev.h" #include "../lv_draw/lv_draw.h" #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_math.h" diff --git a/src/lv_objx/lv_sw.c b/src/lv_objx/lv_sw.c index 80854b0a0..c710dbc65 100644 --- a/src/lv_objx/lv_sw.c +++ b/src/lv_objx/lv_sw.c @@ -17,6 +17,7 @@ #include "../lv_themes/lv_theme.h" #include "../lv_misc/lv_math.h" +#include "../lv_core/lv_indev.h" /********************* * DEFINES From 74254975cddbd90911f44bb77d70eb64e9899728 Mon Sep 17 00:00:00 2001 From: Maximilian Schwab Date: Wed, 6 Nov 2019 01:40:22 +0100 Subject: [PATCH 2/4] Update comment for logging callback (#1255) Changed lv_log_register_print to lv_log_register_print_cb --- lv_conf_template.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lv_conf_template.h b/lv_conf_template.h index 08e9beb9e..707e4a238 100644 --- a/lv_conf_template.h +++ b/lv_conf_template.h @@ -225,7 +225,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i # define LV_LOG_LEVEL LV_LOG_LEVEL_WARN /* 1: Print the log with 'printf'; - * 0: user need to register a callback with `lv_log_register_print`*/ + * 0: user need to register a callback with `lv_log_register_print_cb`*/ # define LV_LOG_PRINTF 0 #endif /*LV_USE_LOG*/ From 3cd2120b60983a6cc6c34c55910d7115cdfe126f Mon Sep 17 00:00:00 2001 From: Mattia Maldini Date: Tue, 12 Nov 2019 13:07:26 +0100 Subject: [PATCH 3/4] Added rotation feature to the lmeter --- src/lv_objx/lv_lmeter.c | 17 ++++++++++++++++- src/lv_objx/lv_lmeter.h | 8 ++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/lv_objx/lv_lmeter.c b/src/lv_objx/lv_lmeter.c index 78f7a8e61..b77211009 100644 --- a/src/lv_objx/lv_lmeter.c +++ b/src/lv_objx/lv_lmeter.c @@ -168,6 +168,21 @@ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) lv_obj_invalidate(lmeter); } +/** + * Set the rotation settings of a line meter + * @param lmeter pointer to a line meter object + * @param angle angle of rotation (relative to the northen axis) + */ +void lv_lmeter_set_rotation(lv_obj_t * lmeter, uint16_t angle) +{ + lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); + if(ext->rotation == angle) return; + + ext->rotation = angle; + + lv_obj_invalidate(lmeter); +} + /*===================== * Getter functions *====================*/ @@ -268,7 +283,7 @@ static bool lv_lmeter_design(lv_obj_t * lmeter, const lv_area_t * mask, lv_desig lv_coord_t x_ofs = lv_obj_get_width(lmeter) / 2 + lmeter->coords.x1; lv_coord_t y_ofs = lv_obj_get_height(lmeter) / 2 + lmeter->coords.y1; - int16_t angle_ofs = 90 + (360 - ext->scale_angle) / 2; + int16_t angle_ofs = ext->rotation + 90 + (360 - ext->scale_angle) / 2; int16_t level = (int32_t)((int32_t)(ext->cur_value - ext->min_value) * ext->line_cnt) / (ext->max_value - ext->min_value); uint8_t i; diff --git a/src/lv_objx/lv_lmeter.h b/src/lv_objx/lv_lmeter.h index e1a70a64f..ea7c08236 100644 --- a/src/lv_objx/lv_lmeter.h +++ b/src/lv_objx/lv_lmeter.h @@ -36,6 +36,7 @@ typedef struct /*No inherited ext.*/ /*Ext. of ancestor*/ /*New data for this type */ uint16_t scale_angle; /*Angle of the scale in deg. (0..360)*/ + uint16_t rotation; uint8_t line_cnt; /*Count of lines */ int16_t cur_value; int16_t min_value; @@ -88,6 +89,13 @@ void lv_lmeter_set_range(lv_obj_t * lmeter, int16_t min, int16_t max); */ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt); +/** + * Set the rotation settings of a line meter + * @param lmeter pointer to a line meter object + * @param angle angle of rotation (relative to the northen axis) + */ +void lv_lmeter_set_rotation(lv_obj_t * lmeter, uint16_t angle); + /** * Set the styles of a line meter * @param lmeter pointer to a line meter object From b7c3732da73b5a0dd6c5dd33ef65f734d171d5cb Mon Sep 17 00:00:00 2001 From: Mattia Maldini Date: Tue, 12 Nov 2019 16:14:18 +0100 Subject: [PATCH 4/4] Different wording --- src/lv_objx/lv_lmeter.c | 12 ++++++------ src/lv_objx/lv_lmeter.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lv_objx/lv_lmeter.c b/src/lv_objx/lv_lmeter.c index b77211009..6e23f24ae 100644 --- a/src/lv_objx/lv_lmeter.c +++ b/src/lv_objx/lv_lmeter.c @@ -169,16 +169,16 @@ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt) } /** - * Set the rotation settings of a line meter + * Set the angle settings of a line meter * @param lmeter pointer to a line meter object - * @param angle angle of rotation (relative to the northen axis) + * @param angle angle where the meter will be facing (with its center) */ -void lv_lmeter_set_rotation(lv_obj_t * lmeter, uint16_t angle) +void lv_lmeter_set_angle(lv_obj_t * lmeter, uint16_t angle) { lv_lmeter_ext_t * ext = lv_obj_get_ext_attr(lmeter); - if(ext->rotation == angle) return; + if(ext->angle == angle) return; - ext->rotation = angle; + ext->angle = angle; lv_obj_invalidate(lmeter); } @@ -283,7 +283,7 @@ static bool lv_lmeter_design(lv_obj_t * lmeter, const lv_area_t * mask, lv_desig lv_coord_t x_ofs = lv_obj_get_width(lmeter) / 2 + lmeter->coords.x1; lv_coord_t y_ofs = lv_obj_get_height(lmeter) / 2 + lmeter->coords.y1; - int16_t angle_ofs = ext->rotation + 90 + (360 - ext->scale_angle) / 2; + int16_t angle_ofs = ext->angle + 90 + (360 - ext->scale_angle) / 2; int16_t level = (int32_t)((int32_t)(ext->cur_value - ext->min_value) * ext->line_cnt) / (ext->max_value - ext->min_value); uint8_t i; diff --git a/src/lv_objx/lv_lmeter.h b/src/lv_objx/lv_lmeter.h index ea7c08236..49d662819 100644 --- a/src/lv_objx/lv_lmeter.h +++ b/src/lv_objx/lv_lmeter.h @@ -36,7 +36,7 @@ typedef struct /*No inherited ext.*/ /*Ext. of ancestor*/ /*New data for this type */ uint16_t scale_angle; /*Angle of the scale in deg. (0..360)*/ - uint16_t rotation; + uint16_t angle; uint8_t line_cnt; /*Count of lines */ int16_t cur_value; int16_t min_value; @@ -94,7 +94,7 @@ void lv_lmeter_set_scale(lv_obj_t * lmeter, uint16_t angle, uint8_t line_cnt); * @param lmeter pointer to a line meter object * @param angle angle of rotation (relative to the northen axis) */ -void lv_lmeter_set_rotation(lv_obj_t * lmeter, uint16_t angle); +void lv_lmeter_set_angle(lv_obj_t * lmeter, uint16_t angle); /** * Set the styles of a line meter