Add optional cyd_35r (ESP32-3248S035) with 480x320 UI; default remains 2.8.

This commit is contained in:
2026-10-23 16:24:18 +08:00
parent c0f6301fd0
commit 9f8d8279f0
4 changed files with 89 additions and 29 deletions

View File

@@ -117,7 +117,7 @@ static void on_slider(lv_event_t *e) {
static lv_obj_t *make_color_btn(lv_obj_t *scr, const char *txt, int x,
lamp_color_t c, lv_obj_t **out_lbl) {
lv_obj_t *btn = lv_button_create(scr);
lv_obj_set_size(btn, 88, 40);
lv_obj_set_size(btn, UW(88), UH(40));
lv_obj_align(btn, LV_ALIGN_TOP_LEFT, x, 72);
style_btn(btn, COL_BTN);
lv_obj_add_event_cb(btn, on_color, LV_EVENT_CLICKED, (void *)(uintptr_t)c);
@@ -141,20 +141,20 @@ void ui_create() {
lv_label_set_text(lbl_title, "KY-009");
lv_obj_set_style_text_color(lbl_title, lv_color_hex(COL_INK), 0);
lv_obj_set_style_text_font(lbl_title, &lv_font_montserrat_20, 0);
lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, 0, 4);
lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, UX(0), UY(4));
lv_obj_t *lbl_pin = lv_label_create(scr);
lv_label_set_text_fmt(lbl_pin, "R%d G%d B%d", KY009_R_PIN, KY009_G_PIN,
KY009_B_PIN);
lv_obj_set_style_text_color(lbl_pin, lv_color_hex(COL_MUTED), 0);
lv_obj_set_style_text_font(lbl_pin, &lv_font_montserrat_14, 0);
lv_obj_align(lbl_pin, LV_ALIGN_TOP_MID, 0, 28);
lv_obj_align(lbl_pin, LV_ALIGN_TOP_MID, UX(0), UY(28));
lbl_state = lv_label_create(scr);
lv_label_set_text(lbl_state, "RED ON");
lv_obj_set_style_text_color(lbl_state, lv_color_hex(COL_R), 0);
lv_obj_set_style_text_font(lbl_state, &lv_font_montserrat_16, 0);
lv_obj_align(lbl_state, LV_ALIGN_TOP_MID, 0, 48);
lv_obj_align(lbl_state, LV_ALIGN_TOP_MID, UX(0), UY(48));
btn_r = make_color_btn(scr, "R", 24, LAMP_COLOR_R, &lbl_r);
btn_g = make_color_btn(scr, "G", 116, LAMP_COLOR_G, &lbl_g);
@@ -164,13 +164,13 @@ void ui_create() {
lv_label_set_text(lbl_bright, "Brightness 60%");
lv_obj_set_style_text_color(lbl_bright, lv_color_hex(COL_INK), 0);
lv_obj_set_style_text_font(lbl_bright, &lv_font_montserrat_16, 0);
lv_obj_align(lbl_bright, LV_ALIGN_TOP_MID, 0, 124);
lv_obj_align(lbl_bright, LV_ALIGN_TOP_MID, UX(0), UY(124));
slider = lv_slider_create(scr);
lv_obj_set_size(slider, UI_HOR_RES - 48, 28);
lv_obj_set_size(slider, UI_HOR_RES - UW(48), UH(28));
lv_slider_set_range(slider, 0, 100);
lv_slider_set_value(slider, 60, LV_ANIM_OFF);
lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 150);
lv_obj_align(slider, LV_ALIGN_TOP_MID, UX(0), UY(150));
lv_obj_set_style_bg_color(slider, lv_color_hex(COL_BTN), LV_PART_MAIN);
lv_obj_set_style_bg_color(slider, lv_color_hex(COL_R), LV_PART_INDICATOR);
lv_obj_set_style_bg_color(slider, lv_color_hex(COL_INK), LV_PART_KNOB);
@@ -179,8 +179,8 @@ void ui_create() {
lv_obj_add_event_cb(slider, on_slider, LV_EVENT_RELEASED, nullptr);
btn_light = lv_button_create(scr);
lv_obj_set_size(btn_light, UI_HOR_RES - 48, 44);
lv_obj_align(btn_light, LV_ALIGN_TOP_MID, 0, 190);
lv_obj_set_size(btn_light, UI_HOR_RES - UW(48), UH(44));
lv_obj_align(btn_light, LV_ALIGN_TOP_MID, UX(0), UY(190));
style_btn(btn_light, COL_ON);
lv_obj_add_event_cb(btn_light, on_light, LV_EVENT_CLICKED, nullptr);
lbl_light = lv_label_create(btn_light);