feat: refine remote states and PRTS LCD refresh

- add remote NOT_READY/READY/PROTECT state flow and matching LED/status display

- speed up TFT hardware SPI DMA flush path and larger LVGL partial refresh buffer

- reduce page/menu redraw artifacts and center the PRTS status title
This commit is contained in:
TuxMonkey
2026-07-21 00:40:01 +08:00
parent 8671f84139
commit dc57b5152e
10 changed files with 230 additions and 67 deletions

View File

@@ -54,20 +54,16 @@ void robotSelfCheck(void)
void ws2812Task(void *argument)
{
(void) argument;
RC_ctrl_t rc_data;
while (1)
{
RobotMode_t display_mode = RobotMode;
if (display_mode != SYS_ERROR_OCCURRED && !RemoteControlIsOnline())
display_mode = REMOTE_NOT_CONNECTED;
if (RemoteControlReadSnapshot(&rc_data) && switch_is_down(rc_data.sw_d))
display_mode = NORMAL_MODE;
switch (display_mode)
{
case NORMAL_MODE:
BlinkBlue();
BlinkGreen();
break;
case SYS_ERROR_OCCURRED:
BlinkRed();
@@ -75,7 +71,13 @@ void ws2812Task(void *argument)
case REMOTE_NOT_CONNECTED:
BlinkRed();
break;
case REMOTE_CONNECTED:
case REMOTE_NOT_READY:
BlinkWhite();
break;
case REMOTE_READY:
BlinkPurple();
break;
case REMOTE_PROTECT:
BlinkYellow();
break;
case AUTO_SHOOTING_MODE: