2026-08-26 07:26:58 +08:00
|
|
|
#include "includes.h"
|
|
|
|
|
|
2026-09-25 07:39:32 +08:00
|
|
|
/* 0924 设置入口:调音台 / 系统语言 / 系统设置 + 底栏设置高亮 */
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
|
|
|
const Touch_AreaTypeDef Touch_SetingSelect_Areas[] = {
|
2026-09-22 17:42:04 +08:00
|
|
|
{ UI0902_BT_HIT_X0, UI0902_BT_HIT_X1, UI0902_BT_HIT_Y0, UI0902_BT_HIT_Y1,
|
|
|
|
|
0, 0, GUI_BL_SW, NULL },
|
2026-09-04 14:43:32 +08:00
|
|
|
{ UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1),
|
|
|
|
|
UI0902_HUB_CARD_Y0, (uint16_t)(UI0902_HUB_CARD_Y0 + UI0902_HUB_CARD_H - 1),
|
|
|
|
|
0, 0, GUI_SETING_SELECT1, NULL },
|
|
|
|
|
{ UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1),
|
|
|
|
|
UI0902_HUB_CARD_Y1, (uint16_t)(UI0902_HUB_CARD_Y1 + UI0902_HUB_CARD_H - 1),
|
2026-09-25 07:39:32 +08:00
|
|
|
0, 0, GUI_SETING_SELECT2, NULL },
|
|
|
|
|
{ UI0902_HUB_CARD_X, (uint16_t)(UI0902_HUB_CARD_X + UI0902_HUB_CARD_W - 1),
|
|
|
|
|
UI0902_HUB_CARD_Y2, (uint16_t)(UI0902_HUB_CARD_Y2 + UI0902_HUB_CARD_H - 1),
|
2026-09-04 14:43:32 +08:00
|
|
|
0, 0, GUI_SETING_SELECT3, NULL },
|
2026-09-09 11:01:40 +08:00
|
|
|
{ UI0902_NAV_X0(0), UI0902_NAV_X1(0), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_UNIVERSAL, GUI_NAV_BAR, NULL },
|
|
|
|
|
{ UI0902_NAV_X0(1), UI0902_NAV_X1(1), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_NORMAL, GUI_NAV_BAR, NULL },
|
|
|
|
|
{ UI0902_NAV_X0(2), UI0902_NAV_X1(2), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_EXPERT, GUI_NAV_BAR, NULL },
|
|
|
|
|
{ UI0902_NAV_X0(3), UI0902_NAV_X1(3), UI0902_NAV_Y0, UI0902_NAV_Y1, 0, UI0902_NAV_SETTING, GUI_NAV_BAR, NULL },
|
2026-08-26 07:26:58 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define TOUCH_AREA_SETING_SELECT_NUM (sizeof(Touch_SetingSelect_Areas)/sizeof(Touch_AreaTypeDef))
|
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
void Touch_Seting_Select_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex, uint8_t value)
|
|
|
|
|
{
|
|
|
|
|
(void)FLAG;
|
|
|
|
|
(void)areaIndex;
|
|
|
|
|
|
2026-09-22 17:42:04 +08:00
|
|
|
if (ID == GUI_BL_SW)
|
|
|
|
|
{
|
|
|
|
|
UI_StatusBar_ToggleBluetooth();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
if (ID == GUI_NAV_BAR)
|
|
|
|
|
{
|
|
|
|
|
if (value == UI0902_NAV_SETTING)
|
2026-09-25 07:39:32 +08:00
|
|
|
return;
|
2026-09-04 14:43:32 +08:00
|
|
|
UI_NavBar_Action(value);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (ID)
|
|
|
|
|
{
|
|
|
|
|
case GUI_SETING_SELECT1:
|
|
|
|
|
MenuPage_Mixer_Proc();
|
|
|
|
|
break;
|
2026-09-25 07:39:32 +08:00
|
|
|
case GUI_SETING_SELECT2:
|
|
|
|
|
MenuPage_Language_Proc();
|
|
|
|
|
break;
|
2026-09-04 14:43:32 +08:00
|
|
|
case GUI_SETING_SELECT3:
|
2026-09-25 07:39:32 +08:00
|
|
|
MenuPage_Setting_Proc();
|
2026-09-04 14:43:32 +08:00
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
|
|
|
void UI_DrawSysModeSelectScreen(void)
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
LCD_FillByColor(0, 0, 240, 320, UI0902_BG_COLOR);
|
|
|
|
|
label_top();
|
2026-09-25 07:39:32 +08:00
|
|
|
LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y0,
|
|
|
|
|
UI0902_ROW_HUB_MIXER_W, UI0902_ROW_HUB_MIXER_H,
|
|
|
|
|
UI0902_ROW_HUB_MIXER_ADDR);
|
|
|
|
|
LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y1,
|
|
|
|
|
UI0902_ROW_HUB_LANG_W, UI0902_ROW_HUB_LANG_H,
|
|
|
|
|
UI0902_ROW_HUB_LANG_ADDR);
|
|
|
|
|
LCD_WR_PIC_FROM_FLASH(UI0902_HUB_CARD_X, UI0902_HUB_CARD_Y2,
|
|
|
|
|
UI0902_ROW_HUB_SYSTEM_W, UI0902_ROW_HUB_SYSTEM_H,
|
|
|
|
|
UI0902_ROW_HUB_SYSTEM_ADDR);
|
2026-09-04 14:43:32 +08:00
|
|
|
Draw_Bottom_Bar(UI0902_NAV_SETTING, 0);
|
2026-08-26 07:26:58 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UI_SystemSet_Init(void)
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
UI_ClearFocus();
|
|
|
|
|
pCurrentTouch_Area = Touch_SetingSelect_Areas;
|
|
|
|
|
UI_DrawSysModeSelectScreen();
|
|
|
|
|
app_log_set_ui_page("SetHub");
|
|
|
|
|
LOG_I("UI", "page SettingsHub");
|
2026-08-26 07:26:58 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UI_SystemSet_Process(DisplayTaskMessage_Type msg)
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
static uint32_t s_last_touch_ms;
|
|
|
|
|
|
|
|
|
|
switch (msg.MessageType)
|
|
|
|
|
{
|
|
|
|
|
case MSG_ID_TOUCH:
|
|
|
|
|
{
|
|
|
|
|
uint32_t now = rt_tick_get() * 1000U / RT_TICK_PER_SECOND;
|
|
|
|
|
uint8_t k;
|
|
|
|
|
if (now - s_last_touch_ms < 250U)
|
|
|
|
|
break;
|
|
|
|
|
s_last_touch_ms = now;
|
|
|
|
|
for (k = 0; k < TOUCH_AREA_SETING_SELECT_NUM; k++)
|
|
|
|
|
{
|
|
|
|
|
if (msg.HiByte >= pCurrentTouch_Area[k].x_min &&
|
|
|
|
|
msg.HiByte <= pCurrentTouch_Area[k].x_max &&
|
|
|
|
|
msg.LoByte >= pCurrentTouch_Area[k].y_min &&
|
|
|
|
|
msg.LoByte <= pCurrentTouch_Area[k].y_max)
|
|
|
|
|
{
|
|
|
|
|
Touch_Seting_Select_Action(pCurrentTouch_Area[k].Flag,
|
|
|
|
|
pCurrentTouch_Area[k].ID, k,
|
|
|
|
|
pCurrentTouch_Area[k].Value);
|
|
|
|
|
ResetAutoPowerCount();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case MSG_ID_BATTERY_VALUE:
|
|
|
|
|
label_top();
|
|
|
|
|
break;
|
|
|
|
|
|
2026-09-19 17:58:33 +08:00
|
|
|
case MSG_ID_CHARG:
|
|
|
|
|
label_top();
|
|
|
|
|
break;
|
|
|
|
|
|
2026-09-10 18:58:24 +08:00
|
|
|
case MSG_ID_EC_VOL:
|
|
|
|
|
Draw_Volume_Bar(UI0902_VOL_X, UI0902_VOL_Y, msg.HiByte, 1, WHITE, GRAY);
|
|
|
|
|
break;
|
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
}
|