|
@@ -1710,78 +1710,59 @@ void StartTask02(void *argument) //卸
|
|
|
|
|
|
if(i001==0) //发送卸油阀传感器命令轮询
|
|
|
{
|
|
|
- if(pcang->XYF_INSTALL != 0)
|
|
|
- {
|
|
|
+ if ((pcang->XYF_INSTALL != 0) && (pcang->XYF_Type != 2))
|
|
|
+ {
|
|
|
|
|
|
- ModbusCRC = LIB_CRC_MODBUS(CMD_XYF,6);
|
|
|
- CMD_XYF[6] = ModbusCRC>>8;
|
|
|
- CMD_XYF[7] = ModbusCRC&0xff;
|
|
|
- HAL_GPIO_WritePin(GPIOB,con02_uart3_xieyoufa_Pin,GPIO_PIN_RESET);//
|
|
|
- delay_sys_us(80);
|
|
|
-#if 0
|
|
|
-// if((pcang->XYF_Type == 1)||(CMD_XYF[0] == 0x11)) //中化测试用
|
|
|
- // if(pcang->XYF_Type == 1)
|
|
|
- // HAL_UART_Transmit(&huart3,Data_Head,2,10); //发送帧头
|
|
|
- HAL_UART_Transmit(&huart3,CMD_XYF,8,100);
|
|
|
-// if((pcang->XYF_Type == 1)||(CMD_XYF[0] == 0x11)) //中化测试用
|
|
|
- // if(pcang->XYF_Type == 1)
|
|
|
- // HAL_UART_Transmit(&huart3,Data_Head,2,10); //发送帧尾
|
|
|
- delay_sys_us(80);
|
|
|
-#else
|
|
|
- HAL_UART_Transmit_IT(&huart3,CMD_XYF,8);
|
|
|
- while (huart3.gState == HAL_UART_STATE_BUSY_TX)
|
|
|
+ ModbusCRC = LIB_CRC_MODBUS(CMD_XYF, 6);
|
|
|
+ CMD_XYF[6] = ModbusCRC >> 8;
|
|
|
+ CMD_XYF[7] = ModbusCRC & 0xff;
|
|
|
+ HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_RESET); //
|
|
|
+ delay_sys_us(80);
|
|
|
+ HAL_UART_Transmit_IT(&huart3, CMD_XYF, 8);
|
|
|
+ while (huart3.gState == HAL_UART_STATE_BUSY_TX)
|
|
|
+ {
|
|
|
+ osDelay(1);
|
|
|
+ }
|
|
|
+ HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_SET); //
|
|
|
+ pxyf[CMD_XYF[0] - 0x10].RTData_Num++; //每个传感器发送帧累加
|
|
|
+
|
|
|
+ if (CMD_XYF[0] - 0x10 < xyfaddr_max)
|
|
|
+ CMD_XYF[0]++;
|
|
|
+ else
|
|
|
+ CMD_XYF[0] = 0x11;
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- osDelay(1);
|
|
|
+ i001 = 3;
|
|
|
}
|
|
|
-#endif
|
|
|
- HAL_GPIO_WritePin(GPIOB,con02_uart3_xieyoufa_Pin,GPIO_PIN_SET);//
|
|
|
-#if 0
|
|
|
- if(pxyf[CMD_XYF[0]-0x10].RTData_Num > 5) //收发数据错误次数RT_ERRORCNT
|
|
|
+ }
|
|
|
+ if (i001 == 3) //发送姿态传感器轮询
|
|
|
+ {
|
|
|
+ if (pcang->Angle) //发送角度传感器命令轮询
|
|
|
{
|
|
|
- pxyf[CMD_XYF[0]-0x10].RTData_Num = RT_ERRORCNT;
|
|
|
- pxyf[CMD_XYF[0]-0x10].XYF_ErrorCnt = RT_ERRORCNT;
|
|
|
+
|
|
|
+ ModbusCRC = LIB_CRC_MODBUS(CMD_Angle_XY, 6);
|
|
|
+ CMD_Angle_XY[6] = ModbusCRC >> 8;
|
|
|
+ CMD_Angle_XY[7] = ModbusCRC & 0xff;
|
|
|
+ HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_RESET);
|
|
|
+ delay_sys_us(80);
|
|
|
+ HAL_UART_Transmit(&huart3, CMD_Angle_XY, 8, 100); //只支持单指令读角度取传感器数据
|
|
|
+ delay_sys_us(80);
|
|
|
+ HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_SET);
|
|
|
+
|
|
|
+ if (pangle->RTData_NumX > RT_ERRORCNT)
|
|
|
+ {
|
|
|
+ pangle->RTData_NumX = RT_ERRORCNT;
|
|
|
+ pangle->Angle_ErrorCnt = RT_ERRORCNT;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ pangle->RTData_NumX++;
|
|
|
}
|
|
|
else
|
|
|
-#endif
|
|
|
- pxyf[CMD_XYF[0]-0x10].RTData_Num++; //每个传感器发送帧累加
|
|
|
-
|
|
|
- if(CMD_XYF[0] - 0x10 < xyfaddr_max)
|
|
|
- CMD_XYF[0]++;
|
|
|
- else
|
|
|
- CMD_XYF[0] = 0x11;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- i001 = 3;
|
|
|
- }
|
|
|
- }
|
|
|
- if (i001 == 3) //发送姿态传感器轮询
|
|
|
- {
|
|
|
- if (pcang->Angle) //发送角度传感器命令轮询
|
|
|
- {
|
|
|
-
|
|
|
- ModbusCRC = LIB_CRC_MODBUS(CMD_Angle_XY, 6);
|
|
|
- CMD_Angle_XY[6] = ModbusCRC >> 8;
|
|
|
- CMD_Angle_XY[7] = ModbusCRC & 0xff;
|
|
|
- HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_RESET);
|
|
|
- delay_sys_us(80);
|
|
|
- HAL_UART_Transmit(&huart3, CMD_Angle_XY, 8, 100); //只支持单指令读角度取传感器数据
|
|
|
- delay_sys_us(80);
|
|
|
- HAL_GPIO_WritePin(GPIOB, con02_uart3_xieyoufa_Pin, GPIO_PIN_SET);
|
|
|
-
|
|
|
- if (pangle->RTData_NumX > RT_ERRORCNT)
|
|
|
- {
|
|
|
- pangle->RTData_NumX = RT_ERRORCNT;
|
|
|
- pangle->Angle_ErrorCnt = RT_ERRORCNT;
|
|
|
- }
|
|
|
- else
|
|
|
- pangle->RTData_NumX++;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- i001 = 6;
|
|
|
- }
|
|
|
- }
|
|
|
+ {
|
|
|
+ i001 = 6;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if(i001==6) //发送壁挂油传感器命令轮询
|
|
|
{
|
|
@@ -2187,7 +2168,7 @@ void StartTask03(void *argument) //
|
|
|
{
|
|
|
if(i001==0) //发送人控大盖盖命令轮询
|
|
|
{
|
|
|
- if(pcang->RKG_DG != 0)
|
|
|
+ if((pcang->RKG_DG != 0) && (pcang->RKG_Type!=2))
|
|
|
{
|
|
|
ModbusCRC = LIB_CRC_MODBUS(CMD_RKG,6);
|
|
|
CMD_RKG[6] = ModbusCRC>>8;
|
|
@@ -3048,6 +3029,9 @@ void StartTask04(void *argument) //
|
|
|
case 0x0122://SetSuccess = Level_SetCalvalue(ptx); //设置液位计种类
|
|
|
// Flash_Change = 1;
|
|
|
break;
|
|
|
+ case 0x0220:
|
|
|
+ SetSuccess=Read_SoftVersion(ptx);
|
|
|
+ break;
|
|
|
case 0x1121:
|
|
|
SetSuccess1 = Read_CangSensorData_1to4(ptx); //读仓1-4传感器
|
|
|
|