feat(ui): extend set_clock_app to edit day/month/year, not just time
time_edit_field now cycles through 5 fields (hour/min/day/month/year) via long-press CONFIRM. Up/down adjusts whichever field is focused, with day clamped to Days_In_Month() when month/year changes, and Clock_RecalcWeekday() called after every date edit so the weekday label stays in sync. UI_UpdateSetTimeDigit() now also refreshes the weekday abbreviation when editing day/month/year, since the computed weekday can change independently of which digit was actually touched. Save writes the full date+weekday via PCF8563_WriteDateTime(). Also removes PCF8563_ReadTime()/WriteTime(), now unused since every caller was updated to the DateTime variants directly.
This commit is contained in:
3
App/ui.h
3
App/ui.h
@@ -91,9 +91,10 @@ void UI_ShowSetTimePage(u8 hour, u8 min, u8 day, u8 month, u8 year, u8 weekday,
|
||||
|
||||
/**
|
||||
* @brief 局部刷新时间设置界面里正在调节的那一个字段 (小时/分钟/日/月/年),用于闪烁/调值时避免整屏重绘
|
||||
* @param weekday 根据当前日期算出的星期 (0=周日, ..., 6=周六),调节日/月/年时顺带刷新星期缩写
|
||||
* @param selection 1:小时, 2:分钟, 3:日, 4:月, 5:年
|
||||
* @param blink_on 1:显示数值, 0:消隐(涂黑)
|
||||
*/
|
||||
void UI_UpdateSetTimeDigit(u8 hour, u8 min, u8 day, u8 month, u8 year, u8 selection, u8 blink_on);
|
||||
void UI_UpdateSetTimeDigit(u8 hour, u8 min, u8 day, u8 month, u8 year, u8 weekday, u8 selection, u8 blink_on);
|
||||
|
||||
#endif // __UI_H__
|
||||
|
||||
Reference in New Issue
Block a user