1 | //Main*****************
|
2 | #include <lvgl.h>
|
3 | #include "Arduino.h"
|
4 | #include "display.h"
|
5 | #include "lv_example_meter.h"
|
6 |
|
7 | Display screen;
|
8 |
|
9 | void setup() {
|
10 | Serial.begin(9600);
|
11 |
|
12 | /* Nastroiki displaja i touch */
|
13 | screen.init();
|
14 | screen.calibrovkatouch();
|
15 |
|
16 | /* Test bibleoteki lvgl version */
|
17 | String LVGL_Arduino = "Hello Arduino! ";
|
18 | LVGL_Arduino += String('V') + lv_version_major() + "." + lv_version_minor() + "." + lv_version_patch();
|
19 | Serial.println(LVGL_Arduino);
|
20 | Serial.println("I am LVGL_Arduino");
|
21 | Serial.println("Setup done");
|
22 |
|
23 | /* Podprograma Meter */
|
24 |
|
25 | lv_example_meter_2();
|
26 | }
|
27 |
|
28 | void loop() {
|
29 | screen.routine();
|
30 | delay(5);
|
31 |
|
32 | }
|
33 | //LV EXAMPEL.H********************
|
34 | #ifndef __LV_EXAMPLE_METER_H
|
35 | #define __LV_EXAMPLE_METER_H
|
36 |
|
37 | void lv_example_meter_1(void);
|
38 | void lv_example_meter_2(void);
|
39 | void lv_example_meter_3(void);
|
40 | void lv_example_meter_4(void);
|
41 |
|
42 | #endif
|
43 |
|
44 | //LV EXAMPEL.CPP***************
|
45 | #include "lvgl.h"
|
46 | #include "lv_example_meter.h"
|
47 | /*************** Example 2 ****************************/
|
48 | static void set_value_2(void * indic, int32_t v)
|
49 | {
|
50 | lv_meter_set_indicator_end_value(meter, (lv_meter_indicator_t*)indic, v);
|
51 | }
|
52 | /**
|
53 | * A meter with multiple arcs
|
54 | */
|
55 | void lv_example_meter_2(void)
|
56 | {
|
57 | meter = lv_meter_create(lv_scr_act());
|
58 | lv_obj_center(meter);
|
59 | lv_obj_set_size(meter, 200, 200);
|
60 |
|
61 | /Remove the circle from the middle/
|
62 | lv_obj_remove_style(meter, NULL, LV_PART_INDICATOR);
|
63 |
|
64 | /Add a scale first/
|
65 | lv_meter_scale_t * scale = lv_meter_add_scale(meter);
|
66 | lv_meter_set_scale_ticks(meter, scale, 11, 2, 10, lv_palette_main(LV_PALETTE_GREY));
|
67 | lv_meter_set_scale_major_ticks(meter, scale, 1, 2, 30, lv_color_hex3(0xeee), 15);
|
68 | lv_meter_set_scale_range(meter, scale, 0, 50, 270, 90);
|
69 |
|
70 | /Add a three arc indicator/
|
71 | lv_meter_indicator_t * indic1 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_RED), 0);
|
72 | lv_meter_indicator_t * indic2 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_GREEN), -10);
|
73 | lv_meter_indicator_t * indic3 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_BLUE), -20);
|
74 |
|
75 | /Create an animation to set the value/
|
76 | lv_anim_t a;
|
77 | lv_anim_init(&a);
|
78 | lv_anim_set_exec_cb(&a, set_value_2);
|
79 | lv_anim_set_values(&a, 0, 100);
|
80 | lv_anim_set_repeat_delay(&a, 100);
|
81 | lv_anim_set_playback_delay(&a, 100);
|
82 | lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
|
83 |
|
84 | lv_anim_set_time(&a, 2000);
|
85 | lv_anim_set_playback_time(&a, 500);
|
86 | lv_anim_set_var(&a, indic1);
|
87 | lv_anim_start(&a);
|
88 |
|
89 | lv_anim_set_time(&a, 1000);
|
90 | lv_anim_set_playback_time(&a, 1000);
|
91 | lv_anim_set_var(&a, indic2);
|
92 | lv_anim_start(&a);
|
93 |
|
94 | lv_anim_set_time(&a, 1000);
|
95 | lv_anim_set_playback_time(&a, 2000);
|
96 | lv_anim_set_var(&a, indic3);
|
97 | lv_anim_start(&a);
|
98 | }
|