refactor(chart): add 'series' keyword in value setters/getters for consistency

This commit is contained in:
Gabor Kiss-Vamosi
2025-01-13 22:07:16 +01:00
parent 9cc9e7b503
commit 5f2888d93a
21 changed files with 102 additions and 57 deletions

View File

@@ -435,16 +435,16 @@ static void chart_mode_observer_cb(lv_observer_t * observer, lv_subject_t * subj
switch(lv_subject_get_int(&subject_mode)) { switch(lv_subject_get_int(&subject_mode)) {
case MODE_AVG_SPEED: case MODE_AVG_SPEED:
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 30); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 30);
lv_chart_set_ext_y_array(chart, ser, avg_speed_values); lv_chart_set_series_ext_y_array(chart, ser, avg_speed_values);
break; break;
case MODE_TOP_SPEED: case MODE_TOP_SPEED:
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 50); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 50);
lv_chart_set_ext_y_array(chart, ser, top_speed_values); lv_chart_set_series_ext_y_array(chart, ser, top_speed_values);
break; break;
case MODE_DISTANCE: case MODE_DISTANCE:
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 90); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 90);
lv_chart_set_ext_y_array(chart, ser, distance_values); lv_chart_set_series_ext_y_array(chart, ser, distance_values);
break; break;
default: default:
break; break;

View File

@@ -374,7 +374,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_pad_all(chart, 0, 0); lv_obj_set_style_pad_all(chart, 0, 0);
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1); lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
lv_chart_set_type(chart, LV_CHART_TYPE_BAR); lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 96); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 96);
lv_chart_set_div_line_count(chart, 3, 0); lv_chart_set_div_line_count(chart, 3, 0);
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0); lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
lv_obj_set_style_line_color(chart, lv_color_black(), 0); lv_obj_set_style_line_color(chart, lv_color_black(), 0);
@@ -382,7 +382,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_line_dash_gap(chart, 1, 0); lv_obj_set_style_line_dash_gap(chart, 1, 0);
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y); lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
static const int32_t chart_values[] = {45, 14, 78, 95, 45, 52, 78, 34, 63, 52, 38, 83, 63, 19, LV_CHART_POINT_NONE}; static const int32_t chart_values[] = {45, 14, 78, 95, 45, 52, 78, 34, 63, 52, 38, 83, 63, 19, LV_CHART_POINT_NONE};
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values); lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values)); lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
lv_chart_refresh(chart); lv_chart_refresh(chart);

View File

@@ -460,7 +460,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1); lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
lv_chart_set_type(chart, LV_CHART_TYPE_BAR); lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 101); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 101);
lv_chart_set_div_line_count(chart, 3, 0); lv_chart_set_div_line_count(chart, 3, 0);
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0); lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
lv_obj_set_style_line_color(chart, lv_color_black(), 0); lv_obj_set_style_line_color(chart, lv_color_black(), 0);
@@ -468,7 +468,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_line_dash_gap(chart, 1, 0); lv_obj_set_style_line_dash_gap(chart, 1, 0);
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y); lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
static const int32_t chart_values[] = {45, 14, 45, 52, 69, 52, 63}; static const int32_t chart_values[] = {45, 14, 45, 52, 69, 52, 63};
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values); lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values)); lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
lv_chart_refresh(chart); lv_chart_refresh(chart);
@@ -565,7 +565,7 @@ static void widget3_chart_selected_day_observer_cb(lv_observer_t * observer, lv_
lv_obj_add_event_cb(chart, widget3_chart_free_anim_values, LV_EVENT_DELETE, NULL); lv_obj_add_event_cb(chart, widget3_chart_free_anim_values, LV_EVENT_DELETE, NULL);
lv_chart_series_t * ser = lv_chart_get_series_next(chart, NULL); lv_chart_series_t * ser = lv_chart_get_series_next(chart, NULL);
lv_chart_set_ext_y_array(chart, ser, anim_values->current); lv_chart_set_series_ext_y_array(chart, ser, anim_values->current);
} }
lv_memcpy(anim_values->start, anim_values->current, sizeof(anim_values->current)); lv_memcpy(anim_values->start, anim_values->current, sizeof(anim_values->current));
@@ -651,7 +651,7 @@ static void create_widget3(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_pad_all(chart, 5, 0); lv_obj_set_style_pad_all(chart, 5, 0);
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1); lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
lv_chart_set_type(chart, LV_CHART_TYPE_BAR); lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, -125, 125); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, -125, 125);
lv_chart_set_div_line_count(chart, 3, 0); lv_chart_set_div_line_count(chart, 3, 0);
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0); lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
lv_obj_set_style_line_color(chart, lv_color_black(), 0); lv_obj_set_style_line_color(chart, lv_color_black(), 0);

View File

@@ -183,7 +183,7 @@ static void create_widget1(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_pad_all(chart, 0, 0); lv_obj_set_style_pad_all(chart, 0, 0);
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1); lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
lv_chart_set_type(chart, LV_CHART_TYPE_BAR); lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 109); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 109);
lv_chart_set_div_line_count(chart, 3, 0); lv_chart_set_div_line_count(chart, 3, 0);
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0); lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
lv_obj_set_style_line_color(chart, lv_color_black(), 0); lv_obj_set_style_line_color(chart, lv_color_black(), 0);
@@ -191,7 +191,7 @@ static void create_widget1(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
lv_obj_set_style_line_dash_gap(chart, 1, 0); lv_obj_set_style_line_dash_gap(chart, 1, 0);
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y); lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
static const int32_t chart_values[] = {14, 95, 52, 34, 52, 83, 19}; static const int32_t chart_values[] = {14, 95, 52, 34, 52, 83, 19};
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values); lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values)); lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
lv_chart_refresh(chart); lv_chart_refresh(chart);

View File

@@ -1505,7 +1505,7 @@ static void chart_event_cb(lv_event_t * e)
} }
char buf[8]; char buf[8];
lv_snprintf(buf, sizeof(buf), "%"LV_PRId32, lv_chart_get_y_array(obj, (lv_chart_series_t *)ser)[base_dsc->id2]); lv_snprintf(buf, sizeof(buf), "%"LV_PRId32, lv_chart_get_series_y_array(obj, (lv_chart_series_t *)ser)[base_dsc->id2]);
lv_point_t text_size; lv_point_t text_size;
lv_text_get_size(&text_size, buf, font_normal, 0, 0, LV_COORD_MAX, LV_TEXT_FLAG_NONE); lv_text_get_size(&text_size, buf, font_normal, 0, 0, LV_COORD_MAX, LV_TEXT_FLAG_NONE);

View File

@@ -186,7 +186,7 @@ When adding a data series to a SCATTER chart, bit-wise OR your selected Y axis
If you wish to have the chart use your own Y-value array instead of the one provided, If you wish to have the chart use your own Y-value array instead of the one provided,
you can do so with you can do so with
:cpp:expr:`lv_chart_set_ext_y_array(chart, series, value_array)`. :cpp:expr:`lv_chart_set_series_ext_y_array(chart, series, value_array)`.
You are responsible for ensuring the array you provide contains at least You are responsible for ensuring the array you provide contains at least
``chart->point_cnt`` elements in it. ``chart->point_cnt`` elements in it.
@@ -204,13 +204,13 @@ allocated.
for more information about these functions. for more information about these functions.
A pointer to the Y-value array of a series can be obtained with A pointer to the Y-value array of a series can be obtained with
:cpp:expr:`lv_chart_get_y_array(chart, series)`. This is true whether you are using :cpp:expr:`lv_chart_get_series_y_array(chart, series)`. This is true whether you are using
the provided Y-value array or provided your own. the provided Y-value array or provided your own.
For SCATTER-type charts, For SCATTER-type charts,
- :cpp:expr:`lv_chart_set_ext_x_array(chart, series, value_array)` and - :cpp:expr:`lv_chart_set_series_ext_x_array(chart, series, value_array)` and
- :cpp:expr:`lv_chart_get_x_array(chart, series)` - :cpp:expr:`lv_chart_get_series_x_array(chart, series)`
can be used as well. can be used as well.
@@ -221,7 +221,7 @@ You have several options to set the Y-values for a data series:
1. Set the values programmatically in the array like ``ser1->points[3] = 7`` and refresh the 1. Set the values programmatically in the array like ``ser1->points[3] = 7`` and refresh the
chart with :cpp:expr:`lv_chart_refresh(chart)`. chart with :cpp:expr:`lv_chart_refresh(chart)`.
2. Use :cpp:expr:`lv_chart_set_value_by_id(chart, series, id, value)` where ``id`` is 2. Use :cpp:expr:`lv_chart_set_series_value_by_id(chart, series, id, value)` where ``id`` is
the zero-based index of the point you wish to update. the zero-based index of the point you wish to update.
3. Use :cpp:expr:`lv_chart_set_next_value(chart, series, value)`. 3. Use :cpp:expr:`lv_chart_set_next_value(chart, series, value)`.
(See `Update modes`_ below.) (See `Update modes`_ below.)
@@ -232,7 +232,7 @@ that point, column, or scatter-point.
For SCATTER-type charts, For SCATTER-type charts,
- :cpp:expr:`lv_chart_set_value_by_id2(chart, series, id, x_value, y_value)` and - :cpp:expr:`lv_chart_set_series_value_by_id2(chart, series, id, x_value, y_value)` and
- :cpp:expr:`lv_chart_set_next_value2(chart, series, x_value, y_value)` - :cpp:expr:`lv_chart_set_next_value2(chart, series, x_value, y_value)`
can be used as well. can be used as well.
@@ -274,7 +274,7 @@ Vertical range
-------------- --------------
You can specify the minimum and maximum values in Y-direction with You can specify the minimum and maximum values in Y-direction with
:cpp:expr:`lv_chart_set_range(chart, axis, min, max)`. ``axis`` can be :cpp:expr:`lv_chart_set_axis_range(chart, axis, min, max)`. ``axis`` can be
:cpp:enumerator:`LV_CHART_AXIS_PRIMARY_Y` (left Y axis) or :cpp:enumerator:`LV_CHART_AXIS_PRIMARY_Y` (left Y axis) or
:cpp:enumerator:`LV_CHART_AXIS_SECONDARY_Y` (right Y axis). :cpp:enumerator:`LV_CHART_AXIS_SECONDARY_Y` (right Y axis).

View File

@@ -78,7 +78,7 @@ static void refer_chart_cubic_bezier(void)
for(uint16_t i = 0; i <= CHART_POINTS_NUM; i ++) { for(uint16_t i = 0; i <= CHART_POINTS_NUM; i ++) {
uint32_t t = i * (1024 / CHART_POINTS_NUM); uint32_t t = i * (1024 / CHART_POINTS_NUM);
int32_t step = lv_bezier3(t, 0, ginfo.p1, ginfo.p2, 1024); int32_t step = lv_bezier3(t, 0, ginfo.p1, ginfo.p2, 1024);
lv_chart_set_value_by_id2(ginfo.chart, ginfo.ser1, i, t, step); lv_chart_set_series_value_by_id2(ginfo.chart, ginfo.ser1, i, t, step);
} }
lv_chart_refresh(ginfo.chart); lv_chart_refresh(ginfo.chart);
} }
@@ -156,8 +156,8 @@ static void page_obj_init(lv_obj_t * par)
lv_obj_set_style_size(ginfo.chart, 0, 0, LV_PART_INDICATOR); lv_obj_set_style_size(ginfo.chart, 0, 0, LV_PART_INDICATOR);
lv_chart_set_type(ginfo.chart, LV_CHART_TYPE_SCATTER); lv_chart_set_type(ginfo.chart, LV_CHART_TYPE_SCATTER);
ginfo.ser1 = lv_chart_add_series(ginfo.chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_PRIMARY_Y); ginfo.ser1 = lv_chart_add_series(ginfo.chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_PRIMARY_Y);
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1024); lv_chart_set_axis_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1024);
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_X, 0, 1024); lv_chart_set_axis_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_X, 0, 1024);
lv_chart_set_point_count(ginfo.chart, CHART_POINTS_NUM); lv_chart_set_point_count(ginfo.chart, CHART_POINTS_NUM);
lv_obj_set_grid_cell(ginfo.chart, LV_GRID_ALIGN_STRETCH, 0, 3, LV_GRID_ALIGN_STRETCH, 3, 1); lv_obj_set_grid_cell(ginfo.chart, LV_GRID_ALIGN_STRETCH, 0, 3, LV_GRID_ALIGN_STRETCH, 3, 1);
} }

View File

@@ -16,7 +16,7 @@ void lv_example_chart_1(void)
/*Add two data series*/ /*Add two data series*/
lv_chart_series_t * ser1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), LV_CHART_AXIS_PRIMARY_Y); lv_chart_series_t * ser1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), LV_CHART_AXIS_PRIMARY_Y);
lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_SECONDARY_Y); lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_SECONDARY_Y);
int32_t * ser2_y_points = lv_chart_get_y_array(chart, ser2); int32_t * ser2_y_points = lv_chart_get_series_y_array(chart, ser2);
uint32_t i; uint32_t i;
for(i = 0; i < 10; i++) { for(i = 0; i < 10; i++) {

View File

@@ -24,8 +24,8 @@ void lv_example_chart_2(void)
lv_obj_set_width(chart, lv_pct(100)); lv_obj_set_width(chart, lv_pct(100));
lv_obj_set_flex_grow(chart, 1); lv_obj_set_flex_grow(chart, 1);
lv_chart_set_type(chart, LV_CHART_TYPE_BAR); lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 100); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 100);
lv_chart_set_range(chart, LV_CHART_AXIS_SECONDARY_Y, 0, 400); lv_chart_set_axis_range(chart, LV_CHART_AXIS_SECONDARY_Y, 0, 400);
lv_chart_set_point_count(chart, 12); lv_chart_set_point_count(chart, 12);
lv_obj_set_style_radius(chart, 0, 0); lv_obj_set_style_radius(chart, 0, 0);

View File

@@ -24,7 +24,7 @@ static void event_cb(lv_event_t * e)
lv_point_t p; lv_point_t p;
lv_chart_get_point_pos_by_id(chart, ser, id, &p); lv_chart_get_point_pos_by_id(chart, ser, id, &p);
int32_t * y_array = lv_chart_get_y_array(chart, ser); int32_t * y_array = lv_chart_get_series_y_array(chart, ser);
int32_t value = y_array[id]; int32_t value = y_array[id];
/*Draw a rectangle above the clicked point*/ /*Draw a rectangle above the clicked point*/

View File

@@ -14,7 +14,7 @@ static void draw_event_cb(lv_event_t * e)
lv_draw_fill_dsc_t * fill_dsc = lv_draw_task_get_fill_dsc(draw_task); lv_draw_fill_dsc_t * fill_dsc = lv_draw_task_get_fill_dsc(draw_task);
if(fill_dsc) { if(fill_dsc) {
lv_obj_t * chart = lv_event_get_target(e); lv_obj_t * chart = lv_event_get_target(e);
int32_t * y_array = lv_chart_get_y_array(chart, lv_chart_get_series_next(chart, NULL)); int32_t * y_array = lv_chart_get_series_y_array(chart, lv_chart_get_series_next(chart, NULL));
int32_t v = y_array[base_dsc->id2]; int32_t v = y_array[base_dsc->id2];
uint32_t ratio = v * 255 / 100; uint32_t ratio = v * 255 / 100;

View File

@@ -15,8 +15,8 @@ static void draw_event_cb(lv_event_t * e)
rect_draw_dsc->bg_opa = (LV_OPA_COVER * base_dsc->id2) / (cnt - 1); rect_draw_dsc->bg_opa = (LV_OPA_COVER * base_dsc->id2) / (cnt - 1);
/*Make smaller values blue, higher values red*/ /*Make smaller values blue, higher values red*/
int32_t * x_array = lv_chart_get_x_array(obj, ser); int32_t * x_array = lv_chart_get_series_x_array(obj, ser);
int32_t * y_array = lv_chart_get_y_array(obj, ser); int32_t * y_array = lv_chart_get_series_y_array(obj, ser);
/*dsc->id is the tells drawing order, but we need the ID of the point being drawn.*/ /*dsc->id is the tells drawing order, but we need the ID of the point being drawn.*/
uint32_t start_point = lv_chart_get_x_start_point(obj, ser); uint32_t start_point = lv_chart_get_x_start_point(obj, ser);
uint32_t p_act = (start_point + base_dsc->id2) % cnt; /*Consider start point to get the index of the array*/ uint32_t p_act = (start_point + base_dsc->id2) % cnt; /*Consider start point to get the index of the array*/
@@ -49,8 +49,8 @@ void lv_example_chart_7(void)
lv_chart_set_type(chart, LV_CHART_TYPE_SCATTER); lv_chart_set_type(chart, LV_CHART_TYPE_SCATTER);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_X, 0, 200); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_X, 0, 200);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1000); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1000);
lv_chart_set_point_count(chart, 50); lv_chart_set_point_count(chart, 50);

View File

@@ -10,7 +10,7 @@ static void add_data(lv_timer_t * t)
uint16_t p = lv_chart_get_point_count(chart); uint16_t p = lv_chart_get_point_count(chart);
uint16_t s = lv_chart_get_x_start_point(chart, ser); uint16_t s = lv_chart_get_x_start_point(chart, ser);
int32_t * a = lv_chart_get_y_array(chart, ser); int32_t * a = lv_chart_get_series_y_array(chart, ser);
a[(s + 1) % p] = LV_CHART_POINT_NONE; a[(s + 1) % p] = LV_CHART_POINT_NONE;
a[(s + 2) % p] = LV_CHART_POINT_NONE; a[(s + 2) % p] = LV_CHART_POINT_NONE;

View File

@@ -80,6 +80,12 @@ extern "C" {
#define _lv_inv_area lv_inv_area #define _lv_inv_area lv_inv_area
#define lv_chart_set_all_value lv_chart_set_all_values #define lv_chart_set_all_value lv_chart_set_all_values
#define lv_calendar_set_showed_date lv_calendar_set_month_shown #define lv_calendar_set_showed_date lv_calendar_set_month_shown
#define lv_chart_set_range lv_chart_set_axis_range
#define lv_chart_set_value_by_id lv_chart_set_series_value_by_id
#define lv_chart_get_x_array lv_chart_get_series_x_array
#define lv_chart_get_y_array lv_chart_get_series_y_array
#define lv_chart_set_ext_x_array lv_chart_set_series_ext_x_array
#define lv_chart_set_ext_y_array lv_chart_set_series_ext_y_array
#if defined(LV_FS_DEFAULT_DRIVE_LETTER) #if defined(LV_FS_DEFAULT_DRIVE_LETTER)
#warning LV_FS_DEFAULT_DRIVE_LETTER is deprecated. Rename to LV_FS_DEFAULT_DRIVER_LETTER #warning LV_FS_DEFAULT_DRIVE_LETTER is deprecated. Rename to LV_FS_DEFAULT_DRIVER_LETTER

View File

@@ -155,7 +155,7 @@ void lv_xml_chart_axis_apply(lv_xml_parser_state_t * state, const char ** attrs)
if(lv_streq("range", name)) { if(lv_streq("range", name)) {
int32_t min_val = lv_xml_atoi_split(&value, ' '); int32_t min_val = lv_xml_atoi_split(&value, ' ');
int32_t max_val = lv_xml_atoi_split(&value, ' '); int32_t max_val = lv_xml_atoi_split(&value, ' ');
lv_chart_set_range(chart, axis, min_val, max_val); lv_chart_set_axis_range(chart, axis, min_val, max_val);
} }
} }
} }

View File

@@ -129,7 +129,7 @@ void lv_chart_set_point_count(lv_obj_t * obj, uint32_t cnt)
lv_chart_refresh(obj); lv_chart_refresh(obj);
} }
void lv_chart_set_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max) void lv_chart_set_axis_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max)
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -493,6 +493,7 @@ void lv_chart_set_all_values(lv_obj_t * obj, lv_chart_series_t * ser, int32_t va
lv_chart_refresh(obj); lv_chart_refresh(obj);
} }
void lv_chart_set_next_value(lv_obj_t * obj, lv_chart_series_t * ser, int32_t value) void lv_chart_set_next_value(lv_obj_t * obj, lv_chart_series_t * ser, int32_t value)
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -523,7 +524,25 @@ void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x
invalidate_point(obj, ser->start_point); invalidate_point(obj, ser->start_point);
} }
void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value) void lv_chart_set_series_values(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t values[], size_t values_cnt)
{
size_t i;
for(i = 0; i < values_cnt; i++) {
lv_chart_set_next_value(obj, ser, values[i]);
}
}
void lv_chart_set_series_values2(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t x_values[],
const int32_t y_values[], size_t values_cnt)
{
size_t i;
for(i = 0; i < values_cnt; i++) {
lv_chart_set_next_value2(obj, ser, x_values[i], y_values[i]);
}
}
void lv_chart_set_series_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value)
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
LV_ASSERT_NULL(ser); LV_ASSERT_NULL(ser);
@@ -534,7 +553,7 @@ void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
invalidate_point(obj, id); invalidate_point(obj, id);
} }
void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value, void lv_chart_set_series_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
int32_t y_value) int32_t y_value)
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -552,7 +571,7 @@ void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
invalidate_point(obj, id); invalidate_point(obj, id);
} }
void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]) void lv_chart_set_series_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
LV_ASSERT_NULL(ser); LV_ASSERT_NULL(ser);
@@ -563,7 +582,7 @@ void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
lv_obj_invalidate(obj); lv_obj_invalidate(obj);
} }
void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]) void lv_chart_set_series_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
{ {
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
LV_ASSERT_NULL(ser); LV_ASSERT_NULL(ser);
@@ -574,7 +593,7 @@ void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
lv_obj_invalidate(obj); lv_obj_invalidate(obj);
} }
int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser) int32_t * lv_chart_get_series_y_array(const lv_obj_t * obj, lv_chart_series_t * ser)
{ {
LV_UNUSED(obj); LV_UNUSED(obj);
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);
@@ -582,7 +601,7 @@ int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser)
return ser->y_points; return ser->y_points;
} }
int32_t * lv_chart_get_x_array(const lv_obj_t * obj, lv_chart_series_t * ser) int32_t * lv_chart_get_series_x_array(const lv_obj_t * obj, lv_chart_series_t * ser)
{ {
LV_UNUSED(obj); LV_UNUSED(obj);
LV_ASSERT_OBJ(obj, MY_CLASS); LV_ASSERT_OBJ(obj, MY_CLASS);

View File

@@ -92,7 +92,7 @@ void lv_chart_set_point_count(lv_obj_t * obj, uint32_t cnt);
* @param min minimum value of the y axis * @param min minimum value of the y axis
* @param max maximum value of the y axis * @param max maximum value of the y axis
*/ */
void lv_chart_set_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max); void lv_chart_set_axis_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max);
/** /**
* Set update mode of the chart object. Affects * Set update mode of the chart object. Affects
@@ -275,6 +275,26 @@ void lv_chart_set_next_value(lv_obj_t * obj, lv_chart_series_t * ser, int32_t va
*/ */
void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x_value, int32_t y_value); void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x_value, int32_t y_value);
/**
* Same as `lv_chart_set_next_value` but set the values from an array
* @param obj pointer to chart object
* @param ser pointer to a data series on 'chart'
* @param values the new values to set
* @param values_cnt number of items in `values`
*/
void lv_chart_set_series_values(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t values[], size_t values_cnt);
/**
* Same as `lv_chart_set_next_value2` but set the values from an array
* @param obj pointer to chart object
* @param ser pointer to a data series on 'chart'
* @param x_values the new values to set on the X axis
* @param y_values the new values to set o nthe Y axis
* @param values_cnt number of items in `x_values` and `y_values`
*/
void lv_chart_set_series_values2(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t x_values[],
const int32_t y_values[], size_t values_cnt);
/** /**
* Set an individual point's y value of a chart's series directly based on its index * Set an individual point's y value of a chart's series directly based on its index
* @param obj pointer to a chart object * @param obj pointer to a chart object
@@ -282,7 +302,7 @@ void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x
* @param id the index of the x point in the array * @param id the index of the x point in the array
* @param value value to assign to array point * @param value value to assign to array point
*/ */
void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value); void lv_chart_set_series_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value);
/** /**
* Set an individual point's x and y value of a chart's series directly based on its index * Set an individual point's x and y value of a chart's series directly based on its index
@@ -293,7 +313,7 @@ void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
* @param x_value the new X value of the next data * @param x_value the new X value of the next data
* @param y_value the new Y value of the next data * @param y_value the new Y value of the next data
*/ */
void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value, void lv_chart_set_series_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
int32_t y_value); int32_t y_value);
/** /**
@@ -303,7 +323,7 @@ void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
* @param ser pointer to a data series on 'chart' * @param ser pointer to a data series on 'chart'
* @param array external array of points for chart * @param array external array of points for chart
*/ */
void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]); void lv_chart_set_series_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
/** /**
* Set an external array for the x data points to use for the chart * Set an external array for the x data points to use for the chart
@@ -312,7 +332,7 @@ void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
* @param ser pointer to a data series on 'chart' * @param ser pointer to a data series on 'chart'
* @param array external array of points for chart * @param array external array of points for chart
*/ */
void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]); void lv_chart_set_series_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
/** /**
* Get the array of y values of a series * Get the array of y values of a series
@@ -320,7 +340,7 @@ void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
* @param ser pointer to a data series on 'chart' * @param ser pointer to a data series on 'chart'
* @return the array of values with 'point_count' elements * @return the array of values with 'point_count' elements
*/ */
int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser); int32_t * lv_chart_get_series_y_array(const lv_obj_t * obj, lv_chart_series_t * ser);
/** /**
* Get the array of x values of a series * Get the array of x values of a series
@@ -328,7 +348,7 @@ int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser);
* @param ser pointer to a data series on 'chart' * @param ser pointer to a data series on 'chart'
* @return the array of values with 'point_count' elements * @return the array of values with 'point_count' elements
*/ */
int32_t * lv_chart_get_x_array(const lv_obj_t * obj, lv_chart_series_t * ser); int32_t * lv_chart_get_series_x_array(const lv_obj_t * obj, lv_chart_series_t * ser);
/** /**
* Get the index of the currently pressed point. It's the same for every series. * Get the index of the currently pressed point. It's the same for every series.

View File

@@ -178,7 +178,7 @@ def create_ui():
chart_y_array = [10, 25, 50, 40, 30, 35, 60, 65, 70, 75] chart_y_array = [10, 25, 50, 40, 30, 35, 60, 65, 70, 75]
chart.set_ext_y_array(series, chart_y_array) chart.set_series_ext_y_array(series, chart_y_array)
# Add custom observer callback # Add custom observer callback
chart_type_subject.add_observer_obj( chart_type_subject.add_observer_obj(

View File

@@ -77,7 +77,7 @@ static void create_ui(void)
lv_chart_series_t * series = lv_chart_add_series(chart, c3, LV_CHART_AXIS_PRIMARY_X); lv_chart_series_t * series = lv_chart_add_series(chart, c3, LV_CHART_AXIS_PRIMARY_X);
static int32_t chart_y_array[10] = {10, 25, 50, 40, 30, 35, 60, 65, 70, 75}; static int32_t chart_y_array[10] = {10, 25, 50, 40, 30, 35, 60, 65, 70, 75};
lv_chart_set_ext_y_array(chart, series, chart_y_array); lv_chart_set_series_ext_y_array(chart, series, chart_y_array);
/*Add custom observer callback*/ /*Add custom observer callback*/
lv_subject_add_observer_obj(&chart_type_subject, chart_type_observer_cb, chart, NULL); lv_subject_add_observer_obj(&chart_type_subject, chart_type_observer_cb, chart, NULL);

View File

@@ -174,7 +174,7 @@ void test_draw_task_hooking(void)
lv_chart_series_t * chart_set1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_YELLOW), 0); lv_chart_series_t * chart_set1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_YELLOW), 0);
lv_chart_series_t * chart_set2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), 0); lv_chart_series_t * chart_set2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), 0);
lv_chart_series_t * chart_set3 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), 0); lv_chart_series_t * chart_set3 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), 0);
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 700); lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 700);
int32_t points[21] = {0, 31, 59, 81, 95, 100, 95, 81, 59, 31, 0, -31, -59, -81, -95, -100, -95, -81, -59, -31, 0}; int32_t points[21] = {0, 31, 59, 81, 95, 100, 95, 81, 59, 31, 0, -31, -59, -81, -95, -100, -95, -81, -59, -31, 0};

View File

@@ -39,13 +39,13 @@
<param name="vdiv" type="int" help=""/> <param name="vdiv" type="int" help=""/>
</prop> </prop>
<element name="series" type="custom:chart_series" access="add"> <element name="series" type="lv_chart_series" access="add">
<arg name="color" type="color" help=""/> <arg name="color" type="color" help=""/>
<arg name="axis" type="enum:lv_chart_axis+" help="The axis"/> <arg name="axis" type="enum:lv_chart_axis+" help="The axis"/>
<prop name="values" type="int[count]" help="set values from an array"/> <prop name="values" type="int[count]" help="set values from an array"/>
</element> </element>
<element name="cursor" type="custom:chart_cursor" access="add"> <element name="cursor" type="lv_chart_cursor" access="add">
<arg name="color" type="color" arg="true"/> <arg name="color" type="color" arg="true"/>
<arg name="dir" type="enum:lv_dir" arg="true"/> <arg name="dir" type="enum:lv_dir" arg="true"/>
<prop name="pos" help="position of the cursor"> <prop name="pos" help="position of the cursor">