/* * File : lcd_cfg_api.c * This file is part of Sizhu Ultrasonic Gas-Meter * COPYRIGHT (C) 2022,Sizhu Ultrasonic Gas-Meter Development Team * * Brief : Header file of lcd. * http://www.ideacreated.com/ * * Change Logs: * Date Author Notes * 2022-08-22 Sizhu_J1anG the first version * 2022-08-30 Sizhu_Ye targeted modification */ #ifndef _LCD_H_ #define _LCD_H_ #include "define_all.h" #include "key.h" #include "lcd_io_api.h" #include "lcd_cfg_api.h" #include "lcd_segmentcode.h" //#define LCD_BACKLIGHT_SELECT(__ALKA_STATE__) ((__ALKA_STATE__ == RESET) ? LCD_BACKLIGHT_ON : LCD_BACKLIGHT_OFF) //ÇåÆÁ #define LCD_ALL_CLEAR Lcd_Write_Reg(0,LCD_SYSTEM_MODE_OFF_OFF,SEGNUM) //ÏÔʾËùÓÐÊý¾Ý #define LCD_ALL_DISPLAY Lcd_Write_Reg(0,LCD_Buffer,SEGNUM) typedef enum{ CNV_NONE = 0U, CNV_PARA_MODE_ENTER, CNV_CAL_MODE_ENTER, CNV_PARA_MODE_EXIT, CNV_CAL_MODE_EXIT, CNV_DISPLAY_MODE_ENTER, CNV_DISPLAY_MODE_EXIT, }TEMP_SYS_MODE_CNV_CMD;//conversion typedef enum{ NORMAL_MODE = 1, //ÆÕͨģʽ/ÏÔʾ DISPLAY_PARA = 2, //ÏÔʾ²ÎÊý£¨´Ëģʽ°üº¬ÔÚÆÕͨģʽ£© CALIB_MODE = 4, //¼ì¶¨Ä£Ê½/ÏÔʾ SET_PARA_MODE = 8, //¹¤³Ì£¨ÉèÖòÎÊý£©Ä£Ê½/ÏÔʾ }SYS_DISPLAY_MODE;//ϵͳÏÔʾģʽÀàÐÍ typedef enum{ TOTAL_SC_BALANCE = 0U, //×ÜÁ¿+Óà¶î PRICE_BALANCE, //µ¥¼Û + Óà¶î TOTAL_SC_INSTANT, //˲ʱÁ¿ + ±ê¿ö×ÜÁ¿ // PRESS_SC_TOTAL, //ѹÁ¦ + ±ê¿ö×ÜÁ¿ // WC_INSTANT_TOTAL,//˲ʱ¹¤¿ö + ¹¤¿ö×ÜÁ¿ }NORMAL_PAGE; typedef enum{ METER_NUM = 0U, OTHER_METER_NUM, DATE_TIME, IP_PORT, OTHER_IP_PORT, SW_VER, HW_VER, SOUND_VEL, SEC_CORR_NOW, SEC_CORR_NOW_PARA_1, SEC_CORR_NOW_PARA_2, SEC_CORR_NOW_PARA_3, SEC_CORR_NOW_PARA_4, SEC_CORR_NOW_PARA_5, SEC_CORR_OLD, SEC_CORR_OLD_PARA_1, SEC_CORR_OLD_PARA_2, SEC_CORR_OLD_PARA_3, SEC_CORR_OLD_PARA_4, SEC_CORR_OLD_PARA_5, }PARA_DISPLAY_PAGE; #pragma pack(1) typedef struct{ NORMAL_PAGE normal_page_status; PARA_DISPLAY_PAGE para_page_status; }NORMAL_DISPLAY_PAGE_T;//ÆÕͨÏÔÊ¾Ò³ÃæÀàÐͽṹÌå typedef struct{ // TEMP_SYS_MODE_CNV_CMD temp_sys_mode_flag; //ÁÙʱµÄϵͳģʽ±ê־루ÓÃÓÚ°´¼ü·¢ËÍ£© SYS_DISPLAY_MODE sys_and_display_mode; //ϵͳ/ÏÔʾģʽ£¨×îÖÕµÄÈ·ÈÏ£© NORMAL_DISPLAY_PAGE_T display_page_status; //ÏÔÊ¾Ò³Ãæ×´Ì¬ }SYS_DISPLAY_PAPA_T; #pragma pack() extern SYS_DISPLAY_PAPA_T sys_display_para_g; extern uint8_t lcd_wake_up_flag_g; void Lcd_DeInit(void); void Lcd_Sys_Init(void); void Lcd_Display_AllTest(void); void Lcd_Clear_AllTest(void); void Lcd_Show_Loop(void); void Lcd_Show_MenuProcess(void); void lcdDisplayPro(void); #endif