This commit is contained in:
2022-02-02 08:02:21 +01:00
parent 5cfe330c6b
commit 85ea8d8031
3 changed files with 27 additions and 74 deletions

View File

@@ -53,4 +53,4 @@ build_flags =
lib_ldf_mode = deep+
lib_deps =
Bodmer/TFT_eSPI
lvgl@~7.11.0
lvgl@~7.11.0

View File

@@ -123,7 +123,7 @@
uint16_t touchX = i2cdat[0x05] & 0x0F;
touchX <<= 8;
touchX |= i2cdat[0x06];
uint16_t touchID = i2cdat[0x05] >> 4;
//uint16_t touchID = i2cdat[0x05] >> 4;
#ifdef TOUCHSCREEN_DEBUG
Serial.println();

View File

@@ -22,13 +22,14 @@ static lv_color_t buf[LV_HOR_RES_MAX * 10];
lv_obj_t *screenMain;
lv_obj_t *tabview;
lv_obj_t *tab1;
lv_obj_t *tab_AQS;
lv_obj_t *label;
lv_obj_t *btn1;
lv_obj_t *btn2;
lv_obj_t *tab2;
lv_obj_t *btn_calib;
lv_obj_t *tab_SET;
lv_obj_t *guage;
lv_obj_t *meter;
lv_obj_t * lmeter;
static void event_handler_btn(lv_obj_t * obj, lv_event_t event){
@@ -80,67 +81,10 @@ static void lv_tick_task(void)
lv_tick_inc(portTICK_RATE_MS);
}
// static void set_value(void * indic, int32_t v)
// {
// lv_meter_set_indicator_end_value(meter, indic, v);
// }
/**
* A meter with multiple arcs
*/
// void lv_example_meter_2(void)
// {
// meter = lv_meter_create(lv_scr_act());
// lv_obj_center(meter);
// lv_obj_set_size(meter, 200, 200);
// /*Remove the circle from the middle*/
// lv_obj_remove_style(meter, NULL, LV_PART_INDICATOR);
// /*Add a scale first*/
// lv_meter_scale_t * scale = lv_meter_add_scale(meter);
// lv_meter_set_scale_ticks(meter, scale, 11, 2, 10, lv_palette_main(LV_PALETTE_GREY));
// lv_meter_set_scale_major_ticks(meter, scale, 1, 2, 30, lv_color_hex3(0xeee), 15);
// lv_meter_set_scale_range(meter, scale, 0, 100, 270, 90);
// /*Add a three arc indicator*/
// lv_meter_indicator_t * indic1 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_RED), 0);
// lv_meter_indicator_t * indic2 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_GREEN), -10);
// lv_meter_indicator_t * indic3 = lv_meter_add_arc(meter, scale, 10, lv_palette_main(LV_PALETTE_BLUE), -20);
// /*Create an animation to set the value*/
// lv_anim_t a;
// lv_anim_init(&a);
// lv_anim_set_exec_cb(&a, set_value);
// lv_anim_set_values(&a, 0, 100);
// lv_anim_set_repeat_delay(&a, 100);
// lv_anim_set_playback_delay(&a, 100);
// lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
// lv_anim_set_time(&a, 2000);
// lv_anim_set_playback_time(&a, 500);
// lv_anim_set_var(&a, indic1);
// lv_anim_start(&a);
// lv_anim_set_time(&a, 1000);
// lv_anim_set_playback_time(&a, 1000);
// lv_anim_set_var(&a, indic2);
// lv_anim_start(&a);
// lv_anim_set_time(&a, 1000);
// lv_anim_set_playback_time(&a, 2000);
// lv_anim_set_var(&a, indic3);
// lv_anim_start(&a);
// }
void lv_gauge_2(lv_obj_t* par)
void Create_PM_guage(lv_obj_t* par)
{
/*Describe the color for the needles*/
static lv_color_t needle_colors[3];
needle_colors[0] = LV_COLOR_BLUE;
needle_colors[1] = LV_COLOR_ORANGE;
needle_colors[2] = LV_COLOR_PURPLE;
static lv_color_t needle_colors[] = {LV_COLOR_BLUE, LV_COLOR_RED, LV_COLOR_YELLOW};
LV_IMG_DECLARE(img_hand);
@@ -155,19 +99,16 @@ void lv_gauge_2(lv_obj_t* par)
/*Set the values*/
lv_gauge_set_value(guage, 0, 10);
lv_gauge_set_value(guage, 1, 20);
lv_gauge_set_value(guage, 2, 30);
}
void lv_ex_tabview(lv_obj_t* par)
{
/*Create a Tab view object*/
lv_scr_load(par);
tabview = lv_tabview_create(lv_scr_act(), NULL);
tabview = lv_tabview_create(par, NULL);
/*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/
tab1 = lv_tabview_add_tab(tabview, "Tab 1");
tab2 = lv_tabview_add_tab(tabview, "Tab 2");
tab_AQS = lv_tabview_add_tab(tabview, "AirQuality");
tab_SET = lv_tabview_add_tab(tabview, "Settings");
lv_tabview_set_anim_time(tabview,2);
}
@@ -192,6 +133,17 @@ void lv_Create_button1(lv_obj_t* par)
lv_label_set_text(label1, "Hello");
}
void lv_Create_btnCalibrate(lv_obj_t* par)
{
btn_calib = lv_btn_create(par, NULL);
lv_obj_set_event_cb(btn_calib, event_handler_btn);
lv_obj_set_width(btn_calib, 150);
lv_obj_set_height(btn_calib, 32);
lv_obj_set_pos(btn_calib, 32, 185);
lv_obj_t * label1 = lv_label_create(btn_calib, NULL);
lv_label_set_text(label1, "Calibrate");
}
void lv_Create_button2(lv_obj_t* par)
{
btn2 = lv_btn_create(par, NULL);
@@ -248,16 +200,17 @@ void setup() {
lv_ex_tabview(screenMain);
// Text
lv_Create_text(tab1);
lv_Create_text(tab_SET);
// BUtton 1
lv_Create_button1(tab1);
lv_Create_button1(tab_SET);
lv_Create_btnCalibrate(tab_SET);
// Button 2
lv_Create_button2(tab1);
lv_Create_button2(tab_SET);
lv_gauge_2(tab2);
Create_PM_guage(tab_AQS);
// Screen load
lv_scr_load(screenMain);