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"
|
#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();
|
lv_lib_pm_next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ extern "C" {
|
|||||||
extern void ui_ChartPage_screen_init(void);
|
extern void ui_ChartPage_screen_init(void);
|
||||||
extern void ui_ChartPage_screen_destroy(void);
|
extern void ui_ChartPage_screen_destroy(void);
|
||||||
extern lv_obj_t * ui_ChartPage;
|
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
|
#ifdef __cplusplus
|
||||||
} /*extern "C"*/
|
} /*extern "C"*/
|
||||||
|
|||||||
@@ -32,17 +32,17 @@ static int current_panel_index = 0; // 当前选中的 panel 索引
|
|||||||
// event funtions
|
// event funtions
|
||||||
|
|
||||||
#include "key.h"
|
#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]);
|
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();
|
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);
|
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||||
current_panel_index = (current_panel_index - 1 + panel_count) % panel_count;
|
current_panel_index = (current_panel_index - 1 + panel_count) % panel_count;
|
||||||
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
|
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||||
lv_obj_scroll_to_view(panels[current_panel_index], LV_ANIM_ON);
|
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);
|
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
|
||||||
current_panel_index = (current_panel_index + 1) % panel_count;
|
current_panel_index = (current_panel_index + 1) % panel_count;
|
||||||
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
|
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) {
|
switch(current_panel_index) {
|
||||||
// Screen Brightness
|
// Screen Brightness
|
||||||
case 0:
|
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);
|
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
|
||||||
slider_value += 10;
|
slider_value += 10;
|
||||||
if(slider_value > 100) slider_value = 100;
|
if(slider_value > 100) slider_value = 100;
|
||||||
lv_slider_set_value(ui_SliderBL, slider_value, LV_ANIM_ON);
|
lv_slider_set_value(ui_SliderBL, slider_value, LV_ANIM_ON);
|
||||||
ui_set_back_light_level(slider_value);
|
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);
|
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
|
||||||
slider_value -= 10;
|
slider_value -= 10;
|
||||||
if(slider_value < 10) 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;
|
break;
|
||||||
// key sound
|
// key sound
|
||||||
case 1:
|
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);
|
lv_obj_add_state(ui_SwitchKS, LV_STATE_CHECKED);
|
||||||
ui_set_key_sound_enable(1);
|
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);
|
lv_obj_clear_state(ui_SwitchKS, LV_STATE_CHECKED);
|
||||||
ui_set_key_sound_enable(0);
|
ui_set_key_sound_enable(0);
|
||||||
}
|
}
|
||||||
@@ -84,9 +86,9 @@ void ui_set_page_key_handler(uint8_t key_id)
|
|||||||
// chose rotation
|
// chose rotation
|
||||||
case 3:
|
case 3:
|
||||||
uint16_t rotation = ui_get_display_rotation();
|
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;
|
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;
|
rotation = (rotation + 360 - 90) % 360;
|
||||||
}
|
}
|
||||||
if (rotation == 0) {
|
if (rotation == 0) {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ extern "C" {
|
|||||||
extern void ui_SetPage_screen_init(void);
|
extern void ui_SetPage_screen_init(void);
|
||||||
extern void ui_SetPage_screen_destroy(void);
|
extern void ui_SetPage_screen_destroy(void);
|
||||||
extern lv_obj_t * ui_SetPage;
|
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
|
// CUSTOM VARIABLES
|
||||||
|
|
||||||
|
|||||||
@@ -27,11 +27,12 @@ static uint8_t timecount = 0;
|
|||||||
// other funtions
|
// other funtions
|
||||||
|
|
||||||
#include "key.h"
|
#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();
|
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 - 90 degrees
|
||||||
// rotation – LV_DISPLAY_ROTATION_0/90/180/270
|
// rotation – LV_DISPLAY_ROTATION_0/90/180/270
|
||||||
uint16_t rotation = ui_get_display_rotation();
|
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
|
// save settings to eeprom
|
||||||
ui_system_settings_save();
|
ui_system_settings_save();
|
||||||
ui_full_screen_refresh(ui_HomeScreen);
|
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
|
// rotation + 90 degrees
|
||||||
uint16_t rotation = ui_get_display_rotation();
|
uint16_t rotation = ui_get_display_rotation();
|
||||||
rotation = (rotation + 360 + 90) % 360;
|
rotation = (rotation + 360 + 90) % 360;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ extern "C" {
|
|||||||
// SCREEN: ui_Screen1
|
// SCREEN: ui_Screen1
|
||||||
void ui_main_screen_init(void);
|
void ui_main_screen_init(void);
|
||||||
void ui_main_screen_destroy(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;
|
extern lv_obj_t * ui_HomeScreen;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user