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 |
}
|