Selaa lähdekoodia

Merge branch 'no_warning' of http://192.168.0.139:3000/libo/control into no_warning

# Conflicts:
#	Src/CollectMaster485.c
#	Src/TerminalSlave485.c
#	Src/freertos.c
libo 2 vuotta sitten
vanhempi
commit
b6d808713e
3 muutettua tiedostoa jossa 28 lisäystä ja 95 poistoa
  1. 7 16
      Src/CollectMaster485.c
  2. 10 75
      Src/TerminalSlave485.c
  3. 11 4
      Src/freertos.c

+ 7 - 16
Src/CollectMaster485.c

@@ -134,8 +134,7 @@ uni_TempToPlatForm uni_TempToPlatForm001,uni_TempToPlatForm002;
 //李伟修改    队尾的3个数据依次为最大值,最小值,峰峰值
 float ArrYeweiForWenyou[NumOf_WenYouPanduan+3];//存储300s的液位数据    打印的时候作为是否稳油判断依据
 float Yewei_max000,Yewei_min000,Yewei_peak000;
- 
-	 
+
 void TestUsart2_Receive(void)
 {
 	if(usart2_rx_flag)
@@ -539,12 +538,13 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 					//	__nop();
 						
 					}
+
 				}break;
 				case 0xA2://Read Needed Sensor Value
 				{	switch(USART2_RX_BUF[4])
 					{
 						case 1://Press expressed volume   体积  容积    
-							//if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
+						{	//if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
 						//if(CRC_data==CRC_data02)
 							{
 								Stor[0].Volume=((USART2_RX_BUF[5]<<8)|USART2_RX_BUF[6]);
@@ -576,7 +576,6 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 //								
 								
 							}
-							break;
 						case 2://yewei  液位
 							
 						  // if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
@@ -641,7 +640,7 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 							}
 							 
 							
-							break;
+
 						case 3://Temppreture  温度   温度传感器
 
 							//CRC_data=CRC16_MODBUS(USART2_RX_BUF, 16+5);//dataLengthIn
@@ -775,7 +774,6 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 							
 							
 						  
-							break;
 						case 4://倾角 角度 
  
 						
@@ -798,29 +796,22 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 	 				
 						
 						
-			if((uni_QingJiao001.flo_Data>300)  || (uni_QingJiao001.flo_Data<-10))
-			{
-			
-			   ;//uni_QingJiao001.flo_Data=0.34;
-			}
 							
-							break;
+
 						case 5://压力
-							Stor[0].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+4);
+
 							Stor[1].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+8);
 							Stor[2].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+12);
 							Stor[3].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+16);
 						  uni_GasPressure001.flo_Data=Stor[0].Temperature;
 						
 						
-							break;
+
 						default:
 							break;
 					}
 				}	break;
 				case 0xA3://Write StoreNum
-					Collect485.Write_StorNum=USART2_RX_BUF[4];
-					break;
 				case 0xA4:
 					break;
 				case 0xA5:

+ 10 - 75
Src/TerminalSlave485.c

@@ -86,7 +86,6 @@ sT2C_SealByElec_Fence *pT2C_SealByElec_Fence = &T2C_SealByElec_Fence001;
  
  //============================================================
 sT2C_SetupData T2C_SetupData[8]  =
-{{
    2021,
 	 1,
 	 25,
@@ -498,7 +497,7 @@ Data_frame_TypeDef data_frame,Tx_data_frame;
 
 int32_t WholeCarData(uint8_t *buf);
 int32_t StoreData(uint8_t *buf,int storeNo);
-
+int BuildTimeCmd(uint8_t *pBuf);
 void Reboot_System()
 {
 	 __set_FAULTMASK(1);
@@ -886,7 +885,6 @@ int Process_CMD_IAP_Update(void)
 					txLen = sprintf((char *)USART1_TX_BUF,"Rx Error lenRx1=%d crcIAP=%04X crcTerminal=%04X\r\n",lenRx1,crcIAP,crcTerminal);
 				}			
 		
-  		break;
 	case 3:
 			//if(packIndex>2)
 			{//结束帧处理
@@ -1301,12 +1299,6 @@ void Data_analysis(void)
 				data_frame.Frame_addr = MODBUS_ASCII_AsciiToHex(temp_dataFromUsart1+1);
 				//判断地址是否正确
 				if(((data_frame.Frame_addr>=0x47)&&(data_frame.Frame_addr<=0x4e))||
-					(data_frame.Frame_addr==TERMINAL_CONTROL_GET_SENSOR_D1)||
-				(data_frame.Frame_addr==0xA1)||
-				(data_frame.Frame_addr==TERMINAL_CONTROL_GET_SENSOR_D2)||
-				(data_frame.Frame_addr==0x40)||
-				((data_frame.Frame_addr>=0x30)&&(data_frame.Frame_addr<=0x6f))||
-				((data_frame.Frame_addr>=TERMINAL_CONTROL_GET_Store01_ALL_Sensor)&&(data_frame.Frame_addr<=TERMINAL_CONTROL_GET_Whole_Car_Sensor))
 				)
 				{//地址码或者功能码正确合法-----开始
 					Sealing_Data.TerminalOnLineFlag = True;
@@ -2738,63 +2730,9 @@ sT2C_ALL_Sensor_Data_Each_Cang* pT2C_ALL_Sensor_Data0x93;
   }
 
 	
-									memcpy(&USART1_TX_BUF[1],&USART1_RX_BUF[1],4);
-									sprintf((char *)(char*)USART1_TX_BUF+5,"%02X",0x4a);//(16+4*33)/1
 	
 	
-									memcpy(&USART1_TX_BUF[1+6],pT2C_ALL_Sensor_Data0x93->FrameHead,16);
-								 
-								  //pT2C_ALL_Sensor_Data0x93->ElecSealState=0x12345678;
-								  //memcpy(&USART1_TX_BUF[17],&T2C_ALL_Sensor_Data01.ElecSealState,4); //17--20
-									
-									//pT2C_ALL_Sensor_Data0x93->ElecSealState=0x1122aacc;//*123.45f;//for test  仅用于测试
-								  uni_0x93.u32Dat=pT2C_ALL_Sensor_Data0x93->ElecSealState;//T2C_ALL_Sensor_Data01.ElecSealState;
-									USART1_TX_BUF[17+0+6]=uni_0x93.array_u8[3];
-									USART1_TX_BUF[17+1+6]=uni_0x93.array_u8[2];
-									USART1_TX_BUF[17+2+6]=uni_0x93.array_u8[1];
-									USART1_TX_BUF[17+3+6]=uni_0x93.array_u8[0];
-								
-								
-								
-									//memcpy(&USART1_TX_BUF[21],&T2C_ALL_Sensor_Data01.IO_Valve_Data_Every_Cang,21*4); //17--20
-								
-									//21个u32转换
-									for(i_0x93=0;i_0x93<21;i_0x93++)
-									{
-										uni_0x93.u32Dat=pT2C_ALL_Sensor_Data0x93->IO_Valve_Data_Every_Cang[i_0x93];
-										USART1_TX_BUF[21+0+i_0x93*4+0+6]=uni_0x93.array_u8[3];
-										USART1_TX_BUF[21+0+i_0x93*4+1+6]=uni_0x93.array_u8[2];
-										USART1_TX_BUF[21+0+i_0x93*4+2+6]=uni_0x93.array_u8[1];
-										USART1_TX_BUF[21+0+i_0x93*4+3+6]=uni_0x93.array_u8[0];
-									
-									}
-								
-								
-								  
-                  //memcpy(&USART1_TX_BUF[21+84],&T2C_ALL_Sensor_Data01.MoniLiang_Data_Every_Cang,11*4); //17--20
-								  
-								 
-								  //11个浮点数转换
-									for(i_0x93=0;i_0x93<11;i_0x93++)
-									{
-										uni_0x93.flo_Data=pT2C_ALL_Sensor_Data0x93->MoniLiang_Data_Every_Cang[i_0x93];
-										USART1_TX_BUF[21+84+i_0x93*4+0+6]=uni_0x93.array_u8[3];
-										USART1_TX_BUF[21+84+i_0x93*4+1+6]=uni_0x93.array_u8[2];
-										USART1_TX_BUF[21+84+i_0x93*4+2+6]=uni_0x93.array_u8[1];
-										USART1_TX_BUF[21+84+i_0x93*4+3+6]=uni_0x93.array_u8[0];
-									
-									}
-								
-								
-								
-									//Lrc_temp = MODBUS_Hex_GetLrc(USART1_TX_BUF+1,148);//154
-									Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,154);//154
-									
-								  //USART1_TX_BUF[149+6]=Lrc_temp;
-									//sprintf((char *)&USART1_TX_BUF[149+6],"%02X",Lrc_temp);
-									sprintf((char *)(char*)USART1_TX_BUF+149+6,"%02X",Lrc_temp);
-								  USART1_TX_BUF[LenthOf_Reply0x93-2]=0x0d;
-								  USART1_TX_BUF[LenthOf_Reply0x93-1]=0x0a;
+
 }
 
 //数据的应答
@@ -3593,6 +3531,7 @@ uint8_t  temp_buf[137]={0};//
 Return_data * Seal_Tx_Readvalue(uint16_t ID,uint16_t length)//读取电子铅封的应答 0:默认 1:解封 2 :施封 3:破封
 {
 
+
 	static Return_data temp;
 	uint8_t  i,j=0;
 	uint8_t Byte_high,Byte_low;
@@ -4693,7 +4632,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 		int i000,i001;
 		//uint8_t TempData;//,TmpValState00,TmpValState01;
 
-  		extern	uint16_t  bufText00[256];
 		extern  uint16_t  bufText01Password[256];
 		extern 	uint32_t FunDebugCode;	
 
@@ -4831,8 +4769,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				//				USART1_TX_BUF[130] = 0x0A;
 								TerminalSlave485_Send_Data(USART1_TX_BUF,128+3);	
 						}
-						else
-						{//按照十六进制的方式回复
 //								Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
 //								//memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*2+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
 //								memcpy(USART1_TX_BUF,temp_dataFromUsart1,67+2);// 
@@ -4840,18 +4776,19 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 //								USART1_TX_BUF[68]=0x0A;
 //								TerminalSlave485_Send_Data(USART1_TX_BUF,69);
 //							
-							
+ 							
 							//lenRx1
 								memcpy(USART1_TX_BUF,temp_dataFromUsart1,lenRx1+0);// 
 //							  USART1_TX_BUF[67]=0x0D;
 //								USART1_TX_BUF[68]=0x0A;
-								TerminalSlave485_Send_Data(USART1_TX_BUF,lenRx1+0);
+							TerminalSlave485_Send_Data(USART1_TX_BUF,lenRx1+0);
 							
 							
 								/*Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
 								//张毅反应去掉开头的冒号0x3A,去掉结尾的校验2字节、0x0d0a
 								memcpy(USART1_TX_BUF,&temp_dataFromUsart1[1],64);// 
 
+
 								TerminalSlave485_Send_Data(USART1_TX_BUF,64);	*/
 
 								__NOP();
@@ -5089,7 +5026,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				case	ADDR_Sensor_Scan_Param:
  					FM25L16B_Read_N_Bytes(ADDR_Sensor_Scan_Param,T2C_RemoteCaliDat001.PayLoadData,16);
 					T2C_RemoteCaliDat001.NumberOfRegs = 16; 
-      		break;	
+
 				default:
 
 					//memset(&USART1_TX_BUF[33], '=', sizeof(USART1_TX_BUF) - 33);
@@ -5237,7 +5174,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					T2C_RemoteCaliDat001.NumberOfRegs=32;			
       				break;
 				case	ADDR_Zero_Of_TankCapacity://兼容8仓	罐容Vt零点
- 					FM25L16B_Write_N_Bytes(ADDR_Zero_Of_TankCapacity,T2C_RemoteCaliDat001.PayLoadData,32); 
 					//解析8个浮点数数据
 					for(i001=0;i001<8;i001++)
 					{
@@ -5254,9 +5190,9 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					//数据回读
 					FM25L16B_Read_N_Bytes(ADDR_Zero_Of_LiquidMeter,T2C_RemoteCaliDat001.PayLoadData,32);
 			 		T2C_RemoteCaliDat001.NumberOfRegs=32;			
-					break;
+
 				case	ADDR_ManHoLe_Number://人孔盖卸油阀数量
-					
+
 					//解析8个浮点数数据
 					for(i001=0;i001<8;i001++)
 					{
@@ -5327,7 +5263,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					FM25L16B_Read_N_Bytes(ADDR_Foot_info,T2C_RemoteCaliDat001.PayLoadData+4,1);
 					T2C_RemoteCaliDat001.NumberOfRegs = 5;
  			
-      		break;
 					
 				case	ADDR_Enable_ReSeal://是否允许重复施封 断电保存 
           //解析8个浮点数数据----合法的取值只有两种0,1
@@ -5433,6 +5368,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				  memcpy(&time_Set_Dwin[8],T2C_RemoteCaliDat001.PayLoadData,6);
 				  ScreenMaster485_Send_Data(time_Set_Dwin,14);
 					//memcpy(TimeBuf+1,T2C_RemoteCaliDat001.PayLoadData,6);
+
 #if 	1				
 					uint8_t times_buf[32];
 					memset(times_buf, 0x00,sizeof(times_buf));
@@ -5563,7 +5499,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					}
 					FM25L16B_Write_N_Bytes(ADDR_USART1_RE_TIMEOUT, T2C_RemoteCaliDat001.PayLoadData, 4);
 					T2C_RemoteCaliDat001.NumberOfRegs = 4;
-					break;
 				case ADDR_DISP_VT_TYPE:
 					vt_disp_type = T2C_RemoteCaliDat001.PayLoadData[0];
 					FM25L16B_Write_N_Bytes(ADDR_DISP_VT_TYPE, T2C_RemoteCaliDat001.PayLoadData, 1);

+ 11 - 4
Src/freertos.c

@@ -69,6 +69,7 @@
 #include "func_record.h"
 #include "Data_deal.h"
 #include "DS1302.h"
+
 #include "DS1302Drv.h"
 #include "usart.h"
 #include <string.h> //memset函数
@@ -109,6 +110,7 @@ osThreadId Uart2_CommHandle;
 osThreadId Usart1_TerminalHandle; ////Task_Usart1_Terminal
 osThreadId Data_ProcessHandle;
 osThreadId DispSensorData_Handle;
+
 //osThreadId VoicePlay_Handle;		 //语音播报任务
 osThreadId Task_GetCPU_Usage_Handle; //
 
@@ -149,6 +151,7 @@ sT2C_ALL_Sensor_Data_Each_Cang *pT2C_ALL_Sensor_Data_Disp = &T2C_ALL_Sensor_Data
 
 /* Private function prototypes -----------------------------------------------*/
 /* USER CODE BEGIN FunctionPrototypes */
+
 void ControllerConfig_Init(void)
 {
 	//	uint8_t t000;
@@ -394,6 +397,7 @@ void ControllerConfig_Init(void)
 	flag_En_BlankSeal = FM25L16B_ReadByte(ADDR_Enable_BlankSeal);
 
     // 开机初始化读取,SensorScanParam
+
 	jt808_InitSensorScanParam();
 }
 /* USER CODE END FunctionPrototypes */
@@ -640,6 +644,7 @@ void Task_Usart3_LCD_Update(void const *argument)
 	uint16_t i00task_usart3 = 0; //,i002=0;
 	int i001_DataTask, Len000;
 	
+
 	UNUSED(i001_DataTask);
 
 	/* USER CODE BEGIN Task_Usart3_LCD_Update */
@@ -809,6 +814,7 @@ void Task_Usart3_LCD_Update(void const *argument)
 			i00task_usart3 = 0;
 		}
 
+
 		//		//if(((i00Data%2)==0) && (tmrForRemoteCali==0))//非标定模式
 		//		if(tmrForRemoteCali==0)//非标定模式 收到0x3901进入标定模式,保持20s 将资源留给标定命令
 		//		{
@@ -1030,8 +1036,8 @@ void fram_time_write(SDateTime datetime)
 void Task_GetCPU_Usage(void const *argument)
 {
 	/* USER CODE BEGIN Task_GetCPU_Usage */
-	char hour=0xff;
 	char min=0xff;
+	char hour=0xff;
 	int count;
 	int i_task01;
 	EventBits_t uxBits;
@@ -3115,7 +3121,7 @@ void DisplaySensorInfo(void)
 									Vt_Local,Len002);//  %02d\r\n 
 	
 */
-	Len002 = 0;
+//	Len002 = 0;
 	//Len003=sprintf((char*)bufTextSensorInfo+Len002,"仓号:%d;h:%5.4f;T:%5.4f;T1,%5.4f;T2:%5.4f;T3:%5.4f;Vt:%5.4f;V20:%5.2f;--模拟量-----关---%d",
 	//									StoreNumber,
 	//									T2C_ALL_Sensor_Data01.MoniLiang_Data_Every_Cang[0],
@@ -3204,7 +3210,7 @@ void DisplaySensorInfo(void)
 
 		switch (FunDebugCode)
 		{
-		case DebugFun_SW_ExpansionRatio: //显示膨胀系数
+			case DebugFun_SW_ExpansionRatio: //显示膨胀系数
 			Len002 = sprintf((char *)bufTextSensorInfo + Len003, "膨胀系数s1:%6.5f;s2:%6.5f;s3,%6.5f;s4,%6.5f;\r\n",
 							 ExpansionRatio[0], ExpansionRatio[1], ExpansionRatio[2], ExpansionRatio[3]); //
 
@@ -3259,7 +3265,7 @@ void DisplaySensorInfo(void)
 
 			break;
 
-		default:
+			default:
 			//				Len002=sprintf((char*)bufTextSensorInfo+Len003,"膨胀系数s1:%6.5f;s2:%6.5f;s3,%6.5f;s4,%6.5f;\r\n",
 			//									ExpansionRatio[0],ExpansionRatio[1],ExpansionRatio[2],ExpansionRatio[3]);//
 			__NOP();
@@ -3284,6 +3290,7 @@ void DisplaySensorInfo(void)
 			memset(bufTextSensorInfo,0,256);
 			switch (i)
 			{
+
 			case 0:
 				pT2C_ALL_Sensor_Data_Disp = &T2C_ALL_Sensor_Data01;
 				Len003 = sprintf((char *)bufTextSensorInfo, "一");