| 
 其主要是对串口接收的数据pm_val进行接收刷新(仿照GPS界面刷新) 1、  在config中增加宏 #define SUPPORT_PM                  (1) 2、  在UI_DrawGeneral.c中增加以下部分 在m_TVVideoDraw[]增加    {TV_GUI_VIDEO_PM_STATE      ,       POS_TV_GPS_STATE_X,           POS_TV_GPS_STATE_Y,            AHC_FALSE , OSDDraw_PMStatus},   在m_TVDSCDraw[]增加    {TV_GUI_DSC_PM_STATE ,       POS_TV_GPS_STATE_X,           POS_TV_GPS_STATE_Y,            AHC_FALSE , OSDDraw_PMStatus},   在m_HdmiVideoDraw_1080P[]增加   {HDMI_GUI_VIDEO_PM_STATE  ,       POS_ICON_HDMI_1080P_GPS_STATE_X,                         POS_ICON_HDMI_1080P_GPS_STATE_Y,                AHC_TRUE , OSDDraw_PMStatus},   在m_HdmiDSCDraw_1080P[]增加   {HDMI_GUI_DSC_PM_STATE      ,       POS_ICON_HDMI_1080P_GPS_STATE_X,                POS_ICON_HDMI_1080P_GPS_STATE_Y,                    AHC_FALSE , OSDDraw_PMStatus},   在m_HdmiVideoDraw_720P[]增加 {HDMI_GUI_VIDEO_PM_STATE      ,       POS_ICON_HDMI_720P_GPS_STATE_X,         POS_ICON_HDMI_720P_GPS_STATE_Y,                  AHC_TRUE , OSDDraw_PMStatus},   在m_HdmiDSCDraw_720P[]增加 {HDMI_GUI_DSC_PM_STATE  ,       POS_ICON_HDMI_720P_GPS_STATE_X,                  POS_ICON_HDMI_720P_GPS_STATE_Y,                  AHC_FALSE , OSDDraw_PMStatus},     3、  UI_DrawGeneral.h中增加 分别在以下地方增加 typedef enum { …… TV_GUI_VIDEO_GPS_STATE, TV_GUI_VIDEO_PM_STATE, TV_GUI_VIDEO_VMD_STATE,          …… TV_GUI_DOWN_BAR, #endif } TV_VIDEO_GUI_BLOCK;   typedef enum {   …… TV_GUI_DSC_GPS_STATE, TV_GUI_DSC_PM_STATE, …...    TV_GUI_DSC_MAX   } TV_DSC_GUI_BLOCK;   typedef enum {      ……       HDMI_GUI_VIDEO_GPS_STATE,    HDMI_GUI_VIDEO_PM_STATE,    HDMI_GUI_VIDEO_VMD_STATE,       ……    HDMI_GUI_AUDIO_REC_POINT        } HDMI_VIDEO_GUI_BLOCK;   4、  在DrawStateVideoFunc.c   5、  在DrawStateCameraFunc.c 6、  增加界面显示在DrawStateMenuSetting.c extern UINT16 pm_val; void OSDDraw_PMStatus(UINT16 ubID, UINT32 x, UINT32 y, AHC_BOOL bLarge, UINT8 ubMag, AHC_BOOL bFlag, GUI_COLOR bkColor, INT32 Para1) {          #if SUPPORT_PM //    ST_GPS_INFO                   *pInfo;     UINT16                        offset_x           = x;     UINT16                       offset_y           = y;     UINT16                       uiDegree                   = 0, uiMinute = 0;     double                          uiSec                         = 0;     UINT8*                        ubDirChar;     UINT16                        YSpace                        = 20;     UINT8                         PointRad           = 6;     char                             sz[30]          = {0};     GUI_COLOR                ValidFontClr    = OSD_COLOR_GREEN;        GUI_COLOR                InvalidFontClr          = OSD_COLOR_RED; static UINT8 COUNT;       if (AHC_FALSE == AIHC_GetOSDInitStatus()) { AHC_PRINT_RET_ERROR(gbAhcDbgBrk,0); return; }       BEGIN_LAYER(ubID);   #if (defined(WIFI_PORT) && (WIFI_PORT == 1) && defined(CFG_DRAW_WIFI_STREAMING_MONO_PATTERN))     if (AHC_Get_WiFi_Streaming_Status()) {         bkColor = CFG_DRAW_WIFI_STREAMING_MONO_PATTERN;         AHC_OSDSetColor(ubID, CFG_DRAW_WIFI_STREAMING_MONO_PATTERN);     } #endif       if( AHC_FALSE == bFlag )     {         AHC_OSDSetColor(ubID, bkColor);         AHC_OSDSetBkColor(ubID, bkColor);           if(bLarge==LARGE_SIZE)             AHC_OSDDrawFillRect(ubID, offset_x, offset_y-5, offset_x+220,  offset_y+150);//TBD          else {             AHC_OSDDrawFillRect(ubID, offset_x, offset_y-5, offset_x+140,  offset_y+120);         }     } else {    #if 0              if(bLarge==LARGE_SIZE)            { #endif                     AHC_OSDSetFont(ubID, &GUI_Font32_1);                                   YSpace                     = 25;                     PointRad                  = 8;                     ValidFontClr    = OSD_COLOR_GREEN;                     InvalidFontClr          = 0xEE3030DC; #if 0            }            else if (bLarge==NORMAL_SIZE)            {                     AHC_OSDSetFont(ubID, &GUI_Font16B_1);                     YSpace                     = 20;                     PointRad                  = 6;                       ValidFontClr    = OSD_COLOR_GREEN;                     InvalidFontClr          = OSD_COLOR_RED;            } else {                     AHC_OSDSetFont(ubID, &GUI_Font8_1);                     YSpace                     = 10;                     PointRad                  = 3;                     ValidFontClr    = OSD_COLOR_GREEN;                     InvalidFontClr          = OSD_COLOR_RED;            } #endif       {                            AHC_OSDSetColor(ubID, ValidFontClr);                AHC_OSDSetBkColor(ubID, bkColor);                                          COUNT++;              sprintf(sz, "PM2.5: %3d ug/m3", (UINT16)pm_val);                                  AHC_OSDDrawText(ubID, (UINT8*)sz, offset_x, offset_y+(YSpace*1), strlen(sz));     }   END_LAYER(ubID); #endif } *附件为串口初始化的部分 
 
 |