Преглед изворни кода

兼容旧的迪文屏界面

guoqiang пре 2 година
родитељ
комит
f37b1887e6
3 измењених фајлова са 91 додато и 60 уклоњено
  1. 1 1
      Inc/main.h
  2. 89 58
      Src/Dwin.c
  3. 1 1
      Src/KeySlave485.c

+ 1 - 1
Inc/main.h

@@ -63,7 +63,7 @@ extern "C" {
 #include <stdlib.h>
 #include "stm32f7xx_hal.h"
 
-#define REMOTE_IAP_UPDATA 		0 	//是否是远程升级 //0--本地运行版本      1---远程升级版本
+#define REMOTE_IAP_UPDATA 		1 	//是否是远程升级 //0--本地运行版本      1---远程升级版本
 #define WATCH_DOG_ON 					0   //是否打开看门狗 //0--关闭看门狗SP706   1---打开看门狗SP706
 #define USE_RAM_RECORD    		1   //是否启用RAM数据缓存重发机制
 #define USE_QUEUE_RECORD			1   //是否启用队列数据缓存重发机制

+ 89 - 58
Src/Dwin.c

@@ -16,6 +16,11 @@ uint8_t Lcd_sleep_flag =2;//1
 uint8_t DateDwin[8];
 uint8_t time_Set_Dwin[14]={0x5A, 0xA5, 0x0B ,0x82 ,0x00 ,0x9C ,0x5A ,0xA5 ,0x13 ,0x05 ,0x1B ,0x0b ,0x1b ,0x19};
 
+#define UI_VERSION_00  (0X00)
+#define UI_VERSION_2B  (0X2B)
+
+static uint8_t ui_version = UI_VERSION_00;
+
 SemaphoreHandle_t xSemaphore = NULL;
 int Init_Dwin_Signal(void)
 {
@@ -535,20 +540,21 @@ void Go_homepage(void)
 void Lcd_Init(void)
 {
 	//初始化界面
-	uint8_t i=0;
-
 	WrDwinCmd16(ADDR_DWIN_CoverSmall,0x00);//人孔小盖关
 //	HAL_Delay(15);
 	WrDwinCmd16(ADDR_DWIN_CoverBig,0x00);//人孔大盖关
 //	HAL_Delay(15);
-	//WrDwinCmd16(ADDR_DWIN_HaiDiFa,0x00);//底阀关
-//	HAL_Delay(15);
-	for(i=0;i<StoreNumber;i++){
-        WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, VALVESTATUS_CLOSE); 
-        WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, VALVESTATUS_CLOSE); 
+
+	if(UI_VERSION_2B > ui_version){
+		WrDwinCmd16(ADDR_DWIN_HaiDiFa,0x00);//底阀关
+		WrDwinCmd16(ADDR_DWIN_XieYouFa,0x00);//卸油阀关
+	}else{
+		for(int i=0;i<StoreNumber;i++){
+			WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, VALVESTATUS_CLOSE); 
+			WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, VALVESTATUS_CLOSE); 
+		}
 	}
 	
-	//WrDwinCmd16(ADDR_DWIN_XieYouFa,0x00);//卸油阀关
 //	HAL_Delay(15);
 	
 	WrDwinCmd16(ADDR_DWIN_Seal_Lock,0xff);//锁不显示--
@@ -684,8 +690,8 @@ void Lcd_Init(void)
 输入:无
 输出返回:无	
 ******************************************************************************/
-//uint8_t a=0,b=0,c=0,d=0;
-uint8_t e1=0,f1=0;
+uint8_t a=0,b=0,c=0,d=0;
+uint8_t e1=0,f1=0,g1=0,h1=0;
 void Dispaly_CarAndValveState(void)
 {
 	uint8_t e=0,f=0,g=0,h=0;
@@ -725,6 +731,17 @@ void Dispaly_CarAndValveState(void)
 
 		PreProcess_GetValveStatus(&ManHole_CoverBig001, &ManHole_CoverSmall001, &SeaValue001, &UnloadingValve001);
 
+		if(a!=ManHole_CoverBig001)
+		{
+			WrDwinCmd16(ADDR_DWIN_CoverBig,ManHole_CoverBig001);//人孔大盖开关
+			a=ManHole_CoverBig001;
+		}
+		if(b!=ManHole_CoverSmall001)
+		{
+			WrDwinCmd16(ADDR_DWIN_CoverSmall,ManHole_CoverSmall001);//人孔小盖开关
+			b=ManHole_CoverSmall001;
+		}
+
 		if(e1!=e)
 		{
 			WrDwinCmd16(ADDR_DWIN_StateYiChang_CoverSmall,e);//人孔小盖异常
@@ -736,55 +753,69 @@ void Dispaly_CarAndValveState(void)
 			f1=f;
 		}
 
-#if 0
-		if(h1!=h)
-		{
-			WrDwinCmd16(ADDR_DWIN_StateYiChang_HaiDiFa,h);//底阀异常
-			h1 = h;
-		}
-		if(g1!=g)
-		{
-			WrDwinCmd16(ADDR_DWIN_StateYiChang_XieYouFa,g);//卸油阀异常
-			g1 = g;
+		if(UI_VERSION_2B > ui_version){
+
+			if(c!=SeaValue001)
+			{
+				WrDwinCmd16(ADDR_DWIN_HaiDiFa,SeaValue001);//海底阀开关
+				c=SeaValue001;
+			}
+			if(d!=UnloadingValve001)
+			{
+				WrDwinCmd16(ADDR_DWIN_XieYouFa,UnloadingValve001);//卸油阀开关
+				d=UnloadingValve001;
+			}
+
+			if(h1!=h)
+			{
+				WrDwinCmd16(ADDR_DWIN_StateYiChang_HaiDiFa,h);//底阀异常
+				h1 = h;
+			}
+			if(g1!=g)
+			{
+				WrDwinCmd16(ADDR_DWIN_StateYiChang_XieYouFa,g);//卸油阀异常
+				g1 = g;
+			}
+
+		}else{
+
+			for(i=0;i<StoreNumber;i++)
+			{
+				uint8_t status = VALVESTATUS_CLOSE;
+				if((g&(0x01<<i)) > 0){ //异常了
+					status = VALVESTATUS_EXCEPTION;
+				}else{
+					if((UnloadingValve001&(0x01<<i)) == 0){ //关
+						status = VALVESTATUS_CLOSE;
+					}else{ //开
+						status = VALVESTATUS_OPEN;
+					}
+				}
+
+				if(static_unloadvalve_state[i] != status){
+					WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, status); 
+					static_unloadvalve_state[i] = status; 
+				}
+
+				//SealVlave
+				if((h&(0x01<<i)) > 0){ //异常了
+					status = VALVESTATUS_EXCEPTION;
+				}else{
+					if((SeaValue001&(0x01<<i)) == 0){ //关
+						status = VALVESTATUS_CLOSE;
+					}else{ //开
+						status = VALVESTATUS_OPEN;
+					}
+				}
+
+				if(static_seavalve_state[i] != status){
+					WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, status); 
+					static_seavalve_state[i] = status; 
+				}
+
+			}
 		}
-#else
-     for(i=0;i<StoreNumber;i++)
-     {
-        uint8_t status = VALVESTATUS_CLOSE;
-        if((g&(0x01<<i)) > 0){ //异常了
-            status = VALVESTATUS_EXCEPTION;
-        }else{
-            if((UnloadingValve001&(0x01<<i)) == 0){ //关
-                status = VALVESTATUS_CLOSE;
-            }else{ //开
-                status = VALVESTATUS_OPEN;
-            }
-        }
-
-        if(static_unloadvalve_state[i] != status){
-            WrDwinCmd16(ADDR_DWIN_UnloadVlave_Status+2*i, status); 
-            static_unloadvalve_state[i] = status; 
-        }
-
-        //SealVlave
-        if((h&(0x01<<i)) > 0){ //异常了
-            status = VALVESTATUS_EXCEPTION;
-        }else{
-            if((SeaValue001&(0x01<<i)) == 0){ //关
-                status = VALVESTATUS_CLOSE;
-            }else{ //开
-                status = VALVESTATUS_OPEN;
-            }
-        }
-
-        if(static_seavalve_state[i] != status){
-            WrDwinCmd16(ADDR_DWIN_SeaVlave_Status+2*i, status); 
-            static_seavalve_state[i] = status; 
-        }
-
-     }
-
-#endif 
+
 #if 0		
 		if(Full_Oil_allinfo.Null_ID!=Full_Oil_allinfo.Null_ID_disp)
 		{

+ 1 - 1
Src/KeySlave485.c

@@ -38,7 +38,7 @@ uint8_t product_code[20] = "JL-SIMS-CJ-V2.1";				 //
 uint8_t product_ID[20] = "20210730001";						 //产品ID
 
 char Version_software[30] = "KZB09A0_20220210_Temp1";
-uint32_t Version_Soft[8] = {2,2,3,13,1,1,0,20221125};
+uint32_t Version_Soft[8] = {2,2,3,13,1,1,0,20221130};
 
 uint8_t flag_exitReset = 0;	 //终止复位命令
 uint8_t flag_Uart4_Busy = 0; //表明打印机占用了总线,暂停语音播报