mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
更新按键
This commit is contained in:
@@ -59,9 +59,11 @@ static void _chart_update_cb(lv_timer_t * timer) {
|
||||
}
|
||||
|
||||
#include "key.h"
|
||||
void ui_chart_page_key_handler(uint8_t key_id)
|
||||
void ui_chart_page_key_handler(void* key_event)
|
||||
{
|
||||
if(((key_event_t*)key_event)->id == KEY_ID_B &&
|
||||
((key_event_t*)key_event)->type == KEY_EVT_CLICK)
|
||||
{
|
||||
if(key_id == KEYB_NUM) {
|
||||
lv_lib_pm_next();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ extern "C" {
|
||||
extern void ui_ChartPage_screen_init(void);
|
||||
extern void ui_ChartPage_screen_destroy(void);
|
||||
extern lv_obj_t * ui_ChartPage;
|
||||
void ui_chart_page_key_handler(uint8_t key_id);
|
||||
void ui_chart_page_key_handler(void *key_event);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
|
||||
@@ -32,17 +32,17 @@ static int current_panel_index = 0; // 当前选中的 panel 索引
|
||||
// event funtions
|
||||
|
||||
#include "key.h"
|
||||
void ui_set_page_key_handler(uint8_t key_id)
|
||||
void ui_set_page_key_handler(void *key_event)
|
||||
{
|
||||
int panel_count = sizeof(panels) / sizeof(panels[0]);
|
||||
if(key_id == KEYB_NUM) { // key boot
|
||||
if(((key_event_t*)key_event)->id == KEY_ID_B && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key boot
|
||||
lv_lib_pm_next();
|
||||
} if (key_id == KEYL_NUM) { // key left
|
||||
} if (((key_event_t*)key_event)->id == KEY_ID_L && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key left
|
||||
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||
current_panel_index = (current_panel_index - 1 + panel_count) % panel_count;
|
||||
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||
lv_obj_scroll_to_view(panels[current_panel_index], LV_ANIM_ON);
|
||||
} else if (key_id == KEYR_NUM) { // key right
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_R && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key right
|
||||
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||
current_panel_index = (current_panel_index + 1) % panel_count;
|
||||
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||
@@ -51,13 +51,15 @@ void ui_set_page_key_handler(uint8_t key_id)
|
||||
switch(current_panel_index) {
|
||||
// Screen Brightness
|
||||
case 0:
|
||||
if (key_id == KEYY_NUM) {
|
||||
if (((key_event_t*)key_event)->id == KEY_ID_Y &&
|
||||
(((key_event_t*)key_event)->type == KEY_EVT_CLICK || ((key_event_t*)key_event)->type == KEY_EVT_REPEAT)) { // key yes
|
||||
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
|
||||
slider_value += 10;
|
||||
if(slider_value > 100) slider_value = 100;
|
||||
lv_slider_set_value(ui_SliderBL, slider_value, LV_ANIM_ON);
|
||||
ui_set_back_light_level(slider_value);
|
||||
} else if (key_id == KEYN_NUM) {
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_N &&
|
||||
(((key_event_t*)key_event)->type == KEY_EVT_CLICK || ((key_event_t*)key_event)->type == KEY_EVT_REPEAT)) { // key neg
|
||||
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
|
||||
slider_value -= 10;
|
||||
if(slider_value < 10) slider_value = 10;
|
||||
@@ -67,10 +69,10 @@ void ui_set_page_key_handler(uint8_t key_id)
|
||||
break;
|
||||
// key sound
|
||||
case 1:
|
||||
if (key_id == KEYY_NUM) {
|
||||
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key yes
|
||||
lv_obj_add_state(ui_SwitchKS, LV_STATE_CHECKED);
|
||||
ui_set_key_sound_enable(1);
|
||||
} else if(key_id == KEYN_NUM) {
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_N && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key neg
|
||||
lv_obj_clear_state(ui_SwitchKS, LV_STATE_CHECKED);
|
||||
ui_set_key_sound_enable(0);
|
||||
}
|
||||
@@ -84,9 +86,9 @@ void ui_set_page_key_handler(uint8_t key_id)
|
||||
// chose rotation
|
||||
case 3:
|
||||
uint16_t rotation = ui_get_display_rotation();
|
||||
if (key_id == KEYY_NUM) {
|
||||
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key yes
|
||||
rotation = (rotation + 360 + 90) % 360;
|
||||
} else if(key_id == KEYN_NUM) {
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_N && ((key_event_t*)key_event)->type == KEY_EVT_CLICK) { // key neg
|
||||
rotation = (rotation + 360 - 90) % 360;
|
||||
}
|
||||
if (rotation == 0) {
|
||||
|
||||
@@ -14,7 +14,7 @@ extern "C" {
|
||||
extern void ui_SetPage_screen_init(void);
|
||||
extern void ui_SetPage_screen_destroy(void);
|
||||
extern lv_obj_t * ui_SetPage;
|
||||
void ui_set_page_key_handler(uint8_t key_id);
|
||||
void ui_set_page_key_handler(void *key_event);
|
||||
|
||||
// CUSTOM VARIABLES
|
||||
|
||||
|
||||
@@ -27,11 +27,12 @@ static uint8_t timecount = 0;
|
||||
// other funtions
|
||||
|
||||
#include "key.h"
|
||||
void ui_main_page_key_handler(uint8_t key_id)
|
||||
void ui_main_page_key_handler(void* key_event)
|
||||
{
|
||||
if(key_id == KEYB_NUM) {
|
||||
if(((key_event_t*)key_event)->id == KEY_ID_B) {
|
||||
lv_lib_pm_next();
|
||||
} else if (key_id == KEYL_NUM) {
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_L &&
|
||||
((key_event_t*)key_event)->type == KEY_EVT_CLICK) {
|
||||
// rotation - 90 degrees
|
||||
// rotation – LV_DISPLAY_ROTATION_0/90/180/270
|
||||
uint16_t rotation = ui_get_display_rotation();
|
||||
@@ -41,7 +42,8 @@ void ui_main_page_key_handler(uint8_t key_id)
|
||||
// save settings to eeprom
|
||||
ui_system_settings_save();
|
||||
ui_full_screen_refresh(ui_HomeScreen);
|
||||
} else if (key_id == KEYR_NUM) {
|
||||
} else if (((key_event_t*)key_event)->id == KEY_ID_R &&
|
||||
((key_event_t*)key_event)->type == KEY_EVT_CLICK) {
|
||||
// rotation + 90 degrees
|
||||
uint16_t rotation = ui_get_display_rotation();
|
||||
rotation = (rotation + 360 + 90) % 360;
|
||||
|
||||
@@ -8,7 +8,7 @@ extern "C" {
|
||||
// SCREEN: ui_Screen1
|
||||
void ui_main_screen_init(void);
|
||||
void ui_main_screen_destroy(void);
|
||||
void ui_main_page_key_handler(uint8_t key_id);
|
||||
void ui_main_page_key_handler(void *key_event);
|
||||
|
||||
extern lv_obj_t * ui_HomeScreen;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user