#include "app_lcd.h"
#include "../../com/svc/svc_com_core.h"
#include "../../flash/svc/svc_flash.h"
#include "../../log/svc/svc_log.h"

/**
 * @brief: 显示模块线程
 * @param  {void}
 * @return {void}
 * @note:
 * @see:
 */
void App_Lcd_Task(void)
{
    S_Lcd *ps_lcd;
    ps_lcd = Svc_Lcd_Get_Data();
    S_Flash_Data *ps_flash_data;
    ps_flash_data = Svc_Flash_Get_Data();
    Bsp_Iwdg_Feed();
    gw_u8 u8Lcd_Index;
    if (ps_lcd->u8State == 0)
    {
        return;
    }
    Svc_Lcd_Display_Signal_Blink();
    if (ps_lcd->u8SwitchTimeCnt > 0)
    {
        return;
    }
    switch (ps_flash_data->s_other.e_work_mode)
    {
    case E_Mode_Normal:
        u8Lcd_Index = Normal_List[ps_lcd->u8NorIndex];
        break;
    case E_Mode_Delivery:
        u8Lcd_Index = Delivery_List[ps_lcd->u8DelIndex];
        break;
    case E_Mode_Calibration:
        u8Lcd_Index = Calibration_List[ps_lcd->u8CalIndex];
        break;
    default:
        break;
    }
    ps_lcd->u8SwitchTimeCnt = RefreshTime;
    Svc_Lcd_Display_Clear_All(); // 清数字区
    Lcd_Display((E_Lcd_Display)u8Lcd_Index);
}