From d6ce00f6b68d3d1ecaf44c972909f311ac1d3bf8 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 09 May 2024 19:54:54 +0800
Subject: [PATCH] 增加电源管理部分功能

---
 Function/LCD/lcd.c |  319 ++++++++++++++++++++++++++---------------------------
 1 files changed, 157 insertions(+), 162 deletions(-)

diff --git a/Function/LCD/lcd.c b/Function/LCD/lcd.c
index 3eb2288..398ffbd 100644
--- a/Function/LCD/lcd.c
+++ b/Function/LCD/lcd.c
@@ -13,15 +13,10 @@
  */
 
 #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"
+#include "system_general_para.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
@@ -33,19 +28,8 @@
 
 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)
 {
@@ -56,7 +40,7 @@
 
 void Lcd_DeInit(void)
 {
-  LCD_ALL_DISPLAY;
+//  LCD_ALL_DISPLAY;
   Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_OFF_OFF, 1);
 	LCD_BACKLIGHT_OFF;
   LCD_PWR_OFF;
@@ -68,9 +52,9 @@
 **************************************/
 void Lcd_Sys_Init(void)
 {
-	I2c0_GPIO_Clk_Init();
+	Lcd_GPIO_Init();
   LCD_PWR_ON;
-	LCD_BACKLIGHT_SELECT(__SYS_STATUS_BYTES_GET(alka_low));
+
   delay_ms(1);
   // LCD_ALL_CLEAR;
   Lcd_Init();
@@ -418,154 +402,165 @@
   }
 }
 
-void Lcd_Show_MenuProcess(SYS_DISPLAY_PAPA_T *sys_display_para_p, ErrorStatus_STM32 *pCnv_result_flag)
+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);
+//	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);
+//	/*�����жϵ���ʾ���ݣ����� ���� Զ�� ������� ��ʾģʽ �Ʒ�ģʽ ���� ������־ �豸/��̨����ģʽ��*/
+////	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);
 
-  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);
-    }
-  }
+
+//	/*��ͬҳ�����ʾ����*/
+//	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));
 }
+
+
+
+
+void lcdDisplayPro(void)
+{
+	if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0)
+	{
+		if(LCD_PWR_IO_READ==Bit_RESET)
+		{
+			//�״��ϵ��ʼ��
+			Lcd_Sys_Init();
+		}else
+		{
+			//ֻ������ʾ����
+		}
+		Lcd_Show_MenuProcess();
+		
+	}else
+	{
+		Lcd_DeInit();
+	}
+	
+}
\ No newline at end of file

--
Gitblit v1.9.3