2026-08-26 07:26:58 +08:00
|
|
|
|
#include "includes.h"
|
|
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
/* 0904 / 0902-07 ??????? + ?? + ????????? */
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
|
|
|
|
|
extern const Touch_AreaTypeDef *pCurrentTouch_Area;
|
|
|
|
|
|
|
|
|
|
|
|
const Touch_AreaTypeDef Touch_SystemSetting_Areas[] =
|
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
|
/* ?? */
|
|
|
|
|
|
{ 0, 44, 0, 40, 0, 0, GUI_CANCEL, NULL },
|
|
|
|
|
|
/* ???? */
|
|
|
|
|
|
{ UI0902_SET_ROW_X, (uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W / 2 - 1),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH + UI0902_SET_ROW_H - 1),
|
|
|
|
|
|
-1, 0, GUI_BLUETOOTH_SW, NULL },
|
|
|
|
|
|
{ (uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W / 2),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W - 1),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH + UI0902_SET_ROW_H - 1),
|
|
|
|
|
|
1, 0, GUI_BLUETOOTH_SW, NULL },
|
|
|
|
|
|
/* ?????? */
|
|
|
|
|
|
{ UI0902_SET_ROW_X, (uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W / 2 - 1),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 2),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 2 + UI0902_SET_ROW_H - 1),
|
|
|
|
|
|
-1, 0, GUI_AUTOCLOSE, NULL },
|
|
|
|
|
|
{ (uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W / 2),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W - 1),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 2),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 2 + UI0902_SET_ROW_H - 1),
|
|
|
|
|
|
1, 0, GUI_AUTOCLOSE, NULL },
|
|
|
|
|
|
/* ???? */
|
|
|
|
|
|
{ UI0902_SET_ROW_X, (uint16_t)(UI0902_SET_ROW_X + UI0902_SET_ROW_W - 1),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 3),
|
|
|
|
|
|
(uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 3 + UI0902_SET_ROW_H - 1),
|
|
|
|
|
|
0, 0, GUI_RESTORE, NULL },
|
2026-08-26 07:26:58 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#define TOUCH_AREA_SYSTEMSETTING_NUM (sizeof(Touch_SystemSetting_Areas)/sizeof(Touch_AreaTypeDef))
|
|
|
|
|
|
|
|
|
|
|
|
GUI_SWITCH mGuiData_SystemSETTING[] = {
|
2026-09-03 08:15:34 +08:00
|
|
|
|
{ 0, 0, 2, GUI_VERSION},
|
2026-08-26 07:26:58 +08:00
|
|
|
|
{ 0, 0, 1, GUI_BLUETOOTH_SW},
|
2026-09-05 19:33:57 +08:00
|
|
|
|
/* 手册:15/30/45/60 分钟 + 不自动;默认 15 分钟(index 0) */
|
|
|
|
|
|
{ 0, 0, 4, GUI_AUTOCLOSE},
|
2026-08-26 07:26:58 +08:00
|
|
|
|
{ 0, 0, 1, GUI_RESTORE},
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
LEBEL_UI SystemSetting[] =
|
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
|
{UI0902_SET_ROW_X, UI0902_SET_ROW_W, UI0902_SET_ROW_Y0,
|
|
|
|
|
|
UI0902_SET_ROW_H, (const uint8_t*)"\xB9\xCC\xBC\xFE\xB0\xE6\xB1\xBE",
|
|
|
|
|
|
LCD_ALIGN_LEFT, WHITE, BLACK, UI0902_SET_ROW_FONT,
|
|
|
|
|
|
LCD_ALIGN_CENTER, WHITE, BLACK, UI0902_FONT_LABEL, GUI_VERSION},
|
|
|
|
|
|
{UI0902_SET_ROW_X, UI0902_SET_ROW_W, (uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH),
|
|
|
|
|
|
UI0902_SET_ROW_H, (const uint8_t*)"\xC0\xB6\xD1\xC0\xC1\xAC\xBD\xD3",
|
|
|
|
|
|
LCD_ALIGN_LEFT, WHITE, BLACK, UI0902_SET_ROW_FONT,
|
|
|
|
|
|
LCD_ALIGN_CENTER, WHITE, BLACK, UI0902_FONT_LABEL, GUI_BLUETOOTH_SW},
|
|
|
|
|
|
{UI0902_SET_ROW_X, UI0902_SET_ROW_W, (uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 2),
|
|
|
|
|
|
UI0902_SET_ROW_H, (const uint8_t*)"\xD7\xD4\xB6\xAF\xB9\xD8\xBB\xFA",
|
|
|
|
|
|
LCD_ALIGN_LEFT, WHITE, BLACK, UI0902_SET_ROW_FONT,
|
|
|
|
|
|
LCD_ALIGN_CENTER, WHITE, BLACK, UI0902_FONT_LABEL, GUI_AUTOCLOSE},
|
|
|
|
|
|
{UI0902_SET_ROW_X, UI0902_SET_ROW_W, (uint16_t)(UI0902_SET_ROW_Y0 + UI0902_SET_ROW_PITCH * 3),
|
|
|
|
|
|
UI0902_SET_ROW_H, (const uint8_t*)"\xBB\xD6\xB8\xB4\xB3\xF6\xB3\xA7\xC9\xE8\xD6\xC3",
|
|
|
|
|
|
LCD_ALIGN_LEFT, WHITE, BLACK, UI0902_SET_ROW_FONT,
|
|
|
|
|
|
LCD_ALIGN_CENTER, WHITE, BLACK, UI0902_FONT_LABEL, GUI_RESTORE},
|
2026-08-26 07:26:58 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void DrawSystemSetting(void)
|
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
|
Draw_System_Item_List(&SystemSetting[GUI_VERSION], &mGuiData_SystemSETTING[GUI_VERSION]);
|
|
|
|
|
|
Draw_System_Item_List(&SystemSetting[GUI_BLUETOOTH_SW], &mGuiData_SystemSETTING[GUI_BLUETOOTH_SW]);
|
|
|
|
|
|
Draw_System_Item_List(&SystemSetting[GUI_AUTOCLOSE], &mGuiData_SystemSETTING[GUI_AUTOCLOSE]);
|
|
|
|
|
|
Draw_System_Item_List(&SystemSetting[GUI_RESTORE], &mGuiData_SystemSETTING[GUI_RESTORE]);
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Touch_SystemSettingAction(int8_t FLAG, uint8_t ID, uint8_t areaIndex, uint8_t value)
|
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
|
uint16_t last_value;
|
|
|
|
|
|
(void)areaIndex;
|
|
|
|
|
|
(void)value;
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
if (ID == GUI_CANCEL)
|
|
|
|
|
|
{
|
|
|
|
|
|
MenuPage_SystemSetting_Proc(); /* ? 0902-11 ???? */
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
last_value = mGuiData_SystemSETTING[ID].Current;
|
|
|
|
|
|
switch (ID)
|
|
|
|
|
|
{
|
|
|
|
|
|
case GUI_BLUETOOTH_SW:
|
|
|
|
|
|
mGuiData_SystemSETTING[ID].Current = !mGuiData_SystemSETTING[ID].Current;
|
|
|
|
|
|
if (!UI_SetFocus(ID))
|
|
|
|
|
|
RefreshSystemSetting(last_value, &SystemSetting[ID], &mGuiData_SystemSETTING[ID]);
|
|
|
|
|
|
break;
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
case GUI_AUTOCLOSE:
|
|
|
|
|
|
GUI_Item_AjustLoopValue(&mGuiData_SystemSETTING[ID], FLAG >= 0 ? 1 : -1);
|
|
|
|
|
|
if (!UI_SetFocus(ID))
|
|
|
|
|
|
RefreshSystemSetting(last_value, &SystemSetting[ID], &mGuiData_SystemSETTING[ID]);
|
|
|
|
|
|
break;
|
2026-08-26 07:26:58 +08:00
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
case GUI_RESTORE:
|
|
|
|
|
|
MenuPage_Restore_Proc();
|
|
|
|
|
|
break;
|
2026-09-02 13:37:25 +08:00
|
|
|
|
|
2026-09-04 14:43:32 +08:00
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void UI_Setting_Init(void)
|
|
|
|
|
|
{
|
2026-08-31 06:10:13 +08:00
|
|
|
|
UI_ClearFocus();
|
2026-09-02 13:37:25 +08:00
|
|
|
|
LCD_FillByColor(0, 0, 240, 320, UI0902_BG_COLOR);
|
2026-09-04 14:43:32 +08:00
|
|
|
|
UI_DrawSubPageHeader((const uint8_t *)"\xCF\xB5\xCD\xB3\xC9\xE8\xD6\xC3");
|
|
|
|
|
|
DrawSystemSetting();
|
|
|
|
|
|
pCurrentTouch_Area = Touch_SystemSetting_Areas;
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void UI_Setting_Process(DisplayTaskMessage_Type msg)
|
|
|
|
|
|
{
|
2026-09-04 14:43:32 +08:00
|
|
|
|
uint8_t k;
|
|
|
|
|
|
switch (msg.MessageType)
|
|
|
|
|
|
{
|
|
|
|
|
|
case MSG_ID_TOUCH:
|
|
|
|
|
|
for (k = 0; k < TOUCH_AREA_SYSTEMSETTING_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_SystemSettingAction(pCurrentTouch_Area[k].Flag,
|
|
|
|
|
|
pCurrentTouch_Area[k].ID, k,
|
|
|
|
|
|
pCurrentTouch_Area[k].Value);
|
|
|
|
|
|
ResetAutoPowerCount();
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
2026-08-26 07:26:58 +08:00
|
|
|
|
}
|