forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-19 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c
Function/LCD/lcd.h
New file
@@ -0,0 +1,114 @@
/*
 * 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 FlagStatus lcd_wake_up_flag_g;
extern FlagStatus lcd_first_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