mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
update
This commit is contained in:
@@ -93,7 +93,7 @@ void EEPROM_SysSetting_Get(void)
|
|||||||
if(buff[0] <= 100)
|
if(buff[0] <= 100)
|
||||||
sys_settings.backlight_level = buff[0];
|
sys_settings.backlight_level = buff[0];
|
||||||
else
|
else
|
||||||
sys_settings.backlight_level = 80;
|
sys_settings.backlight_level = 60;
|
||||||
if(buff[1] <= 1)
|
if(buff[1] <= 1)
|
||||||
sys_settings.key_sound_enable = buff[1];
|
sys_settings.key_sound_enable = buff[1];
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -7,14 +7,14 @@ PageManager_t PageManager;
|
|||||||
/**
|
/**
|
||||||
* 初始化页面管理器
|
* 初始化页面管理器
|
||||||
*/
|
*/
|
||||||
void PageManager_init(void) {
|
void lv_lib_pm_Init(void) {
|
||||||
memset(&PageManager, 0, sizeof(PageManager));
|
memset(&PageManager, 0, sizeof(PageManager));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* load init screen
|
* load init screen
|
||||||
*/
|
*/
|
||||||
void PageManager_load_init_screen(void) {
|
void lv_lib_pm_load_init_screen(void) {
|
||||||
if (PageManager.count == 0) return;
|
if (PageManager.count == 0) return;
|
||||||
|
|
||||||
Page_t* initial_page = PageManager.pages[0];
|
Page_t* initial_page = PageManager.pages[0];
|
||||||
@@ -27,7 +27,7 @@ void PageManager_load_init_screen(void) {
|
|||||||
* 注册一个新页面
|
* 注册一个新页面
|
||||||
* @param page 页面结构体指针
|
* @param page 页面结构体指针
|
||||||
*/
|
*/
|
||||||
void PageManager_register(Page_t* page) {
|
void lv_lib_pm_register(Page_t* page) {
|
||||||
if (PageManager.count >= MAX_PAGES) {
|
if (PageManager.count >= MAX_PAGES) {
|
||||||
LV_LOG_WARN("PageManager: page list is full!");
|
LV_LOG_WARN("PageManager: page list is full!");
|
||||||
return;
|
return;
|
||||||
@@ -38,7 +38,7 @@ void PageManager_register(Page_t* page) {
|
|||||||
/**
|
/**
|
||||||
* 切换到下一个页面(循环)
|
* 切换到下一个页面(循环)
|
||||||
*/
|
*/
|
||||||
void PageManager_next(void) {
|
void lv_lib_pm_next(void) {
|
||||||
if (PageManager.count == 0) return;
|
if (PageManager.count == 0) return;
|
||||||
|
|
||||||
Page_t* prev = PageManager.pages[PageManager.current_index];
|
Page_t* prev = PageManager.pages[PageManager.current_index];
|
||||||
@@ -59,7 +59,7 @@ void PageManager_next(void) {
|
|||||||
/**
|
/**
|
||||||
* 切换到上一个页面(循环)
|
* 切换到上一个页面(循环)
|
||||||
*/
|
*/
|
||||||
void PageManager_prev(void) {
|
void lv_lib_pm_prev(void) {
|
||||||
if (PageManager.count == 0) return;
|
if (PageManager.count == 0) return;
|
||||||
|
|
||||||
Page_t* current = PageManager.pages[PageManager.current_index];
|
Page_t* current = PageManager.pages[PageManager.current_index];
|
||||||
@@ -80,7 +80,7 @@ void PageManager_prev(void) {
|
|||||||
* 跳转到指定索引页面
|
* 跳转到指定索引页面
|
||||||
* @param index 目标页面索引
|
* @param index 目标页面索引
|
||||||
*/
|
*/
|
||||||
void PageManager_goto(uint8_t index) {
|
void lv_lib_pm_goto(uint8_t index) {
|
||||||
if (index >= PageManager.count || PageManager.count == 0) return;
|
if (index >= PageManager.count || PageManager.count == 0) return;
|
||||||
|
|
||||||
Page_t* current = PageManager.pages[PageManager.current_index];
|
Page_t* current = PageManager.pages[PageManager.current_index];
|
||||||
@@ -98,7 +98,7 @@ void PageManager_goto(uint8_t index) {
|
|||||||
* 获取当前页面
|
* 获取当前页面
|
||||||
* @return 当前页面指针
|
* @return 当前页面指针
|
||||||
*/
|
*/
|
||||||
Page_t* PageManager_get_current_page(void) {
|
Page_t* lv_lib_pm_get_current_page(void) {
|
||||||
if (PageManager.count == 0) return NULL;
|
if (PageManager.count == 0) return NULL;
|
||||||
return PageManager.pages[PageManager.current_index];
|
return PageManager.pages[PageManager.current_index];
|
||||||
}
|
}
|
||||||
@@ -107,8 +107,8 @@ Page_t* PageManager_get_current_page(void) {
|
|||||||
* 处理按键事件,调用当前页面的按键事件处理函数
|
* 处理按键事件,调用当前页面的按键事件处理函数
|
||||||
* @param key_id 按键ID
|
* @param key_id 按键ID
|
||||||
*/
|
*/
|
||||||
void PageManager_handle_key_event(uint8_t key_id) {
|
void lv_lib_pm_handle_key_event(uint8_t key_id) {
|
||||||
Page_t* current_page = PageManager_get_current_page();
|
Page_t* current_page = lv_lib_pm_get_current_page();
|
||||||
if (current_page && current_page->key_event_handler) {
|
if (current_page && current_page->key_event_handler) {
|
||||||
current_page->key_event_handler(key_id); // 调用当前页面的按键事件处理函数
|
current_page->key_event_handler(key_id); // 调用当前页面的按键事件处理函数
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ typedef struct {
|
|||||||
extern PageManager_t PageManager;
|
extern PageManager_t PageManager;
|
||||||
|
|
||||||
// API 函数声明
|
// API 函数声明
|
||||||
void PageManager_init(void);
|
void lv_lib_pm_Init(void);
|
||||||
void PageManager_register(Page_t* page);
|
void lv_lib_pm_register(Page_t* page);
|
||||||
void PageManager_load_init_screen(void);
|
void lv_lib_pm_load_init_screen(void);
|
||||||
void PageManager_next(void);
|
void lv_lib_pm_next(void);
|
||||||
void PageManager_prev(void);
|
void lv_lib_pm_prev(void);
|
||||||
void PageManager_goto(uint8_t index);
|
void lv_lib_pm_goto(uint8_t index);
|
||||||
Page_t* PageManager_get_current_page(void);
|
Page_t* lv_lib_pm_get_current_page(void);
|
||||||
void PageManager_handle_key_event(uint8_t key_id);
|
void lv_lib_pm_handle_key_event(uint8_t key_id);
|
||||||
|
|
||||||
#endif // PAGE_MANAGER_H
|
#endif // PAGE_MANAGER_H
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ static void _chart_update_cb(lv_timer_t * timer) {
|
|||||||
void ui_chart_page_key_handler(uint8_t key_id)
|
void ui_chart_page_key_handler(uint8_t key_id)
|
||||||
{
|
{
|
||||||
if(key_id == KEYB_NUM) {
|
if(key_id == KEYB_NUM) {
|
||||||
PageManager_next();
|
lv_lib_pm_next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ void ui_set_page_key_handler(uint8_t key_id)
|
|||||||
{
|
{
|
||||||
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_id == KEYB_NUM) { // key boot
|
||||||
PageManager_next();
|
lv_lib_pm_next();
|
||||||
} if (key_id == KEYL_NUM) { // key left
|
} if (key_id == KEYL_NUM) { // 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;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ static uint8_t timecount = 0;
|
|||||||
void ui_main_page_key_handler(uint8_t key_id)
|
void ui_main_page_key_handler(uint8_t key_id)
|
||||||
{
|
{
|
||||||
if(key_id == KEYB_NUM) {
|
if(key_id == KEYB_NUM) {
|
||||||
PageManager_next();
|
lv_lib_pm_next();
|
||||||
} else if (key_id == KEYL_NUM) {
|
} else if (key_id == KEYL_NUM) {
|
||||||
// rotation - 90 degrees
|
// rotation - 90 degrees
|
||||||
// rotation – LV_DISPLAY_ROTATION_0/90/180/270
|
// rotation – LV_DISPLAY_ROTATION_0/90/180/270
|
||||||
|
|||||||
@@ -115,11 +115,11 @@ static void main_timer(lv_timer_t * timer)
|
|||||||
ui_set_back_light_level(backlight_level); // 设置当前亮度
|
ui_set_back_light_level(backlight_level); // 设置当前亮度
|
||||||
} else {
|
} else {
|
||||||
// 初始化页面并加载主要界面
|
// 初始化页面并加载主要界面
|
||||||
PageManager_init();
|
lv_lib_pm_Init();
|
||||||
for (uint8_t i = 0; i < sizeof(pages) / sizeof(pages[0]); i++) {
|
for (uint8_t i = 0; i < sizeof(pages) / sizeof(pages[0]); i++) {
|
||||||
PageManager_register(&pages[i]);
|
lv_lib_pm_register(&pages[i]);
|
||||||
}
|
}
|
||||||
PageManager_load_init_screen();
|
lv_lib_pm_load_init_screen();
|
||||||
|
|
||||||
// 停止定时器,避免重复初始化
|
// 停止定时器,避免重复初始化
|
||||||
lv_timer_del(timer);
|
lv_timer_del(timer);
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ void LvHandlerTask(void *argument)
|
|||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) {
|
if(osMessageQueueGet(Key_MessageQueue, &keystr, NULL, 1)==osOK) {
|
||||||
PageManager_handle_key_event(keystr);
|
lv_lib_pm_handle_key_event(keystr);
|
||||||
}
|
}
|
||||||
lv_task_handler();
|
lv_task_handler();
|
||||||
osDelay(1);
|
osDelay(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user