From cf4d12fd8322cbb350dd3bc5af8c748e8790ac64 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 05 Jun 2024 17:38:06 +0800
Subject: [PATCH] 继续测试修改

---
 Function/LCD/lcd.c |  159 +++++++++++++++++++++++++++++------------------------
 1 files changed, 87 insertions(+), 72 deletions(-)

diff --git a/Function/LCD/lcd.c b/Function/LCD/lcd.c
index 398ffbd..b563b1a 100644
--- a/Function/LCD/lcd.c
+++ b/Function/LCD/lcd.c
@@ -16,7 +16,9 @@
 #include "gpio.h"
 #include "string.h"
 #include "system_general_para.h"
-
+#include "sizhu_ctrl_word.h"
+#include "system_mem_para.h"
+#include "linked_list.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
@@ -26,9 +28,14 @@
 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;
+FlagStatus lcd_wake_up_flag_g = RESET;  //Ϊ�˰�����ʾû���ӳٸ�
+FlagStatus lcd_first_wake_up_flag_g = SET; //��ʼҪΪSET������
 
-
+SYS_DISPLAY_PAPA_T sys_display_para_g ={      \
+	.sys_and_display_mode = NORMAL_MODE,                         \
+	.display_page_status.normal_page_status = TOTAL_SC_BALANCE,  \
+	.display_page_status.para_page_status = METER_NUM,					\
+};
 
 // LCD��ʼ��
 void Lcd_Init(void)
@@ -42,7 +49,7 @@
 {
 //  LCD_ALL_DISPLAY;
   Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_OFF_OFF, 1);
-	LCD_BACKLIGHT_OFF;
+//	LCD_BACKLIGHT_OFF;
   LCD_PWR_OFF;
 }
 /**************************************
@@ -58,7 +65,7 @@
   delay_ms(1);
   // LCD_ALL_CLEAR;
   Lcd_Init();
-	lcd_wake_up_flag_g = 1;
+//	lcd_wake_up_flag_g = 1;
 }
 /****************************************
 ���ƣ�Lcd_Display_AllTest(void)
@@ -141,51 +148,51 @@
   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_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_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;
 }
 
@@ -404,27 +411,25 @@
 
 void Lcd_Show_MenuProcess(void)//? ��Ҫ����
 {
-  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);
+//  lcd_wake_up_flag_g = RESET;
+	/*ʼ����Ҫ����ʾ���ݣ���˾LOGO ��ص����ȵȣ�*/
+	if(__SYS_FUNC_CFG_BYTES_GET(no_show_logo) == RESET)
+		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);
+	if(__SYS_STATUS_BYTES_GET(power_state) == SET)
+		LCD_DISPLAY_SEG(_LCD_CHARGE_23A);
 
-//	/*�����жϵ���ʾ���ݣ����� ���� Զ�� ������� ��ʾģʽ �Ʒ�ģʽ ���� ������־ �豸/��̨����ģʽ��*/
-////	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_STATUS)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);
+	Lcd_ValveShow(save_valve_para_g.valve_status, save_valve_para_g.valve_close_ID, save_valve_para_g.valve_lock_state);
+	Lcd_WrcShow(sys_fun_run_ctrl_g.wrc_ctrl_flag.running_flag,wrc_ctrl_para_g.wrc_result_flag,link_info_g.SIM_Type,link_info_g.net_signal_intensity);
+	
+	Lcd_WaringShow(alarm_list_cnt,sys_clockBCD_g.sec);
+
+	Lcd_BillingShow(__SYS_FUNC_CFG_BYTES_GET(billing_type), save_realtime_data_g.realtime_billing_data_s.ladder_now);
+	
+	if (__SYS_STATUS_BYTES_GET(account_state)==SET)
+		LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
 
 
 //	/*��ͬҳ�����ʾ����*/
@@ -546,10 +551,15 @@
 
 void lcdDisplayPro(void)
 {
-	if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0)
+	static uint8_t only_trigger_once_flag = 0;
+	
+	lcd_wake_up_flag_g = RESET;
+	
+	if((__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0)||(__SYS_STATUS_BYTES_GET(lcd_mode) == LDM_ALWAYS_AWAKEN)||(__SYS_STATUS_BYTES_GET(power_state) == SET))
 	{
-		if(LCD_PWR_IO_READ==Bit_RESET)
+		if(lcd_first_wake_up_flag_g == SET)
 		{
+			lcd_first_wake_up_flag_g = RESET;
 			//�״��ϵ��ʼ��
 			Lcd_Sys_Init();
 		}else
@@ -557,10 +567,15 @@
 			//ֻ������ʾ����
 		}
 		Lcd_Show_MenuProcess();
+		only_trigger_once_flag =0;
 		
 	}else
 	{
-		Lcd_DeInit();
+		
+		if(only_trigger_once_flag == 0){
+			only_trigger_once_flag =1;
+			Lcd_DeInit();
+		}
 	}
 	
 }
\ No newline at end of file

--
Gitblit v1.9.3