From 72def895431ad7a08e635b11f3da738e2b2c4618 Mon Sep 17 00:00:00 2001
From: wujiazhi <1147861305@qq.com>
Date: Thu, 13 Jun 2024 11:31:04 +0800
Subject: [PATCH] add lower model test

---
 Function/LCD/lcd.c |  571 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 571 insertions(+), 0 deletions(-)

diff --git a/Function/LCD/lcd.c b/Function/LCD/lcd.c
new file mode 100644
index 0000000..1e3adbf
--- /dev/null
+++ b/Function/LCD/lcd.c
@@ -0,0 +1,571 @@
+/*
+ * File      : lcd.c
+ * This file is part of Sizhu Ultrasonic Gas-Meter
+ * COPYRIGHT (C) 2022,Sizhu Ultrasonic Gas-Meter Development Team
+ *
+ * Brief     : This file displays a specific 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
+ */
+
+#include "lcd.h"
+#include "lcd_cfg_api.h"
+#include "gpio.h"
+#include "sundry.h"
+#include "string.h"
+#include "power_manage.h"
+#include "billing.h"
+#include "master_slave_inter.h"
+#include "gprs.h"
+#include "low_pwr_test.h"
+
+//uint8_t LCD_DRIVE_MODE_14_13[1] = {0};    //   1/4duty  1/3bias
+//uint8_t LCD_DRIVE_MODE_14_14[1] = {1};    //   1/4duty  1/4bias
+//uint8_t LCD_DRIVE_MODE_18_13[1] = {2};    //   1/8duty  1/3bias   48pin��ֻ֧��1/8duty����ַ���ص�33H
+//uint8_t LCD_DRIVE_MODE_18_14[1] = {3};    //   1/8duty  1/4bias
+//uint8_t LCD_SYSTEM_MODE_OFF_OFF[1] = {0}; //  �ڲ�ϵͳ����OFF��LCD��ʾOFF
+//uint8_t LCD_SYSTEM_MODE_ON_OFF[1] = {2};  //  �ڲ�ϵͳ����ON��LCD��ʾOFF
+//uint8_t LCD_SYSTEM_MODE_ON_ON[1] = {3};   //  �ڲ�ϵͳ����ON��LCD��ʾON
+
+uint8_t lcd_wake_up_flag_g = 0;
+
+SYS_DISPLAY_PAPA_T sys_display_para_g = {
+	.temp_sys_mode_flag = CNV_NONE, 
+	.sys_and_display_mode = (SYS_DISPLAY_MODE)SYS_MODE_DEFAULT, 
+	.display_page_status = {
+		.normal_page_status = SC_INSTANT_TOTAL, 
+		.para_page_status = METER_NUM
+	}
+};
+
+/*���ھ�����ʾ��״̬��id*/
+SYS_ALARM_VALVE_T sys_show_state_bytes_id_g = AV_NORMAL;
+
+SYS_ALARM_VALVE_T sys_clear_state_bytes_id_g = AV_NORMAL; // ���������ʾ
+/* LCD��ʼ��*/
+void Lcd_Init(void)
+{
+//  //	Lcd_Write(LCD_DRIVE_MODE_COMMAND_ADDR,(uint8_t *)LCD_DRIVE_MODE_18_14,1);
+
+//  Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_ON_ON, 1);
+}
+
+void Lcd_DeInit(void)
+{
+//  LCD_ALL_DISPLAY;
+//  Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_OFF_OFF, 1);
+//	LCD_BACKLIGHT_OFF;
+//  LCD_PWR_OFF;
+}
+/**************************************
+���ƣ�Lcd_Sys_Init(void)
+���ܣ�Lcd��ʼ��
+ʱ�䣺220822
+**************************************/
+void Lcd_Sys_Init(void)
+{
+	I2c0_GPIO_Clk_Init();
+  LCD_PWR_ON;
+	LCD_BACKLIGHT_SELECT(__SYS_STATUS_BYTES_GET(alka_low));
+  delay_ms(1);
+  // LCD_ALL_CLEAR;
+  Lcd_Init();
+	lcd_wake_up_flag_g = 1;
+}
+/****************************************
+���ƣ�Lcd_Display_AllTest(void)
+���ܣ�ȫ������
+ʱ�䣺220818
+****************************************/
+void Lcd_Display_AllTest(void)
+{
+	uint8_t i = 0;
+#ifdef LCD_NEW
+	i = 1;
+	LCD_DISPLAY_SEG(_LCD_POINT27_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT28_23A);
+
+  Lcd_DisplayDigit_23A(1, 8);
+  Lcd_DisplayDigit_23A(20, 8);
+	LCD_DISPLAY_SEG(_LCD_CHARGE_23A);
+  LCD_DISPLAY_SEG(_LCD_BOOTTOOTH_23A);
+#endif
+	LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A);
+
+  LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A);
+  LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+  LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+  LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+  LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+
+  LCD_DISPLAY_SEG(_LCD_METER_23A);
+  LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
+  LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+  LCD_DISPLAY_SEG(_LCD_LOCK_23A);
+  LCD_DISPLAY_SEG(_LCD_OPEN_23A);
+  LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
+  LCD_DISPLAY_SEG(_LCD_WARNING_23A);
+  LCD_DISPLAY_SEG(_LCD_WIFI_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_2_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_3_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_4_23A);
+  LCD_DISPLAY_SEG(_LCD_4G_5_23A);
+
+  LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);
+  LCD_DISPLAY_SEG(_LCD_T_23A);
+  LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A);
+  LCD_DISPLAY_SEG(_LCD_CHECK_23A);
+  LCD_DISPLAY_SEG(_LCD_K_23A);
+  LCD_DISPLAY_SEG(_LCD_BACKSET_23A);
+
+  LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A);
+  LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);
+  LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);
+  LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A);
+
+  LCD_DISPLAY_SEG(_LCD_WORK_CONDITION_23A);
+  LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A);
+  LCD_DISPLAY_SEG(_LCD_STAND_CONDITION_23A);
+  LCD_DISPLAY_SEG(_LCD_TOTAL_23A);
+
+  LCD_DISPLAY_SEG(_LCD_X_23A);
+  LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
+  LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
+  LCD_DISPLAY_SEG(_LCD_LAST_23A);
+  LCD_DISPLAY_SEG(_LCD_RECHARGE_23A);
+  LCD_DISPLAY_SEG(_LCD_SETTLEMENT_23A);
+
+  LCD_DISPLAY_SEG(_LCD_NOW_23A);
+  LCD_DISPLAY_SEG(_LCD_LADDER_23A);
+  LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A);
+
+  LCD_DISPLAY_SEG(_LCD_N_1_23A);
+  LCD_DISPLAY_SEG(_LCD_M3_1_23A);
+  LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
+  LCD_DISPLAY_SEG(_LCD_kPa_23A);
+  LCD_DISPLAY_SEG(_LCD_oC_23A);
+  LCD_DISPLAY_SEG(_LCD_L_pul_23A);
+  LCD_DISPLAY_SEG(_LCD_N_2_23A);
+  LCD_DISPLAY_SEG(_LCD_M3_2_23A);
+  LCD_DISPLAY_SEG(_LCD_h_23A);
+  LCD_DISPLAY_SEG(_LCD_YUAN_2_23A);
+  LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);
+
+  LCD_DISPLAY_SEG(_LCD_POINT1_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT2_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT3_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT4_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT5_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT6_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT7_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT8_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT9_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT10_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT11_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT12_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT13_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT14_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT15_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT16_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT17_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT18_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT19_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT20_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT21_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT22_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT23_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT24_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT25_23A);
+  LCD_DISPLAY_SEG(_LCD_POINT26_23A);
+
+  Lcd_DisplayDigit_23A(1 + i, 8);
+  Lcd_DisplayDigit_23A(2 + i, 8);
+  Lcd_DisplayDigit_23A(3 + i, 8);
+  Lcd_DisplayDigit_23A(4 + i, 8);
+  Lcd_DisplayDigit_23A(5 + i, 8);
+  Lcd_DisplayDigit_23A(6 + i, 8);
+  Lcd_DisplayDigit_23A(7 + i, 8);
+  Lcd_DisplayDigit_23A(8 + i, 8);
+  Lcd_DisplayDigit_23A(9 + i, 8);
+  Lcd_DisplayDigit_23A(10 + i, 8);
+  Lcd_DisplayDigit_23A(11 + i, 8);
+  Lcd_DisplayDigit_23A(12 + i, 8);
+  Lcd_DisplayDigit_23A(13 + i, 8);
+  Lcd_DisplayDigit_23A(14 + i, 8);
+  Lcd_DisplayDigit_23A(15 + i, 8);
+  Lcd_DisplayDigit_23A(16 + i, 8);
+  Lcd_DisplayDigit_23A(17 + i, 8);
+  Lcd_DisplayDigit_23A(18 + i, 8);
+  LCD_ALL_DISPLAY;
+}
+
+/****************************************
+���ƣ�Lcd_Clear_AllTest(void)
+���ܣ�ȫ��Ϩ��
+ʱ�䣺220818
+****************************************/
+void Lcd_Clear_AllTest(void)
+{
+  memset(LCD_buffer, 0, sizeof(LCD_buffer));
+  LCD_ALL_DISPLAY;
+}
+/****************************************
+���ƣ�Lcd_Show_Loop(void)
+���ܣ�ѭ������
+������ʾ������Ϊż��ʱ������ȫ������������ʾ������Ϊ����ʱ������ȫϨ��
+ʱ�䣺220818
+****************************************/
+void Lcd_Show_Loop(void)
+{
+  for (int i = 0; i <= 9; i++)
+  {
+    for (int n = 1; n <= 18; n++)
+    {
+      Lcd_DisplayDigit_23A(n, i);
+    }
+    if (i % 2 == 0)
+    {
+      LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A);
+
+      LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A);
+      LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+      LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+      LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+      LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+
+      LCD_DISPLAY_SEG(_LCD_METER_23A);
+      LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
+      LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+      LCD_DISPLAY_SEG(_LCD_LOCK_23A);
+      LCD_DISPLAY_SEG(_LCD_OPEN_23A);
+      LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
+      LCD_DISPLAY_SEG(_LCD_WARNING_23A);
+      LCD_DISPLAY_SEG(_LCD_WIFI_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_2_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_3_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_4_23A);
+      LCD_DISPLAY_SEG(_LCD_4G_5_23A);
+
+      LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);
+      LCD_DISPLAY_SEG(_LCD_T_23A);
+      LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A);
+      LCD_DISPLAY_SEG(_LCD_CHECK_23A);
+      LCD_DISPLAY_SEG(_LCD_K_23A);
+      LCD_DISPLAY_SEG(_LCD_BACKSET_23A);
+
+      LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A);
+      LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);
+      LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);
+      LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A);
+
+      LCD_DISPLAY_SEG(_LCD_WORK_CONDITION_23A);
+      LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A);
+      LCD_DISPLAY_SEG(_LCD_STAND_CONDITION_23A);
+      LCD_DISPLAY_SEG(_LCD_TOTAL_23A);
+
+      LCD_DISPLAY_SEG(_LCD_X_23A);
+      LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
+      LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
+      LCD_DISPLAY_SEG(_LCD_LAST_23A);
+      LCD_DISPLAY_SEG(_LCD_RECHARGE_23A);
+      LCD_DISPLAY_SEG(_LCD_SETTLEMENT_23A);
+
+      LCD_DISPLAY_SEG(_LCD_NOW_23A);
+      LCD_DISPLAY_SEG(_LCD_LADDER_23A);
+      LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A);
+
+      LCD_DISPLAY_SEG(_LCD_N_1_23A);
+      LCD_DISPLAY_SEG(_LCD_M3_1_23A);
+      LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
+      LCD_DISPLAY_SEG(_LCD_kPa_23A);
+      LCD_DISPLAY_SEG(_LCD_oC_23A);
+      LCD_DISPLAY_SEG(_LCD_L_pul_23A);
+      LCD_DISPLAY_SEG(_LCD_N_2_23A);
+      LCD_DISPLAY_SEG(_LCD_M3_2_23A);
+      LCD_DISPLAY_SEG(_LCD_h_23A);
+      LCD_DISPLAY_SEG(_LCD_YUAN_2_23A);
+      LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);
+
+      LCD_DISPLAY_SEG(_LCD_POINT1_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT2_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT3_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT4_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT5_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT6_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT7_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT8_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT9_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT10_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT11_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT12_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT13_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT14_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT15_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT16_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT17_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT18_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT19_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT20_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT21_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT22_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT23_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT24_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT25_23A);
+      LCD_DISPLAY_SEG(_LCD_POINT26_23A);
+    }
+    else if (i % 2 == 1)
+    {
+      LCD_CLEAR_SEG(_LCD_SIZHULOG_23A);
+
+      LCD_CLEAR_SEG(_LCD_BATTERY_SHELL_23A);
+      LCD_CLEAR_SEG(_LCD_BATTERY_1_23A);
+      LCD_CLEAR_SEG(_LCD_BATTERY_2_23A);
+      LCD_CLEAR_SEG(_LCD_BATTERY_3_23A);
+      LCD_CLEAR_SEG(_LCD_BATTERY_4_23A);
+
+      LCD_CLEAR_SEG(_LCD_METER_23A);
+      LCD_CLEAR_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
+      LCD_CLEAR_SEG(_LCD_VALVE_M_23A);
+      LCD_CLEAR_SEG(_LCD_LOCK_23A);
+      LCD_CLEAR_SEG(_LCD_OPEN_23A);
+      LCD_CLEAR_SEG(_LCD_CLOSE_23A);
+      LCD_CLEAR_SEG(_LCD_WARNING_23A);
+      LCD_CLEAR_SEG(_LCD_WIFI_23A);
+      LCD_CLEAR_SEG(_LCD_4G_Flag_23A);
+      LCD_CLEAR_SEG(_LCD_4G_1_23A);
+      LCD_CLEAR_SEG(_LCD_4G_2_23A);
+      LCD_CLEAR_SEG(_LCD_4G_3_23A);
+      LCD_CLEAR_SEG(_LCD_4G_4_23A);
+      LCD_CLEAR_SEG(_LCD_4G_5_23A);
+
+      LCD_CLEAR_SEG(_LCD_LOOKUP_23A);
+      LCD_CLEAR_SEG(_LCD_T_23A);
+      LCD_CLEAR_SEG(_LCD_CONFIGURATION_23A);
+      LCD_CLEAR_SEG(_LCD_CHECK_23A);
+      LCD_CLEAR_SEG(_LCD_K_23A);
+      LCD_CLEAR_SEG(_LCD_BACKSET_23A);
+
+      LCD_CLEAR_SEG(_LCD_HORIZONTALLINE_1_23A);
+      LCD_CLEAR_SEG(_LCD_SINGLEBILL_23A);
+      LCD_CLEAR_SEG(_LCD_LADDERBILL_23A);
+      LCD_CLEAR_SEG(_LCD_HORIZONTALLINE_2_23A);
+
+      LCD_CLEAR_SEG(_LCD_WORK_CONDITION_23A);
+      LCD_CLEAR_SEG(_LCD_SURPLUSE_23A);
+      LCD_CLEAR_SEG(_LCD_STAND_CONDITION_23A);
+      LCD_CLEAR_SEG(_LCD_TOTAL_23A);
+
+      LCD_CLEAR_SEG(_LCD_X_23A);
+      LCD_CLEAR_SEG(_LCD_ACCOUNT_23A);
+      LCD_CLEAR_SEG(_LCD_BILLBACK_23A);
+      LCD_CLEAR_SEG(_LCD_LAST_23A);
+      LCD_CLEAR_SEG(_LCD_RECHARGE_23A);
+      LCD_CLEAR_SEG(_LCD_SETTLEMENT_23A);
+
+      LCD_CLEAR_SEG(_LCD_NOW_23A);
+      LCD_CLEAR_SEG(_LCD_LADDER_23A);
+      LCD_CLEAR_SEG(_LCD_UNIT_PRICE_23A);
+
+      LCD_CLEAR_SEG(_LCD_N_1_23A);
+      LCD_CLEAR_SEG(_LCD_M3_1_23A);
+      LCD_CLEAR_SEG(_LCD_YUAN_1_23A);
+      LCD_CLEAR_SEG(_LCD_kPa_23A);
+      LCD_CLEAR_SEG(_LCD_oC_23A);
+      LCD_CLEAR_SEG(_LCD_L_pul_23A);
+      LCD_CLEAR_SEG(_LCD_N_2_23A);
+      LCD_CLEAR_SEG(_LCD_M3_2_23A);
+      LCD_CLEAR_SEG(_LCD_h_23A);
+      LCD_CLEAR_SEG(_LCD_YUAN_2_23A);
+      LCD_CLEAR_SEG(_LCD_YUAN_M3_23A);
+
+      LCD_CLEAR_SEG(_LCD_POINT1_23A);
+      LCD_CLEAR_SEG(_LCD_POINT2_23A);
+      LCD_CLEAR_SEG(_LCD_POINT3_23A);
+      LCD_CLEAR_SEG(_LCD_POINT4_23A);
+      LCD_CLEAR_SEG(_LCD_POINT5_23A);
+      LCD_CLEAR_SEG(_LCD_POINT6_23A);
+      LCD_CLEAR_SEG(_LCD_POINT7_23A);
+      LCD_CLEAR_SEG(_LCD_POINT8_23A);
+      LCD_CLEAR_SEG(_LCD_POINT9_23A);
+      LCD_CLEAR_SEG(_LCD_POINT10_23A);
+      LCD_CLEAR_SEG(_LCD_POINT11_23A);
+      LCD_CLEAR_SEG(_LCD_POINT12_23A);
+      LCD_CLEAR_SEG(_LCD_POINT13_23A);
+      LCD_CLEAR_SEG(_LCD_POINT14_23A);
+      LCD_CLEAR_SEG(_LCD_POINT15_23A);
+      LCD_CLEAR_SEG(_LCD_POINT16_23A);
+      LCD_CLEAR_SEG(_LCD_POINT17_23A);
+      LCD_CLEAR_SEG(_LCD_POINT18_23A);
+      LCD_CLEAR_SEG(_LCD_POINT19_23A);
+      LCD_CLEAR_SEG(_LCD_POINT20_23A);
+      LCD_CLEAR_SEG(_LCD_POINT21_23A);
+      LCD_CLEAR_SEG(_LCD_POINT22_23A);
+      LCD_CLEAR_SEG(_LCD_POINT23_23A);
+      LCD_CLEAR_SEG(_LCD_POINT24_23A);
+      LCD_CLEAR_SEG(_LCD_POINT25_23A);
+      LCD_CLEAR_SEG(_LCD_POINT26_23A);
+    }
+    LCD_ALL_DISPLAY;
+    delay_ms(5 * 1000);
+  }
+}
+
+void Lcd_Show_MenuProcess(SYS_DISPLAY_PAPA_T *sys_display_para_p, ErrorStatus_STM32 *pCnv_result_flag)
+{
+  lcd_wake_up_flag_g = 0;
+	/*ʼ����Ҫ����ʾ���ݣ���˾LOGO ��ص��� ˮƽ�ߣ�*/
+	if(__SYS_FUNC_CFG_BYTES_GET(logo_display_set) == 0)
+		LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A);
+	LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A);
+	LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A);
+	Lcd_Battery(pwr_vol_g.alka_vcc, pwr_vol_g.lith_vcc);
+
+	/*�����жϵ���ʾ���ݣ����� ���� Զ�� ������� ��ʾģʽ �Ʒ�ģʽ ���� ������־ �豸/��̨����ģʽ��*/
+//	sys_admin_g.sys_admin.state_bytes.media_status = AIR;
+	Lcd_MediumShow((MEDIA_STATUS)sys_admin_g.sys_admin.state_bytes.media_status);
+	Lcd_BacksetShow(sys_admin_g.sys_admin.state_bytes.flow_direction);
+	Lcd_ValveShow((VALVE_STATE_T)sys_admin_g.sys_admin.state_bytes.valve_state, op_cl_valve_cause_id,
+								sys_admin_g.sys_admin.state_bytes.valve_lock);
+	Lcd_WaringShow_New(alarm_list_cnt,calendar_g.Second);
+//	Lcd_WarningShow(&sys_show_state_bytes_id_g, &sys_clear_state_bytes_id_g);
+	Lcd_GprsShow(sys_admin_g.sys_admin.state_bytes.gprs_status, NB_OR_4G_FLAG, gprs_protocol_head_tail_g.gprs_protocol_normal_data_head.signal_intensity);
+	Lcd_BillingShow(sys_admin_g.sys_admin.state_bytes.billing_type, 1, ladder_price_cfg_para_true_g.set_price_type_mode);
+	Lcd_ModeFlagActiveShow(&sys_some_flag_g);
+	if (sys_admin_g.sys_admin.state_bytes.account_state)
+		LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
+
+  if (*pCnv_result_flag == ERROR_1) // ģʽ�л�����
+  {
+    Lcd_SuccErrPage(ERROR_1);
+		ErrorShow_TxtendTimer_Clk_Init();
+		ETx_CR_CEN_Setable(ET1,ENABLE);
+		if(	ETx_ISR_OVIF_Chk(ET1)==SET)
+		{	
+			ETx_ISR_OVIF_Clr(ET1);
+			ETx_CR_CEN_Setable(ET1,DISABLE);
+			*pCnv_result_flag = SUCCESS_0;
+		}
+  }
+  else
+  {
+    /*��ͬҳ�����ʾ����*/
+    if (sys_display_para_p->sys_and_display_mode == NORMAL_MODE)
+    {
+			if(sys_display_para_p->display_page_status.normal_page_status == PRICE_BALANCE &&
+					__SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 1 && __SYS_FUNC_CFG_BYTES_GET(price_display_set) == 1)
+				sys_display_para_p->display_page_status.normal_page_status++;
+      switch (sys_display_para_p->display_page_status.normal_page_status) // ������ʾҳ��
+      {
+      case SC_INSTANT_TOTAL:		
+        Lcd_NormalPage_1(sys_realtime_data_g.measure_para_s.instant_sc, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
+				break;
+			case PRICE_BALANCE:
+				Lcd_NormalPage_2(billing_real_para_g.price_now * 0.0001f, billing_real_para_g.balance_now, ladder_price_cfg_para_true_g.set_price_type_mode);
+				break;
+			case TEMP_SC_TOTAL:
+				Lcd_NormalPage_3(sys_realtime_data_g.measure_para_s.temperature, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
+				break;
+			case PRESS_SC_TOTAL:
+				Lcd_NormalPage_4(sys_realtime_data_g.measure_para_s.pressure, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
+				break;
+//			case WC_INSTANT_TOTAL:
+//				Lcd_NormalPage_5(sys_realtime_data_g.measure_para_s.instant_wc, sys_realtime_data_g.measure_para_s.forward_cumulate_wc);
+//				break;
+      default:
+        break;
+      }
+    }
+    else if (sys_display_para_p->sys_and_display_mode == DISPLAY_PARA)
+    {
+      LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);                                 // ����ͼ��
+      switch (sys_display_para_p->display_page_status.para_page_status) // ������ʾҳ��
+      {
+			case METER_NUM:
+        Lcd_ParaPage_MeterNum(master_basic_papa_g.factory_number);
+        break;
+			case OTHER_METER_NUM:
+				Lcd_ParaPage_ThirdParty_MeterNum(0,NULL);
+				break;
+      case DATE_TIME:
+        Lcd_Show_time(Bcd_2_Hex(calendar_g.Year), Bcd_2_Hex(calendar_g.Month), Bcd_2_Hex(calendar_g.Date),
+                      Bcd_2_Hex(calendar_g.Hour), Bcd_2_Hex(calendar_g.Minute), Bcd_2_Hex(calendar_g.Second));
+        break;
+      case IP_PORT:
+        Lcd_ParaPage_IpPort(gprs_network_cfg_para_g.gprs_ip_1, &gprs_network_cfg_para_g.gprs_port_1);
+        break;
+			case OTHER_IP_PORT:
+        Lcd_ParaPage_ThirdParty_IpPort(0,gprs_network_cfg_para_g.gprs_ip_1, &gprs_network_cfg_para_g.gprs_port_1);
+        break;
+      case SW_VER:
+        Lcd_ParaPage_SoftVer(master_soft_hard_para_g.master_firmware_ver);
+        break;
+      case HW_VER:
+        Lcd_ParaPage_HardVer(master_soft_hard_para_g.master_hardware_ver);
+        break;
+		 case SOUND_VEL:
+				Lcd_ParaPage_SoundVel(sys_realtime_data_g.state_para_s.sound_vel);
+				 break;
+			case SEC_CORR_NOW:
+				Lcd_SecCorr_FixedShow(SEC_CORR_NOW);
+				break;
+			case SEC_CORR_NOW_PARA_1:
+				Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_1,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_NOW_PARA_2:
+				Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_2,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_NOW_PARA_3:
+				Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_3,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_NOW_PARA_4:
+				Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_4,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_NOW_PARA_5:
+				Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_5,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_OLD:
+				Lcd_SecCorr_FixedShow(SEC_CORR_OLD);
+				break;
+			case SEC_CORR_OLD_PARA_1:
+				Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_1,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_OLD_PARA_2:
+				Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_2,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_OLD_PARA_3:
+				Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_3,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_OLD_PARA_4:
+				Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_4,&sec_order_corr_set_g);
+				break;
+			case SEC_CORR_OLD_PARA_5:
+				Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_5,&sec_order_corr_set_g);
+				break;
+      default:
+        break;
+      }
+    }
+    else if (sys_display_para_p->sys_and_display_mode == CALIB_MODE)
+    {
+      LCD_DISPLAY_SEG(_LCD_CHECK_23A); // �춨ͼ��
+      Lcd_CalibPage(cal_display_exit_data_g, sys_realtime_data_g.measure_para_s.cal_cumulate_reserve[1]);
+    }
+    else if (sys_display_para_p->sys_and_display_mode == SET_PARA_MODE)
+    {
+      LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A); // ����ͼ��
+      Lcd_SuccErrPage(SUCCESS_0);
+    }
+  }
+	/*ȫ�������ʾ*/
+	LCD_ALL_DISPLAY;
+	/*�����ʾ����,������һ�����*/
+	memset(LCD_buffer, 0, sizeof(LCD_buffer));
+}

--
Gitblit v1.9.3