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_cfg_api.c |  749 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 408 insertions(+), 341 deletions(-)

diff --git a/Function/LCD/lcd_cfg_api.c b/Function/LCD/lcd_cfg_api.c
index 6eb1543..432e1ed 100644
--- a/Function/LCD/lcd_cfg_api.c
+++ b/Function/LCD/lcd_cfg_api.c
@@ -15,79 +15,84 @@
  
 #include "lcd_cfg_api.h"
 #include "lcd_io_api.h"
-#include "system_general_para.h"
-#include "extern_rtc.h"
+#include "sundry.h"
+#include "master_slave_inter.h"
+#include "gprs.h"
+#include "billing.h"
+#include "linked_list.h"
+#include "working_time_calculate.h"
+
 
 
 
 /*������ʾ*/
 void Lcd_Battery(float alka_vcc,float lith_vcc)
 {
-//	__IO static uint8_t cal_cnt = 0;
-//	LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A); //������ʾ��ؿ�
-//	if(sys_display_para_g.sys_and_display_mode != CALIB_MODE)
-//	{
-//		if((calendar_g.Second & 4) == 0) //��������6�룬ͨѶ����4�룬һ��ѭ��
-//		{
-//			LCD_DISPLAY_SEG(_LCD_METER_23A);  //���������ַ�
-//			if(lith_bat_real_per_g > 0)
+	__IO static uint8_t cal_cnt = 0;
+	LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A); //������ʾ��ؿ�
+	if(sys_display_para_g.sys_and_display_mode != CALIB_MODE)
+	{
+		if((calendar_g.Second & 4) == 0) //��������6�룬ͨѶ����4�룬һ��ѭ��
+		{
+			LCD_DISPLAY_SEG(_LCD_METER_23A);  //���������ַ�
+			if(lith_bat_real_per_g > 0)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+			if(lith_bat_real_per_g > 20)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+			if(lith_bat_real_per_g > 40)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+			if(lith_bat_real_per_g > 70)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+		}
+		else
+		{
+			LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //��ͨѶ���ַ�
+			if(alka_vcc >= 4.5f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+			if(alka_vcc >= 4.85f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+			if(alka_vcc >= 5.25f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+			if(alka_vcc >= 5.65f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+		}
+	}else//�춨ģʽ��ʵʱʱ�䲻���£�����Ҫ���ַ�ʽ
+	{
+		cal_cnt++;
+		if(cal_cnt <= 24)
+		{
+			LCD_DISPLAY_SEG(_LCD_METER_23A);  //���������ַ�
+//			if(lith_vcc >= 2.9f)
 //				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
-//			if(lith_bat_real_per_g > 20)
+//			if(lith_vcc >= 3.2f)
 //				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
-//			if(lith_bat_real_per_g > 40)
+//			if(lith_vcc >= 3.3f)
 //				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
-//			if(lith_bat_real_per_g > 70)
+//			if(lith_vcc >= 3.4f)
 //				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
-//		}
-//		else
-//		{
-//			LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //��ͨѶ���ַ�
-//			if(alka_vcc >= 4.5f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
-//			if(alka_vcc >= 4.85f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
-//			if(alka_vcc >= 5.25f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
-//			if(alka_vcc >= 5.65f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
-//		}
-//	}else//�춨ģʽ��ʵʱʱ�䲻���£�����Ҫ���ַ�ʽ
-//	{
-//		cal_cnt++;
-//		if(cal_cnt <= 24)
-//		{
-//			LCD_DISPLAY_SEG(_LCD_METER_23A);  //���������ַ�
-////			if(lith_vcc >= 2.9f)
-////				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
-////			if(lith_vcc >= 3.2f)
-////				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
-////			if(lith_vcc >= 3.3f)
-////				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
-////			if(lith_vcc >= 3.4f)
-////				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
-//			if(lith_bat_real_per_g > 0)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
-//			if(lith_bat_real_per_g > 20)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
-//			if(lith_bat_real_per_g > 40)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
-//			if(lith_bat_real_per_g > 70)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
-//		}else 
-//		{
-//			if(cal_cnt > 40)
-//				cal_cnt = 0;
-//			LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //��ͨѶ���ַ�
-//			if(alka_vcc >= 4.5f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
-//			if(alka_vcc >= 4.85f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
-//			if(alka_vcc >= 5.25f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
-//			if(alka_vcc >= 5.65f)
-//				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
-//		}
-//	}
+			if(lith_bat_real_per_g > 0)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+			if(lith_bat_real_per_g > 20)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+			if(lith_bat_real_per_g > 40)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+			if(lith_bat_real_per_g > 70)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+		}else 
+		{
+			if(cal_cnt > 40)
+				cal_cnt = 0;
+			LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //��ͨѶ���ַ�
+			if(alka_vcc >= 4.5f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
+			if(alka_vcc >= 4.85f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
+			if(alka_vcc >= 5.25f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
+			if(alka_vcc >= 5.65f)
+				LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
+		}
+	}
 }
 
 /*
@@ -114,23 +119,23 @@
  */
 void Lcd_NormalPage_2(float price,float balance,uint8_t price_mode)
 {
-//	if(__SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 0)
-//	{
-//		/*�����ʾ*/
-//		LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A); //�ַ���ʣ�ࡱ
-//		LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
-//		Lcd_DisplayFirstLine_23A(1,balance);
-//	}
-//	if(__SYS_FUNC_CFG_BYTES_GET(price_display_set) == 0)
-//	{
-//		/*����*/
-//		if(price_mode == SPM_LADDER)
-//				LCD_DISPLAY_SEG(_LCD_LADDER_23A);//�ַ������ݡ�
-//		LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A); //�ַ������ۡ�
-//		LCD_DISPLAY_SEG(_LCD_YUAN_2_23A); //�ַ���Ԫ��
-//		LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);//�ַ���/m^3��
-//		Lcd_DisplaySecondLine_23A(1,price);
-//	}
+	if(__SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 0)
+	{
+		/*�����ʾ*/
+		LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A); //�ַ���ʣ�ࡱ
+		LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
+		Lcd_DisplayFirstLine_23A(1,balance);
+	}
+	if(__SYS_FUNC_CFG_BYTES_GET(price_display_set) == 0)
+	{
+		/*����*/
+		if(price_mode == SPM_LADDER)
+				LCD_DISPLAY_SEG(_LCD_LADDER_23A);//�ַ������ݡ�
+		LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A); //�ַ������ۡ�
+		LCD_DISPLAY_SEG(_LCD_YUAN_2_23A); //�ַ���Ԫ��
+		LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);//�ַ���/m^3��
+		Lcd_DisplaySecondLine_23A(1,price);
+	}
 }
 /*
  *��ͨҳ��3
@@ -186,23 +191,23 @@
 	uint8_t i = 0;
 #ifdef LCD_NEW
 	i = 2;
-	Lcd_DisplayDigit_23A(5,BCD_2_DECIMAL(pMeterNum_bcd[0]) / 10);
+	Lcd_DisplayDigit_23A(5,BCD_2_HEX_U8(pMeterNum_bcd[0]) / 10);
 #endif	
-	Lcd_DisplayDigit_23A(4 + i,BCD_2_DECIMAL(pMeterNum_bcd[0]) % 10);
-	Lcd_DisplayDigit_23A(5 + i,BCD_2_DECIMAL(pMeterNum_bcd[1]) / 10);
-	Lcd_DisplayDigit_23A(6 + i,BCD_2_DECIMAL(pMeterNum_bcd[1]) % 10);
-	Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pMeterNum_bcd[2]) / 10);
-	Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pMeterNum_bcd[2]) % 10);
-	Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pMeterNum_bcd[3]) / 10);
-	Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pMeterNum_bcd[3]) % 10);
-	Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pMeterNum_bcd[4]) / 10);
-	Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pMeterNum_bcd[4]) % 10);
-	Lcd_DisplayDigit_23A(13 + i,BCD_2_DECIMAL(pMeterNum_bcd[5]) / 10);
-	Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pMeterNum_bcd[5]) % 10);
-	Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pMeterNum_bcd[6]) / 10);
-	Lcd_DisplayDigit_23A(16 + i,BCD_2_DECIMAL(pMeterNum_bcd[6]) % 10);
-	Lcd_DisplayDigit_23A(17 + i,BCD_2_DECIMAL(pMeterNum_bcd[7]) / 10);
-	Lcd_DisplayDigit_23A(18 + i,BCD_2_DECIMAL(pMeterNum_bcd[7]) % 10);
+	Lcd_DisplayDigit_23A(4 + i,BCD_2_HEX_U8(pMeterNum_bcd[0]) % 10);
+	Lcd_DisplayDigit_23A(5 + i,BCD_2_HEX_U8(pMeterNum_bcd[1]) / 10);
+	Lcd_DisplayDigit_23A(6 + i,BCD_2_HEX_U8(pMeterNum_bcd[1]) % 10);
+	Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pMeterNum_bcd[2]) / 10);
+	Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pMeterNum_bcd[2]) % 10);
+	Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pMeterNum_bcd[3]) / 10);
+	Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pMeterNum_bcd[3]) % 10);
+	Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pMeterNum_bcd[4]) / 10);
+	Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pMeterNum_bcd[4]) % 10);
+	Lcd_DisplayDigit_23A(13 + i,BCD_2_HEX_U8(pMeterNum_bcd[5]) / 10);
+	Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pMeterNum_bcd[5]) % 10);
+	Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pMeterNum_bcd[6]) / 10);
+	Lcd_DisplayDigit_23A(16 + i,BCD_2_HEX_U8(pMeterNum_bcd[6]) % 10);
+	Lcd_DisplayDigit_23A(17 + i,BCD_2_HEX_U8(pMeterNum_bcd[7]) / 10);
+	Lcd_DisplayDigit_23A(18 + i,BCD_2_HEX_U8(pMeterNum_bcd[7]) % 10);
 }
 /*���������
 third_flag���Ƿ��е�������־λ
@@ -277,7 +282,7 @@
 	Lcd_DisplayLetter(5 + i,LCD_P);
 
 	//IP����6�룬�˿ڳ���4�룬һ��ѭ��
-	if((sys_clockBCD_g.sec & 4) == 0) //IP
+	if((calendar_g.Second & 4) == 0) //IP
 	{
 		Lcd_DisplayLetter(4 + i,LCD_I);
 			
@@ -326,7 +331,7 @@
 		LCD_DISPLAY_SEG(_LCD_POINT6_23A);
 		Lcd_DisplayLetter(6 + i,LCD_P);
 		//IP����6�룬�˿ڳ���4�룬һ��ѭ��
-		if((sys_clockBCD_g.sec & 4) == 0) //IP
+		if((calendar_g.Second & 4) == 0) //IP
 		{
 			/*��ʾOIP��other ip������������˼��IP�͵�����IP*/
 			Lcd_DisplayLetter(5 + i,LCD_I);
@@ -389,23 +394,23 @@
 	LCD_DISPLAY_SEG(_LCD_POINT3_23A);
 	LCD_DISPLAY_SEG(_LCD_POINT4_23A);
 	
-	Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pSoftVer[0]) / 10);
-	Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pSoftVer[0]) % 10);
+	Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pSoftVer[0]) / 10);
+	Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pSoftVer[0]) % 10);
 	
 	LCD_DISPLAY_SEG(_LCD_POINT10_23A);
 	
-	Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pSoftVer[1]) / 10);
-	Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pSoftVer[1]) % 10);
+	Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pSoftVer[1]) / 10);
+	Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pSoftVer[1]) % 10);
 	
 	LCD_DISPLAY_SEG(_LCD_POINT14_23A);
 	
-	Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pSoftVer[2]) / 10);
-	Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pSoftVer[2]) % 10);
+	Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pSoftVer[2]) / 10);
+	Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pSoftVer[2]) % 10);
 	
 	LCD_DISPLAY_SEG(_LCD_POINT18_23A);
 	
-	Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pSoftVer[3]) / 10);
-	Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pSoftVer[3]) % 10);	
+	Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pSoftVer[3]) / 10);
+	Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pSoftVer[3]) % 10);	
 }
 /*Ӳ���汾��*/
 void Lcd_ParaPage_HardVer(uint8_t * pHardVer)
@@ -420,18 +425,18 @@
 	LCD_DISPLAY_SEG(_LCD_POINT3_23A);
 	LCD_DISPLAY_SEG(_LCD_POINT4_23A);
 	
-	Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pHardVer[0]) / 10);
-	Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pHardVer[0]) % 10);
-	Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pHardVer[1]) / 10);
-	Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pHardVer[1]) % 10);
-	Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pHardVer[2]) / 10);
+	Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pHardVer[0]) / 10);
+	Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pHardVer[0]) % 10);
+	Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pHardVer[1]) / 10);
+	Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pHardVer[1]) % 10);
+	Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pHardVer[2]) / 10);
 	
 	LCD_DISPLAY_SEG(_LCD_POINT16_23A);
 	
-	Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pHardVer[2]) % 10);
-	Lcd_DisplayDigit_23A(13 + i,BCD_2_DECIMAL(pHardVer[3]) / 10);
-	Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pHardVer[3]) % 10);
-	Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pHardVer[4]) / 10);
+	Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pHardVer[2]) % 10);
+	Lcd_DisplayDigit_23A(13 + i,BCD_2_HEX_U8(pHardVer[3]) / 10);
+	Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pHardVer[3]) % 10);
+	Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pHardVer[4]) / 10);
 	
 	LCD_DISPLAY_SEG(_LCD_POINT22_23A);
 	
@@ -492,251 +497,313 @@
 	}
 }
 
-
-
+/*�����ж���ʾ*/
+void Lcd_MediumShow(MEDIA_STATUS media_state)
+{
+	switch(media_state)
+	{
+		case AIR:
+			LCD_DISPLAY_SEG(_LCD_K_23A);
+			break;
+		case GAS:
+			LCD_DISPLAY_SEG(_LCD_T_23A);
+			break;
+		default:break;
+	}
+}
+/*�����ж���ʾ*/
+void Lcd_BacksetShow(uint8_t flow_direction)
+{
+	if(flow_direction == 1)
+		LCD_DISPLAY_SEG(_LCD_BACKSET_23A);
+}
 /*������ʾ*/
-//void Lcd_ValveShow(VALVE_STATE_T valve_state,SYS_ALARM_VALVE_T cl_valve_cause,uint8_t valve_lock)
-//{
-//	static uint8_t show_flag = 0;
-//	switch(valve_state)
-//	{
-//		case VALVE_OP:
-//			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
-//			LCD_DISPLAY_SEG(_LCD_OPEN_23A);
-//			break;
-//		case VALVE_CL:
-//			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
-//			LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
-//			break;
-//		case VALVE_OPENING:
-//			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
-//			show_flag = !show_flag;
-//			if(show_flag)
-//				LCD_DISPLAY_SEG(_LCD_OPEN_23A);
-//			break;
-//		case VALVE_CLOSING:
-//			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
-//			show_flag = !show_flag;
-//			if(show_flag)
-//				LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
-//			break;
-//		case VALVE_ERROR:
-//			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
-//			break;
-//		default:break;
-//	}
-//	if(valve_lock)
-//		LCD_DISPLAY_SEG(_LCD_LOCK_23A);
-//	if(valve_state == VALVE_CL && (cl_valve_cause <= 0x99))
-//	{
-//#ifdef LCD_NEW
-//		Lcd_DisplayDigit_23A(1,BCD_2_DECIMAL(cl_valve_cause) / 10);
-//		Lcd_DisplayDigit_23A(2,BCD_2_DECIMAL(cl_valve_cause) % 10);
-//#else
-//		switch(cl_valve_cause) //��δ�����ô����
-//		{
-//			default:
-////				Lcd_DisplayDigit_23A(1,5);
-//				break;
-//		}
-//#endif	
-//	}
-//}
+void Lcd_ValveShow(VALVE_STATE_T valve_state,SYS_ALARM_VALVE_T cl_valve_cause,uint8_t valve_lock)
+{
+	static uint8_t show_flag = 0;
+	switch(valve_state)
+	{
+		case VALVE_OP:
+			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+			LCD_DISPLAY_SEG(_LCD_OPEN_23A);
+			break;
+		case VALVE_CL:
+			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+			LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
+			break;
+		case VALVE_OPENING:
+			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+			show_flag = !show_flag;
+			if(show_flag)
+				LCD_DISPLAY_SEG(_LCD_OPEN_23A);
+			break;
+		case VALVE_CLOSING:
+			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+			show_flag = !show_flag;
+			if(show_flag)
+				LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
+			break;
+		case VALVE_ERROR:
+			LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
+			break;
+		default:break;
+	}
+	if(valve_lock)
+		LCD_DISPLAY_SEG(_LCD_LOCK_23A);
+	if(valve_state == VALVE_CL && (cl_valve_cause <= 0x99))
+	{
+#ifdef LCD_NEW
+		Lcd_DisplayDigit_23A(1,BCD_2_HEX_U8(cl_valve_cause) / 10);
+		Lcd_DisplayDigit_23A(2,BCD_2_HEX_U8(cl_valve_cause) % 10);
+#else
+		switch(cl_valve_cause) //��δ�����ô����
+		{
+			default:
+//				Lcd_DisplayDigit_23A(1,5);
+				break;
+		}
+#endif	
+	}
+}
 
 /*������ʾ*/
 #define ALARM_ID_SHOW_MAX 5
 void Lcd_WaringShow_New(uint8_t list_cnt,uint8_t sec_bcd)
 {
-//	uint8_t i = 0;
-//#ifdef LCD_NEW
-//	i = 1;
-//#endif	
-//	static uint8_t sec_limit_flag = 0; //����ѭ��������ʾʱ��������ҳ������ʾ������������
-//	static uint8_t temp_list_cnt_flag = 0; //�����жϱ����Ƿ���ɾ
-//	static uint8_t show_min_flag = 0; //��ʾ�жϵ���Сֵ��־λ
-//	__IO static int8_t alarm_show_num = 0; //������ʾ�ij��ȣ����ڲ��������еı���ID
-//	__IO static SYS_ALARM_VALVE_T alarm_id = AV_NORMAL;
-//	ALARM_NODE_T * ptr = pList_head;
-//	if((sec_bcd & 1) && (ptr != NULL))//ÿ2S�޸�һ������ & ��������������
-//	{
-//		if(sec_limit_flag != sec_bcd)
-//		{
-//			sec_limit_flag = sec_bcd;
-//			if(temp_list_cnt_flag != list_cnt) //��������or��ʧʱ�������µı�����ʼ��ʾ
-//			{
-//				alarm_show_num = temp_list_cnt_flag = list_cnt; 
-//				if(list_cnt > ALARM_ID_SHOW_MAX) //����ѭ����ʾ��Сֵ
-//					show_min_flag = list_cnt - ALARM_ID_SHOW_MAX; 
-//				else
-//					show_min_flag = 0;
-//			}
-//			if(--alarm_show_num < show_min_flag) //һ��ѭ���󣬻ص���ʼֵ
-//				alarm_show_num = list_cnt - 1;
-//			/*�������*/
-//			for(uint8_t j = 0;j < alarm_show_num;j++)
-//				ptr = ptr->alarm_list_next;
-//			alarm_id = ptr->list_data;
-//		}
-//	}else if(ptr == NULL && temp_list_cnt_flag != 0) // ��ǰ�б���������û��
-//	{
-//		alarm_id = AV_NORMAL;
-//		temp_list_cnt_flag = list_cnt;
-//	}
-//	/*������ʾ*/
-//	if(alarm_id != AV_NORMAL)	
-//	{
-//		LCD_DISPLAY_SEG(_LCD_WARNING_23A);
-//		Lcd_DisplayDigit_23A(2 + i,BCD_2_DECIMAL(alarm_id) / 10);
-//		Lcd_DisplayDigit_23A(3 + i,BCD_2_DECIMAL(alarm_id) % 10);
-//	}
+	uint8_t i = 0;
+#ifdef LCD_NEW
+	i = 1;
+#endif	
+	static uint8_t sec_limit_flag = 0; //����ѭ��������ʾʱ��������ҳ������ʾ������������
+	static uint8_t temp_list_cnt_flag = 0; //�����жϱ����Ƿ���ɾ
+	static uint8_t show_min_flag = 0; //��ʾ�жϵ���Сֵ��־λ
+	__IO static int8_t alarm_show_num = 0; //������ʾ�ij��ȣ����ڲ��������еı���ID
+	__IO static SYS_ALARM_VALVE_T alarm_id = AV_NORMAL;
+	ALARM_NODE_T * ptr = pList_head;
+	if((sec_bcd & 1) && (ptr != NULL))//ÿ2S�޸�һ������ & ��������������
+	{
+		if(sec_limit_flag != sec_bcd)
+		{
+			sec_limit_flag = sec_bcd;
+			if(temp_list_cnt_flag != list_cnt) //��������or��ʧʱ�������µı�����ʼ��ʾ
+			{
+				alarm_show_num = temp_list_cnt_flag = list_cnt; 
+				if(list_cnt > ALARM_ID_SHOW_MAX) //����ѭ����ʾ��Сֵ
+					show_min_flag = list_cnt - ALARM_ID_SHOW_MAX; 
+				else
+					show_min_flag = 0;
+			}
+			if(--alarm_show_num < show_min_flag) //һ��ѭ���󣬻ص���ʼֵ
+				alarm_show_num = list_cnt - 1;
+			/*�������*/
+			for(uint8_t j = 0;j < alarm_show_num;j++)
+				ptr = ptr->alarm_list_next;
+			alarm_id = ptr->list_data;
+		}
+	}else if(ptr == NULL && temp_list_cnt_flag != 0) // ��ǰ�б���������û��
+	{
+		alarm_id = AV_NORMAL;
+		temp_list_cnt_flag = list_cnt;
+	}
+	/*������ʾ*/
+	if(alarm_id != AV_NORMAL)	
+	{
+		LCD_DISPLAY_SEG(_LCD_WARNING_23A);
+		Lcd_DisplayDigit_23A(2 + i,BCD_2_HEX_U8(alarm_id) / 10);
+		Lcd_DisplayDigit_23A(3 + i,BCD_2_HEX_U8(alarm_id) % 10);
+	}
 }
 
 /*������ʾ*/
-//void Lcd_WarningShow(SYS_ALARM_VALVE_T * warning_state,SYS_ALARM_VALVE_T * clear_state)
-//{
-//	uint8_t display_alarm_id_bcd = BCD_2_DECIMAL(*warning_state);
-//	//��������ʾ�����������ʾ��ͬʱ
-//	if(*warning_state == *clear_state && *clear_state != AV_NORMAL)
-//		*warning_state = *clear_state = AV_NORMAL;
-//	if(*warning_state == AV_NORMAL && *clear_state != AV_NORMAL)
-//		*clear_state = AV_NORMAL;
-//	switch(*warning_state)
-//	{
-//		case AV_NORMAL:
-//		case V_KEY_OP: //����ֻ����λ������ʾ
-//		case V_KEY_CL:
-//		case V_GPRS_CMD_OP:
-//		case V_GPRS_CMD_CL:
-//			break;
-//		default:
-//			LCD_DISPLAY_SEG(_LCD_WARNING_23A);
-//			Lcd_DisplayDigit_23A(2,display_alarm_id_bcd / 10);
-//			Lcd_DisplayDigit_23A(3,display_alarm_id_bcd % 10);
-//			break;
-//	}
-//}
+void Lcd_WarningShow(SYS_ALARM_VALVE_T * warning_state,SYS_ALARM_VALVE_T * clear_state)
+{
+	uint8_t display_alarm_id_bcd = BCD_2_HEX_U8(*warning_state);
+	//��������ʾ�����������ʾ��ͬʱ
+	if(*warning_state == *clear_state && *clear_state != AV_NORMAL)
+		*warning_state = *clear_state = AV_NORMAL;
+	if(*warning_state == AV_NORMAL && *clear_state != AV_NORMAL)
+		*clear_state = AV_NORMAL;
+	switch(*warning_state)
+	{
+		case AV_NORMAL:
+		case V_KEY_OP: //����ֻ����λ������ʾ
+		case V_KEY_CL:
+		case V_GPRS_CMD_OP:
+		case V_GPRS_CMD_CL:
+			break;
+		default:
+			LCD_DISPLAY_SEG(_LCD_WARNING_23A);
+			Lcd_DisplayDigit_23A(2,display_alarm_id_bcd / 10);
+			Lcd_DisplayDigit_23A(3,display_alarm_id_bcd % 10);
+			break;
+	}
+}
 /*Զ����ʾ*/
 void Lcd_GprsShow(uint8_t gprs_state,uint8_t flag_4g,uint8_t signal_intensity)
 {
-//	static uint8_t temp_sig = 0;
-//	if(!flag_4g)
-//		LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
-//	/*�����ϴ�ʱ��ʾ*/
-//	if(gprs_soft_para_g.gprs_state != GPRS_IDLE && gprs_soft_para_g.gprs_state != GPRS_RESTART)
-//	{
-//		LCD_DISPLAY_SEG(_LCD_WIFI_23A);
-//		temp_sig++;
-//		switch(temp_sig)
-//		{
-//			case 1:
-//				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
-//				break;
-//			case 2:
-//				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
-//				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
-//				break;
-//			case 3:
-//				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
-//				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
-//				LCD_DISPLAY_SEG(_LCD_4G_3_23A);
-//				break;
-//			case 4:
-//				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);
-//				break;
-//			case 5:
-//				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);
-//				break;
-//			default:
-//				temp_sig = 0;
-//				break;
-//		}		
-//	}
-//	else
-//	{
-//		if(!gprs_state)//��һ��ͨѶ����
-//		{	
-//			LCD_DISPLAY_SEG(_LCD_WIFI_23A);
-//			LCD_DISPLAY_SEG(_LCD_4G_1_23A);
-//			if(signal_intensity > GMS_WORST)
-//				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
-//			if(signal_intensity > GMS_POOR)
-//				LCD_DISPLAY_SEG(_LCD_4G_3_23A);
-//			if(signal_intensity > GMS_GENERAL)
-//				LCD_DISPLAY_SEG(_LCD_4G_4_23A);
-//			if(signal_intensity > GMS_BEST)
-//				LCD_DISPLAY_SEG(_LCD_4G_5_23A);
-//		}
-//	}
+	static uint8_t temp_sig = 0;
+	if(!flag_4g)
+		LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
+	/*�����ϴ�ʱ��ʾ*/
+	if(gprs_soft_para_g.gprs_state != GPRS_IDLE && gprs_soft_para_g.gprs_state != GPRS_RESTART)
+	{
+		LCD_DISPLAY_SEG(_LCD_WIFI_23A);
+		temp_sig++;
+		switch(temp_sig)
+		{
+			case 1:
+				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+				break;
+			case 2:
+				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
+				break;
+			case 3:
+				LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
+				LCD_DISPLAY_SEG(_LCD_4G_3_23A);
+				break;
+			case 4:
+				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);
+				break;
+			case 5:
+				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);
+				break;
+			default:
+				temp_sig = 0;
+				break;
+		}		
+	}
+	else
+	{
+		if(!gprs_state)//��һ��ͨѶ����
+		{	
+			LCD_DISPLAY_SEG(_LCD_WIFI_23A);
+			LCD_DISPLAY_SEG(_LCD_4G_1_23A);
+			if(signal_intensity > GMS_WORST)
+				LCD_DISPLAY_SEG(_LCD_4G_2_23A);
+			if(signal_intensity > GMS_POOR)
+				LCD_DISPLAY_SEG(_LCD_4G_3_23A);
+			if(signal_intensity > GMS_GENERAL)
+				LCD_DISPLAY_SEG(_LCD_4G_4_23A);
+			if(signal_intensity > GMS_BEST)
+				LCD_DISPLAY_SEG(_LCD_4G_5_23A);
+		}
+	}
 	
 }
 /*�Ʒ���ʾ*/
 void Lcd_BillingShow(uint8_t bill_flag,uint8_t bill_mode,uint8_t price_mode)
 {
-//	if(bill_flag)//�мƷ�
-//	{
-//		if(bill_mode)//��̨�Ʒ�ģʽ
-//			LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
-//		if(price_mode == SPM_LADDER)
-//			LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);//���ݼ۸�
-//		else
-//			LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);//��һ�۸�
-//	}
+	if(bill_flag)//�мƷ�
+	{
+		if(bill_mode)//��̨�Ʒ�ģʽ
+			LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
+		if(price_mode == SPM_LADDER)
+			LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);//���ݼ۸�
+		else
+			LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);//��һ�۸�
+	}
 }
 
+/*�л�ģʽ����Ȩ��־λ����ʱ����ʾ*/
+void Lcd_ModeFlagActiveShow(SYS_SOME_FLAG_T * mode_flag_p)
+{
+	static uint8_t flag_active = 0;
+	if((mode_flag_p->para_display_flag || mode_flag_p->uncap_flag) && __SYS_DELAY_SEC_TIME_GET_(mode_flag_active_time))
+	{
+		flag_active = !flag_active;
+		if(flag_active && mode_flag_p->para_display_flag)
+			LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);
+		if(flag_active && mode_flag_p->uncap_flag)
+			LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A);
+	}
+	if(__SYS_DELAY_SEC_FLAG_GET(mode_flag_active_time) == SET)
+	{
+		__SYS_DELAY_SEC_FLAG_CLEAR_(mode_flag_active_time);
+		__SYS_PARA_FLAG_CLEAR_(uncap_flag);
+		__SYS_PARA_FLAG_CLEAR_(para_display_flag);
+	}
+}
 
+/*���������Ĺ̶���ʾ����*/
+void Lcd_SecCorr_FixedShow(PARA_DISPLAY_PAGE sec_corr_fix)
+{
+	uint8_t i = 0;
+#ifdef LCD_NEW
+	i = 1;
+#endif	
+	Lcd_DisplayLetter(5 + i,LCD_S);
+	Lcd_DisplayLetter(6 + i,LCD_E);
+	Lcd_DisplayLetter(7 + i,LCD_C);
+	
+	Lcd_DisplayLetter(9 + i,LCD_C);
+	Lcd_DisplayLetter(10 + i,LCD_O);
+	Lcd_DisplayLetter(11 + i,LCD_R);
+	Lcd_DisplayLetter(12 + i,LCD_R);
+	if(sec_corr_fix == SEC_CORR_NOW)
+	{
+		Lcd_DisplayLetter(14 + i,LCD_N);
+		Lcd_DisplayLetter(15 + i,LCD_O);
+		Lcd_DisplayLetter(16 + i,LCD_W);
+	}else if(sec_corr_fix == SEC_CORR_OLD)
+	{
+		Lcd_DisplayLetter(14 + i,LCD_O);
+		Lcd_DisplayLetter(15 + i,LCD_L);
+		Lcd_DisplayLetter(16 + i,LCD_D);
+	}
+}
 
+void Lcd_SecCorr_ParaShow(PARA_DISPLAY_PAGE sec_corr_fix,SECOND_ORDER_CORR_T * sec_coor_set_p)
+{
+	if(sec_corr_fix == SEC_CORR_NOW_PARA_1)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[0]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[0]);
+	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_2)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[1]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[1]);
+	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_3)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[2]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[2]);
+	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_4)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[3]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[3]);
+	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_5)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[4]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[4]);
+	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_1)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[0]); //����Ԥ��ֵ��oldֵ
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[5]);
+	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_2)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[1]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[6]);
+	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_3)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[2]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[7]);
+	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_4)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[3]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[8]);
+	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_5)
+	{
+		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[4]);
+		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[9]);
+	}
+	
 
-
-//void Lcd_SecCorr_ParaShow(PARA_DISPLAY_PAGE sec_corr_fix,SECOND_ORDER_CORR_T * sec_coor_set_p)
-//{
-//	if(sec_corr_fix == SEC_CORR_NOW_PARA_1)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[0]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[0]);
-//	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_2)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[1]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[1]);
-//	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_3)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[2]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[2]);
-//	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_4)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[3]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[3]);
-//	}else if(sec_corr_fix == SEC_CORR_NOW_PARA_5)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[4]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[4]);
-//	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_1)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[0]); //����Ԥ��ֵ��oldֵ
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[5]);
-//	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_2)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[1]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[6]);
-//	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_3)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[2]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[7]);
-//	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_4)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[3]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[8]);
-//	}else if(sec_corr_fix == SEC_CORR_OLD_PARA_5)
-//	{
-//		Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[4]);
-//		Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[9]);
-//	}
-//	
-
-//}
+}

--
Gitblit v1.9.3