/*
|
* 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
|