From 1765e65e4953ba9f78b4b858861d6bfc909a1c33 Mon Sep 17 00:00:00 2001 From: lh <3191213465@qq.com> Date: Fri, 22 May 2026 15:18:05 +0800 Subject: [PATCH] =?UTF-8?q?[9.5]=209.5=E9=A6=96=E7=89=88=E9=A6=96=E8=BD=AE?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=9F=BA=E7=BA=BF=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TSCP/src/APP/APP_API.c | 80 +- .../ci_integrate_config.h | 2 +- .../APP/ciapp/2oo2/2oo2DataTransferManage.c | 207 +- .../APP/ciapp/2oo2/2oo2InterfaceDataManage.h | 2 +- .../APP/ciapp/AutoRoute/AutoRouteDataManage.c | 14 +- .../APP/ciapp/AutoRoute/AutoRouteDataManage.h | 8 +- .../APP/ciapp/AxisAssert/AxisAssertDefine.h | 1 - .../ciapp/AxisAssert/AxisAssertManageAPI.c | 364 +-- .../ciapp/AxisAssert/AxisAssertManageAPI.h | 20 - .../ciapp/CutoffPoint/CutoffPointDataManage.c | 367 ++- .../ciapp/CutoffPoint/CutoffPointDataManage.h | 17 - .../APP/ciapp/DataManage/DeviceDataManage.c | 294 +-- .../APP/ciapp/DataManage/DeviceDataManage.h | 86 +- .../src/APP/ciapp/DataManage/PlatDataManage.c | 101 +- .../src/APP/ciapp/DataManage/PlatDataManage.h | 13 +- TSCP/src/APP/ciapp/ERROR/ErrorDefine.h | 18 +- TSCP/src/APP/ciapp/ESB/ESBDataManage.c | 275 --- TSCP/src/APP/ciapp/ESB/ESBDataManage.h | 97 - .../ciapp/EnvelopeManage/CTEnvelopeTrack.c | 244 +- .../EnvelopeManage/EnvelopeLogicProcess.c | 167 +- .../EnvelopeManage/EnvelopeLogicProcess.h | 18 - .../APP/ciapp/EnvelopeManage/EnvelopeScreen.c | 42 +- .../ciapp/EnvelopeManage/UCTEnvelopeTrack.c | 128 +- .../src/APP/ciapp/IO/DeviceRelayDataProcess.c | 2127 ++++------------- .../src/APP/ciapp/IO/DeviceRelayDataProcess.h | 147 +- TSCP/src/APP/ciapp/IO/InputDataProcess.c | 538 +---- TSCP/src/APP/ciapp/IO/InputDataProcess.h | 15 - TSCP/src/APP/ciapp/IO/OutputDataProcess.c | 41 +- .../Indicator/IndicatorConfigDataManage.c | 2 +- .../src/APP/ciapp/Indicator/IndicatorDefine.h | 2 +- .../APP/ciapp/Initial/ConfigDataReadManage.c | 62 +- .../APP/ciapp/Initial/ConfigDataReadManage.h | 10 - TSCP/src/APP/ciapp/Initial/InitialProcess.c | 54 +- .../ciapp/InvadeSection/InvadeSectionDefine.h | 2 +- TSCP/src/APP/ciapp/LogRecord/LogRecord.c | 52 +- .../ciapp/LogicManage/InterlockCommonManage.c | 5 - .../ciapp/LogicManage/InterlockCommonManage.h | 1 - .../ciapp/LogicManage/InterlockLogicManage.c | 906 ++----- .../ciapp/LogicManage/InterlockLogicManage.h | 31 +- .../ciapp/LogicManage/RouteRecoverManage.c | 140 +- .../LogicManage/TradInterlockLogicManage.c | 257 +- .../LogicManage/TradInterlockLogicManage.h | 5 +- .../ciapp/LogicProcess/InterlockLogicCheck.c | 1345 ++++------- .../ciapp/LogicProcess/InterlockLogicCheck.h | 99 +- .../LogicProcess/InterlockLogicProcess.c | 244 +- .../LogicProcess/InterlockLogicProcess.h | 9 +- .../LogicProcess/TradInterlockLogicProcess.c | 49 +- TSCP/src/APP/ciapp/Mask/MaskDefine.h | 20 +- .../ciapp/Overlap/OverlapConfigDataManage.c | 50 - .../ciapp/Overlap/OverlapConfigDataManage.h | 19 +- .../src/APP/ciapp/Overlap/OverlapDataManage.c | 2 +- TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.c | 24 - TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.h | 11 - TSCP/src/APP/ciapp/PSD/PSDDataManage.c | 360 +-- TSCP/src/APP/ciapp/PSD/PSDDataManage.h | 138 +- TSCP/src/APP/ciapp/PSD/PSDDefine.h | 35 - .../APP/ciapp/ParsePack/CiInterfaceDefine.h | 23 +- .../APP/ciapp/ParsePack/ParsePackAtsData.c | 438 +--- .../APP/ciapp/ParsePack/ParsePackAtsData.h | 42 - .../APP/ciapp/ParsePack/ParsePackAxleData.c | 381 +-- .../APP/ciapp/ParsePack/ParsePackAxleData.h | 18 +- .../src/APP/ciapp/ParsePack/ParsePackCiData.c | 2048 ++-------------- .../src/APP/ciapp/ParsePack/ParsePackCiData.h | 126 +- .../src/APP/ciapp/ParsePack/ParsePackCommon.c | 444 +--- .../src/APP/ciapp/ParsePack/ParsePackCommon.h | 10 +- .../src/APP/ciapp/ParsePack/ParsePackDefine.h | 3 +- .../ciapp/ParsePack/ParsePackGateWayData.c | 1438 +++-------- .../ciapp/ParsePack/ParsePackGateWayData.h | 63 +- .../APP/ciapp/ParsePack/ParsePackITEData.c | 26 +- .../src/APP/ciapp/ParsePack/ParsePackManage.c | 23 +- .../src/APP/ciapp/ParsePack/ParsePackOcData.c | 472 +--- .../src/APP/ciapp/ParsePack/ParsePackOcData.h | 78 - .../APP/ciapp/ParsePack/ParsePackTmcData.c | 222 +- .../APP/ciapp/ParsePack/ParsePackTmcData.h | 6 +- .../APP/ciapp/ParsePack/ParsePackVobcData.c | 570 +---- .../APP/ciapp/ParsePack/ParsePackVobcData.h | 31 - .../src/APP/ciapp/ParsePack/ParsePackZcData.c | 293 +-- .../src/APP/ciapp/ParsePack/ParsePackZcData.h | 10 +- TSCP/src/APP/ciapp/QueryFiles/dquCIInit.c | 964 +++----- TSCP/src/APP/ciapp/QueryFiles/dquCIInit.h | 10 +- .../src/APP/ciapp/QueryFiles/dquCIInterFace.c | 72 - .../src/APP/ciapp/QueryFiles/dquCIInterFace.h | 10 - .../ciapp/QueryFiles/dquCIJDQStruFrmChar.c | 54 +- .../APP/ciapp/QueryFiles/dquCIJDQStruInit.c | 100 +- TSCP/src/APP/ciapp/QueryFiles/dquCILSStru.h | 2 - .../APP/ciapp/QueryFiles/dquCILSStruFrmChar.c | 8 - .../APP/ciapp/QueryFiles/dquCILSStruInit.c | 106 +- TSCP/src/APP/ciapp/QueryFiles/dquCIPZStru.h | 2 - TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.c | 1078 ++------- TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.h | 44 +- TSCP/src/APP/ciapp/QueryFiles/dqucijdqstru.h | 8 +- .../APP/ciapp/Relay/RelayConfigDataManage.c | 50 - .../APP/ciapp/Relay/RelayConfigDataManage.h | 19 - TSCP/src/APP/ciapp/Relay/RelayDataManage.c | 14 - TSCP/src/APP/ciapp/Relay/RelayDataManage.h | 20 - TSCP/src/APP/ciapp/Relay/RelayDefine.h | 13 - TSCP/src/APP/ciapp/RemoteRM/RRMDataPrepare.c | 3 +- TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.c | 273 ++- TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.h | 14 + .../APP/ciapp/ReverseCut/ReverseCutDefine.h | 2 +- .../APP/ciapp/Route/LogicalRouteDataManage.c | 212 +- .../APP/ciapp/Route/LogicalRouteDataManage.h | 9 - .../APP/ciapp/Route/RouteConfigDataManage.c | 100 +- .../APP/ciapp/Route/RouteConfigDataManage.h | 40 +- TSCP/src/APP/ciapp/Route/RouteDataManage.c | 264 +- TSCP/src/APP/ciapp/Route/RouteDataManage.h | 95 +- TSCP/src/APP/ciapp/Route/RouteDefine.h | 9 +- TSCP/src/APP/ciapp/SPKS/SpksDataManage.c | 59 +- TSCP/src/APP/ciapp/SPKS/SpksDataManage.h | 18 - TSCP/src/APP/ciapp/SPKS/SpksDefine.h | 2 +- .../Section/AxisSectionConfigDataManage.c | 26 - .../Section/AxisSectionConfigDataManage.h | 10 - .../APP/ciapp/Section/LinkConfigDataManage.c | 138 +- .../APP/ciapp/Section/LinkConfigDataManage.h | 40 - .../ciapp/Section/LogicSectionDataManage.c | 46 +- .../ciapp/Section/LogicSectionDataManage.h | 8 - .../Section/PhysicalSectionConfigDataManage.c | 45 - .../Section/PhysicalSectionConfigDataManage.h | 12 - .../ciapp/Section/PhysicalSectionDataManage.c | 238 +- .../ciapp/Section/PhysicalSectionDataManage.h | 72 +- TSCP/src/APP/ciapp/Section/SectionDefine.h | 14 +- TSCP/src/APP/ciapp/Signal/SignalDataManage.c | 597 +---- TSCP/src/APP/ciapp/Signal/SignalDataManage.h | 154 -- TSCP/src/APP/ciapp/Signal/SignalDefine.h | 18 +- TSCP/src/APP/ciapp/Switch/SwitchDataManage.c | 64 +- TSCP/src/APP/ciapp/Switch/SwitchDataManage.h | 9 - TSCP/src/APP/ciapp/Switch/SwitchDefine.h | 4 - TSCP/src/APP/ciapp/System/CiSystemDefine.h | 9 +- .../src/APP/ciapp/System/SystemConfigDefine.h | 26 +- .../APP/ciapp/System/SystemParameterManage.c | 70 +- .../APP/ciapp/System/SystemParameterManage.h | 46 +- .../APP/ciapp/Train/EvacuationAreaManage.c | 838 ++----- .../APP/ciapp/Train/EvacuationAreaManage.h | 3 +- TSCP/src/APP/ciapp/Train/TrainDataManage.c | 926 +------ TSCP/src/APP/ciapp/Train/TrainDataManage.h | 150 +- TSCP/src/APP/ciapp/Train/TrainDefine.h | 7 +- TSCP/src/APP/ciapp/Transmit/TransmitDefine.h | 5 - .../ciapp/Transmit/TransmitStateDataManage.c | 17 +- .../src/APP/ciapp/WLBrake/WLBrakeDataManage.c | 22 +- .../APP/ciapp/WLScreen/WLScreenLogicProcess.c | 95 +- .../APP/ciapp/WLScreen/WLScreenLogicProcess.h | 9 - TSCP/src/DRV/imx8_drv_gpio.c | 779 +----- TSCP/src/DRV/imx8_drv_gpio.h | 163 -- TSCP/src/MSCP/CM/CM_Com.c | 2 + TSCP/src/MSCP/CM/CM_Time.c | 19 +- TSCP/src/MSCP/DFM/DFM_DRV_QNX.c | 31 +- TSCP/src/MSCP/MSCP_main.c | 8 - TSCP/src/MSCP/PFM/PFM_Cfg.c | 21 +- TSCP/src/MSCP/SFM/SFM_2oo2.c | 2 +- TSCP/src/MSCP/SFM/SFM_2x2.c | 12 +- .../dqu_cbtc_common/dquCbtcConfigData.c | 107 +- .../dqu_cbtc_common/dquCbtcConfigData.h | 12 - .../dqu_dfs_common/dquDataTypeDefine.h | 1 - .../dqu_common/dqu_emap_common/dquEmapInit.c | 23 +- .../dqu_emap_common/dquStructInit.c | 493 ++-- .../dqu_emap_common/dquStructInit.h | 8 +- .../dqu_common/dqu_emap_common/dsuStruct.h | 31 +- TSCP/src/main/CiSimulation.cpp | 91 +- .../main/DeviceInfoManager/readxmltodata.cpp | 17 +- TSCP/src/main/ccov/ccov.cpp | 7 +- .../protocol/fsfb/common_fsfb/FsfbConfig.h | 4 +- .../fsfb/common_fsfb/FsfbLnkNodeMgr.c | 190 +- .../fsfb/common_fsfb/FsfbMessageInfo.c | 1030 ++++---- .../protocol/fsfb/common_fsfb/FsfbProtcl.c | 686 +++--- .../fsfb/common_fsfb/FsfbRecordDelare.h | 38 +- .../fsfb/common_fsfb/RpHandleInterface.c | 10 +- .../fsfb/common_fsfb/RpHandlePlatform.h | 2 +- .../common_sfp_nr_config/sfpConfig.h | 30 +- 168 files changed, 5445 insertions(+), 21896 deletions(-) diff --git a/TSCP/src/APP/APP_API.c b/TSCP/src/APP/APP_API.c index bf7b5a3..6cf8050 100644 --- a/TSCP/src/APP/APP_API.c +++ b/TSCP/src/APP/APP_API.c @@ -246,6 +246,8 @@ void APP_API_Data_Init() .reboot_replycount = 10, /**< 重启确认报文回复次数 */ .M_AutoReboot_Count = 3, /**< 自动重启次数 */ .M_AutoClear_Days = 1, /**< 连续运行多久清空宕机次数的天数 */ + +#if 1 .CPU[0].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */ .CPU[0].IP_2x2 = "192.168.1.62", /**< 2x2通信IP */ .CPU[0].IP_Out = "192.168.1.62", /**< 外网通信IP */ @@ -285,10 +287,66 @@ void APP_API_Data_Init() .CPU[3].IP_Com_Extend = "192.168.2.64",/**< 通用通信扩展IP */ .CPU[3].Logger_PortBase = 55022, /**< 明文日志记录发送端口 */ .CPU[3].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */ + +#else + .M_Area_Enable = 0xAA, /**< CI/RC标识 0x55为CI 0xAA为RC */ + .CPU[0].IP_2oo2 = "192.168.0.31", /**< 2oo2通信IP */ + .CPU[0].IP_2x2 = "192.168.1.63", /**< 2x2通信IP */ + .CPU[0].IP_Out = "192.168.1.63", /**< 外网通信IP */ + .CPU[0].IP_Maintain = "192.168.146.105", /**< 维护通信IP */ + /*适用透传通道-选配*/ + .CPU[0].IP_Com = "192.168.1.63", /**< 通用通信IP */ + .CPU[0].IP_Com_Extend = "192.168.1.63",/**< 通用通信扩展IP */ + .CPU[0].Logger_PortBase = 55011, /**< 明文日志记录发送端口 */ + .CPU[0].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */ + + .CPU[1].IP_2oo2 = "192.168.0.32", /**< 2oo2通信IP */ + .CPU[1].IP_2x2 = "192.168.2.63", /**< 2x2通信IP */ + .CPU[1].IP_Out = "192.168.2.63", /**< 外网通信IP */ + .CPU[1].IP_Maintain = "192.168.18.106", /**< 维护通信IP */ + /*适用透传通道-选配*/ + .CPU[1].IP_Com = "192.168.2.63", /**< 通用通信IP */ + .CPU[1].IP_Com_Extend = "192.168.2.63",/**< 通用通信扩展IP */ + .CPU[1].Logger_PortBase = 55012, /**< 明文日志记录发送端口 */ + .CPU[1].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */ + + .CPU[2].IP_2oo2 = "192.168.0.41", /**< 2oo2通信IP */ + .CPU[2].IP_2x2 = "192.168.1.65", /**< 2x2通信IP */ + .CPU[2].IP_Out = "192.168.1.65", /**< 外网通信IP */ + .CPU[2].IP_Maintain = "192.168.146.107", /**< 维护通信IP */ + /*适用透传通道-选配*/ + .CPU[2].IP_Com = "192.168.1.65", /**< 通用通信IP */ + .CPU[2].IP_Com_Extend = "192.168.1.65",/**< 通用通信扩展IP */ + .CPU[2].Logger_PortBase = 55021, /**< 明文日志记录发送端口 */ + .CPU[2].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */ + + .CPU[3].IP_2oo2 = "192.168.0.42", /**< 2oo2通信IP */ + .CPU[3].IP_2x2 = "192.168.2.65", /**< 2x2通信IP */ + .CPU[3].IP_Out = "192.168.2.65", /**< 外网通信IP */ + .CPU[3].IP_Maintain = "192.168.18.108", /**< 维护通信IP */ + /*适用透传通道-选配*/ + .CPU[3].IP_Com = "192.168.2.65", /**< 通用通信IP */ + .CPU[3].IP_Com_Extend = "192.168.2.65",/**< 通用通信扩展IP */ + .CPU[3].Logger_PortBase = 55022, /**< 明文日志记录发送端口 */ + .CPU[3].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */ + + /*CPU1*/ + .AREA_CPU[0].IP_Area_A = "192.168.1.62", /**< 另一插箱A系CPU1的2x2IP */ + .AREA_CPU[0].IP_Area_B = "192.168.1.64", /**< 另一插箱B系CPU1的2x2IP */ + .AREA_CPU[0].IP_Multicast_Mine = "239.0.0.21", /**< 本插箱CPU1所在广播域 */ + .AREA_CPU[0].IP_Multicast_Dest = "239.0.0.11", /**< 另一插箱CPU1所在广播域 */ + /*CPU2*/ + .AREA_CPU[1].IP_Area_A = "192.168.2.62", /**< 另一插箱A系CPU2的2x2IP */ + .AREA_CPU[1].IP_Area_B = "192.168.2.64", /**< 另一插箱B系CPU2的2x2IP */ + .AREA_CPU[1].IP_Multicast_Mine = "239.0.0.22", /**< 本插箱CPU2所在广播域 */ + .AREA_CPU[1].IP_Multicast_Dest = "239.0.0.12", /**< 另一插箱CPU2所在广播域 */ +#endif /*通用端口配置*/ .Port_Outnet_Safe = 54001, /**< 外网安全通信端口 */ .Port_Innet_Safe = 53001, /**< 内网安全通信端口 */ .Port_Outnet_Raw = 54002, /**< 外网透明传输端口 */ +// .Port_Log_Base = 55001, /**< 明文日志记录发送端口 */ +// .Port_Log_Ciphertext = 55002, /**< 暗文日志记录发送端口 */ .Port_Remote_Update = 50000, /**< 远程部署通信端口 */ /*透传配置-选配*/ .Port_Innet_Raw_Num = 0, /**< 内网透传端口数量 */ @@ -327,6 +385,8 @@ void APP_API_Data_Init() /*日志记录目标设备IP配置*/ .Logger_G_IP = "192.168.146.100", /**< 绿网日志记录IP */ .Logger_P_IP = "192.168.18.100", /**< 紫网日志记录IP */ +// .Logger_PortBase = 55001, /**< 明文日志记录端口 */ +// .Logger_PortCiphertext = 55002, /*内网通信设备注册最大支持0-255*/ .INNET_COM_NUM = 1, /**< 内网通信设备数量 */ .INNET_COM_CFG[0].InnetID = DEVICE_TYPE_AIM, /**< 内网通信ID */ @@ -349,10 +409,10 @@ void APP_API_Data_Init() /*组软件版本号*/ ii = 0U; - appVersBuffer[ii++] = VER_INTE_PROJECT; - appVersBuffer[ii++] = VER_INTE_PRODUCT >> 2U; - appVersBuffer[ii++] = (VER_INTE_PRODUCT << 6U) + (VER_INTE_EXE & (UINT8)0x3F); - appVersBuffer[ii++] = VER_INTE_TIME; + appVersBuffer[ii++] = VER_SOFT_PRODUCT; + appVersBuffer[ii++] = VER_SOFT_MODUAL_APP >> 2U; + appVersBuffer[ii++] = (VER_SOFT_MODUAL_APP << 6U) + (VER_SOFT_MIANVERSION & (UINT8)0x3F); + appVersBuffer[ii++] = VER_SOFT_SUBVERSION; /*设置平台调用获取外网信息函数*/ MSCP_SetSrcId(SetOutNetPara); /*设置内网参数*/ @@ -375,7 +435,7 @@ void APP_API_Data_Init() */ ENUM_CM_RETURN APP_API_MainFunc(void) { - ENUM_CM_RETURN retVal = ENUM_CM_NULL; + ENUM_CM_RETURN retVal = ENUM_CM_FALSE; CM_UINT64 startCycTick = 0u; CM_UINT64 endCycTick = 0u; @@ -559,10 +619,6 @@ ENUM_CM_RECCUSEB Is_Send_ExtendBoard(IN const CM_UINT16 dstDevTypeId) { retVal = ENUM_CM_SEB; } - else if (CI_SYSTEM_TYPE_ITE == devType) - { - retVal = ENUM_CM_CCSEB; - } else { retVal = ENUM_CM_CC; @@ -624,8 +680,8 @@ void SetOutNetPara(UINT8* pRxBuf, UINT32 dwLen, ENUM_OUTNET_CHN_T chOutNetType, tempLen = *pCurLen; if ((TRANSMIT_OBJECT_SUM_MAX * TRANSMIT_OBJECT_DEVICE_SUM_MAX) > (tempLen + objLen)) { - CommonMemCpy((void*)&pOutBuf[tempLen], objLen * sizeof(UINT16), \ - (const void*)gTransmitObjTypeId, objLen * sizeof(UINT16)); + CommonMemCpy(&pOutBuf[tempLen], objLen * sizeof(UINT16), \ + gTransmitObjTypeId, objLen * sizeof(UINT16)); *pCurLen = tempLen + objLen; debug_infor_printf("outnet in type len :%d", chOutNetType, objLen); debug_out_array(0xAA, gTransmitObjTypeId, objLen * sizeof(UINT16)); @@ -759,7 +815,7 @@ ENUM_CM_RETURN SerialOutAtsVobcFunc(UINT16 inDstId IN, UINT16* outSrcId OUT, UIN UINT8 inDstType = 0U; inDstType = (UINT8)((inDstId & 0xff00U) >> 8); - if ((CI_SYSTEM_TYPE_VOBC_BACKUP == inDstType) || (CI_SYSTEM_TYPE_ITE == inDstType)) + if (CI_SYSTEM_TYPE_VOBC_BACKUP == inDstType) { *outSrcId = (CI_SYSTEM_TYPE_CI << 8) + GetSystemParaLocalCiId(); *outDstId = GetATSInterfaceTypeId(); diff --git a/TSCP/src/APP/PU13_integration_config/ci_integrate_config.h b/TSCP/src/APP/PU13_integration_config/ci_integrate_config.h index a76b1d0..935cad1 100644 --- a/TSCP/src/APP/PU13_integration_config/ci_integrate_config.h +++ b/TSCP/src/APP/PU13_integration_config/ci_integrate_config.h @@ -30,6 +30,6 @@ #define VER_INTE_PROJECT 220 /*Ŀ*/ #define VER_INTE_PRODUCT 40 /*Ʒ*/ #define VER_INTE_EXE 1 /*ִб*/ -#define VER_INTE_TIME 101 /*ɴ*/ +#define VER_INTE_TIME 77 /*ɴ*/ #endif/*endif of #define _CI_INTEGRATE_CONFIG_H*/ \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/2oo2/2oo2DataTransferManage.c b/TSCP/src/APP/ciapp/2oo2/2oo2DataTransferManage.c index 48fc137..1d4e480 100644 --- a/TSCP/src/APP/ciapp/2oo2/2oo2DataTransferManage.c +++ b/TSCP/src/APP/ciapp/2oo2/2oo2DataTransferManage.c @@ -688,9 +688,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) UINT32 curIndex = 0u; /*¼ƶ±*/ UINT32 curResult = 0u; /*ṹЧid*/ UINT8 ii= 0u; - UINT32 crcIndex = 0u; /*ڼCRC±*/ - UINT32 crcLength = 0u; /*ڼCRCij*/ - UINT32 crcResult = 0u; /*ڴCRCֵ*/ if (NULL != pCiAppDataPointer) { @@ -731,20 +728,10 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, &g_AllSnowModel, sizeof(UINT8)); curIndex = curIndex + (UINT32)sizeof(UINT8); - /*ȫʪ켶*/ - (void)CommonMemCpy((void*)(pCiAppDataPointer + curIndex), (UINT32)sizeof(UINT8), (const void*)(&g_AllSnowLevel), (UINT32)sizeof(UINT8)); - curIndex = curIndex + (UINT32)sizeof(UINT8); - /*Ӧ̵̼Ч*/ (void)memcpy(pCiAppDataPointer + curIndex, &JkjRelayValidCycNum, sizeof(UINT32)); curIndex = curIndex + (UINT32)sizeof(UINT32); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 AllSignalBrightFlag-JkjRelayValidCycNum CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*ܸλ״̬Ч*/ (void)memcpy(pCiAppDataPointer + curIndex, &ZFWValidCycNum, sizeof(UINT32)); curIndex = curIndex + (UINT32)sizeof(UINT32); @@ -785,12 +772,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, &SendCiCmdDataStruCurSum, sizeof(UINT16)); curIndex = curIndex + (UINT32)sizeof(UINT16); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 ZFWValidCycNum-SendCiCmdDataStruCurSum CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*ͨŵVobcĿ*/ (void)memcpy(pCiAppDataPointer + curIndex, &VobcToCiSum, sizeof(UINT8)); curIndex = curIndex + (UINT32)sizeof(UINT8); @@ -836,12 +817,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) curResult = CopyValidGetDataStru(pCiAppDataPointer + curIndex, (void *)SwitchDataStru, SWITCH_SUM_MAX, (UINT16)sizeof(SwitchDataStruct)); curIndex = curIndex + curResult; - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 VobcToCiSum-SwitchDataStru CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*ݽṹ*/ curResult = CopyValidGetDataStru(pCiAppDataPointer + curIndex, (void *)AxisSectionDataStru, AXIS_SECTION_SUM_MAX, (UINT16)sizeof(AxisSectionDataStruct)); curIndex = curIndex + curResult; @@ -882,12 +857,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, NonRouteDataStruArr, NONROUTE_ID_NUM_MAX*sizeof(NonRouteDataStruct)); curIndex = curIndex + (UINT32)(NONROUTE_ID_NUM_MAX*sizeof(NonRouteDataStruct)); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 AxisSectionDataStru-NonRouteDataStruArr CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*ָʾݽṹ*/ (void)memcpy(pCiAppDataPointer + curIndex, IndicatorDataStru, (INDICATOR_SUM_MAX)*sizeof(IndicatorDataStruct)); curIndex = curIndex + (UINT32)((INDICATOR_SUM_MAX)*sizeof(IndicatorDataStruct)); @@ -939,12 +908,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, AllAutoReturnDataStru, (ALL_AUTO_RETURN_SUM_MAX)*sizeof(AllAutoReturnDataStruct)); curIndex = curIndex + (UINT32)((ALL_AUTO_RETURN_SUM_MAX)*sizeof(AllAutoReturnDataStruct)); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 IndicatorDataStru-AllAutoReturnDataStru CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*ݽṹ*/ (void)memcpy(pCiAppDataPointer + curIndex, GaragedoorDataStru, (GARAGE_DOOR_SUM_MAX)*sizeof(GaragedoorDataStruct)); curIndex = curIndex + (UINT32)((GARAGE_DOOR_SUM_MAX)*sizeof(GaragedoorDataStruct)); @@ -985,12 +948,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, ocHLHTHeadCtxs, (OC_SUM_MAX) * sizeof(HLHTHeadContextStru)); curIndex = curIndex + (UINT32)((OC_SUM_MAX) * sizeof(HLHTHeadContextStru)); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 GaragedoorDataStru-ocHLHTHeadCtxs CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*뱾CIͨŵTMCϵͳͨͷ*/ (void)memcpy(pCiAppDataPointer + curIndex, tmcHLHTHeadCtxs, (TMC_SUM_MAX) * sizeof(HLHTHeadContextStru)); curIndex = curIndex + (UINT32)((TMC_SUM_MAX) * sizeof(HLHTHeadContextStru)); @@ -1032,12 +989,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, m_Switches, m_SwitchNum * sizeof(OcDeviceStruct)); curIndex = curIndex + (UINT32)(m_SwitchNum * sizeof(OcDeviceStruct)); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 tmcHLHTHeadCtxs-m_Switches CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /*뱾CIͨŵOC DI*/ curIndex += CopyValidGetDataStru(pCiAppDataPointer + curIndex, (void*)m_OcConvertedPtDataArr, (OC_SUM_MAX), (UINT16)sizeof(OcCollBoardDataStruct)); @@ -1075,12 +1026,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer) (void)memcpy(pCiAppDataPointer + curIndex, &CiSendBackDataTempStruSum, sizeof(UINT16)); curIndex = curIndex + (UINT32)sizeof(UINT16); - /*һCRC*/ - crcLength = curIndex - crcIndex; - crcResult = Tioc_CommonCrc32(pCiAppDataPointer + crcIndex, crcLength); - debug_infor_printf((const)"2oo2 m_OcConvertedPtDataArr-CiSendBackDataTempStruSum CRC:%x, Length:%d\n", crcResult, crcLength); - crcIndex = curIndex; - /**/ for(ii = 0u;iienvelopeType) || (TYPE_UCT_ENVELOPE == pTempEnvelope->envelopeType)) && + (FLAG_SET == funRtn) && (0u == pTempEnvelope->tailTrainID)) { - chNoSleepCheck = CI_SUCCESS; - for (ii = 0U; ii < pTempEnvelope->trianCnt; ii++) - { - cSleepState = GetTrainSleepState(pTempEnvelope->trainID[ii]); - if (TRAIN_SLEEP_YES == cSleepState) - { - chNoSleepCheck = CI_ERROR; - break; - } - } - - if (CI_ERROR == chNoSleepCheck) - { - /*ڼ߳*/ - ret = AAM_SLEEP_OCC; - } - else if (((TYPE_CT_ENVELOPE == pTempEnvelope->envelopeType) || (TYPE_UCT_ENVELOPE == pTempEnvelope->envelopeType)) && - (FLAG_SET == funRtn) && (0u == pTempEnvelope->tailTrainID)) - { - /** óԶ */ - ret = AAM_GOOD_FAR_AWAY; + /** óԶ */ + ret = AAM_GOOD_FAR_AWAY; - } - else if (((TYPE_CT_ENVELOPE == pTempEnvelope->envelopeType) || (TYPE_UCT_ENVELOPE == pTempEnvelope->envelopeType)) && - (FLAG_UNSET == funRtn) && (0u == pTempEnvelope->headTrainID)) - { - /** óӽ */ - ret = AAM_GOOD_NEAR; - } - else - { - /** ӽ */ - ret = AAM_BAD_NEAR; - } } - + else if (((TYPE_CT_ENVELOPE == pTempEnvelope->envelopeType) || (TYPE_UCT_ENVELOPE == pTempEnvelope->envelopeType)) && + (FLAG_UNSET == funRtn) && (0u == pTempEnvelope->headTrainID)) + { + /** óӽ */ + ret = AAM_GOOD_NEAR; + } + else + { + /** ӽ */ + ret = AAM_BAD_NEAR; + } } } } @@ -179,6 +156,8 @@ UINT8 aam_SearchNearbyTrainType(UINT16 baseACID, UINT8 Dir, UINT8 acCnt, UINT16 UINT8 acStatus = ELM_AC_OCC; UINT16 tmpPhyid = 0u; UINT8 phyRelACCnt = 0u; + UINT8 i = 0U; + UINT16 wTrainId = 0U; const UINT16* phyRelACIDs = NULL; const EnvelopeStruct* pTempEnvelope = NULL; UINT8 acRelEnvelopeCnt = 0u; @@ -302,23 +281,30 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex) UINT8 ret = CI_ERROR; UINT8 funRtn = CI_ERROR; UINT8 chNearbyCheck = CI_ERROR; - UINT8 acSameCnt = 0U; - UINT16 acSameID[AC_MAXCNT_IN_SWITCH] = { 0U }; - UINT8 acConvertCnt = 0U; - UINT16 acConvertID[AC_MAXCNT_IN_SWITCH] = { 0U }; - UINT32 errorCode = 0U; + UINT8 acSameCnt = 0u; + UINT16 acSameID[AC_MAXCNT_IN_SWITCH] = { 0u }; + UINT8 acConvertCnt = 0u; + UINT16 acConvertID[AC_MAXCNT_IN_SWITCH] = { 0u }; + UINT32 errorCode = 0u; UINT8 sameTrainType = AAM_BAD_NEAR; UINT8 convertTrainType = AAM_BAD_NEAR; - UINT8 tmpRedunTime = 0U; - UINT8 tmppassTrainType = 0U; + UINT8 tmpRedunTime = 0u; + UINT8 tmppassTrainType = 0u; UINT8 tmpACStatus = AAM_STATUS_OCC; UINT8 maxRedunTimes = 0u; - UINT8 chSwitch = 0U; + UINT8 chSwitch = 0u; UINT32 dwArbCheckDistance = 0U; /*RC16.0 ϵͳARB*/ UINT8 chRedunArbFlag = REDUN_OVER_ARB_NO; /*жʱɷARB־*/ + UINT8 dwCiAndAxleTransBadEnsureCnt = 0U; /*жͨж*/ + UINT32 dwCurAxleOccStartCycNum = 0U; /*ռʼ*/ + UINT8 ii = 0U; + UINT32 dwNearAxleOccStartCycNum = 0U; /*ڼռʼ*/ + UINT8 cAcRelEnvelopeCnt = 0U; + EnvelopeStruct strEnvelopeInfo[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U }; + UINT8 cOccCheckFlag = CI_ERROR; + UINT16 wCurRelPhySecId = 0U; + UINT16 wNearRelPhySecId = 0U; UINT8 cAxisCommBadArbFlag = AAM_COMM_BAD_ARB_NO; - UINT8 chPhyTrainCheck = CI_SUCCESS; - UINT8 cAcCbtcAttr = 0U; /*CBTC*/ chSwitch = aam_PrepareArbSwitch(); if (CI_SUCCESS == chSwitch) @@ -367,32 +353,6 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex) /** 󷽼ᳵӽ */ convertTrainType = aam_SearchNearbyTrainType(acID, EMAP_CONVER_DIR, acConvertCnt, acConvertID); - /*޹ϳ*/ - chPhyTrainCheck = aam_CheckPhyTrain(acID); - cAcCbtcAttr = GetAxisSecCbtcProperty(acID); /*ȡCBTC*/ - - if ((CI_ERROR == chPhyTrainCheck) || (AXIS_SEC_CBTC_PROPERTY_YES != cAcCbtcAttr)) - { - /** йϳCBTC֮ǰʱλռ */ - funRtn = aam_ClearPassTrainFlag(acIndex); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x20000000u); - - funRtn = aam_ClearRedunTime(acIndex); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x10000000u); - - aam_SetAxisStatus(acIndex, AAM_STATUS_OCC); - AAM_LOG(AAM_LOG_FATAL, "info:AC%d set UT,Physec has UKT\n ", acID); - } - else if ((AAM_SLEEP_OCC == sameTrainType) || (AAM_SLEEP_OCC == convertTrainType)) - { - /** óͨ־UT */ - funRtn = aam_ClearPassTrainFlag(acIndex); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x20000000u); - } - else - { - ; /**/ - } /** жڷΧڼỵռʱͨ */ if ((CI_ERROR == chNearbyCheck)) { @@ -449,14 +409,90 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex) AAM_LOG(AAM_LOG_FATAL, "info:AC%d keep ARB Fail, NearByTrainCheck:%d.\n", acID, chNearbyCheck); } else - { - /*ARBͬڼռ*/ - funRtn = aam_ArbContinuousOccCheck(acID, acSameCnt, acSameID); + { + cOccCheckFlag = CI_SUCCESS; + dwCiAndAxleTransBadEnsureCnt = GetCiAndAxleTransBadEnsureCnt(); /*ȡжͨжϳʱ*/ + wCurRelPhySecId = GetAxisSecRelativePhySecId(acID); + if (0U != wCurRelPhySecId) + { + dwCurAxleOccStartCycNum = GetSecColOccupyStartCycNum(wCurRelPhySecId); + for (ii = 0U; ii < acSameCnt; ii++) + { + wNearRelPhySecId = GetAxisSecRelativePhySecId(acSameID[ii]); + if (0U != wNearRelPhySecId) + { + cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(acSameID[ii], strEnvelopeInfo); + dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId); + if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt)) + && ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum)) + { + cOccCheckFlag = CI_ERROR; /*ڼްռʼʱ䳬ˡͨжϳʱжʱ䡱*/ + } + else + { + /*ڼռʼδͨжϳʱжʱ䡱*/ + } + } + else + { + cOccCheckFlag = CI_ERROR; + } - /*ARBηڼռ*/ - funRtn &= aam_ArbContinuousOccCheck(acID, acConvertCnt, acConvertID); + if (CI_ERROR == cOccCheckFlag) + { + break; + } + else + { + ; + } + } - if (CI_SUCCESS != funRtn) + if (CI_SUCCESS == cOccCheckFlag) + { + for (ii = 0U; ii < acConvertCnt; ii++) + { + wNearRelPhySecId = GetAxisSecRelativePhySecId(acConvertID[ii]); + if (0U != wNearRelPhySecId) + { + cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(acConvertID[ii], strEnvelopeInfo); + dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId); + if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt)) + && ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum)) + { + cOccCheckFlag = CI_ERROR; /*ڼްռʼʱ䳬ˡͨжϳʱжʱ䡱*/ + } + else + { + /*ڼռʼδͨжϳʱжʱ䡱*/ + } + } + else + { + cOccCheckFlag = CI_ERROR; + } + + if (CI_ERROR == cOccCheckFlag) + { + break; + } + else + { + ; + } + } + } + else + { + /*ʧܣ*/ + } + } + else + { + cOccCheckFlag = CI_ERROR; + } + + if (CI_SUCCESS != cOccCheckFlag) { /** ֮ǰʱλ */ funRtn = aam_ClearPassTrainFlag(acIndex); @@ -466,7 +502,7 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex) ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00400000U); aam_SetAxisStatus(acIndex, AAM_STATUS_OCC); - AAM_LOG(AAM_LOG_FATAL, "info:AC%d Keep ARB Fail Because Of Near Sec Continuous Occ\n", acID); + AAM_LOG(AAM_LOG_FATAL, "info:AC%d Keep ARB Fail Because Of Near Sec Occ\n", acID); } else { @@ -851,11 +887,9 @@ void aam_MainProcess(void) /** ͷARB⴦*/ aam_InitEndLinePassFlag(); - /*ϵͳͨжARB⴦RC20.0װע͵ָʱBy LQ 2025.05.07*/ -#if 0 /*ϵͳͨжARB⴦*/ aam_AxisCommBadArbPro(); -#endif + for (cycle = 0u; cycle < acCnt; cycle++) { /** жϼǷڱOC */ @@ -2020,166 +2054,4 @@ UINT8 aam_GetAxisStatusAPI(UINT16 ACID) acIndex = aam_PrepareACIndex(ACID); reVal = aam_GetAxisStatus(acIndex); return reVal; -} - -/** -* ܣξ޹ϳ -* UINT16 ACID id -* ֵCI_SUCCESS ޹ϳ -* CI_ERROR ڹϳ -* Create By fan 2025.06 18 -*/ -UINT8 aam_CheckPhyTrain(UINT16 ACID) -{ - UINT8 reVal = CI_ERROR; - UINT16 wPhySecId = 0U; /**/ - UINT8 phyAcNum = 0u; /*ι*/ - UINT16* pACBuff = NULL; - UINT16 wAxisSecId = 0U; /*id*/ - UINT8 linkNum = 0U; /*ilnk*/ - UINT16* pLinkBuf = NULL; /*link*/ - UINT8 jj = 0U; - UINT8 ii = 0U; - UINT8 k = 0U; - TRAIN_SEQUANCE_s linkInctrainList[SIZE_MAX_TRAINOFAC] = { 0u }; /*linkϵг*/ - UINT8 cLinkIncTrainSum = 0u; /*linkг*/ - wPhySecId = aam_PrepareACBelongPhyid(ACID); - phyAcNum = GetPAxisSectionSum(wPhySecId); - pACBuff = GetPAxisSectionIdBuf(wPhySecId); - if ((0U != phyAcNum) && (NULL != pACBuff)) - { - reVal = CI_SUCCESS; - for (ii = 0; ii < phyAcNum; ii++) - { - /*linkس*/ - wAxisSecId = pACBuff[ii]; - linkNum = GetAxisLinkSum(wAxisSecId); - pLinkBuf = GetAxisLinkIdBuf(wAxisSecId); - if ((0U != linkNum) && (NULL != pLinkBuf)) - { - for (jj = 0; jj < linkNum; jj++) - { - cLinkIncTrainSum = as_GetLinkTrainList(pLinkBuf[jj], linkInctrainList, SIZE_MAX_TRAINOFAC); - for (k = 0U; k < cLinkIncTrainSum; k++) - { - - if (NAME_FAILUREAREA != linkInctrainList[k].u16TrainID) - { - ; /**/ - } - else - { - reVal = CI_ERROR; /*ڹϳֹͣ顣ʧ*/ - break; - } - } - if (CI_ERROR == reVal) - { - break; - } - } - } - else - { - /*ȡʧ */ - reVal = CI_ERROR; - } - if (CI_ERROR == reVal) - { - break; - } - } - } - else - { - reVal = CI_ERROR; - } - return reVal; -} - -/* -* ܣARBռü -* UINT16 wAcId ID -* UINT8 cNearAcNum ڼ -* UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH] ڼID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.08.07 -*/ -UINT8 aam_ArbContinuousOccCheck(UINT16 wAcId, UINT8 cNearAcNum, UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH]) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wBufIndex = 0U; - UINT16 wCurRelPhySecId = 0U; /*ID*/ - UINT8 dwCiAndAxleTransBadEnsureCnt = 0U; /*жͨж*/ - UINT32 dwCurAxleOccStartCycNum = 0U; /*ռʼ*/ - UINT8 ii = 0U; - UINT16 wNearRelPhySecId = 0U; /*ڼID*/ - UINT8 cAcRelEnvelopeCnt = 0U; - EnvelopeStruct strEnvelopeInfo[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U }; - UINT32 dwNearAxleOccStartCycNum = 0U; /*ڼռʼ*/ - UINT8 cRcId = 0U; - UINT8 cFunRtn = 0U; - UINT16 wNearAcIndex = 0U; - - wBufIndex = GetAxisSecConfigBufIndex(wAcId); /*ȡ±*/ - - if ((AXIS_SECTION_SUM_MAX > wBufIndex) && (AC_MAXCNT_IN_SWITCH > cNearAcNum) && (NULL != pNearAcId)) - { - wCurRelPhySecId = GetAxisSecRelativePhySecId(wAcId); - if (0U != wCurRelPhySecId) - { - cRetVal = CI_SUCCESS; - dwCiAndAxleTransBadEnsureCnt = GetCiAndAxleTransBadEnsureCnt(); /*ȡжͨжϳʱ*/ - dwCurAxleOccStartCycNum = GetSecColOccupyStartCycNum(wCurRelPhySecId); - for (ii = 0U; ii < cNearAcNum; ii++) - { - wNearRelPhySecId = GetAxisSecRelativePhySecId(pNearAcId[ii]); - if (0U != wNearRelPhySecId) - { - cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(pNearAcId[ii], strEnvelopeInfo); - dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId); - if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt)) - && ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum)) - { - cRetVal = CI_ERROR; /*ڼްռʼʱ䳬ˡͨжϳʱжʱ䡱*/ - - cFunRtn = aam_PrepareACIsSelf(pNearAcId[ii], &cRcId); /*жǷΪ*/ - - if (ELM_BELONG_OWNER == cFunRtn) - { - wNearAcIndex = aam_PrepareACIndex(pNearAcId[ii]); - (void)aam_ClearPassTrainFlag(wNearAcIndex); /*óͨ־*/ - (void)aam_ClearRedunTime(wNearAcIndex); /*ʱ*/ - aam_SetAxisStatus(wNearAcIndex, AAM_STATUS_OCC); /*ռ*/ - - AAM_LOG(AAM_LOG_FATAL, "info:AC%d Set Occ Because Of Near Sec%d Keep Arb Fail\n", pNearAcId[ii], wAcId); - } - else - { - /*DZΣ*/ - } - } - else - { - /*ڼռʼδͨжϳʱжʱ䡱*/ - } - } - else - { - cRetVal = CI_ERROR; /*쳣ʧ*/ - } - } - } - else - { - cRetVal = CI_ERROR; /*쳣ʧ*/ - } - } - else - { - cRetVal = CI_ERROR; /*ηǷʧ*/ - } - - return cRetVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/AxisAssert/AxisAssertManageAPI.h b/TSCP/src/APP/ciapp/AxisAssert/AxisAssertManageAPI.h index 47dbdd1..7e4836e 100644 --- a/TSCP/src/APP/ciapp/AxisAssert/AxisAssertManageAPI.h +++ b/TSCP/src/APP/ciapp/AxisAssert/AxisAssertManageAPI.h @@ -213,24 +213,4 @@ void SetRcAxleArb(void); */ UINT8 aam_GetAxisStatusAPI(UINT16 ACID); -/** -* ܣξ޹ϳ -* UINT16 ACID id -* ֵCI_SUCCESS ޹ϳ -* CI_ERROR ڹϳ -* Create By fan 2025.06 18 -*/ -UINT8 aam_CheckPhyTrain(UINT16 ACID); - -/* -* ܣARBռü -* UINT16 wAcId ID -* UINT8 cNearAcNum ڼ -* UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH] ڼID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.08.07 -*/ -UINT8 aam_ArbContinuousOccCheck(UINT16 wAcId, UINT8 cNearAcNum, UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH]); - #endif /*AXIS_ASSERT_MANAGE_API_H_*/ diff --git a/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.c b/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.c index 87a1b2c..fdadd97 100644 --- a/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.c +++ b/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.c @@ -370,22 +370,27 @@ void CutoffPointOutput(void) UINT16 wPhySecId = 0u; UINT8 chOccState = 0u; UINT8 cDir = 0u; + UINT8 cTrainDir = 0u; UINT8 cFunRetVal = CI_ERROR; + TRAIN_SEQUANCE_s strTmp = { 0u }; CfpTrainInfoStru tmpTrainInfo = { 0u }; - struct_PathPoint LinkPoint = { 0u }; - UINT32 dwFindLen = 0u;/*źŻƷ*/ + UINT16 wTrainId = 0u; + UINT32 dwDis = UINT32_MAX; + UINT32 dwDisTail = UINT32_MAX; + UINT32 dwDisHead = UINT32_MAX; + struct_PathPoint TrainPoint = { 0u }; + struct_PathPoint TrainHeadPoint = { 0u }; + struct_PathPoint TrainTailPoint = { 0u }; + struct_PathPoint CutoffPoint = { 0u }; + UINT8 cTrainTailDir = 0U; /*гȫβ*/ + UINT8 cTrainHeadDir = 0U; /*гȫͷ*/ + UINT32 dwFindLen = 0u; UINT8 chTrainNum = 0u; UINT8 cDirectionPointfirst = 0U; /*仯1*/ UINT8 cDirectionPointsecond = 0U; /*仯2*/ - UINT16 wOtherCfpId = 0u; /*ֽID*/ - UINT8 chLocalId = 0u; /*id*/ - UINT8 chLinkCIId = 0u; /*linkid*/ - UINT8 chOtherFlag = FLAG_UNSET; - UINT8 chBreakFlag = FLAG_UNSET; - UINT32 dwLinkLen = 0U;/*Ѽֽ*/ + dwFindLen = GetSystemParaValue(SIGNAL_LIGHTUP_SEC_LEN_ID); - dwFindLen *= 100U; - chLocalId = GetSystemParaLocalCiId(); + dwFindLen *= 100u; /* ȡ߽ */ wCutoffPointSum = GetCfpSum(); @@ -400,122 +405,157 @@ void CutoffPointOutput(void) cDir = GetCfpLocDir(wCutoffPointId); /* ߽ĵlink */ - (void)CommonMemSet(wszLinkIdBuf, (UINT32)(sizeof(UINT16)*MAX_CFG_LIGHTUPLINK_NUM), 0U, (UINT32)(sizeof(UINT16)*MAX_CFG_LIGHTUPLINK_NUM)); cFunRetVal = CalCutoffPointOccupyLinkSeq(wCutoffPointId, &wLinkSum, wszLinkIdBuf); - /*üλ */ - LinkPoint.wLinkId =0U; - LinkPoint.dwOffset = 0U; + /* ȡ߽Ϣ */ + CutoffPoint.wLinkId = GetCfpLink(wCutoffPointId); + CutoffPoint.dwOffset = GetCfpOffset(wCutoffPointId); - wOtherCfpId = 0U; - chOtherFlag = FLAG_UNSET; - chBreakFlag = FLAG_UNSET; - dwLinkLen = 0U; - if ((CI_SUCCESS == cFunRetVal)&&(MAX_CFG_LIGHTUPLINK_NUM>=wLinkSum)) + wTrainId = 0u; + TrainPoint.wLinkId = 0u; + TrainPoint.dwOffset = 0u; + + TrainTailPoint.wLinkId = 0U; + TrainTailPoint.dwOffset = 0U; + TrainHeadPoint.wLinkId = 0U; + TrainHeadPoint.dwOffset = 0U; + + if (CI_SUCCESS == cFunRetVal) { /* βҳɹ,鵽ϵг */ for (j = 0u;j < wLinkSum;j++) { wLinkId = wszLinkIdBuf[j]; - chLinkCIId = (UINT8)GetLinkManageTiocById(wLinkId); - if (chLinkCIId == chLocalId) - { - wPhySecId = GetLinkRelatedPhySec(wLinkId); - chOccState = GetPhySecCurOccupyState(wPhySecId); - chTrainNum = as_GetLinkTrainNum(wLinkId); - - if ((SECTION_OCCUPY_NO != chOccState) && (0u != chTrainNum)) - { - /* ҵгռõ */ - chBreakFlag = FLAG_SET; - } - else - { - ; - } - } - else - { - chOtherFlag = FLAG_SET; - } - if (j < wLinkSum) - { - /* ѾԶ޳λ*/ - LinkPoint.wLinkId = wLinkId; - if ((FLAG_SET == chOtherFlag)||(FLAG_SET == chBreakFlag)) - { - if (DIR_SAME == cDir) - { - LinkPoint.dwOffset = 0U; - } - else - { - LinkPoint.dwOffset = GetLinkLengthById(wLinkId); - } - } - else - { - if (DIR_SAME == cDir) - { - LinkPoint.dwOffset = GetLinkLengthById(wLinkId); - } - else - { - LinkPoint.dwOffset = 0U; - } - if (j < wLinkSum - 1U) - { /*Ƿз仯㣬˴飬ǰlinkѰȶ꣬һlinkʱмз仯㣬仯㣬һlinkı䷽*/ - cDirectionPointfirst = GetLinkLogicDirChangedById(wszLinkIdBuf[j]); - cDirectionPointsecond = GetLinkLogicDirChangedById(wszLinkIdBuf[(j + 1U)]); /*wLinkSumѼԽ*/ - if (((LINK_DIRCHANGE_BEGIN == cDirectionPointfirst) || (LINK_DIRCHANGE_END == cDirectionPointfirst)) - && (cDirectionPointsecond == cDirectionPointfirst)) - { - cDir = ConvertTrainDir(cDir); /*з仯㣬ת*/ - } - else - { - ; /*ûз任㣬DZ䷽*/ - } - } - dwLinkLen += GetLinkLengthById(wLinkId); /*δжϱ޳ڱѼlinkܳ*/ - } - } - else - { - ; /*һlink */ - } + wPhySecId = GetLinkRelatedPhySec(wLinkId); + chOccState = GetPhySecCurOccupyState(wPhySecId); + chTrainNum = as_GetLinkTrainNum(wLinkId); - if ((dwFindLen <= dwLinkLen)|| (FLAG_SET == chOtherFlag) || (FLAG_SET == chBreakFlag)) + if ((SECTION_OCCUPY_NO != chOccState) && (0u != chTrainNum)) { - /*㹻 ҵRCҵռãֹͣ*/ + /* ҵгռõ */ break; } else { - ; /*޴*/ + ; + } + + /*Ƿз仯㣬˴飬ǰlinkѰȶ꣬һlinkʱмз仯㣬仯㣬һlinkı䷽*/ + if (j < (wLinkSum - 1U)) + { + cDirectionPointfirst = GetLinkLogicDirChangedById(wszLinkIdBuf[j]); + cDirectionPointsecond = GetLinkLogicDirChangedById(wszLinkIdBuf[(j + 1U)]); /*todoԽ*/ + if (((LINK_DIRCHANGE_BEGIN == cDirectionPointfirst) || (LINK_DIRCHANGE_END == cDirectionPointfirst)) + && (cDirectionPointsecond == cDirectionPointfirst)) + { + cDir = ConvertTrainDir(cDir); /*з仯㣬ת*/ + } + else + { + ; /*ûз任㣬DZ䷽*/ + } + } + else + { + ; /*һlinkҪǷ仯⣬ֹԽ*/ } } /* ȡгID ȡֽг*/ - if ((j < wLinkSum) && (dwFindLen > dwLinkLen)) + if (j < wLinkSum) { - if (FLAG_UNSET == chOtherFlag) + if (DIR_SAME == cDir) { - CfpTrainInfoCal(LinkPoint.wLinkId, LinkPoint.dwOffset, dwLinkLen, &tmpTrainInfo, cDir); + strTmp = as_GetLinkFirstTrain(wLinkId); } else { - /*ҵڱlink ѰҶӦֽгϢ*/ - OtherCfpTrainInfoCal(LinkPoint.wLinkId, LinkPoint.dwOffset, dwLinkLen, &tmpTrainInfo); + strTmp = as_GetLinkLastTrain(wLinkId); } + wTrainId = strTmp.u16TrainID; } else { - /* δҵгռ о㹻޳ */ + ; + } + + if (j == wLinkSum) + { + /* δҵгռ÷޳ */ tmpTrainInfo.wTrainId = 0u; tmpTrainInfo.chTrainLevel = 0u; tmpTrainInfo.dwDis = 0u; } + else + { + /* ռãжг */ + if (NAME_FAILUREAREA == strTmp.u16TrainID) + { + /* */ + tmpTrainInfo.wTrainId = SIZE_MAX_LINETRAIN; + tmpTrainInfo.chTrainLevel = 0u; + + /* ȡλ */ + TrainPoint.wLinkId = wLinkId; + + /*ѡȡlinkϾֽĵ*/ + if (DIR_SAME == cDir) + { + TrainPoint.dwOffset = 0u; + } + else + { + TrainPoint.dwOffset = GetLinkLengthById(wLinkId); + } + + /* ѯ */ + dwDis = DsuAPointToBPoint(&TrainPoint, &CutoffPoint, &cTrainDir); + } + else + { + /* */ + tmpTrainInfo.wTrainId = strTmp.u16TrainID; + tmpTrainInfo.chTrainLevel = GetTrainLevel(tmpTrainInfo.wTrainId); + + /*ȡȫβ*/ + TrainTailPoint.wLinkId = GetTrainSafeTailLink(wTrainId); + TrainTailPoint.dwOffset = GetTrainSafeTailOffset(wTrainId); + /*ȡȫͷ*/ + TrainHeadPoint.wLinkId = GetTrainSafeHeadLink(wTrainId); + TrainHeadPoint.dwOffset = GetTrainSafeHeadOffset(wTrainId); + + /*ȡβֽ*/ + dwDisTail = DsuAPointToBPoint(&TrainTailPoint, &CutoffPoint, &cTrainTailDir); + + /*ȡͷֽ*/ + dwDisHead = DsuAPointToBPoint(&TrainHeadPoint, &CutoffPoint, &cTrainHeadDir); + + if (dwDisTail < dwDisHead) + { + dwDis = dwDisTail; + } + else + { + dwDis = dwDisHead; + } + } + + if (UINT32_MAX == dwDis) + { + tmpTrainInfo.dwDis = 0u; + } + else if(dwFindLen >= dwDis) + { + tmpTrainInfo.dwDis = dwDis; + } + else + { + /* Χ޳ */ + tmpTrainInfo.wTrainId = 0u; + tmpTrainInfo.chTrainLevel = 0u; + tmpTrainInfo.dwDis = 0u; + } + } } else { @@ -1591,141 +1631,4 @@ void SetCfpSignalLightUpFlag(const UINT16 wCfpId, const UINT8 cLightUpFlag) { ; } -} -/* -* ֽϢ±ͷֽг -* ˵UINT16 wLinkId ֽlink ,UINT32 dwOffSetƫ, UINT32 dwLocalOffSet ѾҾ -* []: CfpTrainInfoStru* trainInfo г -* ֵ -* Created By fan 2025.05.26 -*/ -void OtherCfpTrainInfoCal(UINT16 wLinkId,UINT32 dwOffSet,UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo) -{ - UINT16 wCfpId = 0U;/*ֽid*/ - UINT8 chTransmitStat = TRANSMIT_STATE_BAD; - CfpTrainInfoStru strCfpInfo = { 0u }; - UINT8 chLinkTiocId = 0U; - UINT32 dwDdLen = 0U;/*źŻƾ*/ - UINT32 dwLeftOffset = 0U;/*ʣ*/ - /*ݳʼ*/ - dwDdLen = GetSystemParaValue(SIGNAL_LIGHTUP_SEC_LEN_ID); - dwDdLen *= 100u; - wCfpId = GetCfpIdByPoint(wLinkId, dwOffSet); - if (NULL != trainInfo) - { - /*ʼΪڸ÷ֽڹϳ*/ - trainInfo->wTrainId = SIZE_MAX_LINETRAIN; - trainInfo->dwDis = dwLocalOffSet; - trainInfo->chTrainLevel = 0U; - if (dwDdLen > dwLocalOffSet) - { - dwLeftOffset = dwDdLen - dwLocalOffSet; - } - else - { - ;/*޴*/ - } - if (0U != wCfpId) - { - chLinkTiocId = (UINT8)GetLinkManageTiocById(wLinkId); - strCfpInfo = GetCfpOtherOcTrainInfo(wCfpId); - chTransmitStat = GetCiTransmitState(CI_SYSTEM_TYPE_CI, chLinkTiocId); - if ((TRANSMIT_STATE_GOOD != chTransmitStat) || (UINT16_MAX == strCfpInfo.wTrainId)) - { - ;/*ͨŲã߷ֽгϢȡʧ*/ - } - else if ((0u == strCfpInfo.wTrainId) || - ((UINT32_MAX != strCfpInfo.dwDis) && (dwLeftOffset < strCfpInfo.dwDis))) - { - /*Tioc޳ ֽʣҾ*/ - trainInfo->wTrainId = 0U; - trainInfo->dwDis = 0U; - trainInfo->chTrainLevel = 0U; - } - else - { - /*ݷֽϢ*/ - trainInfo->wTrainId = strCfpInfo.wTrainId; - trainInfo->dwDis = strCfpInfo.dwDis + dwLocalOffSet; - trainInfo->chTrainLevel = strCfpInfo.chTrainLevel; - } - } - else - { - ;/*ֽȡʧ*/ - } - } -} - -/* -* гݸ±ͷֽг -* ˵UINT16 wLinkId ֽlink ,UINT32 dwOffSetƫ, UINT32 dwLocalOffSet ѾҾ UINT8 cDir -* []: CfpTrainInfoStru* trainInfo г -* ֵ -* Created By fan 2025.06.04 -*/ -void CfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo,UINT8 cDir) -{ - TRAIN_SEQUANCE_s strTmp = { 0u }; - UINT16 wTrainId = 0u; - UINT32 dwDis = UINT32_MAX; - UINT32 dwDisTail = UINT32_MAX; - UINT32 dwDisHead = UINT32_MAX; - struct_PathPoint TrainHeadPoint = { 0u }; - struct_PathPoint TrainTailPoint = { 0u }; - struct_PathPoint LinkPoint = { 0u }; - UINT8 cTrainTailDir = 0U; /*гȫβ*/ - UINT8 cTrainHeadDir = 0U; /*гȫͷ*/ - if ((NULL != trainInfo)&&(0U!= wLinkId)) - { - LinkPoint.wLinkId = wLinkId; - LinkPoint.dwOffset = dwOffSet; - /*ռlinkڱ*/ - if (DIR_SAME == cDir) - { - strTmp = as_GetLinkFirstTrain(wLinkId); - } - else - { - strTmp = as_GetLinkLastTrain(wLinkId); - } - wTrainId = strTmp.u16TrainID; - /* ռãжг */ - if (NAME_FAILUREAREA == strTmp.u16TrainID) - { - /* */ - trainInfo->wTrainId = SIZE_MAX_LINETRAIN; - trainInfo->chTrainLevel = 0u; - trainInfo->dwDis = dwLocalOffSet; - } - else - { - /* */ - trainInfo->wTrainId = strTmp.u16TrainID; - trainInfo->chTrainLevel = GetTrainLevel(trainInfo->wTrainId); - - /*ȡȫβ*/ - TrainTailPoint.wLinkId = GetTrainSafeTailLink(wTrainId); - TrainTailPoint.dwOffset = GetTrainSafeTailOffset(wTrainId); - /*ȡȫͷ*/ - TrainHeadPoint.wLinkId = GetTrainSafeHeadLink(wTrainId); - TrainHeadPoint.dwOffset = GetTrainSafeHeadOffset(wTrainId); - - /*ȡβѼlinkԶ˾*/ - dwDisTail = DsuAPointToBPoint(&TrainTailPoint, &LinkPoint, &cTrainTailDir); - - /*ȡͷѼlinkԶ˾*/ - dwDisHead = DsuAPointToBPoint(&TrainHeadPoint, &LinkPoint, &cTrainHeadDir); - - if (dwDisTail < dwDisHead) - { - dwDis = dwDisTail; - } - else - { - dwDis = dwDisHead; - } - trainInfo->dwDis = dwLocalOffSet + dwDis; - } - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.h b/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.h index a083884..3a46323 100644 --- a/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.h +++ b/TSCP/src/APP/ciapp/CutoffPoint/CutoffPointDataManage.h @@ -350,23 +350,6 @@ UINT8 GetCfpSignalLightUpFlag(const UINT16 wCfpId); */ void SetCfpSignalLightUpFlag(const UINT16 wCfpId, const UINT8 cLightUpFlag); -/* -* ֽϢ±ͷֽг -* ˵UINT16 wLinkId ֽlink ,UINT32 dwOffSetƫ, UINT32 dwLocalOffSet ѾҾ -* []: CfpTrainInfoStru* trainInfo г -* ֵ CI_ERRORг CI_SUCCESS޳ -* Created By fan 2025.05.26 -*/ -void OtherCfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo); -/* -* гݸ±ͷֽг -* ˵UINT16 wLinkId ֽlink ,UINT32 dwOffSetƫ, UINT32 dwLocalOffSet ѾҾ UINT8 cDir -* []: CfpTrainInfoStru* trainInfo г -* ֵ -* Created By fan 2025.06.04 -*/ -void CfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo, UINT8 cDir); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.c b/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.c index df6f0db..be10a07 100644 --- a/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.c +++ b/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.c @@ -44,9 +44,7 @@ UINT8 ciMode = CI_MODE_CI_LOCAL; /* UINT8 g_AllTsrFlag = CI_ALL_TSR_UNVALID; /* ʱٱ־ */ -UINT8 g_AllSnowModel = CI_ALL_SNOW_UNVALID; /*ȫѩģʽ0x55-Ч0xAA-Ч*/ - -UINT8 g_AllSnowLevel = CI_SNOW_LEVEL_DEFAULT; /*ȫʪ켶0-Ĭֵ1-һ2-*/ +UINT8 g_AllSnowModel = CI_ALL_SNOW_UNVALID; /*ȫѩģʽ*/ UINT8 g_IteLineCutState = CI_ITE_LINE_CUT_DEFAULT; /*ITEȫг״̬0x55гITE0xAAʹITE0xFFĬֵ*/ @@ -84,7 +82,7 @@ UINT8 SwitchBlockLinkState = RECOVER_SWITCH_BLOCK_LINK; /* CtrlPowerStruct ctrlpowerFlag[VIRTUAL_CI_MAX] = { 0u }; UINT8 LocalAreaSnowNum = 0U; /*ѩվ̨*/ -AreaSnowInfoStruct szLocalAreaSnow[LOCAL_AREA_SNOW_SUM_MAX] = { 0U }; /*ѩ*/ +UINT32 szLocalAreaSnowId[LOCAL_AREA_SNOW_SUM_MAX] = { 0U }; /*ѩվ̨ID*/ LineCommTrainStruct gStrLineCommTrain = { 0U }; /*ȫͨųṹ*/ @@ -92,9 +90,6 @@ UINT32 gFlyProtectOverCyc = 0U; /* UINT8 g_LocalSnowModel = CI_LOCAL_SNOW_UNVALID; /*ѩģʽ*/ -UINT8 gLocalAreaIteCutNum = 0U; /*ITEг*/ -UINT16 gSzLocalAreaIteCutId[ALL_AREA_SNOW_SUM_MAX] = { 0U }; /*ITEгID顪Ҫ洢ZC͵ID*/ - /******************************־ݹ****************************/ @@ -1329,18 +1324,6 @@ UINT8 RouteLockDriveSwitch(const UINT16 routeId, const UINT8 NeedForDrvRoutAssoS RouteAssocSwitchStruct routeAssocSwitchStru = {0,0}; /**/ UINT8 routeProtectSwitchSum = 0u; /*Ŀ*/ RouteProtectSwitchStruct* pRouteProtectSwitchStru = NULL; /**/ - UINT8 chAutoCheck = 0U; - UINT8 chSendLevel = 0U; - chAutoCheck = AutoSignalOrRouteValid(routeId); - if (chAutoCheck == CI_SUCCESS) - { - /*Զ·ԶźŲATS*/ - chSendLevel = ESEND_LEVEL_ZERO; - } - else - { - chSendLevel = ESEND_LEVEL_ATS; - } if((0u == routeId) || (routeId >= ROUTE_SUM_MAX)) { @@ -1394,8 +1377,6 @@ UINT8 RouteLockDriveSwitch(const UINT16 routeId, const UINT8 NeedForDrvRoutAssoS else { RouteDrvInnerSwitch(routeId, SWITCH_NEED_DRIV_FALSE); - /*ӵλòͬ*/ - SetErrorData(EFUNC_ROUTE_LOCK_DRIVE_SWITCH,CI_DEVICE_TYPE_ROUTE,routeId, ETYPE_ROUTE_APPLY_SWITCH_MOVE,0U, chSendLevel); } if((CI_SUCCESS == assocSwitchRetVal) && (CI_SUCCESS == innerSwitchRetVal)) @@ -2167,8 +2148,6 @@ UINT8 DriveSignalClose(const UINT16 signalId) */ UINT8 GetSwitchMoveEarlyValidState(UINT16 switchId, UINT8 oper_src, UINT8 sendLevel) { - UINT8 reVal = CI_ERROR; -#if 0 /**/ UINT8 const functionId = EFUNC_CHECK_SWITCH_MOVE; @@ -2195,6 +2174,7 @@ UINT8 GetSwitchMoveEarlyValidState(UINT16 switchId, UINT8 oper_src, UINT8 sendLe UINT8 switch2ndSecOccuState = 0u; UINT8 switch2ndSecLockState = 0u; UINT8 switch2ndSecMerOccuState = 0u; + UINT8 reVal = CI_ERROR; UINT8 ARBMoveSwitchFlag = 0u; UINT8 switch2ndSecJumpLockState = 0u; UINT8 switch2ndSecFLockState = 0u;/*2η״̬*/ @@ -2533,9 +2513,8 @@ UINT8 GetSwitchMoveEarlyValidState(UINT16 switchId, UINT8 oper_src, UINT8 sendLe } } } + /*ɶ*/ -#endif - return reVal; } @@ -2598,9 +2577,9 @@ UINT8 GetSwitchMoveValidState(UINT16 switchId,UINT8 oper_src,UINT8 sendLevel) /*жǷù·*/ gdDLline = GetCiFunctionSwitchConfig(FUNC_CLD_GD_DIANLU_LINE); - if ((JKJ_REYLAY_VALID == JkjRelayValid) && (CI_TYPE_CLD == ciType)) + if ((JkjRelayId > 0u) && (JKJ_REYLAY_VALID == JkjRelayValid) && (CI_TYPE_CLD == ciType)) {/*Ӧ̵̼Ч״̬*/ - SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, 0u, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, ESEND_LEVEL_ATS);/*OCӦعܣ̵ID0*/ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, JkjRelayId, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, ESEND_LEVEL_ATS); reVal = CI_ERROR; } else @@ -5149,9 +5128,6 @@ UINT8 GetOtherCiDevStatus(UINT16 const devType,UINT16 const devId,UINT16 const c devState = 0u; } break; - case CI_DEVICE_TYPE_PSD_EXCEPT_OPEN: /*վ̨ţ쳣򿪣*/ - devState = GePsdExceptOpenState(devId); - break; case CI_DEVICE_TYPE_GARAGEDOOR: /**/ tmpDevState = GetGaragedoorState(devId); if (GARAGE_DOOR_STATE_OPEN == tmpDevState) @@ -5288,7 +5264,6 @@ UINT8 GetOtherCiCheckDevStateType(UINT16 const devType) retType = ETYPE_ESB_VALID; break; case CI_DEVICE_TYPE_PSD: /*վ̨*/ - case CI_DEVICE_TYPE_PSD_EXCEPT_OPEN: /*վ̨ţ쳣򿪣*/ retType = ETYPE_PSD_CLOSE_NO; break; case CI_DEVICE_TYPE_GARAGEDOOR: /**/ @@ -5406,6 +5381,7 @@ void SetAllTsrFlag(UINT8 setFlag) * ˵ void * ֵ 0x55: Ч 0xAA:Ч */ + UINT8 GetAllSnowModel(void) { return g_AllSnowModel; @@ -5428,37 +5404,6 @@ void SetAllSnowModel(UINT8 setmodle) } } -/* -* ȡȫʪȼ -* ˵ -* ֵ0 Ĭֵ -* 1 ʪһ -* 2 ʪ -* Created By LQ 2025.05.28 -*/ -UINT8 GetAllSnowLevel(void) -{ - return g_AllSnowLevel; -} - -/* -* ȫʪȼ -* ˵UINT8 cLevel ʪ켶 -* ֵ -* Created By LQ 2025.05.28 -*/ -void SetAllSnowLevel(UINT8 cLevel) -{ - if ((CI_SNOW_LEVEL_DEFAULT == cLevel) || (CI_SNOW_LEVEL_ONE == cLevel) || (CI_SNOW_LEVEL_TWO == cLevel)) - { - g_AllSnowLevel = cLevel; - } - else - { - /**/ - } -} - /* * ȡITEȫг״̬ * ˵void @@ -6221,7 +6166,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) UINT16 bufIndex = 0u; /*±*/ UINT8 logSecLockState = 0U; UINT8 logSecLockRouteNum = 0U; - UINT8 chFailStep = 0U; bufIndex = GetlogSectionBufIndex(logSectionId); /*ȡ±*/ /**±Ϸ*/ @@ -6238,7 +6182,7 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) logicCheck = LogicIntruSecVainCheck(logSectionId, &devId, &devState); /*߼޼*/ logSecLockState = GetLogSecLogLockState(logSectionId); logSecLockRouteNum = GetLogSecLockBelLogRouteSum(logSectionId); - + if (NULL == pLgcSecSwitchStru) { reVal = CI_ERROR; @@ -6253,7 +6197,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) { /*·*/ reVal = CI_ERROR; - chFailStep = 1U; } } if (CI_SUCCESS == reVal) @@ -6262,7 +6205,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) { /*߼δ߼·*/ reVal = CI_ERROR; - chFailStep = 2U; } } @@ -6282,7 +6224,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) || ((LOGICSECTION_OCCUPY_CT == curLogSecOccState) && (CI_ERROR == checkSulicTrain))) { reVal = CI_ERROR; - chFailStep =3U; break; } else @@ -6316,7 +6257,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) { /*ʧ*/ reVal = CI_ERROR; - chFailStep = 4U; } else { @@ -6335,14 +6275,12 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) /*δڷ״̬(SPKSʵʩ)*/ reVal = CI_ERROR; - chFailStep = 5U; } if ((CI_SUCCESS == reVal) && (CI_ERROR == logicCheck)) { /*߼޼鲻ͨ*/ reVal = CI_ERROR; - chFailStep = 6U; } if ((CI_SUCCESS == reVal) && (0u < routeRlockId)) @@ -6356,8 +6294,8 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) if ((CI_SUCCESS == routeTrainNear) && ((ROUTE_STATE_YUXIAN_OPEN == routeState) || (ROUTE_STATE_NEAR_OPEN == routeState))) { + reVal = CI_ERROR; - chFailStep = 7U; } } else @@ -6383,7 +6321,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) if ((pLgcSecSwitchStru[ii].SwitchPosition != switchCurPosition) || (CI_ERROR == retFlag) || (SWITCH_LOCK_FENGSUO_YES == switchFLockState)) {/*жϵǰĵλǰλһͬijһȻЧ򣨵*/ reVal = CI_ERROR; - chFailStep = 8U; break; } else @@ -6414,7 +6351,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) if (FLOOD_GATE_OPEN != floodState) { reVal = CI_ERROR; - chFailStep = 9U; break; } else @@ -6440,7 +6376,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) || ((LOGICSECTION_OCCUPY_CT == curLogSecOccState) && (CI_ERROR == checkSulicTrain))) { reVal = CI_ERROR; - chFailStep = 10U; } else { @@ -6460,7 +6395,6 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) if (CI_ERROR == checkResult) { reVal = CI_ERROR; - chFailStep = 11U; } else { @@ -6472,30 +6406,11 @@ UINT8 CheckLogJumpLockApply(UINT16 logSectionId) /** */ } } - - if (CI_SUCCESS == reVal) - { - /* ߳*/ - checkResult = LogSecRelateNoSleepTrainCheck(logSectionId); - if (CI_ERROR == checkResult) - { - reVal = CI_ERROR; - chFailStep = 12U; - } - else - { - reVal = CI_SUCCESS; - } - } } else { reVal = CI_ERROR; } - if (CI_ERROR == reVal) - { - debug_infor_printf((const)"\nCheckLogJumpLockApply ! LogSecID: %d__Error Position Is [%d]\n", logSectionId, chFailStep); - } return reVal; } @@ -10701,10 +10616,10 @@ UINT8 GetDiaoCheRouteOpenState(const UINT16 wRouteId) /* * ñѩվ̨Ϣ * ˵const UINT8 cAreaSnowNum ѩ -* const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX] ѩ +* const UINT32 pAreaSnowIdBuf[] ѩID * ֵ */ -void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX]) +void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const UINT32 pAreaSnowIdBuf[]) { UINT8 ii = 0U; UINT8 jj = 0U; @@ -10717,20 +10632,20 @@ void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAr UINT8 cPhySecBelongCiId = 0U; /*SPKSε*/ UINT8 cLocalCiId = 0U; /*CI ID*/ - if ((LOCAL_AREA_SNOW_SUM_MAX >= cAreaSnowNum) && (NULL != pAreaSnowBuf)) + if ((LOCAL_AREA_SNOW_SUM_MAX >= cAreaSnowNum) && (NULL != pAreaSnowIdBuf)) { /*ѩվ̨Ϣͷ͸ѩϢ*/ ClearCiSendAreaSnowInfo(); - (void)CommonMemSet(szLocalAreaSnow, (UINT32)(sizeof(AreaSnowInfoStruct) * LOCAL_AREA_SNOW_SUM_MAX), 0U, (UINT32)(sizeof(AreaSnowInfoStruct) * LOCAL_AREA_SNOW_SUM_MAX)); + (void)CommonMemSet(szLocalAreaSnowId, (UINT32)(sizeof(UINT32) * LOCAL_AREA_SNOW_SUM_MAX), 0U, (UINT32)(sizeof(UINT32) * LOCAL_AREA_SNOW_SUM_MAX)); LocalAreaSnowNum = cAreaSnowNum; for (ii = 0U; ii < cAreaSnowNum; ii++) { - szLocalAreaSnow[ii] = pAreaSnowBuf[ii]; /*洢ѩ״̬Ϣ*/ + szLocalAreaSnowId[ii] = pAreaSnowIdBuf[ii]; /*洢ѩ״̬Ϣ*/ - /*жǷҪͱѩϢ*/ + /*жǷҪͱѩվ̨*/ cLocalCiId = GetSystemParaLocalCiId(); - cPlatFormRelSpksNum = GetPlatFormRelSpksNum(pAreaSnowBuf[ii].wAreaId, szPlatFormRelSpksId); /*ȡվ̨SPKS*/ + cPlatFormRelSpksNum = GetPlatFormRelSpksNum((UINT16)pAreaSnowIdBuf[ii], szPlatFormRelSpksId); /*ȡվ̨SPKS*/ if (CI_ERROR != cPlatFormRelSpksNum) { @@ -10749,7 +10664,7 @@ void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAr if ((cLocalCiId != cPhySecBelongCiId) && (0U != cLocalCiId) && (0U != cPhySecBelongCiId)) { - AddCiSendAreaSnowInfo(cLocalCiId, cPhySecBelongCiId, pAreaSnowBuf[ii].wAreaId, pAreaSnowBuf[ii].cAreaSnowLevel); /*վ̨зDZΣCIվ̨ID*/ + AddCiSendAreaSnowInfo(cLocalCiId, cPhySecBelongCiId, pAreaSnowIdBuf[ii]); /*վ̨зDZΣCIվ̨ID*/ } else { @@ -10786,13 +10701,13 @@ UINT8 GetLocalAreaSnowNum(void) } /* -* ȡѩϢ +* ȡѩվ̨ID * ˵ -* ֵ ѩϢ +* ֵ ѩվ̨ID */ -AreaSnowInfoStruct* GetLocalAreaSnow(void) +UINT32* GetLocalAreaSnowId(void) { - return szLocalAreaSnow; + return szLocalAreaSnowId; } @@ -11199,171 +11114,4 @@ void DefaultCtrlPowerDeal(const UINT8 virtualCiId) { ; } -} - -/* -* ȡITEг -* ˵ -* ֵITEг -* Created By LQ 2025.04.15 -*/ -UINT8 GetLocalAreaIteCutNum(void) -{ - return gLocalAreaIteCutNum; -} - -/* -* ȡITEгID -* ˵ -* ֵITEгID -* Created By LQ 2025.04.15 -*/ -UINT16* GetLocalAreaIteCutId(void) -{ - return gSzLocalAreaIteCutId; -} - -/* -* ITEгϢ -* ˵ -* ֵ -* Created By LQ 2025.04.15 -*/ -void ClearLocalAreaIteCutInfo(void) -{ - gLocalAreaIteCutNum = 0U; - (void)CommonMemSet(gSzLocalAreaIteCutId, (UINT32)(sizeof(UINT16) * ALL_AREA_SNOW_SUM_MAX), 0U, (UINT32)(sizeof(UINT16) * ALL_AREA_SNOW_SUM_MAX)); -} - -/* -* ñITEгϢ -* ˵const UINT8 cAreaIteCutNum ITEг -* const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX] ID -* ֵ -* Created By LQ 2025.04.15 -*/ -void SetLocalAreaIteCutInfo(const UINT8 cAreaIteCutNum, const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX]) -{ - UINT8 ii = 0U; - UINT8 jj = 0U; - UINT16 kk = 0U; - UINT8 cPlatFormRelSpksNum = 0U; /*վ̨SPKS*/ - UINT16 szPlatFormRelSpksId[PLATFORM_REL_SPKS_NUM_MAX] = { 0U }; /*վ̨SPKS ID*/ - UINT16 wSpksIndex = 0U; - UINT16 wSpksRelPhySecNum = 0U; /*SPKS*/ - UINT16 wSpksRelPhySecId = 0U; /*SPKSID*/ - UINT8 cPhySecBelongCiId = 0U; /*SPKSε*/ - UINT8 cLocalCiId = 0U; /*CI ID*/ - UINT8 cPlatFormBelongCiId = 0U; /*վ̨LinkCI*/ - - if ((ALL_AREA_SNOW_SUM_MAX >= cAreaIteCutNum) && (NULL != pAreaIteCutIdBuf)) - { - /*ITEгϢ͸ITEгϢ*/ - ClearLocalAreaIteCutInfo(); - ClearCiSendAreaIteCutInfo(); - - /*ʼˢ±ITEгϢ*/ - gLocalAreaIteCutNum = cAreaIteCutNum; - for (ii = 0U; ii < cAreaIteCutNum; ii++) - { - gSzLocalAreaIteCutId[ii] = pAreaIteCutIdBuf[ii]; /*洢ID*/ - - /*жǷҪͱITEгϢ*/ - cLocalCiId = GetSystemParaLocalCiId(); - cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(pAreaIteCutIdBuf[ii]); /*ȡ*/ - if ((cLocalCiId == cPlatFormBelongCiId) && (0U != cLocalCiId)) - { - cPlatFormRelSpksNum = GetPlatFormRelSpksNum(pAreaIteCutIdBuf[ii], szPlatFormRelSpksId); /*ȡվ̨SPKS*/ - - if (CI_ERROR != cPlatFormRelSpksNum) - { - /*վ̨SPKSжSPKSǷзDZ*/ - for (jj = 0U; jj < cPlatFormRelSpksNum; jj++) - { - wSpksIndex = GetSpksConfigBufIndex(szPlatFormRelSpksId[jj]); - if (SPKS_SUM_MAX > wSpksIndex) - { - wSpksRelPhySecNum = GetSpksPhySecSumByIndex(wSpksIndex); - - for (kk = 0U; kk < wSpksRelPhySecNum; kk++) - { - wSpksRelPhySecId = GetSpksPhySecId(szPlatFormRelSpksId[jj], kk); - cPhySecBelongCiId = GetPhySecBelongCiId(wSpksRelPhySecId); - - if ((cLocalCiId != cPhySecBelongCiId) && (0U != cLocalCiId) && (0U != cPhySecBelongCiId)) - { - AddCiSendAreaIteCutInfo(cLocalCiId, cPhySecBelongCiId, pAreaIteCutIdBuf[ii]); /*վ̨зDZΣCIվ̨ID*/ - } - else - { - /**/ - } - } - } - else - { - /*¸ѩ*/ - } - } - } - else - { - /*ȡվ̨SPKSʧܣ*/ - } - } - else - { - /*DZ䣬RC/CI*/ - } - } - } - else - { - /*ηǷ*/ - } -} - -/* -* ȡ·ڵһյ߼ID -* ˵UINT16 wRouteId ·ID -* ֵ0 յ߼ -* >0 һյ߼ID -* Created By LQ 2025.05.08 -*/ -UINT16 GetRouteFirstLockedLogSecId(UINT16 wRouteId) -{ - UINT16 wRetVal = 0U; - UINT16 wRouteLogSecNum = 0U; /*·߼*/ - UINT16* pRouteLogSecIdBuf = NULL; /*·߼ID*/ - UINT16 i = 0U; - UINT16 wLockBelongRouteId = 0U; /*·ID*/ - - /*ȡ·߼*/ - wRouteLogSecNum = GetRouteLogSectionSum(wRouteId); - pRouteLogSecIdBuf = GetRouteLogSectionIdBuf(wRouteId); - - if ((0U < wRouteLogSecNum) && (NULL != pRouteLogSecIdBuf)) - { - for (i = 0U; i < wRouteLogSecNum; i++) - { - wLockBelongRouteId = GetLogSecLockBelongRoute(pRouteLogSecIdBuf[i]); /*ȡ߼·*/ - - if (wLockBelongRouteId == wRouteId) - { - /*߼α·գ߼*/ - wRetVal = pRouteLogSecIdBuf[i]; - break; - } - else - { - /**/ - } - } - } - else - { - /*0*/ - } - - return wRetVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.h b/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.h index 1eafa3c..2781843 100644 --- a/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.h +++ b/TSCP/src/APP/ciapp/DataManage/DeviceDataManage.h @@ -15,14 +15,6 @@ #define _DEVICE_DATA_MANAGE_H_ #include "CommonTypes.h" - -/*ѩϢṹ*/ -typedef struct S_AreaSnowInfoStruct -{ - UINT16 wAreaId; /*ID*/ - UINT8 cAreaSnowLevel; /*ʪ켶*/ -} AreaSnowInfoStruct; - #include "../System/CiSystemDefine.h" #include "../error/ErrorDataManage.h" #include "../Transmit/TransmitStateDataManage.h" @@ -164,7 +156,6 @@ typedef struct S_LineCommTrainStruct UINT16 szCommTrainNumID[TRAIN_SUM_MAX]; /*ȫͨųID*/ }LineCommTrainStruct; - /*******************************ȫֱ*******************************/ extern UINT8 AllSignalBrightFlag; /*ȫվƱ־*/ @@ -190,8 +181,6 @@ extern UINT8 g_AllTsrFlag; /* extern UINT8 g_AllSnowModel; /*ȫѩģʽ*/ -extern UINT8 g_AllSnowLevel; /*ȫʪ켶0-Ĭֵ1-һ2-*/ - extern UINT8 g_IteLineCutState; /*ITEȫг״̬0x55гITE0xAAʹITE0xFFĬֵ*/ extern UINT8 g_AllLineTsrState; /*ȫʱ״̬*/ @@ -230,16 +219,13 @@ extern UINT8 SwitchBlockLinkState; /* extern CtrlPowerStruct ctrlpowerFlag[VIRTUAL_CI_MAX]; extern UINT8 LocalAreaSnowNum; /*ѩվ̨*/ -extern AreaSnowInfoStruct szLocalAreaSnow[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩ*/ +extern UINT32 szLocalAreaSnowId[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩվ̨ID*/ extern LineCommTrainStruct gStrLineCommTrain; /*ȫͨųṹ*/ extern UINT32 gFlyProtectOverCyc; /*ɳ崻ʼ*/ extern UINT8 g_LocalSnowModel; /*ѩģʽ*/ -extern UINT8 gLocalAreaIteCutNum; /*ITEг*/ -extern UINT16 gSzLocalAreaIteCutId[ALL_AREA_SNOW_SUM_MAX]; /*ITEгID*/ - /******************************־ݹ****************************/ /* @@ -1381,24 +1367,6 @@ extern UINT8 GetAllSnowModel(void); */ extern void SetAllSnowModel(UINT8 setmodle); -/* -* ȡȫʪȼ -* ˵ -* ֵ0 Ĭֵ -* 1 ʪһ -* 2 ʪ -* Created By LQ 2025.05.28 -*/ -UINT8 GetAllSnowLevel(void); - -/* -* ȫʪȼ -* ˵UINT8 cLevel ʪ켶 -* ֵ -* Created By LQ 2025.05.28 -*/ -void SetAllSnowLevel(UINT8 cLevel); - /* * ȡITEȫг״̬ * ˵void @@ -1742,10 +1710,10 @@ UINT8 GetDiaoCheRouteOpenState(const UINT16 wRouteId); /* * ñѩվ̨Ϣ * ˵const UINT8 cAreaSnowNum ѩ -* const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX] ѩ +* const UINT32 pAreaSnowIdBuf[] ѩID * ֵ */ -void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX]); +void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const UINT32 pAreaSnowIdBuf[]); /* * ȡѩվ̨ @@ -1755,11 +1723,11 @@ void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAr UINT8 GetLocalAreaSnowNum(void); /* -* ȡѩϢ +* ȡѩվ̨ID * ˵ -* ֵ ѩϢ +* ֵ ѩվ̨ID */ -AreaSnowInfoStruct* GetLocalAreaSnow(void); +UINT32* GetLocalAreaSnowId(void); /* @@ -1856,46 +1824,4 @@ UINT8 GetSwitchUsingValidState(const UINT16 wSwitchId, const UINT8 chFunctionId, */ void DefaultCtrlPowerDeal(const UINT8 virtualCiId); -/* -* ȡITEг -* ˵ -* ֵITEг -* Created By LQ 2025.04.15 -*/ -UINT8 GetLocalAreaIteCutNum(void); - -/* -* ȡITEгID -* ˵ -* ֵITEгID -* Created By LQ 2025.04.15 -*/ -UINT16* GetLocalAreaIteCutId(void); - -/* -* ITEгϢ -* ˵ -* ֵ -* Created By LQ 2025.04.15 -*/ -void ClearLocalAreaIteCutInfo(void); - -/* -* ñITEгϢ -* ˵const UINT8 cAreaIteCutNum ITEг -* const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX] ID -* ֵ -* Created By LQ 2025.04.15 -*/ -void SetLocalAreaIteCutInfo(const UINT8 cAreaIteCutNum, const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX]); - -/* -* ȡ·ڵһյ߼ID -* ˵UINT16 wRouteId ·ID -* ֵ0 յ߼ -* >0 һյ߼ID -* Created By LQ 2025.05.08 -*/ -UINT16 GetRouteFirstLockedLogSecId(UINT16 wRouteId); - #endif diff --git a/TSCP/src/APP/ciapp/DataManage/PlatDataManage.c b/TSCP/src/APP/ciapp/DataManage/PlatDataManage.c index 815fd70..239b672 100644 --- a/TSCP/src/APP/ciapp/DataManage/PlatDataManage.c +++ b/TSCP/src/APP/ciapp/DataManage/PlatDataManage.c @@ -17,7 +17,7 @@ extern PlatHeartDataStruct RecvHeartDataStru ; /*ƽ̨֡ݽṹ*/ extern PlatGPIODataStruct RecvPlatDataStruGPIO;/*ƽ̨0x2D֡ݽṹ GPIOɼ״̬*/ -extern PlatGPIOToleranceDataStruct gPlatDataGPIOTolercance;/*ƽ̨Ӳɼ̼¼*/ + @@ -427,36 +427,18 @@ UINT8 CheckRCIAPowerFaultState(void) { UINT8 retVal = CI_ERROR; UINT8 cxABreakFlag = 0U; /*AϵԴտϿ*/ - UINT8 chCheckState = 0U; - UINT32 dwErrorStartCyc = 0U; - UINT32 dwCurCyc = 0U; + cxABreakFlag = GetPowerANodeStatue(); - dwErrorStartCyc = gPlatDataGPIOTolercance.powerANode_TolCyc; - dwCurCyc = Get2oo2CurCycleNum(); + /* 1AϵԴտϿ */ if (NODE_STATUS_BREAK == cxABreakFlag) { /*AϵԴ״̬*/ - chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE); - if (CI_TIME_NO == chCheckState) - { - gPlatDataGPIOTolercance.powerANode_TolCyc = dwCurCyc; - retVal = CI_SUCCESS; - } - else if(CI_TIME_IN == chCheckState) - { - retVal = CI_SUCCESS;/**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"PLATIO_A_Node_Power_FaultState StartTime%d\n", dwErrorStartCyc); - } + retVal = CI_ERROR; } else { retVal = CI_SUCCESS; - gPlatDataGPIOTolercance.powerANode_TolCyc = 0U; } return retVal; } @@ -471,36 +453,18 @@ UINT8 CheckRCIBPowerFaultState(void) { UINT8 retVal = CI_ERROR; UINT8 cxBBreakFlag = 0U; /*BϵԴտϿ*/ - UINT8 chCheckState = 0U; - UINT32 dwErrorStartCyc = 0U; - UINT32 dwCurCyc = 0U; + cxBBreakFlag = GetPowerBNodeStatue(); - dwErrorStartCyc = gPlatDataGPIOTolercance.powerBNode_TolCyc; - dwCurCyc = Get2oo2CurCycleNum(); - /* 1BϵԴտϿ*/ + + /* 1BϵԴտϿ */ if (NODE_STATUS_BREAK == cxBBreakFlag) { /*BϵԴ״̬*/ - chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE); - if (CI_TIME_NO == chCheckState) - { - gPlatDataGPIOTolercance.powerBNode_TolCyc = dwCurCyc; - retVal = CI_SUCCESS; - } - else if (CI_TIME_IN == chCheckState) - { - retVal = CI_SUCCESS;/**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"PLATIO_B_Node_Power_FaultState StartTime%d\n", dwErrorStartCyc); - } + retVal = CI_ERROR; } else { retVal = CI_SUCCESS; - gPlatDataGPIOTolercance.powerBNode_TolCyc = 0U; } return retVal; } @@ -520,16 +484,11 @@ UINT8 CheckRCIAPowerModeFaultState(void) UINT8 powerBPUBAState = 0U; /*PUB Aɼ24VBԴ״̬ 3*/ UINT8 vol1Flag = 0U; /*CPI Aɼ24VAԴ 1*/ UINT8 vol3Flag = 0U; /*CPI Aɼ24VBԴ 3*/ - UINT8 chCheckState = 0U; - UINT32 dwErrorStartCyc = 0U; - UINT32 dwCurCyc = 0U; powerAPUBAState = GetGPIOCollectPointStatus(COLLECT_MODEA_CCUA); powerBPUBAState = GetGPIOCollectPointStatus(COLLECT_MODEB_CCUA); vol1Flag = CheckPointVoltageState(COLLECT_MODEA_CCUA); vol3Flag = CheckPointVoltageState(COLLECT_MODEB_CCUA); - dwErrorStartCyc = gPlatDataGPIOTolercance.powerAMode_TolCyc; - dwCurCyc = Get2oo2CurCycleNum(); /* 1PUB Aɼ24VAԴ쳣24VBԴ쳣 2CPI Aɼ24VAԴ24VBԴѹΪ0V */ @@ -537,27 +496,11 @@ UINT8 CheckRCIAPowerModeFaultState(void) if (((CHECK_VOLTAGE_ZERO == vol1Flag) || (CHECK_VOLTAGE_ZERO == vol3Flag)) && ((POWER_STATUS_ABNORMAL == powerAPUBAState) || (POWER_STATUS_ABNORMAL == powerBPUBAState))) { - /**/ - chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE); - if (CI_TIME_NO == chCheckState) - { - gPlatDataGPIOTolercance.powerAMode_TolCyc = dwCurCyc; - retVal = CI_SUCCESS; - } - else if (CI_TIME_IN == chCheckState) - { - retVal = CI_SUCCESS;/**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"PLATIO_A_Mode_Power_FaultState StartTime%d\n", dwErrorStartCyc); - } + retVal = CI_ERROR; } else { retVal = CI_SUCCESS; - gPlatDataGPIOTolercance.powerAMode_TolCyc = 0U; } return retVal; @@ -577,43 +520,25 @@ UINT8 CheckRCIBPowerModeFaultState(void) UINT8 powerBPUBBState = 0U; /*PUB Aɼ24VBԴ״̬ 4*/ UINT8 vol2Flag = 0U; /*CPI Bɼ24VAԴ 2*/ UINT8 vol4Flag = 0U; /*CPI Bɼ24VBԴ 4*/ - UINT8 chCheckState = 0U; - UINT32 dwErrorStartCyc = 0U; - UINT32 dwCurCyc = 0U; powerAPUBBState = GetGPIOCollectPointStatus(COLLECT_MODEA_CCUB); powerBPUBBState = GetGPIOCollectPointStatus(COLLECT_MODEB_CCUB); vol2Flag = CheckPointVoltageState(COLLECT_MODEA_CCUB); vol4Flag = CheckPointVoltageState(COLLECT_MODEB_CCUB); - dwErrorStartCyc = gPlatDataGPIOTolercance.powerBMode_TolCyc; - dwCurCyc = Get2oo2CurCycleNum(); /* 1PUB Bɼ24VAԴ쳣24VBԴ쳣 2CPI Bɼ24VAԴ24VBԴѹΪ0V */ + + + /*δʵPUBɼֻжϵԴѹ*/ if (((CHECK_VOLTAGE_ZERO == vol2Flag) || (CHECK_VOLTAGE_ZERO == vol4Flag)) && ((POWER_STATUS_ABNORMAL == powerAPUBBState) || (POWER_STATUS_ABNORMAL == powerBPUBBState))) { - /**/ - chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE); - if (CI_TIME_NO == chCheckState) - { - gPlatDataGPIOTolercance.powerBMode_TolCyc = dwCurCyc; - retVal = CI_SUCCESS; - } - else if (CI_TIME_IN == chCheckState) - { - retVal = CI_SUCCESS;/**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"PLATIO_B_Mode_Power_FaultState StartTime%d\n", dwErrorStartCyc); - } + retVal = CI_ERROR; } else { retVal = CI_SUCCESS; - gPlatDataGPIOTolercance.powerBMode_TolCyc = 0U; } return retVal; diff --git a/TSCP/src/APP/ciapp/DataManage/PlatDataManage.h b/TSCP/src/APP/ciapp/DataManage/PlatDataManage.h index 17b98fa..7395560 100644 --- a/TSCP/src/APP/ciapp/DataManage/PlatDataManage.h +++ b/TSCP/src/APP/ciapp/DataManage/PlatDataManage.h @@ -16,7 +16,7 @@ #include "CommonTypes.h" #include "../System/CiSystemDefine.h" -#include "../System/SystemParameterManage.h" + #define BOARD_TYPE_CCUA ((UINT8)0x09) /*ͨذA*/ @@ -60,8 +60,6 @@ #define VOLTAGE_MAX_TO_0 ((UINT16)500U) /*ѹжΪ0ֵ*/ -#define IO_POWERSTATE_TOLERANCE ((UINT8)0x02) /*ƽ̨Դ3ڣ2ڱ*/ - /*ƽ̨֡Ϣṹ*/ typedef struct S_PlatHeartDataStruct { @@ -103,14 +101,7 @@ typedef struct S_PlatGPIODataStruct }PlatGPIODataStruct; -/*ƽ̨͵ĵԴɼ״̬ͬ*/ -typedef struct S_PlatGPIOToleranceData -{ - UINT32 powerANode_TolCyc; /*AϵԴĹʼ*/ - UINT32 powerBNode_TolCyc; /*BϵԴĹʼ*/ - UINT32 powerAMode_TolCyc; /*AϵԴģĹʼ*/ - UINT32 powerBMode_TolCyc; /*BϵԴģĹʼ*/ -}PlatGPIOToleranceDataStruct; + diff --git a/TSCP/src/APP/ciapp/ERROR/ErrorDefine.h b/TSCP/src/APP/ciapp/ERROR/ErrorDefine.h index b687668..48a21ec 100644 --- a/TSCP/src/APP/ciapp/ERROR/ErrorDefine.h +++ b/TSCP/src/APP/ciapp/ERROR/ErrorDefine.h @@ -109,7 +109,6 @@ #define EFUNC_ROUTE_FIRST_LOG_UNLOCK ((UINT8)0x50) /*RouteFirstLogSecAutoUnlockProcess·һ߼Զ*/ #define EFUNC_SWITCHTESTLOGIC ((UINT8)0x80U) /*SetSwitchTestLogicManageλ*/ #define EFUNC_OVERLAP_VALIDMASK_CHECK ((UINT8)0x4A) /*OverlapValidMaskCheck 㱣Чλ*/ -#define EFUNC_ROUTE_LOCK_DRIVE_SWITCH ((UINT8)0xD2) /*RouteLockDriveSwitch յ*/ /*߼*/ #define EFUNC_SET_LEAD_ROUTE_CHECK ((UINT8)0x4B) /*·*/ @@ -136,6 +135,7 @@ #define EFUNC_CLD_CANCEL_D_TRAIN_ROUTE ((UINT8)0x66) /*ȡ·*/ #define EFUNC_CLD_CLOSE_GARAGEDOOR ((UINT8)0x67) /*رճ*/ #define EFUNC_CLD_CHECK_GARAGEDOOR_CLOSE ((UINT8)0xc9) /*Źر飨RCģʽ£*/ +#define EFUNC_CHECK_DIAOCHE_ROUTE_ZRJ ((UINT8)0x68) /* CheckDiaoCheRouteZRJFeasibility ·˽Ŀ*/ #define EFUNC_CHECK_OPEN_L_ERR_CLD ((UINT8)0x69) /*OpenLTrainRouteErrP*/ #define EFUNC_CHECK_OPEN_D_ERR_CLD ((UINT8)0x6a) #define EFUNC_KEEP_L_ERR_CLD ((UINT8)0x6b) @@ -178,8 +178,6 @@ #define EFUNC_LOGSEC_LAST_SECLOCK ((UINT8)0x92) /* CheckLogRouteLogSecLastSecLock */ #define EFUNC_ROUTE_ZHONGTUZHEFAN_UNLOCK ((UINT8)0x94) /* CheckRouteZhefanJiesuo */ -#define EFUNC_PART_ROUTE_CMD_PROC ((UINT8)0x95) /*RoutePartApplyLogicManage(/Գֽ߲·)*/ -#define EFUNC_PART_ROUTE_CMD_PROC_CLD ((UINT8)0x96) /*RoutePartApplyLogicManageCLDβֽ·*/ /*߼·ر*/ #define EFUNC_LogRouteOpenManage ((UINT8)0xC1) /*EFUNC_LogRouteOpenManage߼·źſŴ*/ @@ -212,8 +210,6 @@ #define EFUNC_FIRSTLEAVE_LOGSEC_CHECK ((UINT8)0xD1) /*ȥ߼μRouteLeaveLogSecCheck*/ -#define EFUNC_OVERLAP_ZHAOCHA_CHECK ((UINT8)0xD3) /*ղ*/ - /*************************************************ֽ******************************************************************************/ /*************************************************ֽ******************************************************************************/ @@ -234,7 +230,6 @@ #define ETYPE_ROUTE_APPLY_SWITCH_CHECK ((UINT8)0x0b) /*·״̬*/ #define ETYPE_ROUTE_XUANPAI_OVERTIME ((UINT8)0x10) /*·ѡųʱ*/ #define ETYPE_GROUP_AUTO_ROUTE_STATE ((UINT8)0x16) /*Զ·*/ -#define ETYPE_ROUTE_APPLY_SWITCH_MOVE ((UINT8)0xA4) /*·*/ #define ETYPE_COMM_WITH_VOBC ((UINT8)0x11) /*VOBCͨ*/ @@ -318,7 +313,6 @@ #define ETYPE_CANCLE_ZHAOCHA ((UINT8)0x82) /*ȡղ̵*/ #define ETYPE_ZHAOCHA_ROUTE_OVERTIME ((UINT8)0x83) /*·ղ鳬ʱ*/ #define ETYPE_JKJ_WORK ((UINT8)0x84) /*ӦЧ*/ -#define ETYPE_ZHAOCHA_OVERLAP_OVERTIME ((UINT8)0x86) /*ղ鳬ʱ*/ /* عͱ (UINT8)0x91-(UINT8)0x9f */ /* 豸 @@ -385,16 +379,6 @@ #define ETYPE_LOGSEC_XIANSU_STATE ((UINT8)0xC5) /*߼*/ #define ETYPE_LOGSEC_FIRSTLOCK_STATE ((UINT8)0xC6) /*߼Ϊһμ*/ #define ETYPE_LOGSEC_CBTC_PROPERTY ((UINT8)0xC7) /*߼CBTCԼ*/ -#define ETYPE_LOGSEC_CONTINUOUS ((UINT8)0xC8) /*߼Լ*/ - -/*̬·*/ -#define ETYPE_PART_ROUTE_RES ((UINT8)0xD0) /*̬·Դ*/ -#define ETYPE_PART_ROUTE_MATCH_ROUTE ((UINT8)0xD1) /*̬·ƥ·*/ -#define ETYPE_PART_ROUTE_SCREEN ((UINT8)0xD2) /*̬·гɸѡ*/ -#define ETYPE_PART_ROUTE_REPEAT ((UINT8)0xD3) /*̬·ظ*/ -#define ETYPE_PART_ROUTE_SEC_ATTR ((UINT8)0xD4) /*̬·Լ*/ -#define ETYPE_PART_ROUTE_TRAIN_COMM ((UINT8)0xD5) /*̬·гͨ״̬*/ -#define ETYPE_PART_ROUTE_TRAIN_POS ((UINT8)0xD6) /*̬·гλü*/ /* ϵͳ */ /* 豸 EFUNC_LOGIC_MANAGE_SYETEM */ diff --git a/TSCP/src/APP/ciapp/ESB/ESBDataManage.c b/TSCP/src/APP/ciapp/ESB/ESBDataManage.c index f621b22..9e3a815 100644 --- a/TSCP/src/APP/ciapp/ESB/ESBDataManage.c +++ b/TSCP/src/APP/ciapp/ESB/ESBDataManage.c @@ -160,17 +160,12 @@ UINT8 EsbDataManageInit(void) EsbDataStru[esbId].CutStatus = ESB_CUT_NO; /*ESB·δ*/ EsbDataStru[esbId].EsbRelateRelayDriveState = ESB_PEPUP_ESSUP_INITION_STA; /*PEPESSЧ*/ EsbDataStru[esbId].EsbErrorFlag = ESB_ERROR_FLAG_NO; /*ԸʽESBδ*/ - EsbDataStru[esbId].EsbRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*رհťɼ̵״̬ʼΪͨ쳣*/ EsbDataStru[esbId].CancelEsbErrorFlag = ESB_ERROR_FLAG_NO; /*ԸʽȡESBδ*/ EsbDataStru[esbId].EsbPressCycNum = 0U; /*رհť*/ EsbDataStru[esbId].CancelEsbPressCycNum = 0U; /*ȡرհť*/ EsbDataStru[esbId].CancelEsbErrTriggerPressCycNum = 0U; /*ȡرհť󴥷*/ EsbDataStru[esbId].CancelEsbValidFlag = ESB_CANCEL_VALID_NO; /*ȡرհťЧ־*/ EsbDataStru[esbId].CancelEsbRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*ȡرհťɼ̵״̬ʼΪͨ쳣*/ - EsbDataStru[esbId].EsbCutPressCycNum = 0U; /*ر·ť*/ - EsbDataStru[esbId].EsbCutErrTriggerPressCycNum = 0U; /*ر·ť󴥷*/ - EsbDataStru[esbId].EsbCutErrorFlag = ESB_ERROR_FLAG_NO; /*ر·ťδ*/ - EsbDataStru[esbId].EsbCutRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*ر·ťɼ̵״̬ʼΪͨ쳣*/ } rtn = CI_SUCCESS; return rtn; @@ -801,275 +796,5 @@ UINT8 GetCancelEsbRelayDownState(const UINT16 esbId) ; /*±겻Ϸִ״̬*/ } - return reVal; -} - -/* -* ýر·ť -* const UINT16 esbId Esb ID -* const UINT32 startCycNum ں -* -* ֵ -* Cretaed By LQ 2025.03.28 -*/ -void SetEsbCutPressCycNum(const UINT16 esbId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - EsbDataStru[bufIndex].EsbCutPressCycNum = startCycNum; /*·ťʼ*/ - } - else - { - ; /**/ - } -} - -/* -* ȡر·ť -* const UINT16 esbId Esb ID -* -* ֵر·ť -* Cretaed By LQ 2025.03.28 -*/ -UINT32 GetEsbCutPressCycNum(const UINT16 esbId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 reVal = CI_ERROR; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - reVal = EsbDataStru[bufIndex].EsbCutPressCycNum; - } - else - { - /*±Ƿ0*/ - } - - return reVal; -} - -/* -* ýر·ť󴥷 -* const UINT16 esbId Esb ID -* const UINT32 startCycNum ں -* -* ֵ -* Cretaed By LQ 2025.03.28 -*/ -void SetEsbCutErrTrigPressCycNum(const UINT16 esbId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - EsbDataStru[bufIndex].EsbCutErrTriggerPressCycNum = startCycNum; /*·ť󴥷*/ - } - else - { - ; /**/ - } -} - -/* -* ȡر·ť󴥷 -* const UINT16 esbId Esb ID -* -* ֵر·ť󴥷 -* Cretaed By LQ 2025.03.28 -*/ -UINT32 GetEsbCutErrTrigPressCycNum(const UINT16 esbId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 reVal = CI_ERROR; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - reVal = EsbDataStru[bufIndex].EsbCutErrTriggerPressCycNum; - } - else - { - /*±Ƿ0*/ - } - - return reVal; -} - -/* -* ýر·ťɼ̵״̬ -* ˵const UINT16 esbId ͣťID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.03.28 -*/ -void SetEsbCutRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - if ((ESB_RELAY_ERROR_DOWN_NO == cRelayDownState) || (ESB_RELAY_ERROR_DOWN_YES == cRelayDownState)) - { - EsbDataStru[bufIndex].EsbCutRelayDownState = cRelayDownState; - } - else - { - ; /*״̬Ϸ״̬*/ - } - } - else - { - ; /*±겻Ϸִ״̬*/ - } -} - -/* -* ȡر·ťɼ̵״̬ -* ˵ const UINT16 esbId ͣťID -* ֵ 0: ȡʧ -* 0x55: -* 0xaa: ͨ쳣 -* Created By LQ 2025.03.28 -*/ -UINT8 GetEsbCutRelayDownState(const UINT16 esbId) -{ - UINT16 bufIndex = 0U; - UINT8 reVal = CI_ERROR; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - reVal = EsbDataStru[bufIndex].EsbCutRelayDownState; - } - else - { - ; /*±겻Ϸִ״̬*/ - } - - return reVal; -} - -/* -* ָIDر·ťϱ־ -* ˵const UINT16 esbId, رհťID -* const UINT8 cEsbCutErrFlag ر·ťϱ־ -* ֵ -* Created By LQ 2025.03.28 -*/ -void SetEsbCutErrFlag(const UINT16 esbId, const UINT8 cEsbCutErrFlag) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - if ((ESB_ERROR_FLAG_NO == cEsbCutErrFlag) || (ESB_ERROR_FLAG_YES == cEsbCutErrFlag)) - { - EsbDataStru[bufIndex].EsbCutErrorFlag = cEsbCutErrFlag; - } - else - { - ; /*״̬Ϸ״̬*/ - } - } - else - { - ; /*±겻Ϸִ״̬*/ - } -} - -/* -* ȡָIDر·ťϱ־ -* ˵ const UINT16 esbId, رհťID -* ֵ 0: ȡʧ -* 0x55: δ -* 0xaa: -* Created By LQ 2025.03.28 -*/ -UINT8 GetEsbCutErrFlag(const UINT16 esbId) -{ - UINT16 bufIndex = 0U; - UINT8 reVal = CI_ERROR; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (bufIndex < ESB_SUM_MAX) - { - reVal = EsbDataStru[bufIndex].EsbCutErrorFlag; - } - else - { - ; /*±겻Ϸִ״̬*/ - } - return reVal; -} - -/* -* ýͣťɼ̵״̬ -* ˵const UINT16 esbId ͣťID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.04.01 -*/ -void SetEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - if ((ESB_RELAY_ERROR_DOWN_NO == cRelayDownState) || (ESB_RELAY_ERROR_DOWN_YES == cRelayDownState)) - { - EsbDataStru[bufIndex].EsbRelayDownState = cRelayDownState; - } - else - { - ; /*״̬Ϸ״̬*/ - } - } - else - { - ; /*±겻Ϸִ״̬*/ - } -} - -/* -* ȡͣťɼ̵״̬ -* ˵ const UINT16 esbId, ͣťID -* ֵ 0: ȡʧ -* 0x55: -* 0xaa: ͨ쳣 -* Created By LQ 2025.04.01 -*/ -UINT8 GetEsbRelayDownState(const UINT16 esbId) -{ - UINT16 bufIndex = 0U; - UINT8 reVal = CI_ERROR; - - bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ - - if (ESB_SUM_MAX > bufIndex) - { - reVal = EsbDataStru[bufIndex].EsbRelayDownState; - } - else - { - ; /*±겻Ϸִ״̬*/ - } - return reVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ESB/ESBDataManage.h b/TSCP/src/APP/ciapp/ESB/ESBDataManage.h index de4f733..7495d3a 100644 --- a/TSCP/src/APP/ciapp/ESB/ESBDataManage.h +++ b/TSCP/src/APP/ciapp/ESB/ESBDataManage.h @@ -38,17 +38,12 @@ typedef struct S_EsbDataStruct UINT8 EssSteadyState; /*ESSȵ״̬ATS--0x55 Ҫȵƣ0xaaҪȵ*/ UINT8 EssFlashState; /*ESS״̬ATS--0x55 Ҫƣ0xaaҪ*/ UINT8 EsbErrorFlag; /*Ըʽͣťϱ־0x55δϣ0xaa*/ - UINT8 EsbRelayDownState; /*رհťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ UINT8 CancelEsbErrorFlag; /*Ըʽȡͣťϱ־0x55δϣ0xaa*/ UINT32 EsbPressCycNum; /*رհť*/ UINT32 CancelEsbPressCycNum; /*ȡرհť*/ UINT32 CancelEsbErrTriggerPressCycNum; /*ȡرհť󴥷*/ UINT8 CancelEsbValidFlag; /*ȡرհťЧ־0x55Ч0xaaЧ*/ UINT8 CancelEsbRelayDownState; /*ȡرհťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ - UINT32 EsbCutPressCycNum; /*ر·ť*/ - UINT32 EsbCutErrTriggerPressCycNum; /*ر·ť󴥷*/ - UINT8 EsbCutErrorFlag; /*ر·ťϱ־0x55-δϣ0xaa-*/ - UINT8 EsbCutRelayDownState; /*ر·ťɼ̵״̬0x55-ɼ£0xaa-ͨ쳣*/ } EsbDataStruct; /*******************************ȫֱ*******************************/ @@ -315,98 +310,6 @@ void SetCancelEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState) */ UINT8 GetCancelEsbRelayDownState(const UINT16 esbId); -/* -* ýر·ť -* const UINT16 esbId Esb ID -* const UINT32 startCycNum ں -* -* ֵ -* Cretaed By LQ 2025.03.28 -*/ -void SetEsbCutPressCycNum(const UINT16 esbId, const UINT32 startCycNum); - -/* -* ȡر·ť -* const UINT16 esbId Esb ID -* -* ֵر·ť -* Cretaed By LQ 2025.03.28 -*/ -UINT32 GetEsbCutPressCycNum(const UINT16 esbId); - -/* -* ýر·ť󴥷 -* const UINT16 esbId Esb ID -* const UINT32 startCycNum ں -* -* ֵ -* Cretaed By LQ 2025.03.28 -*/ -void SetEsbCutErrTrigPressCycNum(const UINT16 esbId, const UINT32 startCycNum); - -/* -* ȡر·ť󴥷 -* const UINT16 esbId Esb ID -* -* ֵر·ť󴥷 -* Cretaed By LQ 2025.03.28 -*/ -UINT32 GetEsbCutErrTrigPressCycNum(const UINT16 esbId); - -/* -* ýر·ťɼ̵״̬ -* ˵const UINT16 esbId ͣťID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.03.28 -*/ -void SetEsbCutRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState); - -/* -* ȡر·ťɼ̵״̬ -* ˵ const UINT16 esbId ͣťID -* ֵ 0: ȡʧ -* 0x55: -* 0xaa: ͨ쳣 -* Created By LQ 2025.03.28 -*/ -UINT8 GetEsbCutRelayDownState(const UINT16 esbId); - -/* -* ָIDر·ťϱ־ -* ˵const UINT16 esbId, رհťID -* const UINT8 cEsbCutErrFlag ر·ťϱ־ -* ֵ -*/ -void SetEsbCutErrFlag(const UINT16 esbId, const UINT8 cEsbCutErrFlag); - -/* -* ȡָIDر·ťϱ־ -* ˵ const UINT16 esbId, رհťID -* ֵ 0: ȡʧ -* >0: ͣ·ťϱ־ -*/ -UINT8 GetEsbCutErrFlag(const UINT16 esbId); - -/* -* ýͣťɼ̵״̬ -* ˵const UINT16 esbId ͣťID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.04.01 -*/ -void SetEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState); - -/* -* ȡͣťɼ̵״̬ -* ˵ const UINT16 esbId, ͣťID -* ֵ 0: ȡʧ -* 0x55: -* 0xaa: ͨ쳣 -* Created By LQ 2025.04.01 -*/ -UINT8 GetEsbRelayDownState(const UINT16 esbId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/EnvelopeManage/CTEnvelopeTrack.c b/TSCP/src/APP/ciapp/EnvelopeManage/CTEnvelopeTrack.c index 6166236..651c825 100644 --- a/TSCP/src/APP/ciapp/EnvelopeManage/CTEnvelopeTrack.c +++ b/TSCP/src/APP/ciapp/EnvelopeManage/CTEnvelopeTrack.c @@ -1161,7 +1161,7 @@ void elm_CTEnvelopeTrack(void) } else if ((CI_SUCCESS == funRet) && (1u == relEnvelopeCnt)) { - /* ֻCT漰BUT׷ٹ*/ + /* ֻCTBUT׷ٹ*/ elm_DealNoCGFollowUt(relEnvelopeID[0u], trainID[cycle]); /** ά־--Լ*/ @@ -1277,9 +1277,16 @@ void elm_DealNoCGFollowUt(UINT16 wEnvelopeID,UINT16 wTrainId) const EnvelopeStruct* pEnvelop = NULL; UINT8 chNoCGFollowUtSwitch = 0U; ELM_TrainSafeLocStruct safeLoc = { 0U }; /*гȫλ*/ + UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINKABD*/ + UINT8 chEnvelopLinkABGAttr = 0U;/*LINKABG*/ + UINT16 wLinkRelatedPhySec = 0U;/*LINK*/ + UINT8 chPhyLjkFlag = 0U;/*м*/ + UINT16 wTrainEnterLjkLinkId = 0U;/*гмLINK ID*/ + UINT32 dwCycNum = 0U;/*ǰں*/ UINT16 wTempTrainID = 0U;/*ʱ¼гID*/ UINT8 chTempVirHeadScreenFlag = 0U;/*ʱǰɸ־*/ UINT8 chTempVirTailScreenFlag = 0U;/*ʱɸ־*/ + UINT8 chAgLinkExistRelCgFlag = 0U;/*AGǷCG־*/ /** ȡг */ pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID); @@ -1316,10 +1323,58 @@ void elm_DealNoCGFollowUt(UINT16 wEnvelopeID,UINT16 wTrainId) { if (0U == errorCode) { - /*AGɸѡ־*/ - elm_DealAgVirScreenFlag(wEnvelopeID, wTrainId); - /*BGɸѡ־*/ - elm_DealBgVirScreenFlag(wEnvelopeID, wTrainId); + chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk); + chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk); + wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->endPos.Lnk); + chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec); + chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.endPos.Lnk); + + /*ˢںԴʱȻȫλýAGܻû*/ + if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID) + && (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag) + && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) + { + /*гȫͷʻAGҵǰʻǰûǰ˿ҲǴBGijҲCGǰɸͨ־Ч*/ + SetTrainVirHeadScreenPassFlag(wTrainId,TRAIN_VIR_SCREEN_PASS_FLAG_VALID); + SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk); + } + else + { + ; /*öӦ־ȫλúͰAGάԭı־*/ + } + + chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk); + chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk); + wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->startPos.Lnk); + chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec); + chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.startPos.Lnk); + + /*ˢںԴʱȻȫλýAGܻû*/ + if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID) + && (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag) + && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) + { + /*гȫβʻAGҵǰʻǰûк˿ҲǴBGijҲCGúɸͨ־Ч*/ + SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); + SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk); + } + else + { + ; /*öӦ־ȫλúͰAGάԭı־*/ + } + + wTrainEnterLjkLinkId = GetTrainEnterLjkLinkId(wTrainId); + /*гȫAռõʱ䣬DּΣλͨD죩ɼռãǰɸͨʶɸͨʶЧ*/ + if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (safeLoc.startPos.Lnk == safeLoc.endPos.Lnk) + && (safeLoc.startPos.Lnk == wTrainEnterLjkLinkId) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) + { + dwCycNum = Get2oo2CurCycleNum(); + SetTrainFullEnterLjkCycNum(wTrainId, dwCycNum); + } + else + { + ; + } } else { @@ -1516,183 +1571,4 @@ void elm_VirScreenPassMonitor(void) ; /*Ҫල*/ } } -} - -/** -* @brief AGɸѡ־ -* @param[in] UINT16 envelopeID г -* @param[in] UINT16 wTrainId гID -* @return -* @note by cgh 20250805 -*/ -void elm_DealAgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId) -{ - UINT8 funRet = CI_ERROR; - const EnvelopeStruct* pEnvelop = NULL; - ELM_TrainSafeLocStruct safeLoc = { 0U }; /*гȫλ*/ - UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINKABG*/ - UINT8 chEnvelopLinkABGAttr = 0U;/*LINKABG*/ - UINT16 wLinkRelatedPhySec = 0U;/*LINK*/ - UINT8 chPhyLjkFlag = 0U;/*м*/ - UINT16 wTrainEnterLjkLinkId = 0U;/*гмLINK ID*/ - UINT32 dwCycNum = 0U;/*ǰں*/ - UINT8 chAgLinkExistRelCgFlag = 0U;/*AGǷCG־*/ - - /** ȡг */ - pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID); - - /** ڲУ */ - if ((NULL != pEnvelop) && (0U < wTrainId) && (LINE_MAX_TRAIN > wTrainId)) - { - funRet = elm_PrepareTrainSafeLoc(wTrainId, &safeLoc); - - if (CI_SUCCESS == funRet) - { - chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk); - chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk); - wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->endPos.Lnk); - chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec); - chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.endPos.Lnk); - - /*ˢںԴʱȻȫλýAGܻû*/ - if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID) - && (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag) - && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) - { - /*гȫͷʻAGҵǰʻǰûǰ˿ҲǴBGijҲCGǰɸͨ־Ч*/ - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk); - } - else - { - ; /*öӦ־ȫλúͰAGάԭı־*/ - } - - chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk); - chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk); - wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->startPos.Lnk); - chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec); - chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.startPos.Lnk); - - /*ˢںԴʱȻȫλýAGܻû*/ - if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID) - && (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag) - && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) - { - /*гȫβʻAGҵǰʻǰûк˿ҲǴBGijҲCGúɸͨ־Ч*/ - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk); - } - else - { - ; /*öӦ־ȫλúͰAGάԭı־*/ - } - - wTrainEnterLjkLinkId = GetTrainEnterLjkLinkId(wTrainId); - /*гȫAռõʱ䣬DּΣλͨD죩ɼռãǰɸͨʶɸͨʶЧ*/ - if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (safeLoc.startPos.Lnk == safeLoc.endPos.Lnk) - && (safeLoc.startPos.Lnk == wTrainEnterLjkLinkId) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) - { - dwCycNum = Get2oo2CurCycleNum(); - SetTrainFullEnterLjkCycNum(wTrainId, dwCycNum); - } - else - { - ; - } - } - else - { - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - SetTrainEnterLjkLinkId(wTrainId, 0U); - } - } - else - { - ; - } -} - -/** -* @brief BGɸѡ־ -* @param[in] UINT16 envelopeID г -* @param[in] UINT16 wTrainId гID -* @return -* @note by cgh 20250805 -*/ -void elm_DealBgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId) -{ - UINT8 funRet = CI_ERROR; - const EnvelopeStruct* pEnvelop = NULL; - ELM_TrainSafeLocStruct safeLoc = { 0U }; /*гȫλ*/ - UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINKABG*/ - UINT8 chEnvelopLinkABGAttr = 0U;/*LINKABG*/ - UINT8 chAgLinkExistRelCgFlag = 0U;/*AGǷCG־*/ - - /** ȡг */ - pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID); - - /** ڲУ */ - if ((NULL != pEnvelop) && (0U < wTrainId) && (LINE_MAX_TRAIN > wTrainId)) - { - funRet = elm_PrepareTrainSafeLoc(wTrainId, &safeLoc); - - if (CI_SUCCESS == funRet) - { - chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk); - chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk); - chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(pEnvelop->endPos.Lnk); - - /*ˢںԴʱȻȫλýBGܻû*/ - if ((LINK_REL_PHYSEC_BG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID) - && (LINK_REL_PHYSEC_AG == chEnvelopLinkABGAttr) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) - { - /*гȫͷʻBGҵǰʻǰûǰ˿ǴAGijҲCGǰɸͨ־Ч*/ - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - SetTrainEnterLjkLinkId(wTrainId, 0U); - /*ãΪ߼һЩ*/ - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk); - } - else - { - ; /*öӦ־ȫλúͰBGάԭı־*/ - } - - chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk); - chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk); - chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(pEnvelop->startPos.Lnk); - - /*ˢںԴʱȻȫλýBGܻû*/ - if ((LINK_REL_PHYSEC_BG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID) - && (LINK_REL_PHYSEC_AG == chEnvelopLinkABGAttr) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag)) - { - /*гȫβʻBGҵǰʻǰûк˿ǴAGijҲCGúɸͨ־Ч*/ - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - SetTrainEnterLjkLinkId(wTrainId, 0U); - /*ãΪ߼һЩ*/ - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk); - } - else - { - ; /*öӦ־ȫλúͰAGάԭı־*/ - } - } - else - { - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - SetTrainEnterLjkLinkId(wTrainId, 0U); - } - } - else - { - ; - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.c b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.c index 8a3b1f6..a164862 100644 --- a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.c +++ b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.c @@ -106,7 +106,7 @@ static UINT8 elm_UKTAdjacentSwProtect(void) nearTrainType = aam_SearchNearbyTrainType(pACIdbuff[cycleAc], EMAP_SAME_DIR, acSameCnt, acSameID); } - if ((AAM_BAD_NEAR == nearTrainType)|| (AAM_SLEEP_OCC == nearTrainType)) + if (AAM_BAD_NEAR == nearTrainType) { elm_PrepareClearSwPassTrainFlag(pACIdbuff[cycleAc]); ELM_LOG(ELM_LOG_FATAL,"info:Switch Zone AC%d Clear CT pass flag by PreAC UT.\n",pACIdbuff[cycleAc]); @@ -116,7 +116,7 @@ static UINT8 elm_UKTAdjacentSwProtect(void) /** ѯǰӽ*/ nearTrainType = aam_SearchNearbyTrainType(pACIdbuff[cycleAc],EMAP_CONVER_DIR,acConvertCnt,acConvertID); - if ((AAM_BAD_NEAR == nearTrainType) || (AAM_SLEEP_OCC == nearTrainType)) + if (AAM_BAD_NEAR == nearTrainType) { elm_PrepareClearSwPassTrainFlag(pACIdbuff[cycleAc]); ELM_LOG(ELM_LOG_FATAL,"info:Switch Zone AC%d Clear CT pass flag by backAC UT.\n",pACIdbuff[cycleAc]); @@ -330,12 +330,6 @@ static void elm_FlyingProtect(void) UINT16 wTrainId = 0U; UINT8 chTimeCheck = 0u; UINT32 dwFlyOverCyc = 0U; - UINT8 cNvramFlag = 0U; /*гʹNVRAM־*/ - UINT8 cPosMonistorState = 0U; /*гλüල״̬*/ - UINT8 cFuncSwitch = 0U; /*ʹNVRAMλλüලЧгɳ崻أ0xAA-ɳ崻 0x55-ɳ崻*/ - - /*ʹNVRAMλλüලЧķɳϢ*/ - ClearNvramFlyingTrain(); chCTCheck = elm_FlyingProtect_CT(); /*CTɳ*/ elm_FlyingProtect_UCT();/*UCTɳɾΪUKT*/ @@ -350,7 +344,7 @@ static void elm_FlyingProtect(void) { /** ȡõķɳ崻ʱ */ maxShutdownRedunTime = elm_PrepareCTFlyingRedunTime(); - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_NVRAM_TRAIN_FlYING_OVER); + for (ii = 0U; ii < trainCnt; ii++) { wTrainId = GetTrainId(ii); @@ -358,23 +352,13 @@ static void elm_FlyingProtect(void) { dwFlyStartCyc = GetTrainStartFlyProtectCycNum(wTrainId); chTimeCheck = SystemOverTimeCheck(dwFlyStartCyc, (UINT32)maxShutdownRedunTime); - - if (CI_TIME_OUT== chTimeCheck) + if (CI_TIME_OUT== chTimeCheck) { - cNvramFlag = GetTrainNvramPosFlag(wTrainId); - cPosMonistorState = GetTrainPosMonitorState(wTrainId); - if ((TRAIN_NVRAM_POS_FLAG_YES == cNvramFlag) && (TRAIN_POS_MONITOR_VALID != cPosMonistorState) && (FUNC_SWITCH_ON == cFuncSwitch)) - { - /*ʹNVRAMλλüලЧгɳNVRAMгɳ崻ش򿪣RCгɳؿرģ崻*/ - } - else - { - SetFlyProtectOverCyc(dwCurCyc); /*ɳ־*/ - } + SetFlyProtectOverCyc(dwCurCyc); /*ɳ־*/ } else { - ; /*δʱгͨж*/ + ; /*δʱ*/ } } } @@ -2052,8 +2036,6 @@ void elm_SafeProtectProcess(void) UINT8 workFlag = ELM_WORK_ERROR; UINT8 funRet = CI_ERROR; UINT32 errorCode = 0u; - UINT8 localCiType = 0U; - UINT8 ciTrainTestState = 0U; /** ģ־λ */ workFlag = elm_GetELMWorkFlag(); @@ -2073,17 +2055,8 @@ void elm_SafeProtectProcess(void) funRet = elm_UTLosingProtect(); ASSER_ERROR(CI_ERROR == funRet,errorCode,0x40000000u); - localCiType = GetLocalCiType(); - ciTrainTestState = GetCiTrainTestStatus(); - if ((CI_TYPE_SCX == localCiType) && ((CI_TRAIN_TEST_OFF == ciTrainTestState) || (CI_TRAIN_TEST_STOP == ciTrainTestState))) - { - ScxClearFlyProtectInfo(); /*ԳδԳڼ䣬зɳ崻ͬʱ֮ǰķɳϢ޸CTʻԳߵ·ɳ崻*/ - } - else - { - /** CT/UCTɳ--崻*/ - elm_FlyingProtect(); - } + /** CT/UCTɳ--崻*/ + elm_FlyingProtect(); /** OCΧڵļӳϷУ */ funRet = elm_ACRelEnvelopeCheck(); @@ -2622,7 +2595,6 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 UINT16 relEnvelopeID[TRAIN_REL_ENVELOPE_SUM_MAX] = {0u}; /*гİ*/ const EnvelopeStruct *pEnvelopeInfo = NULL; const WLTrainStatusInfoStruct* pTemp = NULL; - UINT8 chTrainNvramPosFlag = 0U; /*гNVRAMλñʶ*/ /* ڵĵ״̬óڵ״̬ */ for (cycle = 1u; cycle < LINE_MAX_TRAIN; cycle++) @@ -2668,19 +2640,10 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 if ((NULL != pEnvelopeInfo) && ((TYPE_CT_ENVELOPE == pEnvelopeInfo->envelopeType) || (TYPE_UCT_ENVELOPE == pEnvelopeInfo->envelopeType))) { - chTrainNvramPosFlag = GetTrainNvramPosFlag(cycle); + headNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID ? NEED_SCREEN : UNNEED_SCREEN; + tailNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID ? NEED_SCREEN : UNNEED_SCREEN; - if (TRAIN_NVRAM_POS_FLAG_NO == chTrainNvramPosFlag) - { - headNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID ? NEED_SCREEN : UNNEED_SCREEN; - tailNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID ? NEED_SCREEN : UNNEED_SCREEN; - - wls_SetTrainControlStatus(cycle, IN_CONTROL_STATUS, headNeedScreen, tailNeedScreen); - } - else - { - ELM_LOG(ELM_LOG_FATAL, " not Add In Control Train,Because UseNvram Pos\n"); - } + wls_SetTrainControlStatus(cycle,IN_CONTROL_STATUS,headNeedScreen,tailNeedScreen); } else { @@ -2801,24 +2764,25 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 * @return CI_ERROR ѯʧ CI_SUCCESS ѯɹ * @note - * edit cgh 20250724 ĿǰֻRRM + * by cgh 20240514 ĿǰֻRRM */ UINT8 elm_GetNearEnvelopRelSameTra(UINT16 envelopeId, OUT UINT16* preEnvelope, OUT UINT16* backEnvelope) { /*- ֲ */ UINT8 ret = CI_ERROR; UINT8 funRet = CI_ERROR; - UINT32 errorCode = 0U; /**/ + UINT32 errorCode = 0u; /**/ const EnvelopeStruct* pEnvelop = NULL; - UINT8 envelopeCnt = 0U; /* */ - UINT16 arEnvelopID[TRAIN_SUM_MAX_IN_OC] = { 0U }; /*ID*/ - UINT16 acCnt = 0U; /** ǰ*/ - UINT16 acID[AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0U }; - UINT16 mergeACIndex = 0U; + UINT8 envelopeCnt = 0u; /* */ + UINT16 arEnvelopID[TRAIN_SUM_MAX_IN_OC] = { 0u }; /*ID*/ + UINT16 acCnt = 0u; /** ǰ*/ + UINT16 acID[AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0u }; + UINT8 acStatus = ELM_AC_OCC; + UINT16 mergeACIndex = 0u; UINT16 mergeACCntMax = (SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH); - UINT16 mergeACID[SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0U }; - UINT8 includeCnt = 0U; - UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = { 0U }; /** غϵİid */ + UINT16 mergeACID[SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0u }; + UINT8 includeCnt = 0u; + UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = { 0u }; /** غϵİid */ /** ȡг */ pEnvelop = elm_GetEnvelopeInfoPtr(envelopeId); @@ -2827,36 +2791,63 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 if ((NULL == pEnvelop) || (NULL == preEnvelope) || (NULL == backEnvelope)) { /** ô*/ - ASSER_ERROR(CI_ERROR == funRet, errorCode, 0x80000000U); + ASSER_ERROR(CI_ERROR == funRet, errorCode, 0x08000000u); } else { - /* ѯ󷽼*/ - acCnt = elm_GetEnvelopTailACIDs(pEnvelop, acID); + /** ȡβռ״̬ */ + acStatus = elm_PrepareACStatus(pEnvelop->ACID[0]); - /** ϲβ󷽵ļ */ - mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, acID, (AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH), acCnt); - - /** ϲļ */ - mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, pEnvelop->ACID, SECTION_IN_ENVELOPE_SUM_MAX, pEnvelop->ACCnt); - - /** ô*/ - ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x40000000U); - - if (0U == errorCode) + /** жϰβǷռãռãҪѯһ*/ + if (ELM_AC_OCC == acStatus) { - (void)CommonMemSet(&acID, (UINT32)((AC_MAXCNT_IN_SWITCH*AC_MAXCNT_IN_SWITCH)*sizeof(UINT16)),0U, (UINT32)((AC_MAXCNT_IN_SWITCH*AC_MAXCNT_IN_SWITCH)*sizeof(UINT16)));/*ֹ*/ - /* ѯǰ*/ - acCnt = elm_GetEnvelopHeadACIDs(pEnvelop, acID); + /* ѯ󷽼ᣬβռãڵĿΪȷȻˣҪѯȫβڼ*/ + acCnt = elm_GetEnvelopTailACIDs(pEnvelop, acID); - /** ϲͷǰļ */ + /** ϲβ󷽵ļ */ mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, acID, (AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH), acCnt); + /** Ⱥϲļ */ + mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, pEnvelop->ACID, SECTION_IN_ENVELOPE_SUM_MAX, pEnvelop->ACCnt); + /** ô*/ - ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x20000000U); + ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x04000000u); + + } + else + { + /** Ⱥϲļ */ + mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, pEnvelop->ACID, SECTION_IN_ENVELOPE_SUM_MAX, pEnvelop->ACCnt); + + /** ô*/ + ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x02000000u); + } + + if (0u == errorCode) + { + /** ȡͷռ״̬ */ + acStatus = elm_PrepareACStatus(pEnvelop->ACID[pEnvelop->ACCnt - 1U]); + + /** жϰͷǷռãռãҪѯһ */ + if (ELM_AC_OCC == acStatus) + { + /* ѯǰ,˴ѯĿڼʵһĴΪͷѹ˲ռãֱӽɾǴ˴һΪͳһƣһ*/ + acCnt = elm_GetEnvelopHeadACIDs(pEnvelop, acID); + + /** ϲͷǰļ */ + mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, acID, (AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH), acCnt); + + /** ô*/ + ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x04000000u); + + } + else + { + /** 账*/ + } /** жǷɹ */ - if (0U == errorCode) + if (0u == errorCode) { /** ȡǰİ */ envelopeCnt = elm_MergeEnvelope(mergeACID, (UINT8)mergeACIndex, arEnvelopID); @@ -2865,7 +2856,7 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 funRet = elm_FindNearSameTrainEnvelop(pEnvelop, arEnvelopID, envelopeCnt, preEnvelope, backEnvelope, &includeCnt, includeELMid); /** ô*/ - ASSER_ERROR(CI_SUCCESS != funRet, errorCode, 0x10000000U); + ASSER_ERROR(CI_SUCCESS != funRet, errorCode, 0x08000000u); } else { @@ -2879,7 +2870,7 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 } /** ÷ֵ*/ - ASSERT_SETRET(0U == errorCode, ret, CI_SUCCESS, CI_ERROR); + ASSERT_SETRET(0u == errorCode, ret, CI_SUCCESS, CI_ERROR); return ret; } @@ -3064,13 +3055,9 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 UINT32 dwFlyStartCyc = 0U; UINT8 chTimeCheck = 0U; UINT8 flyCheck = 0U; - UINT8 cNvramFlag = 0U; /*гʹNVRAM־*/ - UINT8 cPosMonistorState = 0U; /*гλüල״̬*/ - UINT8 cFuncSwitch = 0U; /*ʹNVRAMλλüලЧгɳ崻أ0xAA-ɳ崻 0x55-ɳ崻*/ - /** CTɳ*/ trainCnt = elm_PrepareCommTrainID(trainID); - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_NVRAM_TRAIN_FlYING_OVER); + /** еͨų */ for (cycle = 0u; cycle < trainCnt; cycle++) { @@ -3117,17 +3104,7 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1 chTimeCheck = SystemOverTimeCheck(dwFlyStartCyc, (UINT32)maxShutdownRedunTime); if (CI_TIME_OUT == chTimeCheck) { - cNvramFlag = GetTrainNvramPosFlag(trainID[cycle]); - cPosMonistorState = GetTrainPosMonitorState(trainID[cycle]); - if ((TRAIN_NVRAM_POS_FLAG_YES == cNvramFlag) && (TRAIN_POS_MONITOR_VALID != cPosMonistorState) && (FUNC_SWITCH_ON == cFuncSwitch)) - { - /*ʹNVRAMλλüලЧгɳNVRAMгɳ崻ش򿪣RCгɳؿرģ崻*/ - AddNvramFlyingTrain(trainID[cycle]); - } - else - { - elm_AddFlyingTrain(trainID[cycle], pEnvelop->id); - } + elm_AddFlyingTrain(trainID[cycle], pEnvelop->id); } flyCheck++; } diff --git a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.h b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.h index e03696a..5f9623f 100644 --- a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.h +++ b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeLogicProcess.h @@ -486,22 +486,4 @@ void elm_FlyingProtect_UCT(void); */ void elm_DeleteUctPassFlag(UINT16 envelopeId); -/** -* @brief AGɸѡ־ -* @param[in] UINT16 envelopeID г -* @param[in] UINT16 wTrainId гID -* @return -* @note by cgh 20250805 -*/ -void elm_DealAgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId); - -/** -* @brief BGɸѡ־ -* @param[in] UINT16 envelopeID г -* @param[in] UINT16 wTrainId гID -* @return -* @note by cgh 20250805 -*/ -void elm_DealBgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId); - #endif \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeScreen.c b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeScreen.c index 04aad90..e637825 100644 --- a/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeScreen.c +++ b/TSCP/src/APP/ciapp/EnvelopeManage/EnvelopeScreen.c @@ -634,7 +634,6 @@ void elm_WLScreenProcess(void) UINT8 relEnvelopeCnt= TRAIN_REL_ENVELOPE_SUM_MAX; /*гİ*/ UINT16 relEnvelopeID[TRAIN_REL_ENVELOPE_SUM_MAX] = {0u}; /*гİ*/ const EnvelopeStruct *pEnvelopeInfo = NULL; - UINT8 chTrainNvramPosFlag = 0U; /*гNVRAMλñʶ*/ /** ȡȫɸ־ */ wlsFlag = wls_GetWLScreenPermitFlag(); @@ -654,37 +653,26 @@ void elm_WLScreenProcess(void) ((TYPE_CT_ENVELOPE == pEnvelopeInfo->envelopeType) || (TYPE_UCT_ENVELOPE == pEnvelopeInfo->envelopeType))) { ELM_LOG(ELM_LOG_FATAL,"info:ELM%d WLS Process,",pEnvelopeInfo->id); - chTrainNvramPosFlag = GetTrainNvramPosFlag(cycle); - - if (TRAIN_NVRAM_POS_FLAG_NO == chTrainNvramPosFlag) + if (LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID) { - if (LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID) - { - ELM_LOG(ELM_LOG_FATAL, " delete Head suspicious,"); - (void)elm_SetEnvelopeHeadTrainID(pEnvelopeInfo->id, 0u); - } - else - { - /* */ - } - - if (LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID) - { - ELM_LOG(ELM_LOG_FATAL, " delete Tail suspicious,"); - (void)elm_SetEnvelopeTailTrainID(pEnvelopeInfo->id, 0u); - } - else - { - /* */ - } - + ELM_LOG(ELM_LOG_FATAL," delete Head suspicious,"); + (void)elm_SetEnvelopeHeadTrainID(pEnvelopeInfo->id,0u); } else { - ELM_LOG(ELM_LOG_FATAL, " not finish suspicious,because use nvram pos"); + /* */ } - - ELM_LOG(ELM_LOG_FATAL, "\n"); + + if (LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID) + { + ELM_LOG(ELM_LOG_FATAL," delete Tail suspicious,"); + (void)elm_SetEnvelopeTailTrainID(pEnvelopeInfo->id,0u); + } + else + { + /* */ + } + ELM_LOG(ELM_LOG_FATAL,"\n"); } } else diff --git a/TSCP/src/APP/ciapp/EnvelopeManage/UCTEnvelopeTrack.c b/TSCP/src/APP/ciapp/EnvelopeManage/UCTEnvelopeTrack.c index 99c2605..3bc3b34 100644 --- a/TSCP/src/APP/ciapp/EnvelopeManage/UCTEnvelopeTrack.c +++ b/TSCP/src/APP/ciapp/EnvelopeManage/UCTEnvelopeTrack.c @@ -1990,15 +1990,16 @@ static UINT8 elm_UCTEnvelopeHeadHandle(UINT8 endlineFlag, IN const EnvelopeStruc /** ǰ˿ */ funRtn = elm_SetEnvelopeHeadTrainID(ptemp->id, pPretemp->headTrainID); ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u); - /** ³ͷλ */ - funRtn = elm_SetUCTEnvelopeDot(ELM_HEAD, ptemp->ACID[ptemp->ACCnt - 1u], ptemp); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u); } else { - funRtn = elm_DeleteCTOrUCTEnvelope(ptemp->id); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000400u); + funRtn = elm_SetEnvelopeHeadTrainID(ptemp->id, LINE_MAX_TRAIN); + ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u); } + + /** ³ͷλ */ + funRtn = elm_SetUCTEnvelopeDot(ELM_HEAD, ptemp->ACID[ptemp->ACCnt - 1u], ptemp); + ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u); } ret = 0x55u; } @@ -2114,10 +2115,8 @@ static UINT8 elm_UCTEnvelopeHeadHandle(UINT8 endlineFlag, IN const EnvelopeStruc wAgLink = GetBGLinkRelAGLinkId(wLinkId); chBgUtSwitch = GetNoCGFollowUtSwitch(); wNextLinkId = FindAdjacentLinkIDSafe(wLinkId, ptemp->endPos.Dir, &wSwitchId, &cDirectionPointFlag); - if ((FUNC_SWITCH_ON == chBgUtSwitch) && (LINK_REL_PHYSEC_BG == chBgAtt) && (wNextLinkId == wAgLink) - && ((pPretemp->startPos.Lnk == wAgLink) || (pPretemp->endPos.Lnk == wAgLink)) - && (1U == ptemp->ACCnt)) - {/* BUT׷ٿش򿪣UCTB죬A죬CTA죬˳ */ + if ((FUNC_SWITCH_ON == chBgUtSwitch) && (LINK_REL_PHYSEC_BG == chBgAtt) && (wNextLinkId == wAgLink) && ((pPretemp->startPos.Lnk == wAgLink) || (pPretemp->endPos.Lnk == wAgLink))) + {/* BUT׷ٿش򿪣UCTB죬A죬CTA죬˳ */ ret = 0x55u; } else @@ -2272,8 +2271,7 @@ static UINT8 elm_UCTEnvelopeHeadMoving(const EnvelopeStruct *ptemp) UINT8 includeCnt = 0u; UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = {0u}; /** غϵİid */ UINT8 cHeadDirChangeFlag = DIRECTIONPOINT_FLAG_INVALID; /*ͷ仯־*/ - const EnvelopeStruct* pPretemp = NULL; - UINT16 wInputAcId = 0U; + /** ڲУ */ ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000u); @@ -2385,30 +2383,7 @@ static UINT8 elm_UCTEnvelopeHeadMoving(const EnvelopeStruct *ptemp) if (0u == errorCode) { endLineFlag = (0u == acSameCnt) ? CI_SUCCESS : CI_ERROR; - wInputAcId = acSameID[0U]; - pPretemp = elm_GetEnvelopeInfoPtr(preEnvelope); - if (NULL != pPretemp) - { - for (cycle = 0U; cycle < pPretemp->ACCnt; cycle++) - { - if (ptemp->ACID[ptemp->ACCnt - 1U] == pPretemp->ACID[cycle]) - { - wInputAcId = ptemp->ACID[ptemp->ACCnt - 1U]; - break; /*ǰ뱾յ㴦ͬһΣֹͣ*/ - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - /*ǰλڱյΣʹñյΪΣʹñյǰΪ*/ - funRtn = elm_UCTEnvelopeHeadHandle(endLineFlag,ptemp, wInputAcId,preEnvelope, cHeadDirChangeFlag); + funRtn = elm_UCTEnvelopeHeadHandle(endLineFlag,ptemp,acSameID[0u],preEnvelope, cHeadDirChangeFlag); ASSER_ERROR(CI_ERROR == funRtn,errorCode,0x00400000u); if (CI_ERROR != funRtn) @@ -2659,17 +2634,17 @@ static UINT8 elm_UCTEnvelopeTailHandle(UINT8 endlineFlag, const EnvelopeStruct * if (0x55u == funRtn) { - funRtn = elm_SetEnvelopeTailTrainID(ptemp->id, pBacktemp->tailTrainID); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u); - /** ³βλ */ - funRtn = elm_SetUCTEnvelopeDot(ELM_TAIL, ptemp->ACID[0u], ptemp); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u); + /** ǰ˿ */ } else { - funRtn = elm_DeleteCTOrUCTEnvelope(ptemp->id); - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u); + funRtn = elm_SetEnvelopeTailTrainID(ptemp->id, LINE_MAX_TRAIN); + ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u); } + + /** ³βλ */ + funRtn = elm_SetUCTEnvelopeDot(ELM_TAIL, ptemp->ACID[0u], ptemp); + ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u); } ret = 0x55u; } @@ -2786,10 +2761,8 @@ static UINT8 elm_UCTEnvelopeTailHandle(UINT8 endlineFlag, const EnvelopeStruct * wAgLink = GetBGLinkRelAGLinkId(wLinkId); chBgUtSwitch = GetNoCGFollowUtSwitch(); wNextLinkId = FindAdjacentLinkIDSafe(wLinkId, ~ptemp->startPos.Dir, &wSwitchId, &cDirectionPointFlag); - if ((FUNC_SWITCH_ON == chBgUtSwitch) && (LINK_REL_PHYSEC_BG == chBgAtt) && (wNextLinkId == wAgLink) - && ((pBacktemp->startPos.Lnk == wAgLink) || (pBacktemp->endPos.Lnk == wAgLink)) - && (1U == ptemp->ACCnt)) - {/* BUT׷ٿش򿪣UCTB죬A죬CTA죬˳ */ + if ((FUNC_SWITCH_ON == chBgUtSwitch) && (LINK_REL_PHYSEC_BG == chBgAtt) && (wNextLinkId == wAgLink) && ((pBacktemp->startPos.Lnk == wAgLink) || (pBacktemp->endPos.Lnk == wAgLink))) + {/* BUT׷ٿش򿪣UCTB죬A죬CTA죬˳ */ ret = 0x55u; } else @@ -2943,8 +2916,6 @@ static UINT8 elm_UCTEnvelopeTailMoving(const EnvelopeStruct *ptemp) UINT8 includeCnt = 0u; UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = {0u}; /** غϵİid */ UINT8 cTailDirChangeFlag = DIRECTIONPOINT_FLAG_INVALID; /*β仯־*/ - const EnvelopeStruct* pBacktemp = NULL; - UINT16 wInputAcId = 0U; /** ڲУ */ ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000u); @@ -3057,32 +3028,8 @@ static UINT8 elm_UCTEnvelopeTailMoving(const EnvelopeStruct *ptemp) if (0u == errorCode) { endLineFlag = (0u == acConvertCnt) ? CI_SUCCESS : CI_ERROR; - wInputAcId = acConvertID[0U]; - pBacktemp = elm_GetEnvelopeInfoPtr(backEnvelope); - if (NULL != pBacktemp) - { - for (cycle = 0U; cycle < pBacktemp->ACCnt; cycle++) - { - if (ptemp->ACID[0U] == pBacktemp->ACID[cycle]) - { - wInputAcId = ptemp->ACID[0U]; - break; /*󷽰뱾㴦ͬһΣֹͣ*/ - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - /*󷽰λڱΣʹñΪΣʹñ󷽼Ϊ*/ - funRtn = elm_UCTEnvelopeTailHandle(endLineFlag, ptemp, wInputAcId, backEnvelope, cTailDirChangeFlag); - - ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00400000u); + funRtn = elm_UCTEnvelopeTailHandle(endLineFlag,ptemp,acConvertID[0u],backEnvelope, cTailDirChangeFlag); + ASSER_ERROR(CI_ERROR == funRtn,errorCode,0x00400000u); if (CI_ERROR != funRtn) { @@ -3295,11 +3242,10 @@ static UINT8 elm_UCTEnvelopeMoving(const EnvelopeStruct* ptemp) * @return CI_ERROR תʧ * CI_SUCCESS תɹ * @note CTתUCTʱҪ㣺 - 1ǰ˿ - 2ڰĵĿռã - 3Ϊ߳, - 4гС·С -* by cgh 20250915 + 1ǰ˿ + 2ڰĵĿռã + 3Ϊ߳, + 4гС·С */ static UINT8 elm_ConvertToUCTCheck(const EnvelopeStruct* ptemp) { @@ -3310,8 +3256,6 @@ static UINT8 elm_ConvertToUCTCheck(const EnvelopeStruct* ptemp) UINT8 chCanUct = FLAG_SET; UINT32 minTrainLength = 0U; UINT32 dwTempLength = 0U; - UINT8 chTrainNvramPosFlag = 0U; - UINT8 chTrainIsIsFollowUtFlag = 0U;/*ǷΪг׷UT*/ /** ڲУ */ ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000U); @@ -3352,28 +3296,6 @@ static UINT8 elm_ConvertToUCTCheck(const EnvelopeStruct* ptemp) { ; /* תΪUCT */ } - - if (0U == errorCode) - { - /** ȡгǷʹNVRAMλ */ - chTrainNvramPosFlag = GetTrainNvramPosFlag(ptemp->trainID[0U]); - ASSER_ERROR(TRAIN_NVRAM_POS_FLAG_NO != chTrainNvramPosFlag, errorCode, 0x04000000U); - } - else - { - ; /* תΪUCT */ - } - - if (0U == errorCode) - { - /** ȡгǷڿ׷UT */ - chTrainIsIsFollowUtFlag = CheckTrainIsFollowUt(ptemp->id); - ASSER_ERROR(CI_SUCCESS == chTrainIsIsFollowUtFlag, errorCode, 0x02000000U); - } - else - { - ; /* תΪUCT */ - } /** úֵ */ ASSERT_SETRET(0U == errorCode,ret,CI_SUCCESS,CI_ERROR); diff --git a/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.c b/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.c index 7579e4c..8734fe7 100644 --- a/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.c +++ b/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.c @@ -21,7 +21,6 @@ #include "../Section/PhysicalSectionConfigDataManage.h" #include "AxisAssertManage.h" #include "AxisAssertDataPrepare.h" -#include "dquCIInit.h" /*źŻ̵ʱʱ()*/ #define SIG_RELAY_DRV_DELAY_TIME ((UINT32)3) @@ -547,6 +546,7 @@ void OcSignalDeviceOutput(void) UINT32 signalDriCloseStartCyc = 0U;/*źŻرʼ*/ UINT32 signalDriCloseTimeCount = 0U;/*źŻرճʱ*/ UINT8 driveRetVal = 0U; + UINT32 jkjValidCycNum = 0u; UINT8 jkjRelayValidFlag = 0u; signalCurSum = GetSignalCurSum(); /*ȡźŻ*/ @@ -570,9 +570,10 @@ void OcSignalDeviceOutput(void) if (SIGNAL_DRIVECOLOUR_NULL == curDrvColor) {/*źŻЧ*/ jkjRelayValidFlag = GetCiJkjFlag(); + jkjValidCycNum = GetJkjRelayValidCycNum(); curShowColor = GetSignalCurColor(signalId); if (((SIGNAL_SHOWCOLOUR_REDYELLOW == curShowColor) || (SIGNAL_SHOWCOLOUR_RED_WHITE == curShowColor)) && - (JKJ_REYLAY_VALID == jkjRelayValidFlag)) + (JKJ_REYLAY_VALID == jkjRelayValidFlag) && (jkjValidCycNum > 0u)) { /*źſʱӦЧ֮˹źſţִ*/ } @@ -670,10 +671,7 @@ UINT8 GetOcSignalColor(UINT16 signalId) UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ UINT8 ciType = GetLocalCiType(); UINT8 signalState = 0U; - UINT16 bufIndex = 0U; - UINT8 funSwitchALLCloseUseBlue = GetCiFunctionSwitchConfig(FUNC_SWITCH_ZX_ALLCLOSE_USEBLUE);/*ƾתƹܿ*/ - UINT8 chBlueDsFlag = FLAG_UNSET; - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡ±*/ + belongOcId = (UINT8)GetSignalBelongOcId(signalId);/*ȡźŻOc id*/ if ((0u < belongOcId) && (OC_SUM_MAX> belongOcId)) @@ -717,30 +715,15 @@ UINT8 GetOcSignalColor(UINT16 signalId) { /*Ϣ*/ SetSignalBoardState(m_Signals[indexFind].DeviceId, OC_SIGNAL_BOARD_FAULT_NO); - - /*ɼƶ˿תΪƴ*/ - signalState = m_Signals[indexFind].DeviceState; - if ((OC_SIGNAL_SHOWCOLOR_BLUE_BREAK == signalState) && (CI_TYPE_CLD != ciType)) - { - signalState = OC_SIGNAL_SHOWCOLOR_BLUE; - chBlueDsFlag = FLAG_SET; - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - ; /**/ - } - /**/ - if (OC_SIGNAL_SHOWCOLOR_ALL_CLOSE == signalState)/**/ + if (OC_SIGNAL_SHOWCOLOR_ALL_CLOSE == m_Signals[indexFind].DeviceState)/**/ { /*ƣȡ֮ǰɫ*/ sigPreDriveColor = GetSignalPreDriveColor(m_Signals[indexFind].DeviceId); sigColorLevel = GetSignalColorLevel(sigPreDriveColor); - if ((SIGNAL_LIGHT_EXTICT_STATE_NO == sigColorLevel) && - ((FUNC_SWITCH_OFF == funSwitchGreenYellow)&&(FUNC_SWITCH_OFF == funSwitchALLCloseUseBlue))) + if ((SIGNAL_LIGHT_EXTICT_STATE_NO == sigColorLevel) && (FUNC_SWITCH_OFF == funSwitchGreenYellow)) { /*OCȫ̼ʱ*/ SetOcSignalStartCycNum(m_Signals[indexFind].DeviceId, 0); @@ -779,20 +762,15 @@ UINT8 GetOcSignalColor(UINT16 signalId) } #endif } - else if ((OC_SIGNAL_SHOWCOLOR_BLUE == signalState) && - ((FUNC_SWITCH_ON == funSwitchGreenYellow)||(FUNC_SWITCH_ON == funSwitchALLCloseUseBlue)) &&(CI_TYPE_CLD != ciType)) + else if ((OC_SIGNAL_SHOWCOLOR_BLUE == m_Signals[indexFind].DeviceState) && (FUNC_SWITCH_ON == funSwitchGreenYellow) &&(CI_TYPE_CLD != ciType)) { - /*ɼ dz ʾ̻Ƶƻƾƿش򿪣ȡ仯֮ǰɫ*/ + /*人ش򿪣ȡ仯֮ǰɫ*/ sigPreDriveColor = GetSignalPreDriveColor(m_Signals[indexFind].DeviceId); sigColorLevel = GetSignalColorLevel(sigPreDriveColor); /*OCȫ̼ʱ*/ SetOcSignalStartCycNum(m_Signals[indexFind].DeviceId, 0); - if (FLAG_UNSET == chBlueDsFlag) - { - /*ڲɼ ƶ˿־*/ - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_NO; - } + if (SIGNAL_LIGHT_EXTICT_STATE_NO == sigColorLevel) { /*źŻɫΪƲô*/ @@ -816,6 +794,7 @@ UINT8 GetOcSignalColor(UINT16 signalId) { /*OCȫ̼ʱ*/ SetOcSignalStartCycNum(m_Signals[indexFind].DeviceId, 0); + signalState = m_Signals[indexFind].DeviceState; sigPreDriveColor = GetSignalPreDriveColor(m_Signals[indexFind].DeviceId); sigCurShowColor = GetSignalCurColor(m_Signals[indexFind].DeviceId); switch (signalState) @@ -887,8 +866,15 @@ UINT8 GetOcSignalColor(UINT16 signalId) break; case OC_SIGNAL_SHOWCOLOR_BLUE_BREAK: /* ޸:by pfq 2022.03.28 ƶ˿źŻԵ⣬ƶ˿ת*/ - /*תΪ*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + /*޸ 人Ϊ*/ + if (CI_TYPE_CLD != ciType) + { + rtnSigColor = SIGNAL_SHOWCOLOUR_BLUEBREAK; + } + else + { + rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + } break; case OC_SIGNAL_SHOWCOLOR_YELLOW_2_BREAK: rtnSigColor = SIGNAL_SHOWCOLOUR_YELLOWBREAK; @@ -896,12 +882,6 @@ UINT8 GetOcSignalColor(UINT16 signalId) case OC_SIGNAL_SHOWCOLOR_GREEN_2_BREAK: rtnSigColor = SIGNAL_SHOWCOLOUR_GREENBREAK; break; - case OC_SIGNAL_SHOWCOLOR_DL_OVERLOAD: - case OC_SIGNAL_SHOWCOLOR_DY_OVERLOAD: - case OC_SIGNAL_SHOWCOLOR_DLDY_OVERLOAD: - case OC_SIGNAL_SHOWCOLOR_DY_ZERO: - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - break; default: /*by cgh 20230703 YF0083-772:OCrcźŻ״̬ΪǷֵbbrcźŻԸΪ*/ rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; @@ -926,6 +906,7 @@ UINT8 GetOcBoardFaultSignalColor(UINT16 signalId, UINT8 ocId) UINT8 rtnSigColor = 0u; UINT8 sigPreDriveColor = 0u; UINT8 sigMaintainState = 0u; + UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ transmitState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, ocId); /*ͨ*/ if(TRANSMIT_STATE_GOOD == transmitState) @@ -936,7 +917,7 @@ UINT8 GetOcBoardFaultSignalColor(UINT16 signalId, UINT8 ocId) /*CBTCģʽ&&źŻά޵״̬ Ӱʹ--WGY 20220705*/ sigMaintainState = GetSignalMaintainState(signalId); sigPreDriveColor = GetSignalPreDriveColor(signalId); - if((SIGNAL_LIGHT_EXTICT_STATE_NO == stateSignalOpen)&&(MAINTAIN_STATE_NO == sigMaintainState)) + if((SIGNAL_LIGHT_EXTICT_STATE_NO == stateSignalOpen)&&(MAINTAIN_STATE_NO == sigMaintainState) && (FUNC_SWITCH_OFF == funSwitchGreenYellow)) { /*ƣȡ֮ǰɫ*/ @@ -962,7 +943,7 @@ UINT8 GetOcBoardFaultSignalColor(UINT16 signalId, UINT8 ocId) /*ȡ*/ SetSignalBoardState(signalId,OC_SIGNAL_BOARD_FAULT_NO); /*ú*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_REDFAULT; + rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; } return rtnSigColor; @@ -978,124 +959,90 @@ UINT8 SetSignalColorOcAllOff(const UINT16 signalId) { /*ʼ*/ UINT8 signalCurColor = 0u; - UINT8 rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + UINT8 rtnSigColor = 0u; UINT32 signalCycNum = 0u; UINT32 curCycNum = 0u; UINT8 checkCycOut = 0u; UINT8 preDriveColor = 0u; UINT32 signalRongrenNum = 0u; UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ - UINT8 funSwitchALLCloseUseBlue = GetCiFunctionSwitchConfig(FUNC_SWITCH_ZX_ALLCLOSE_USEBLUE);/*ƾתƹܿ*/ - UINT16 bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - if (SIGNAL_SUM_MAX > bufIndex) + /*ȡǰɫΪźŻǰɫδ£ǻȡһɫ*/ + signalCurColor = GetSignalCurColor(signalId); + curCycNum = Get2oo2CurCycleNum(); + + /*ʱõǰɫΪһɫ*/ + signalCycNum = GetOcSignalStartCycNum(signalId); + /*ȡϵͳõOCźŻȫʱ*/ + signalRongrenNum = GetSigCollectRongernCount(); + checkCycOut = SystemOverTimeCheck(signalCycNum,signalRongrenNum); + /*δʱ*/ + if(CI_TIME_NO == checkCycOut) { - /*ȡǰɫΪźŻǰɫδ£ǻȡһɫ*/ - signalCurColor = GetSignalCurColor(signalId); - curCycNum = Get2oo2CurCycleNum(); - - /*ʱõǰɫΪһɫ*/ - signalCycNum = GetOcSignalStartCycNum(signalId); - /*ȡϵͳõOCźŻȫʱ*/ - signalRongrenNum = GetSigCollectRongernCount(); - checkCycOut = SystemOverTimeCheck(signalCycNum, signalRongrenNum); - /*δʱ*/ - if (CI_TIME_NO == checkCycOut) + /*ɫ*/ + rtnSigColor = signalCurColor; + SetOcSignalStartCycNum(signalId,curCycNum); + } + /*ʱ*/ + else if(CI_TIME_OUT == checkCycOut) + { + /*ȡ֮ǰɫ*/ + preDriveColor = GetSignalPreDriveColor(signalId); + debug_infor_printf((const)"ALL CLOSE curCyc%d, SignalStartCycNum%d preDriveColor:%d \n.", curCycNum, signalCycNum, preDriveColor); + switch(preDriveColor) { - /*ɫ*/ - rtnSigColor = signalCurColor; - SetOcSignalStartCycNum(signalId, curCycNum); - } - /*ʱ*/ - else if (CI_TIME_OUT == checkCycOut) - { - /*ȡ֮ǰɫ*/ - preDriveColor = GetSignalPreDriveColor(signalId); - debug_infor_printf((const)"ALL CLOSE curCyc%d, SignalStartCycNum%d preDriveColor:%d \n.", curCycNum, signalCycNum, preDriveColor); - - switch (preDriveColor) + case SIGNAL_DRIVECOLOUR_RED: + /*ú*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + break; + case SIGNAL_DRIVECOLOUR_YELLOW: + /*ûƶ*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_YELLOWBREAK; + break; + case SIGNAL_DRIVECOLOUR_DOUBLE_YELLOW: + case SIGNAL_DRIVECOLOUR_GREENYELLOW: + /*˫ ̻ ȫûƶ*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_YELLOWBREAK; + break; + case SIGNAL_DRIVECOLOUR_DOUBLE_GREEN: + /*˫ȫ̶*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_GREENBREAK; + break; + case SIGNAL_DRIVECOLOUR_GREEN: + /*̶*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_GREENBREAK; + break; + /*ơ*/ + case SIGNAL_DRIVECOLOUR_REDYELLOW: + case SIGNAL_DRIVECOLOUR_RED_WHITE: + /*ú*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + break; + case SIGNAL_DRIVECOLOUR_WHITE: + /*ð׶*/ + rtnSigColor = SIGNAL_SHOWCOLOUR_WHITEBREAK; + break; + case SIGNAL_DRIVECOLOUR_GREENCLOSE: + case SIGNAL_DRIVECOLOUR_YELLOWCLOSE: + case SIGNAL_DRIVECOLOUR_GREENYELLOWCLOSE: + /*̻ȫûƶ*/ + if (FUNC_SWITCH_ON == funSwitchGreenYellow) { - case SIGNAL_DRIVECOLOUR_RED: - /*ú*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - break; - case SIGNAL_DRIVECOLOUR_YELLOW: - /*ûƶ*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_YELLOWBREAK; - break; - case SIGNAL_DRIVECOLOUR_DOUBLE_YELLOW: - case SIGNAL_DRIVECOLOUR_GREENYELLOW: - /*˫ ̻ ȫûƶ*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_YELLOWBREAK; - break; - case SIGNAL_DRIVECOLOUR_DOUBLE_GREEN: - /*˫ȫ̶*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_GREENBREAK; - break; - case SIGNAL_DRIVECOLOUR_GREEN: - /*̶*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_GREENBREAK; - break; - /*ơ*/ - case SIGNAL_DRIVECOLOUR_REDYELLOW: - case SIGNAL_DRIVECOLOUR_RED_WHITE: - /*ú*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - break; - case SIGNAL_DRIVECOLOUR_WHITE: - /*ð׶*/ - rtnSigColor = SIGNAL_SHOWCOLOUR_WHITEBREAK; - break; - case SIGNAL_DRIVECOLOUR_GREENCLOSE: - case SIGNAL_DRIVECOLOUR_YELLOWCLOSE: - /*̻ȫ ̻Ƶƿش򿪻򺼵ʱ ȡ֮ǰɫ*/ - if ((FUNC_SWITCH_ON == funSwitchGreenYellow) || (FUNC_SWITCH_ON == funSwitchALLCloseUseBlue)) - { - rtnSigColor = preDriveColor; - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - } - break; - case SIGNAL_DRIVECOLOUR_GREENYELLOWCLOSE: - /*̻ȫ ̻Ƶƿشʱ*/ - if (FUNC_SWITCH_ON == funSwitchGreenYellow) - { - rtnSigColor = preDriveColor; - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - } - break; - case SIGNAL_DRIVECOLOUR_REDCLOSE: - /*¿شʱ*/ - if (FUNC_SWITCH_ON == funSwitchALLCloseUseBlue) - { - rtnSigColor = preDriveColor; - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; - } - break; - default: - /*״̬ ˴ɴ֧*/ - break; + rtnSigColor = SIGNAL_SHOWCOLOUR_BLUEBREAK; } - } - else - { - /*ɫ*/ - rtnSigColor = signalCurColor; + else + { + rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; + } + break; + default: + /*״̬ ˴ɴ֧*/ + break; } } else { - rtnSigColor = SIGNAL_SHOWCOLOUR_REDBREAK; /*źŻIDǷ*/ + /*ɫ*/ + rtnSigColor = signalCurColor; } return rtnSigColor; } @@ -1133,7 +1080,6 @@ void OcSignalDeviceInput(void) UINT8 addCiToCiCmdFlag = CI_ERROR; /*Ƿ*/ UINT32 signalDriveNewSigStartCyc = 0u; /*źŻźʼں*/ UINT32 signalDiffCyc = 0U; /*źſɫһ*/ - UINT8 cFuncRet = 0U; curCycNum= Get2oo2CurCycleNum(); signalCurSum = GetTotalSignalCurNum(); /*ȡźŻ*/ @@ -1168,16 +1114,6 @@ void OcSignalDeviceInput(void) { cheakdetain_1 = CheakDeatainState(detainCutRelayId, signalDetainRelayId); addCiToCiCmdFlag = CI_SUCCESS; - - cFuncRet = GetFstDetBtnCollTolerateRet(signalId); /*ȡ۳ť1ɼ̽*/ - if (CI_SUCCESS == cFuncRet) - { - cheakdetain_1 = CI_ERROR; /*δʱӰ۳Ч*/ - } - else - { - /*ʱ*/ - } } } else @@ -1191,16 +1127,6 @@ void OcSignalDeviceInput(void) /*Ӳ߿۳̵2 Ч*/ cheakdetain_2 = CheakDeatainState(detainCutRelayId_2, signalDetainRelayId_2); addCiToCiCmdFlag = CI_SUCCESS; - - cFuncRet = GetSndDetBtnCollTolerateRet(signalId); /*ȡ۳ť2ɼ̽*/ - if (CI_SUCCESS == cFuncRet) - { - cheakdetain_2 = CI_ERROR; /*δʱӰ۳Ч*/ - } - else - { - /*ʱ*/ - } } } else @@ -1213,7 +1139,6 @@ void OcSignalDeviceInput(void) { SignalZfsDetainBtnPro(signalId); SignalZfsCancelDetainBtnPro(signalId); - SignalZfsDetainCutBtnPro(signalId); signalDetainBtnActFlag = GetSignalDetainBtnActFlag(signalId); if (SIGNAL_ZFS_BTN_ACT_FLAG_NO != signalDetainBtnActFlag) { @@ -1688,6 +1613,8 @@ void DetZfsCancelBtnActFlagProc(const UINT16 wSignalId, const UINT16 wCancelDetB void SpksDisplayDrivOutput(void) { UINT16 spksCurSum = 0u; /*spksǰĿĬΪÿspksָʾ*/ + UINT16 spksCollId = 0u; /*spksɼ̵ ID*/ + UINT8 tmpCollRelayColState = 0u; /*spksɼ̵״̬*/ UINT8 tmpCutRelayColState = 0u; /*spks·̵״̬*/ UINT16 spksDisplayId = 0u; /*spksָʾƼ̵ID*/ UINT16 spksId = 0u; /*spks ID*/ @@ -1699,7 +1626,6 @@ void SpksDisplayDrivOutput(void) UINT32 spksflockStartNum = 0u; UINT32 dwSpksIndicDelayCount = 0u; UINT8 checkCycOut = 0u; - UINT8 cSpksState = 0U; spksCurSum = GetSpksSum(); /*ȡspksĬΪÿspksжӦָʾ*/ chLocalCiId = GetSystemParaLocalCiId(); /*ȡID*/ @@ -1718,6 +1644,9 @@ void SpksDisplayDrivOutput(void) for (ii = 0u; ii < spksCurSum; ii++) { spksId = GetSpksIdByIndex(ii); /*ȡspks ID*/ + + spksCollId = GetSpksColRelayId(spksId); /*ȡspksɼ̵ID*/ + tmpCollRelayColState = GetRelayCollState(spksCollId);/*ȡspksɼ̵״̬*/ spksDisplayId = GetSpksDisRelayId(spksId); /*spks IDȡspksָʾID*/ cutSpksId = GetSpksCutRelayId(spksId); /*ȡspks·ť̵ID*/ @@ -1737,24 +1666,26 @@ void SpksDisplayDrivOutput(void) { /*spksָʾ*/ if ((0u != spksDisplayId) && (UINT16_MAX != spksDisplayId)) - { - /*spksָʾƼ̵Ч*/ - cSpksState = GetSpksState(spksId); - if (SPKS_STATUS_YES == cSpksState) + {/*spksָʾƼ̵Ч*/ + if (RELAY_STATE_DOWN == tmpCollRelayColState) { /*SPKS̵ºʱ*/ spksflockStartNum = GetSpksflockStartNum(spksId);/*ȡSPKSʼ*/ dwSpksIndicDelayCount = GetSpksIndicDelayCount();/*ȡʱ*/ checkCycOut = SystemOverTimeCheck(spksflockStartNum,dwSpksIndicDelayCount); - if (CI_TIME_OUT == checkCycOut)/*ʱ*/ + if(CI_TIME_OUT == checkCycOut)/*ʱ*/ { - (void)SetRelayDriveState(spksDisplayId, RELAY_STATE_UP); /*ָʾ*/ - } + (void)SetRelayDriveState(spksDisplayId, RELAY_STATE_UP); /*ָʾ*/ + } else { (void)SetRelayDriveState(spksDisplayId,RELAY_STATE_DOWN); /*ָʾ*/ } } + else if (RELAY_STATE_UP == tmpCollRelayColState) + { + (void)SetRelayDriveState(spksDisplayId, RELAY_STATE_DOWN); /*ָʾ*/ + } else { (void)SetRelayDriveState(spksDisplayId, RELAY_STATE_DOWN); /*ָʾ*/ @@ -2019,43 +1950,45 @@ void EsbDisplayDrivOutput(void) /*ûESBվָ̨ʾƣ*/ } } - else if (FUNC_SWITCH_ESB_NINGXIANG_RAIL == funcswitchZfsBtn) - { - /*·ESBָʾƼ̵*/ - EsbNXRailDisplayDrivOutput(esbId); - } else { /*ԸʽesbָʾƼ̵*/ - esbState = GetEsbState(esbId); - /*ESBָʾ״̬*/ if ((0u != esbDisplayRelayId) && (UINT16_MAX != esbDisplayRelayId)) { - if (ESB_STATE_VALID_YES == esbState) + /*esbָʾƼ̵Ч*/ + if (RELAY_STATE_DOWN == tmpCollRelayColState) { - (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_UP); /*ESBָʾ*/ + (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_UP); /*ָʾ*/ + } + else if (RELAY_STATE_UP == tmpCollRelayColState) + { + (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_DOWN); /*ָʾ*/ } else { - (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_DOWN); /*δESBָʾ*/ + (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_DOWN); /*ָʾ*/ } } else { - /*ûESBָʾƣ*/ + /*esbťûָʾƼ̵*/ } - /*ESBվָ̨ʾ״̬*/ + /*ESBվָ̨ʾ״̬̫ԭ1Ŀ*/ if ((0u != esbPlatformDisRelayId) && (UINT16_MAX != esbPlatformDisRelayId)) { /*ESBָʾ״̬*/ - if (ESB_STATE_VALID_YES == esbState) + if (RELAY_STATE_DOWN == tmpCollRelayColState) { - (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_UP); /*ESBվָ̨ʾ*/ + (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_UP); /*ָʾ*/ + } + else if (RELAY_STATE_UP == tmpCollRelayColState) + { + (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_DOWN); /*ָʾ*/ } else { - (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_DOWN); /*δESBվָ̨ʾ*/ + (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_DOWN); /*ָʾ*/ } } else @@ -2157,7 +2090,7 @@ void DetainDisplayDrivOutput(void) else { /*Ըʽ۳ťʾƴ*/ - DriveZfsDetainBsRelay(signalId, signalDetainDisplayId, cutDetainDisplayId); + DriveZfsDetainBsRelay(signalId, signalDetainDisplayId); } } else @@ -2192,7 +2125,7 @@ void DetainDisplayDrivOutput(void) else { /*Ըʽ۳ťʾƴ*/ - DriveZfsDetainBsRelay(signalId, signalDetainDisplayId, cutDetainDisplayId); + DriveZfsDetainBsRelay(signalId, signalDetainDisplayId); } } } @@ -2217,8 +2150,6 @@ void DriveDetainBsRelay(const UINT16 signalId, const UINT16 signalCutDetainRelay UINT8 relayDetainValidFlag = 0u; UINT8 signalDetainFlag = 0u; /*źŻ۳־*/ UINT8 relayDrivState = 0u; /*̵״̬*/ - UINT16 wTempRelayId = 0U; - UINT8 cFuncRet = 0U; /*Ӳ߿۳·ťָʾƼ̵*/ if ((0u != signalCutDetainRelayId) && (UINT16_MAX != signalCutDetainRelayId) && (0u != cutDetainDisplayId) && (UINT16_MAX != cutDetainDisplayId)) @@ -2250,18 +2181,9 @@ void DriveDetainBsRelay(const UINT16 signalId, const UINT16 signalCutDetainRelay tmpCollRelayColState = GetRelayCollState(signalDetainRelayId);/*ȡ۳̵ɼ״̬*/ signalDetainFlag = GetSignalDetainFlag(signalId); /*ȡźŻ۳־*/ relayDrivState = GetRelayDriveState(signalDetainDisplayId); /*ȡ۳ָʾƼ̵״̬*/ - wTempRelayId = GetSignalDetainRelayId(signalId); - if (wTempRelayId == signalDetainRelayId) + if (((UP_VALID == relayDetainValidFlag) && (RELAY_DRIVE_STATE_UP == tmpCollRelayColState)) + || ((DOWN_VALID == relayDetainValidFlag) && (RELAY_DRIVE_STATE_DOWN == tmpCollRelayColState))) /*̵,۳*/ { - cFuncRet = GetFstDetBtnCollTolerateRet(signalId); /*ȡ۳ť1ɼ̽*/ - } - else - { - cFuncRet = GetSndDetBtnCollTolerateRet(signalId); /*ȡ۳ť2ɼ̽*/ - } - if (CI_SUCCESS != cFuncRet) - { - /*۳ť,۳*/ (void)SetRelayDriveState(signalDetainDisplayId, RELAY_STATE_UP); /*ָʾ*/ } else if (((UP_VALID == relayDetainValidFlag) && (RELAY_DRIVE_STATE_DOWN == tmpCollRelayColState)) @@ -2282,9 +2204,8 @@ void DriveDetainBsRelay(const UINT16 signalId, const UINT16 signalCutDetainRelay } } } - else + else /*̵״̬Ч۳*/ { - /*̵״̬Чδﵽɼʱ䣬жǷ*/ if ((SIGNAL_DETAIN_YES == signalDetainFlag) || (SIGNAL_DETAIN_XIANDI_ATSAUTO == signalDetainFlag) || (SIGNAL_DETAIN_ATS == signalDetainFlag) || (SIGNAL_DETAIN_ATS_AUTO == signalDetainFlag) || (SIGNAL_DETAIN_XIANDI == signalDetainFlag)) { /*۳ҲҪָʾ*/ @@ -2308,96 +2229,40 @@ void DriveDetainBsRelay(const UINT16 signalId, const UINT16 signalCutDetainRelay } /* -* Ըʽ۳ָʾ -* ˵const UINT16 signalId źŻID -* const UINT16 signalDetDisRelayId ۳ʾƼ̵ID -* const UINT16 signalDetCutDisRelayId ۳·ʾƼ̵ -* ֵ -* Modified By LQ 2025.07.03 +* Ըʽ۳ָʾ +* ˵const UINT16 signalId, źŻID +* const UINT16 signalDetainDisplayId, ۳ʾƼ̵1ID +* ֵ +* */ -void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetDisRelayId, const UINT16 signalDetCutDisRelayId) +void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetainDisplayId) { - UINT16 wSignalIdIndex = 0U; /*źŻID*/ - UINT16 wDetDisRelayIdIndex = 0U; /*̵ID*/ - UINT16 wDetCutDisRelayIdIndex = 0U; /*̵ID*/ UINT8 localCiId = 0U; /*ID*/ - UINT8 detBsRelayBelongCi = 0U; /*۳ʾƼ̵CI*/ + UINT8 detainBsRelayBelongCi = 0u; /*۳ʾƼ̵CI*/ UINT8 detainBtnActFlag = SIGNAL_ZFS_BTN_ACT_FLAG_NO; /*۳ť1־*/ - UINT8 cDetCutBsRelayBelongCi = 0U; /*۳·ťʾƼ̵CI*/ - UINT8 cDetCutBtnState = 0U; /*۳·ť״̬*/ - wSignalIdIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ + localCiId = GetSystemParaLocalCiId(); + detainBsRelayBelongCi = GetRelayBelongCiId(signalDetainDisplayId); - if (SIGNAL_SUM_MAX > wSignalIdIndex) + /*Ӳ߿۳ťָʾ1̵*/ + if ((0u != signalDetainDisplayId) && (UINT16_MAX != signalDetainDisplayId) && (0U != localCiId) && (localCiId == detainBsRelayBelongCi)) { - localCiId = GetSystemParaLocalCiId(); + /*ȡԸʽ۳ť1־*/ + detainBtnActFlag = GetSignalDetainBtnActFlag(signalId); - /*۳ťʾ*/ - wDetDisRelayIdIndex = GetRelayConfigBufIndex(signalDetDisRelayId); /*ȡ۳ťʾƼ̵±*/ - if (RELAY_SUM_MAX > wDetDisRelayIdIndex) - { - detBsRelayBelongCi = GetRelayBelongCiId(signalDetDisRelayId); - - /*ÿ۳ťʾƼ̵״̬*/ - if ((0U != localCiId) && (localCiId == detBsRelayBelongCi)) - { - /*ȡԸʽ۳ť1־*/ - detainBtnActFlag = GetSignalDetainBtnActFlag(signalId); - - /*ÿ۳ָʾ״̬*/ - if (SIGNAL_ZFS_BTN_ACT_FLAG_YES == detainBtnActFlag) - { - (void)SetRelayDriveState(signalDetDisRelayId, RELAY_STATE_UP); /*۳ť۳ָʾ*/ - } - else - { - (void)SetRelayDriveState(signalDetDisRelayId, RELAY_STATE_DOWN); /*۳ťδ۳ָʾ*/ - } - } - else - { - /*DZ̵*/ - } + /*ÿ۳ָʾ1״̬*/ + if (SIGNAL_ZFS_BTN_ACT_FLAG_YES == detainBtnActFlag) + { + (void)SetRelayDriveState(signalDetainDisplayId, RELAY_STATE_UP); /*۳ť۳ָʾ*/ } else { - /**/ - } - - /*۳·ťʾ*/ - wDetCutDisRelayIdIndex = GetRelayConfigBufIndex(signalDetCutDisRelayId); /*ȡ۳·ťʾƼ̵±*/ - if (RELAY_SUM_MAX > wDetCutDisRelayIdIndex) - { - cDetCutBsRelayBelongCi = GetRelayBelongCiId(signalDetCutDisRelayId); - /*ÿ۳·ťʾƼ̵״̬*/ - if ((0U != localCiId) && (localCiId == cDetCutBsRelayBelongCi)) - { - /*ȡԸʽ۳·ť״̬*/ - cDetCutBtnState = GetDetCutBtnState(signalId); - - /*ÿ۳·ťָʾ״̬*/ - if (SIGNAL_DETAIN_CUT_VALID_YES == cDetCutBtnState) - { - (void)SetRelayDriveState(signalDetCutDisRelayId, RELAY_STATE_UP); /*۳·ťЧ۳ָʾ*/ - } - else - { - (void)SetRelayDriveState(signalDetCutDisRelayId, RELAY_STATE_DOWN); /*۳·ťЧ۳ָʾ*/ - } - } - else - { - /*DZ̵*/ - } - } - else - { - /**/ + (void)SetRelayDriveState(signalDetainDisplayId, RELAY_STATE_DOWN); /*۳ťδ۳ָʾ*/ } } else { - /**/ + /*źŻûп۳ťָʾƣ*/ } } @@ -2773,6 +2638,7 @@ void SignalDeviceToRelayStateProc(void) UINT16 replxRelayId = 0u; /*ʾгźż̵ID*/ UINT16 ddRelayId = 0u; /*Ƽ̵ID*/ + UINT32 jkjValidCycNum = 0u; UINT8 jkjRelayValidFlag = 0u; UINT8 checkRes = CI_TIME_OUT; UINT32 sigCycle = 0u; @@ -2792,23 +2658,30 @@ void SignalDeviceToRelayStateProc(void) signalCurSum = GetTotalSignalCurNum(); /*ȡźŻ*/ localCiId = GetSystemParaLocalCiId(); /*ȡID*/ + + firDsRelayId = GetSignalFirstDsRelayId(signalId); /*ȡźŻ1˿̵ID*/ + secDsRelayId = GetSignalSecondDsRelayId(signalId); /*ȡźŻ2˿̵ID*/ + lxRelayId = GetSignalLxRelayId(signalId); /*ȡźŻгźż̵ID*/ + zxRelayId = GetSignalZxRelayId(signalId); /*ȡźŻźż̵ID*/ + yxRelayId = GetSignalYxRelayId(signalId); /*ȡźŻźż̵ID*/ + dxRelayId = GetSignalDxRelayId(signalId); /*ȡźŻźż̵ID*/ + yellowRelayId = GetSignalYellowRelayId(signalId); /*ƵƼ̵ID*/ + greenRelayId = GetSignalGreenRelayId(signalId); /*̵Ƽ̵ID*/ + blueRelayId = GetSignalBlueRelayId(signalId); /*Ƽ̵ID*/ + replxRelayId = GetSignalRepLxRelayId(signalId); /*ʾг̵ID*/ + ddRelayId = GetSignalDdRelayId(signalId); /*ȡźŻƼ̵ID*/ + /*źŻ*/ for (ii = 0u; ii < signalCurSum; ii++) { + signalId = 0u; /*źŻID*/ + signalBelongCi = 0u; /*źŻID*/ + curDrvColor = 0u; /*źŻǰɫ*/ + signalId = GetSignalId(ii); /*ȡźŻID*/ signalBelongCi = GetSignalBelongCiId(signalId); /*ȡźŻID*/ signalVirtualAttr = GetSignalVirtualAttr(signalId);/*ȡźŻ*/ - firDsRelayId = GetSignalFirstDsRelayId(signalId); /*ȡźŻ1˿̵ID*/ - secDsRelayId = GetSignalSecondDsRelayId(signalId); /*ȡźŻ2˿̵ID*/ - lxRelayId = GetSignalLxRelayId(signalId); /*ȡźŻгźż̵ID*/ - zxRelayId = GetSignalZxRelayId(signalId); /*ȡźŻźż̵ID*/ - yxRelayId = GetSignalYxRelayId(signalId); /*ȡźŻźż̵ID*/ - dxRelayId = GetSignalDxRelayId(signalId); /*ȡźŻźż̵ID*/ - yellowRelayId = GetSignalYellowRelayId(signalId); /*ƵƼ̵ID*/ - greenRelayId = GetSignalGreenRelayId(signalId); /*̵Ƽ̵ID*/ - blueRelayId = GetSignalBlueRelayId(signalId); /*Ƽ̵ID*/ - replxRelayId = GetSignalRepLxRelayId(signalId); /*ʾг̵ID*/ - ddRelayId = GetSignalDdRelayId(signalId); /*ȡźŻƼ̵ID*/ + if ((0u == signalId) || (signalId > SIGNAL_SUM_MAX) || (localCiId == 0u)) { /*źŻidϷ߱IDΪ0u,*/ @@ -2820,9 +2693,10 @@ void SignalDeviceToRelayStateProc(void) if (SIGNAL_DRIVECOLOUR_NULL == curDrvColor) {/*źŻЧ*/ jkjRelayValidFlag = GetCiJkjFlag(); + jkjValidCycNum = GetJkjRelayValidCycNum(); curShowColor = GetSignalCurColor(signalId); if (((SIGNAL_SHOWCOLOUR_REDYELLOW == curShowColor) || (SIGNAL_SHOWCOLOUR_RED_WHITE == curShowColor)) && - (JKJ_REYLAY_VALID == jkjRelayValidFlag)) + (JKJ_REYLAY_VALID == jkjRelayValidFlag) && (jkjValidCycNum > 0u) ) { /*źſʱӦЧ֮˹źſţִźŹر߼崻*/ } @@ -6070,9 +5944,8 @@ void PhySecResetToRelayStateProc(void) UINT8 occupyState = 0u; /*ռ״̬*/ UINT32 startCycNum = 0u; /*ʼں*/ UINT8 resetType = 0u; /*Ḵλ*/ + UINT8 preResetState = 0u; /*Ԥλ״̬*/ UINT8 overTimeCheck = 0u; - UINT16 wPhySecFwRelayId = 0U;/*θλ̵ID*/ - UINT32 dwPhyResetCount = 0U; /*Ḵλʱ*/ localCi = GetSystemParaLocalCiId(); relayZFWId = GetZFWRelayId(localCi); /*ܸλ̵ID*/ @@ -6204,15 +6077,13 @@ void PhySecResetToRelayStateProc(void) phySecId = GetPhySecId(ii);/*ȡID*/ startCycNum = GetPhySecResetStartCycNum(phySecId); - wPhySecFwRelayId = GetPhySecFWRelayId(phySecId); - if (startCycNum > 0u) /*Ḵλ*/ { occupyState = GetPhySecCurOccupyState(phySecId); if (SECTION_OCCUPY_NO == occupyState) /*ɼ*/ { SetPhySecResetStartCycNum(phySecId, 0u);/*޸ļḴλʼں*/ - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_DOWN);/*üḴλ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ } else /*ɼռ*/ { @@ -6220,18 +6091,17 @@ void PhySecResetToRelayStateProc(void) if (LOGICSECTION_OCCUPY_TX == occupyState) /*ͨųռ*/ { SetPhySecResetStartCycNum(phySecId, 0u);/*޸ļḴλʼں*/ - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_DOWN);/*üḴλ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, phySecId, ETYPE_PS_NO_UT_CT_OCU_STATE, occupyState, ESEND_LEVEL_ATS); } else { - dwPhyResetCount = GetSystemParaSectionResetCount(); - overTimeCheck = SystemOverTimeCheck(startCycNum, dwPhyResetCount); + overTimeCheck = SystemOverTimeCheck(GetPhySecResetStartCycNum(phySecId), GetSystemParaSectionResetCount()); if (CI_TIME_OUT == overTimeCheck) {/*μḴλʱ*/ SetPhySecResetStartCycNum(phySecId, 0u);/*޸ļḴλʼں*/ - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_DOWN);/*üḴλ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ #if 0 SetCiSendCmdBackInfoData(CI_BACK_PSEC_RESET_ERROR, CI_DEVICE_TYPE_PHYSEC, phySecId, 0u, 0u);/*Ḵλʧ*/ #endif @@ -6243,21 +6113,32 @@ void PhySecResetToRelayStateProc(void) if (CI_SUCCESS == retValid) /*ЧִмḴλ*/ { resetType = GetPhySecSectionResetType(phySecId); - - if ((PHYSICAL_SECTION_PRE_RESET_NO == resetType) || (PHYSICAL_SECTION_PRE_RESET_YES == resetType)) /*ֱӸλԤλ*/ + if (PHYSICAL_SECTION_PRE_RESET_NO == resetType) /*ֱӸλ*/ { - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_UP);/*üḴλ̵ʱ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_UP);/*üḴλ̵*/ + } + else if (PHYSICAL_SECTION_PRE_RESET_YES == resetType) /*Ԥλ*/ + { + preResetState = GetPhySecPreResetState(phySecId); + if (PHYSICAL_SECTION_PRE_RESET_NO == preResetState) /*Ԥλδɹ*/ + { + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_UP);/*üḴλ̵*/ + } + else /*Ԥλɹ*/ + { + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ + } } else /**/ { SetPhySecResetStartCycNum(phySecId, 0u);/*޸ļḴλʼں*/ - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_DOWN);/*üḴλ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ } } else /*Ч*/ { SetPhySecResetStartCycNum(phySecId, 0u);/*޸ļḴλʼں*/ - (void)SetRelayDriveState(wPhySecFwRelayId, RELAY_STATE_DOWN);/*üḴλ̵*/ + (void)SetRelayDriveState(GetPhySecFWRelayId(phySecId), RELAY_STATE_DOWN);/*üḴλ̵*/ SetCiSendCmdBackInfoData(CI_BACK_PSEC_RESET_ZFW_ERROR, CI_DEVICE_TYPE_PHYSEC, phySecId, 0u, 0u);/*Ḵλʧܣܸλ̵*/ } } @@ -6562,10 +6443,11 @@ void PsdRelayToDeviceStateProc(void) UINT8 buttonState = 0u; UINT32 buttonPressCycNum = 0U; UINT32 curCycNum = 0U; + UINT8 chPsdVirtualState = 0U; UINT32 dwCycNum = 0U; UINT8 chDsnLinSwitch = 0U; - UINT8 cFuncRet = 0U; + chDsnLinSwitch = GetCiFunctionSwitchConfig(FUNC_DSN_LINE_SWITCH); @@ -6774,16 +6656,21 @@ void PsdRelayToDeviceStateProc(void) if (psdDoorRelayId > 0u) { if (FUNC_SWITCH_ON != chDsnLinSwitch) - { - /*ſ״̬*/ - cFuncRet = GetPsdRelayCollTolerateRet(psdId); /*ȡPSDſ̵ɼ̽*/ - if (CI_SUCCESS == cFuncRet) + {/*ſ״̬*/ + chPsdCloseState = GetRelayCollState(psdDoorRelayId); + if (RELAY_STATE_UP == chPsdCloseState) { reVal = SetPsdState(psdId, PSD_STATE_CLOSE); + + } + else if (RELAY_STATE_DOWN == chPsdCloseState) + { + reVal = SetPsdState(psdId, PSD_STATE_OPEN); + } else { - reVal = SetPsdState(psdId, PSD_STATE_OPEN); + reVal = CI_ERROR; } } else @@ -7947,14 +7834,6 @@ UINT8 EsbRelayToDeviceStateProc(void) EsbZfsBtnProc(esbId); EsbZfsCancelBtnProc(esbId); } - else if (FUNC_SWITCH_ESB_NINGXIANG_RAIL == funcswitchZfsBtn) - { - /*·ͣťΪͨťȡťͽ·ťΪԸʽť*/ - /*1.رհť*/ - EsbNXRailBtnProc(esbId); - /*2.رȡť*/ - EsbNXRailCancelBtnProc(esbId); - } else { /*ȡԸʽESBǰõ״̬*/ @@ -7979,32 +7858,23 @@ UINT8 EsbRelayToDeviceStateProc(void) reVal = SetEsbState(esbId, ESB_STATE_VALID_YES); } } - - if (FUNC_SWITCH_ESB_NINGXIANG_RAIL == funcswitchZfsBtn) - { - /*·ر·ť*/ - EsbNXRailCutBtnProc(esbId); - } - else - { - /*··״̬*/ - esbCutRelayId = GetEsbCutRelayId(esbId); - if (0u != esbCutRelayId) - { /*û·ťʱ*/ - chEsbCutRelayState = GetRelayCollState(esbCutRelayId); - if (RELAY_STATE_DOWN == chEsbCutRelayState) - { - SetEsbCutState(esbId, ESB_CUT_NO); - } - else if (RELAY_STATE_UP == chEsbCutRelayState) - { - SetEsbCutState(esbId, ESB_CUT_YES); - } - else - { - SetEsbCutState(esbId, ESB_CUT_NO); - reVal = CI_ERROR; - } + /*·״̬*/ + esbCutRelayId = GetEsbCutRelayId(esbId); + if (0u != esbCutRelayId) + { /*û·ťʱ*/ + chEsbCutRelayState = GetRelayCollState(esbCutRelayId); + if (RELAY_STATE_DOWN == chEsbCutRelayState) + { + SetEsbCutState(esbId, ESB_CUT_NO); + } + else if (RELAY_STATE_UP == chEsbCutRelayState) + { + SetEsbCutState(esbId, ESB_CUT_YES); + } + else + { + SetEsbCutState(esbId, ESB_CUT_NO); + reVal = CI_ERROR; } } } @@ -8074,9 +7944,8 @@ UINT8 SpksRelayToDeviceStateProc(void) UINT8 execRes = 0u; UINT32 curCycNum = Get2oo2CurCycleNum(); UINT8 spksVirAttribute = 0U; + UINT8 spksRetVlaue = 0U; UINT8 chStartFlock = CI_START_FLOCK_YES; - UINT8 cFunRet = 0U; - tmpSpksSum = GetTotalSpksCurNum();/*SPKS*/ for (ii = 0u; ii < tmpSpksSum; ii++) { @@ -8090,24 +7959,31 @@ UINT8 SpksRelayToDeviceStateProc(void) spksRelayId = GetSpksColRelayId(spksId); if (spksRelayId > 0u) { + spksBelongCi = GetSpksBelongCiId(spksId); if (spksBelongCi == localCi) { - cFunRet = GetSpksBtnCollTolerateRet(spksId); /*ȡSPKSťɼ̽*/ - - if (CI_SUCCESS == cFunRet) + relaySta = GetRelayCollState(spksRelayId); + if (RELAY_STATE_DOWN == relaySta) { - (void)SetSpksState(spksId, SPKS_STATUS_NO); - - SetSpksflockStartNum(spksId, 0U); + spksRetVlaue = SetSpksState(spksId,SPKS_STATUS_YES); + if(CI_ERROR == spksRetVlaue) + { + } + SetSpksflockStartNum(spksId,curCycNum); + } + else if (RELAY_STATE_UP == relaySta) + { + spksRetVlaue = SetSpksState(spksId,SPKS_STATUS_NO); + if(CI_ERROR == spksRetVlaue) + { + } + SetSpksflockStartNum(spksId,0U); } else { - (void)SetSpksState(spksId, SPKS_STATUS_YES); - - SetSpksflockStartNum(spksId, curCycNum); + ret = CI_ERROR; } - /*·״̬*/ spksCutRelayId = GetSpksCutRelayId(spksId); if (0U != spksCutRelayId) @@ -10325,109 +10201,122 @@ UINT8 GetNoDDJSignalColor(const UINT16 signalId) * ½·ĵͬ߼״̬ * ˵ void * ֵ void -* BY CGH 20250523 */ void RouteDCTYRelayToDeviceStateProc(void) { - UINT16 ii = 0U; /*α*/ - UINT16 routeCurSum = 0U; /*·*/ - UINT16 routeId = 0U; /*·ID*/ - UINT8 localCi = 0U; - UINT8 belongCi = 0U; + UINT16 ii = 0u; /*α*/ + UINT16 routeCurSum = 0u; /*·*/ + UINT16 routeId = 0u; /*·ID*/ + UINT8 localCi = 0u; + UINT8 belongCi = 0u; + UINT8 tmpExecRes = CI_ERROR;/*ʱִн*/ UINT8 reVal = CI_ERROR;/*ֵ*/ - UINT16 routeDCTYId = 0U;/*̵ͬid*/ - UINT8 relayCollState = 0U;/*̵ɼ״̬*/ - UINT8 chRouteType = 0U; /*·*/ - UINT32 dwDcAgreeBtnPressCycNum = 0U;/*ͬⰴťʼ*/ - UINT32 dwCurCycleNum = Get2oo2CurCycleNum(); /*ǰں*/ - UINT32 dwZfsBtnFaultCycNum = 0U; /*Ըʽťж*/ - UINT32 dwZfsBtnRelayCollCycNum = 0U; /*Ըʽť̵ɼ*/ - UINT8 chOverTimeCheckFlag = 0U;/*ʱ־*/ - UINT8 chDcAgreeButtonErrState = 0U;/*ͬⰴť״̬*/ + + + UINT16 routeDCTYId = 0u;/*̵ͬid*/ + UINT16 routeDCQJId = 0u; /*̵id*/ + + + UINT8 relayCollState = 0u;/*̵ɼ״̬*/ routeCurSum = GetRouteCurSum(); localCi = GetSystemParaLocalCiId();/**/ - - for (ii = 0U; ii < routeCurSum; ii++) + for (ii = 0u; ii < routeCurSum; ii++) { routeId = GetRouteId(ii); - if((0U < routeId) && (ROUTE_SUM_MAX > routeId)) + /*֤·id벻Ϊ0u*/ + if (0u == routeId) { - /*֤·Ϊ*/ + reVal = CI_ERROR; + } + else + { + reVal = CI_SUCCESS; + } + + if (CI_SUCCESS == reVal) + {/*֤·Ϊ*/ belongCi = GetRouteBelongCiId(routeId); if (belongCi == localCi) { - routeDCTYId = GetRouteDCTAJId(routeId);/*ȡ·̵ͬid*/ - chRouteType = GetRouteType(routeId); - - if((0U < routeDCTYId) && (ROUTE_TYPE_DIAOCHE == chRouteType)) - { - relayCollState = GetRelayCollState(routeDCTYId); - if (RELAY_STATE_UP == relayCollState) - { - dwDcAgreeBtnPressCycNum = GetRouteDcAgreeBtnPressCycNum(routeId); - - if (0U == dwDcAgreeBtnPressCycNum) - { - SetRouteDcAgreeBtnPressCycNum(routeId, dwCurCycleNum); - } - else - { - ; - } - - } - else - { - SetRouteDcAgreeBtnPressCycNum(routeId, 0U); - } - - dwDcAgreeBtnPressCycNum = GetRouteDcAgreeBtnPressCycNum(routeId); - dwZfsBtnFaultCycNum = GetSelfButErrCount(); - chOverTimeCheckFlag = SystemOverTimeCheck(dwDcAgreeBtnPressCycNum, dwZfsBtnFaultCycNum); - - if (CI_TIME_OUT == chOverTimeCheckFlag) - { - /*ť´ڹʱ䣬ù*/ - SetRouteDcAgreeButtonErrState(routeId, ROUTE_DC_AGREE_BUTTON_ERR); - } - else - { - SetRouteDcAgreeButtonErrState(routeId, ROUTE_DC_AGREE_BUTTON_OK); - } - - dwZfsBtnRelayCollCycNum = GetSelfButCollCount(); - chOverTimeCheckFlag = SystemOverOrEqualTimeCheck(dwDcAgreeBtnPressCycNum, dwZfsBtnRelayCollCycNum); - chDcAgreeButtonErrState = GetRouteDcAgreeButtonErrState(routeId); - - - /*ťʱڵжϲɼЧʱδϣõͬⰴťЧ*/ - if ((CI_TIME_OUT == chOverTimeCheckFlag) && (ROUTE_DC_AGREE_BUTTON_OK == chDcAgreeButtonErrState)) - { - SetRouteDCTYState(routeId, ROUTE_DCT_AGREE); - } - else - { - /**/ - } - - } - else - { - ; /*ûǵ·*/ - } + reVal = CI_SUCCESS; } else { - ; /*DZ·*/ + reVal = CI_ERROR; } } - else + + + if (CI_SUCCESS == reVal) { - ; /**/ + routeDCQJId = GetRouteDCQJId(routeId);/*ȡ·̵id*/ + + if (routeDCQJId > 0u) + { + relayCollState = GetRelayCollState(routeDCQJId); + if (RELAY_STATE_UP == relayCollState) + { + tmpExecRes = SetRouteDCQState(routeId, ROUTE_DCQ_REQUEST);/*е*/ + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + else if (RELAY_STATE_DOWN == relayCollState) + { + tmpExecRes = SetRouteDCQState(routeId, ROUTE_DCQ_NOT_REQUEST);/*£ûе*/ + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + else + { + /*Ƿֵ*/ + tmpExecRes = SetRouteDCQState(routeId, ROUTE_DCQ_NOT_REQUEST);/*Ƿֵ´ûе*/ + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + } + + routeDCTYId = GetRouteDCTAJId(routeId);/*ȡ·̵ͬid*/ + + if (routeDCTYId > 0u) + { + relayCollState = GetRelayCollState(routeDCTYId); + if (RELAY_STATE_UP == relayCollState) + { + tmpExecRes = SetRouteDCTYState(routeId, ROUTE_DCT_AGREE);/*𣬵ͬ*/ + + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + else if (RELAY_STATE_DOWN == relayCollState) + { + tmpExecRes = SetRouteDCTYState(routeId, ROUTE_DCT_NOT_AGREE);/*£ͬ*/ + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + else + { + /*Ƿֵ*/ + tmpExecRes = SetRouteDCTYState(routeId, ROUTE_DCT_NOT_AGREE);/*£ͬ*/ + if (CI_ERROR == tmpExecRes) + { + /**/ + } + } + } } } } @@ -10440,67 +10329,82 @@ void RouteDCTYRelayToDeviceStateProc(void) */ void RouteDCTYToRelayStateProc(void) { - UINT16 ii = 0U; /* α */ - UINT16 routeSum = 0U; /* · */ - UINT16 routeId = 0U; /* ID */ - UINT8 chRouteType = 0U;/*·*/ - UINT16 routeDCQRelayId = 0U; - UINT16 routeDCQRelayTwoId = 0U; - UINT8 routeDCQState = 0U; - UINT8 localCi = 0U; - UINT8 belongCi = 0U; + UINT16 ii = 0u; /* α */ + UINT16 routeSum = 0u; /* · */ + UINT16 routeId = 0u; /* ID */ + UINT8 routeType = 0u;/*·*/ + UINT16 routeDCQRelayId = 0u; + UINT8 routeDCQState = 0u; + + UINT8 localCi = 0u; + UINT8 belongCi = 0u; + + UINT8 reVal = CI_ERROR; - routeSum = GetRouteCurSum(); localCi = GetSystemParaLocalCiId();/**/ + routeSum = GetRouteCurSum(); - for (ii = 0U; ii < routeSum; ii++) + for (ii = 0u; ii < routeSum; ii++) { routeId = GetRouteId(ii); - if ((0U < routeId) && (ROUTE_SUM_MAX > routeId)) + /*֤·id벻Ϊ0*/ + if (0u == routeId) { - /*֤·Ϊ*/ + reVal = CI_ERROR; + } + else + { + reVal = CI_SUCCESS; + } + + if (CI_SUCCESS == reVal) + {/*֤·Ϊ*/ belongCi = GetRouteBelongCiId(routeId); if (belongCi == localCi) { - routeDCQRelayId = GetRouteDCQJId(routeId); - routeDCQRelayTwoId = GetRouteDCQJTwoId(routeId); - chRouteType = GetRouteType(routeId); - - if ((0U < routeDCQRelayId) && (0U < routeDCQRelayTwoId) && (ROUTE_TYPE_DIAOCHE == chRouteType)) - { - routeDCQState = GetRouteDCQState(routeId); - - if (ROUTE_DCQ_REQUEST == routeDCQState) - { - /*еõ̵Ϊ*/ - (void)SetRelayDriveState(routeDCQRelayId, RELAY_DRIVE_STATE_UP); - (void)SetRelayDriveState(routeDCQRelayTwoId, RELAY_DRIVE_STATE_UP); - } - else - { - /*޵õ̵Ϊ*/ - (void)SetRelayDriveState(routeDCQRelayId, RELAY_DRIVE_STATE_DOWN); - (void)SetRelayDriveState(routeDCQRelayTwoId, RELAY_DRIVE_STATE_DOWN); - } - } - else - { - ; /*ûǵ·*/ - } + reVal = CI_SUCCESS; } else { - ; /*DZ·*/ + reVal = CI_ERROR; } } - else - { - ; /**/ + + if (CI_SUCCESS == reVal) + {/*·Ϊ·*/ + routeType = GetRouteType(routeId); + if (ROUTE_TYPE_DIAOCHE == routeType) + { + reVal = CI_SUCCESS; + } + else + { + reVal = CI_ERROR; + } } + + if (CI_SUCCESS == reVal) + { + routeDCQState = GetRouteDCQState(routeId); + + routeDCQRelayId = GetRouteDCQJId(routeId); + + if (routeDCQRelayId > 0u) + {/*·̵id0u*/ + if (ROUTE_DCQ_REQUEST == routeDCQState) + {/*еõ̵Ϊ*/ + (void)SetRelayDriveState(routeDCQRelayId, RELAY_DRIVE_STATE_UP); + } + else + {/*޵õ̵Ϊ*/ + (void)SetRelayDriveState(routeDCQRelayId, RELAY_DRIVE_STATE_DOWN); + } + } + } + } - } /* @@ -11955,11 +11859,10 @@ UINT8 GetEsbCurNeedSetState(UINT16 esbId) UINT8 resultVal = CI_ERROR;/*ֵ*/ UINT8 curEsbDriveState = 0u; /*ǰesbؼ̵״̬*/ UINT16 bufIndex = 0U; /*±*/ - UINT8 cFuncRet = 0U; bufIndex = GetEsbConfigBufIndex(esbId); /*ȡ±*/ if (bufIndex < ESB_SUM_MAX) - { + { esbRelayId = GetEsbRelayId(esbId); esbRelayState = GetRelayCollState(esbRelayId); ESSRelayId = GetESSRelayId(esbId); @@ -11991,14 +11894,17 @@ UINT8 GetEsbCurNeedSetState(UINT16 esbId) else { /*ͣؼ̵ʱesb״ֻ̬esbɼ̵״̬*/ - cFuncRet = GetEsbCollTolerateRet(esbId); /*ȡESBɼ̽*/ - if (CI_SUCCESS == cFuncRet) + if (RELAY_STATE_DOWN == esbRelayState) { - resultVal = ESB_STATE_VALID_NO; /*esbɼ̵δʱ䣬ؽЧ*/ + resultVal = ESB_STATE_VALID_YES; /*esbɼ̵ʱЧ*/ + } + else if (RELAY_STATE_UP == esbRelayState) + { + resultVal = ESB_STATE_VALID_NO; /*esbɼ̵ʱЧ*/ } else { - resultVal = ESB_STATE_VALID_YES; /*esbɼ̵ҳʱ󣬷ؽЧ*/ + resultVal = CI_ERROR; /*ڵֵʧܲesb״̬*/ } } } @@ -12049,10 +11955,9 @@ void EsbRelateDelayDriveOutputProc(void) /*ESBDZ*/ if (localCiId == devBlongCiId) { - if (FUNC_SWITCH_ON == funcswitchZfsBtn) + if (FUNC_SWITCH_ON == funcswitchZfsBtn) /*ԸʽESB̵*/ { - /***** Ըʽ/·ESB̵ *****/ - /*1.ԸʽESB̵״̬*/ + /*ԸʽESB̵״̬*/ esbBuzzRelayId = GetEsbBuzzRelayId(esbId); if ((0u < esbBuzzRelayId) && (UINT16_MAX > esbBuzzRelayId)) { @@ -12073,7 +11978,7 @@ void EsbRelateDelayDriveOutputProc(void) } } - /*2.ԸʽESBг̵״̬*/ + /*ԸʽESBг̵״̬*/ esbCutoffBuzzRelayId = GetEsbCutoffBuzzRelayId(esbId); if ((0U < esbCutoffBuzzRelayId) && (UINT16_MAX > esbCutoffBuzzRelayId)) { @@ -12094,7 +11999,7 @@ void EsbRelateDelayDriveOutputProc(void) } } } - else /*ԸʽESBESB̵*/ + else /*ԸʽESB̵*/ { /*ȡ·ť״̬ESB״̬*/ esbCutState = GetEsbCutState(esbId); @@ -15111,6 +15016,7 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId) UINT8 switchCurPosition = 0u; UINT8 faultFlag = GetSwitchFaultState(switchId); /*ȡǷ忨*/ UINT16 switch2ndId = GetDSwitchOtherId(switchId); /*˫*/ + UINT32 TolerateCycNum = 0U; /*־ӡʹ*/ curCycNum = Get2oo2CurCycleNum(); chSwitchColPos = GetSwitchCollPos(switchId); @@ -15147,8 +15053,6 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId) /*ֹͣ*/ SetSwitchCollTolerateCycNum(switchId, 0u); } - switchCollTolerateCycNum = GetSwitchCollTolerateCycNum(switchId); - debug_infor_printf((const)"\n SwitchCollTolerate Sikai_Switch ID:%d, TolerateCycNumNum%d \n.", switchId, switchCollTolerateCycNum); } else { @@ -15161,6 +15065,8 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId) /*λã*/ SetSwitchCollTolerateCycNum(switchId, 0u); } + TolerateCycNum = GetSwitchCollTolerateCycNum(switchId); + debug_infor_printf((const)"\n SwitchCollTolerate Switch ID:%d, TolerateCycNumNum%d \n.", switchId, TolerateCycNum); switchCollTolerateCycNum = GetSwitchCollTolerateCycNum(switchId); timeState = SystemOverTimeCheck(switchCollTolerateCycNum, COLLTOLERATE_CYCNUM);/*2*/ if (CI_TIME_NO == timeState) /*δʱ*/ @@ -15174,7 +15080,6 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId) else { retPos = chSwitchColPos;/*ʱ*/ - SetSwitchCollTolerateCycNum(switchId, 0u); } return retPos; } @@ -15192,41 +15097,14 @@ UINT8 CheckSwitchCollTolerateState(UINT16 switchId) UINT8 phySecLockState = 0u; /*״̬*/ UINT8 switchLockStatus = 0u; /*״̬*/ UINT8 phySecJumpLockState = 0u; /*Ծ״̬*/ - UINT16 switchLogSum = 0U; /*߼*/ - UINT16* logSecBuf = NULL; - UINT8 chLogSecState = 0U; /*߼״̬*/ - UINT16 i = 0U; - UINT8 chSwithLogRouteLockCheck = CI_ERROR; /*߼Ƿ߼·*/ if((0U != switchId) && (switchId < SWITCH_SUM_MAX)) { switchPhySecId = GetSwitchPhySectionId(switchId); phySecLockState = GetPhySecLockState(switchPhySecId); phySecJumpLockState = GetPhySecJumpLockState(switchPhySecId); + switchLockStatus = GetSwitchLockStatus(switchId); - switchLogSum = GetSwitchLogSecSum(switchId); - logSecBuf = GetSwitchLogSecBuf(switchId); - /*߼״̬*/ - if ((0U != switchLogSum)&&(NULL != logSecBuf)) - { - for (i = 0u; i < switchLogSum; i++) - { - /*߼߼״̬*/ - chLogSecState = GetLogSecLogLockState(logSecBuf[i]); - if (LOG_SECTION_LOGLOCK_NORMAL == chLogSecState) - { - chSwithLogRouteLockCheck = CI_SUCCESS; /*߼Ϊ߼*/ - break; - } - else - { - ; /**/ - } - } - } - else - { - chSwithLogRouteLockCheck = CI_ERROR; - } + if ((PHYSICAL_SECTION_LOCK_NORMAL == phySecLockState) || (PHYSICAL_SECTION_LOCK_PROTECT == phySecLockState) @@ -15234,7 +15112,7 @@ UINT8 CheckSwitchCollTolerateState(UINT16 switchId) || (PHYSICAL_SECTION_JUMP_LOCK_YES == phySecJumpLockState) || (SWITCH_LOCK_STATUS_PROTECT == switchLockStatus) || (SWITCH_LOCK_STATUS_DAP == switchLockStatus) - || (CI_SUCCESS == chSwithLogRouteLockCheck)) + ) { /*||||ʱ||Ծ||*/ chRet = CI_SUCCESS; } @@ -15249,1197 +15127,4 @@ UINT8 CheckSwitchCollTolerateState(UINT16 switchId) } return chRet; -} - -/* -* ·ͣť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.28 -*/ -void EsbNXRailBtnProc(UINT16 esbId) -{ - UINT8 localCiId = 0U; /*ID*/ - UINT16 esbRelayId = 0u; /*esb̵ID*/ - UINT8 esbRelayBelongCiId = 0U; /*esbɼ̵CI*/ - UINT8 esbRelayCollState = 0U; /*esbťɼ̵״̬*/ - UINT16 bufIndex = 0U; /*±*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - - bufIndex = GetEsbConfigBufIndex(esbId); - - if (bufIndex < ESB_SUM_MAX) - { - localCiId = GetSystemParaLocalCiId(); - esbRelayId = GetEsbRelayId(esbId); - esbRelayBelongCiId = GetRelayBelongCiId(esbRelayId); - if ((0U != localCiId) && (esbRelayBelongCiId == localCiId)) - { - esbRelayCollState = GetRelayCollState(esbRelayId); /*ȡESB̵ɼ״̬*/ - if (RELAY_STATE_UP == esbRelayCollState) - { - /*ESBδ¡ɼ̵άֵǰ״̬*/ - } - else - { - (void)SetEsbState(esbId, ESB_STATE_VALID_YES); /*ESBɼ̵£ť»忨ϻOCͨжϵµ£Ч*/ - - /** ̵£½رհťɼ̵״̬ **/ - wRelayBelongOcId = GetRelayBelongOCId(esbRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(esbRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(esbRelayId); /*ȡBϵ忨״̬*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState))) - { - /*OCͨһϵ忨״̬ü̵*/ - SetEsbRelayDownState(esbId, ESB_RELAY_ERROR_DOWN_NO); - } - else - { - /*OCͨ쳣ϵ忨״̬ϣü̵ͨ쳣*/ - SetEsbRelayDownState(esbId, ESB_RELAY_ERROR_DOWN_YES); - } - } - } - else - { - /*̵ID/DZ*/ - } - } - else - { - /*󣬲*/ - } -} - -/* -* ·ͣȡť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.28 -*/ -void EsbNXRailCancelBtnProc(UINT16 esbId) -{ - UINT16 wEsbIdIndex = 0U; /*ESB±*/ - UINT16 cancelEsbRelayId = 0u; /*ȡesb̵ID*/ - UINT8 localCiId = 0U; /*ID*/ - UINT8 cancelEsbRelayBelongCiId = 0U; /*ȡesbɼ̵1CI*/ - UINT32 zfsBtnRelayCollCycNum = 0U; /*Ըʽť̵жϲɼЧ*/ - UINT32 zfsBtnRelayFaultCycNum = 0U; /*Ըʽť̵жϹ*/ - UINT32 zfsBtnRelayErrTriggerCycNum = 0U; /*Ըʽť̵ж󴥷*/ - UINT32 cancelEsbPressCycNum = 0U; /*ȡرհť*/ - UINT32 cancelEsbErrTriggerPressCycNum = 0U; /*ȡرհť󴥷*/ - UINT8 cancelEsbValidFlag = ESB_CANCEL_VALID_NO; /*ȡرհťЧ־*/ - UINT8 btnPressValidTime = CI_TIME_NO; /*ťʱǷﵽЧʱ*/ - UINT8 btnPressFaultTime = CI_TIME_NO; /*ťʱǷﵽʱ*/ - UINT8 btnPressErrTriggerTime = CI_TIME_NO; /*ťʱǷﵽ󴥷ʱ*/ - UINT16 wEsbRelayId = 0U; /*ESBɼ̵ID*/ - UINT8 cEsbRelayCollState = 0U; /*ESBɼ̵״̬*/ - UINT16 wEsbRelayBelongOcId = 0U; /*esbɼ̵OC*/ - UINT8 cEsbRelayDownState = ESB_RELAY_ERROR_DOWN_NO; /*رհť̵״̬*/ - - wEsbIdIndex = GetEsbConfigBufIndex(esbId); - - if (wEsbIdIndex < ESB_SUM_MAX) - { - cancelEsbRelayId = GetCancelEsbRelayId(esbId); - cancelEsbRelayBelongCiId = GetRelayBelongCiId(cancelEsbRelayId); - localCiId = GetSystemParaLocalCiId(); - - if ((0U != localCiId) && (localCiId == cancelEsbRelayBelongCiId)) - { - /***** 1.رȡť/󴥷ںͲɼ̵״̬ *****/ - EsbZfsCancelBtnPressStateProc(esbId, cancelEsbRelayId); - - /***** 2.رȡťЧ־ *****/ - EsbNXRailCancelBtnValidFlagProc(esbId, cancelEsbRelayId); - - /***** 3.״̬رȡťЧ־ *****/ - cancelEsbValidFlag = GetCancelEsbValidFlag(esbId); - cancelEsbPressCycNum = GetCancelEsbPressCycNum(esbId); - zfsBtnRelayCollCycNum = GetSelfButCollCount(); - btnPressValidTime = SystemOverTimeCheck(cancelEsbPressCycNum, zfsBtnRelayCollCycNum); - zfsBtnRelayFaultCycNum = GetSelfCancelButErrCount(); - btnPressFaultTime = SystemOverTimeCheck(cancelEsbPressCycNum, zfsBtnRelayFaultCycNum); - wEsbRelayId = GetEsbRelayId(esbId); - cEsbRelayCollState = GetRelayCollState(wEsbRelayId); /*ȡESB̵ɼ״̬*/ - wEsbRelayBelongOcId = GetRelayBelongOCId(wEsbRelayId); - cEsbRelayDownState = GetEsbRelayDownState(esbId); /*ȡťɼ̵״̬*/ - - if ((ESB_CANCEL_VALID_YES == cancelEsbValidFlag) && (CI_TIME_OUT == btnPressValidTime) && (CI_TIME_OUT != btnPressFaultTime)) - { - /*ȡرհťЧҰťʱﵽжϲɼЧʱδﵽжʱ䣬ýرЧȡرհťЧ*/ - (void)SetEsbState(esbId, ESB_STATE_VALID_NO); - SetCancelEsbValidFlag(esbId, ESB_CANCEL_VALID_NO); - } - else if ((RELAY_STATE_UP == cEsbRelayCollState) && (ESB_RELAY_ERROR_DOWN_YES == cEsbRelayDownState)) - { - /*OCʼͨŵڻ̵˫ϵ忨ָڣرհťýرЧ*/ - (void)SetEsbState(esbId, ESB_STATE_VALID_NO); - } - else - { - /**/ - } - - /***** 4.رȡťϱ־ *****/ - cancelEsbErrTriggerPressCycNum = GetCancelEsbErrTrigPressCycNum(esbId); /*ȡȡť󴥷*/ - zfsBtnRelayErrTriggerCycNum = GetSelfCancelButErrTriggerCount(); /*ȡԸʽȡť󴥷жʱ*/ - btnPressErrTriggerTime = SystemOverTimeCheck(cancelEsbErrTriggerPressCycNum, zfsBtnRelayErrTriggerCycNum); - - if ((CI_TIME_OUT == btnPressFaultTime) || (CI_TIME_OUT == btnPressErrTriggerTime)) - { - /*ȡťʱﵽжʱ󴥷ʱﵽ󴥷жʱ䣬ȡͣťϱ־*/ - SetCancelEsbErrFlag(esbId, ESB_ERROR_FLAG_YES); - } - else - { - SetCancelEsbErrFlag(esbId, ESB_ERROR_FLAG_NO); - } - } - else - { - /*̵ID/DZ*/ - } - } - else - { - /*󣬲*/ - } -} - -/* -* ·ͣȡťЧ־ -* ˵const UINT16 wEsbId ESB ID -* const UINT16 wCancelEsbRelayId ESBȡťɼ̵ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCancelBtnValidFlagProc(const UINT16 wEsbId, const UINT16 wCancelEsbRelayId) -{ - UINT16 wEsbIdIndex = 0U; /*ESB±*/ - UINT16 wRelayIdIndex = 0U; /*̵±*/ - UINT8 cEsbState = ESB_STATE_VALID_NO; /*ر״̬*/ - UINT16 wEsbRelayId = 0U; /*ESBɼ̵ID*/ - UINT8 cEsbRelayCollState = 0U; /*ESBɼ̵״̬*/ - UINT8 cCancelEsbRelayCollState = 0U; /*ESBȡťɼ̵״̬*/ - UINT8 cCancelEsbRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*ESBȡť̵״̬*/ - - wEsbIdIndex = GetEsbConfigBufIndex(wEsbId); - wRelayIdIndex = GetRelayConfigBufIndex(wCancelEsbRelayId); - - if ((wEsbIdIndex < ESB_SUM_MAX) && (wRelayIdIndex < RELAY_SUM_MAX)) - { - cEsbState = GetEsbState(wEsbId); /*ȡESB״̬*/ - wEsbRelayId = GetEsbRelayId(wEsbId); - cEsbRelayCollState = GetRelayCollState(wEsbRelayId); /*ȡESB̵ɼ״̬*/ - cCancelEsbRelayCollState = GetRelayCollState(wCancelEsbRelayId); /*ȡESBȡť̵ɼ״̬*/ - cCancelEsbRelayDownState = GetCancelEsbRelayDownState(wEsbId); /*ȡESBȡťɼ̵״̬*/ - - if ((ESB_STATE_VALID_YES == cEsbState) && (RELAY_STATE_UP == cEsbRelayCollState) - && (RELAY_STATE_DOWN == cCancelEsbRelayCollState) && (ESB_RELAY_ERROR_DOWN_NO == cCancelEsbRelayDownState)) - { - /*رЧҽرհťɼ̵ȡرհťɼ̵Ϊ£ȡرհťЧ*/ - SetCancelEsbValidFlag(wEsbId, ESB_CANCEL_VALID_YES); - } - else if ((RELAY_STATE_UP != cEsbRelayCollState) || (ESB_RELAY_ERROR_DOWN_NO != cCancelEsbRelayDownState)) - { - /*رհťɼ̵δȡťɼ̵״̬£ȡرհťЧ*/ - SetCancelEsbValidFlag(wEsbId, ESB_CANCEL_VALID_NO); - } - else - { - /**/ - } - } - else - { - /*ηǷ*/ - } -} - -/* -* ·ͣ·ť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCutBtnProc(UINT16 esbId) -{ - UINT16 wEsbIdIndex = 0U; /*ESB±*/ - UINT16 wEsbCutRelayId = 0u; /*ر·ťɼ̵ID*/ - UINT8 localCiId = 0U; /*ID*/ - UINT8 EsbCutRelayBelongCiId = 0U; /*ر·ťɼ̵CI*/ - UINT8 cEsbState = ESB_STATE_VALID_NO; /*ر״̬*/ - UINT32 zfsBtnRelayCollCycNum = 0U; /*Ըʽť̵жϲɼЧ*/ - UINT32 zfsBtnRelayFaultCycNum = 0U; /*Ըʽť̵жϹ*/ - UINT32 zfsBtnRelayErrTriggerCycNum = 0U; /*Ըʽť̵ж󴥷*/ - UINT32 dwEsbCutPressCycNum = 0U; /*ر·ť*/ - UINT32 dwEsbCutErrTriggerPressCycNum = 0U; /*ر·ť󴥷*/ - UINT8 btnPressValidTime = CI_TIME_NO; /*ťʱǷﵽЧʱ*/ - UINT8 btnPressFaultTime = CI_TIME_NO; /*ťʱǷﵽʱ*/ - UINT8 btnPressErrTriggerTime = CI_TIME_NO; /*ťʱǷﵽ󴥷ʱ*/ - - wEsbIdIndex = GetEsbConfigBufIndex(esbId); - - if (wEsbIdIndex < ESB_SUM_MAX) - { - wEsbCutRelayId = GetEsbCutRelayId(esbId); - EsbCutRelayBelongCiId = GetRelayBelongCiId(wEsbCutRelayId); - localCiId = GetSystemParaLocalCiId(); - if ((0U != localCiId) && (localCiId == EsbCutRelayBelongCiId)) - { - /***** 1.ر·ť/󴥷ںͲɼ̵״̬ *****/ - EsbNXRailCutBtnPressStateProc(esbId, wEsbCutRelayId); - - /***** 2.ر·ť·״̬ *****/ - cEsbState = GetEsbState(esbId); /*ȡESB״̬*/ - dwEsbCutPressCycNum = GetEsbCutPressCycNum(esbId); - zfsBtnRelayCollCycNum = GetSelfButCollCount(); - btnPressValidTime = SystemOverTimeCheck(dwEsbCutPressCycNum, zfsBtnRelayCollCycNum); - zfsBtnRelayFaultCycNum = GetSelfCancelButErrCount(); - btnPressFaultTime = SystemOverTimeCheck(dwEsbCutPressCycNum, zfsBtnRelayFaultCycNum); - - if ((ESB_STATE_VALID_YES == cEsbState) && (CI_TIME_OUT == btnPressValidTime) && (CI_TIME_OUT != btnPressFaultTime)) - { - /*Чҽر·ťʱﵽжϲɼЧʱδﵽжʱ䣬·Ч*/ - SetEsbCutState(esbId, ESB_CUT_YES); - } - else - { - SetEsbCutState(esbId, ESB_CUT_NO); /*·Ч*/ - } - - /***** 3.ر·ťϱ־ *****/ - dwEsbCutErrTriggerPressCycNum = GetEsbCutErrTrigPressCycNum(esbId); /*ȡ·ť󴥷*/ - zfsBtnRelayErrTriggerCycNum = GetSelfCancelButErrTriggerCount(); /*ȡԸʽȡť󴥷жʱ*/ - btnPressErrTriggerTime = SystemOverTimeCheck(dwEsbCutErrTriggerPressCycNum, zfsBtnRelayErrTriggerCycNum); - - if ((CI_TIME_OUT == btnPressFaultTime) || (CI_TIME_OUT == btnPressErrTriggerTime)) - { - /*·ťʱﵽжʱ󴥷ʱﵽ󴥷жʱ䣬ýر·ťϱ־Ч*/ - SetEsbCutErrFlag(esbId, ESB_ERROR_FLAG_YES); - } - else - { - SetEsbCutErrFlag(esbId, ESB_ERROR_FLAG_NO); - } - } - else - { - /*̵ID/DZ*/ - } - } - else - { - /*󣬲*/ - } -} - -/* -* ·ͣ·ť״̬ -* ˵const UINT16 wEsbId ESB ID -* const UINT16 wCutEsbRelayId ·ťɼ̵ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCutBtnPressStateProc(const UINT16 wEsbId, const UINT16 wCutEsbRelayId) -{ - UINT16 wEsbIdIndex = 0U; /*ESB±*/ - UINT16 wRelayIdIndex = 0U; /*̵±*/ - UINT8 cCutRelayCollState = 0U; /*·ťɼ̵״̬*/ - UINT8 cEsbState = ESB_STATE_VALID_NO; /*ر״̬*/ - UINT8 cCutRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*ر·ť̵״̬*/ - UINT32 dwCutBtnPressCycNum = 0U; /*ر·ť*/ - UINT32 dwBtnErrTrigPressCycNum = 0U; /*ť󴥷*/ - UINT32 dwCurCycNum = 0U; /*ǰ*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - - wEsbIdIndex = GetEsbConfigBufIndex(wEsbId); - wRelayIdIndex = GetRelayConfigBufIndex(wCutEsbRelayId); - - if ((wEsbIdIndex < ESB_SUM_MAX) && (wRelayIdIndex < RELAY_SUM_MAX)) - { - cCutRelayCollState = GetRelayCollState(wCutEsbRelayId); /*ȡ·ť̵ɼ״̬*/ - - if (RELAY_STATE_UP == cCutRelayCollState) - { - /** ̵𣬸½ر·ť/󴥷 **/ - cEsbState = GetEsbState(wEsbId); /*ȡESB״̬*/ - cCutRelayDownState = GetEsbCutRelayDownState(wEsbId); /*ȡ·ťɼ̵״̬*/ - dwCutBtnPressCycNum = GetEsbCutPressCycNum(wEsbId); /*ȡ·ť*/ - dwBtnErrTrigPressCycNum = GetEsbCutErrTrigPressCycNum(wEsbId); /*ȡ·ť󴥷*/ - dwCurCycNum = Get2oo2CurCycleNum(); - - if ((ESB_STATE_VALID_YES == cEsbState) && (ESB_RELAY_ERROR_DOWN_NO == cCutRelayDownState)) - { - /*Ч֮ǰر·ťɼ̵״̬OCͨҰ忨״̬½ر·ť*/ - if ((0U == dwCutBtnPressCycNum) && (0U == dwBtnErrTrigPressCycNum)) - { - SetEsbCutPressCycNum(wEsbId, dwCurCycNum); /*º󴥷²ͬʱ*/ - } - else - { - /**/ - } - } - else - { - /*Ч֮ǰر·ťɼ̵δ״̬OCͨжϻ˫ϵ忨״̬쳣½ر·ť󴥷*/ - if ((0U == dwCutBtnPressCycNum) && (0U == dwBtnErrTrigPressCycNum)) - { - SetEsbCutErrTrigPressCycNum(wEsbId, dwCurCycNum); /*º󴥷²ͬʱ*/ - } - else - { - /**/ - } - } - } - else - { - /** ̵£½ر·ťɼ̵״̬ **/ - wRelayBelongOcId = GetRelayBelongOCId(wCutEsbRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCutEsbRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCutEsbRelayId); /*ȡBϵ忨״̬*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState))) - { - /*OCͨһϵ忨״̬ü̵*/ - SetEsbCutRelayDownState(wEsbId, ESB_RELAY_ERROR_DOWN_NO); - } - else - { - /*OCͨ쳣ϵ忨״̬ϣü̵ͨ쳣*/ - SetEsbCutRelayDownState(wEsbId, ESB_RELAY_ERROR_DOWN_YES); - } - - /** ̵£ر·ťں󴥷 **/ - SetEsbCutPressCycNum(wEsbId, 0U); - SetEsbCutErrTrigPressCycNum(wEsbId, 0U); - } - } - else - { - /*ηǷ*/ - } -} - -/* -* ·ESBָʾƺESB·ָʾ -* ˵const UINT16 wEsbId ESB ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailDisplayDrivOutput(const UINT16 wEsbId) -{ - UINT16 esbDisplayRelayId = 0U; /*esbָʾƼ̵ID*/ - UINT16 esbPlatformDisRelayId = 0U; /*esbվָ̨ʾƼ̵ID*/ - UINT16 cutEsbDisplayId = 0U; /*esb·ָʾƼ̵ID*/ - UINT8 chLocalCiId = 0U; /*ID*/ - UINT8 devBlongCiId = 0U; /*豸ID*/ - UINT8 esbState = ESB_STATE_VALID_NO; /*ر״̬*/ - UINT16 bufIndex = 0U; /*±*/ - UINT8 cEsbCutState = 0U; /*ESB·״̬*/ - - chLocalCiId = GetSystemParaLocalCiId(); /*ȡID*/ - devBlongCiId = GetEsbBelongCiId(wEsbId); /*ȡ豸ID*/ - - if ((0U != chLocalCiId) && (chLocalCiId == devBlongCiId)) - { - esbState = GetEsbState(wEsbId); - cEsbCutState = GetEsbCutState(wEsbId); - /*ESBָʾ״̬*/ - esbDisplayRelayId = GetEsbDisRelayId(wEsbId); /*esb IDȡesbָʾID*/ - bufIndex = GetRelayConfigBufIndex(esbDisplayRelayId); /*ȡ̵±*/ - if (RELAY_SUM_MAX > bufIndex) - { - if ((ESB_STATE_VALID_YES == esbState) && (ESB_CUT_NO == cEsbCutState)) - { - (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_UP); /*·ЧESBָʾ*/ - } - else - { - (void)SetRelayDriveState(esbDisplayRelayId, RELAY_STATE_DOWN); /*δ·ЧESBָʾ*/ - } - } - else - { - /*ûESBָʾƣ*/ - } - - /*ESBվָ̨ʾ״̬*/ - esbPlatformDisRelayId = GetEsbPlatformDisRelayId(wEsbId); /*esb IDȡesbվָ̨ʾƼ̵ID*/ - bufIndex = GetRelayConfigBufIndex(esbPlatformDisRelayId); /*ȡ̵±*/ - if (RELAY_SUM_MAX > bufIndex) - { - /*ESBָʾ״̬*/ - if ((ESB_STATE_VALID_YES == esbState) && (ESB_CUT_NO == cEsbCutState)) - { - (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_UP); /*·ЧESBվָ̨ʾ*/ - } - else - { - (void)SetRelayDriveState(esbPlatformDisRelayId, RELAY_STATE_DOWN); /*δ·ЧESBվָ̨ʾ*/ - } - } - else - { - /*ûESBվָ̨ʾƣ*/ - } - - cutEsbDisplayId = GetEsbCutDisRelayId(wEsbId); /*esb IDȡesb·ָʾID*/ - bufIndex = GetRelayConfigBufIndex(cutEsbDisplayId); /*ȡ̵±*/ - if (RELAY_SUM_MAX > bufIndex) - { - if (ESB_CUT_YES == cEsbCutState) - { - (void)SetRelayDriveState(cutEsbDisplayId, RELAY_STATE_UP); /*·Чָʾ*/ - } - else - { - (void)SetRelayDriveState(cutEsbDisplayId, RELAY_STATE_DOWN); /*·Чָʾ*/ - } - } - else - { - /*û·ťָʾƼ̵*/ - } - } - else - { - /*DZ豸*/ - } -} - -/* -* 쳣򿪴 -* ˵ -* ֵ -* Created By LQ 2025.05.23 -*/ -void PsdExceptOpenProc(void) -{ - UINT16 wPsdCurNum = 0U; /*PSD*/ - UINT16 ii = 0U; - UINT16 wPsdId = 0U; /*ID*/ - UINT8 cPsdVirtualAttr = 0U; /**/ - UINT8 cPsdMutualLockRemoveState = 0U; /*PSD״̬*/ - UINT8 cPsdState = 0U; /*PSD״̬*/ - UINT16 wPsdRelPhySecId = 0U; /*PSDID*/ - UINT8 cPhySecMerOccState = 0U; /*վ̨ںռ״̬*/ - - wPsdCurNum = GetPsdSum(); - for (ii = 0U; ii < wPsdCurNum; ii++) - { - wPsdId = GetPsdId(ii); - cPsdVirtualAttr = GetPsdVirtualAttribute(wPsdId); /*ȡPSD*/ - if (PSD_VIRTUAL_ATTR_NO == cPsdVirtualAttr) - { - cPsdMutualLockRemoveState = GetPsdMutualLockRemoveState(wPsdId); /*ȡPSD״̬*/ - if (PSD_MUTUALLOCK_REMOVE_NO == cPsdMutualLockRemoveState) - { - cPsdState = GetPsdState(wPsdId); /*ȡPSD״̬*/ - wPsdRelPhySecId = GetPsdRelatedPhySecId(wPsdId); - cPhySecMerOccState = GetPhySecCurMergeState(wPsdRelPhySecId); - if ((PSD_STATE_OPEN == cPsdState) && (SECTION_OCCUPY_YES != cPhySecMerOccState)) - { - SetPsdExceptOpenState(wPsdId, PSD_EXCEPT_OPEN_YES); /*PSDδռãPSD쳣*/ - } - else - { - SetPsdExceptOpenState(wPsdId, PSD_EXCEPT_OPEN_NO); /*PSDδ쳣*/ - } - } - else - { - SetPsdExceptOpenState(wPsdId, PSD_EXCEPT_OPEN_NO); /*PSDδ쳣*/ - } - } - else - { - SetPsdExceptOpenState(wPsdId, PSD_EXCEPT_OPEN_NO); /*PSDPSDδ쳣*/ - } - } -} - -/* -* Ըʽ۳·ť -* ˵const UINT16 signalId źŻID -* ֵ -* Created By LQ 2025.06.20 -*/ -void SignalZfsDetainCutBtnPro(const UINT16 signalId) -{ - UINT16 wSignalIdIndex = 0U; /*źŻ±*/ - UINT16 wDetCutBtnRelayId = 0U; /*۳·ťɼ̵ID*/ - UINT8 cLocalCiId = 0U; /*ID*/ - UINT8 cDetCutRelayBelongCiId = 0U; /*۳·ťɼ̵CI*/ - UINT32 dwDetCutBtnPressCycNum = 0U; /*۳·ť*/ - UINT32 dwZfsCutBtnFaultCycNum = 0U; /*Ըʽ۳·ťж*/ - UINT8 cBtnFaultTimeFlag = CI_TIME_NO; /*ťʱǷﵽʱ*/ - UINT32 dwDetCutErrTrigPressCycNum = 0U; /*۳·ť󴥷*/ - UINT32 dwZfsCutBtnErrTrigCycNum = 0U; /*Ըʽ۳·ť󴥷ж*/ - UINT8 cBtnErrTrigTimeFlag = CI_TIME_NO; /*ťʱǷﵽ󴥷ʱ*/ - UINT8 cDetCutBtnState = 0U; /*۳·ť״̬*/ - - wSignalIdIndex = GetSignalConfigBufIndex(signalId); - - if (SIGNAL_SUM_MAX > wSignalIdIndex) - { - wDetCutBtnRelayId = GetSignalDetainCutRelayId(signalId); - cDetCutRelayBelongCiId = GetRelayBelongCiId(wDetCutBtnRelayId); - cLocalCiId = GetSystemParaLocalCiId(); - - if ((cLocalCiId == cDetCutRelayBelongCiId) && (0U != cLocalCiId)) - { - /***** 1.۳·ť/󴥷ںͲɼ̵״̬ *****/ - ZfsDetCutBtnPressStateProc(signalId, wDetCutBtnRelayId); - - /***** 2.۳·ťϱ־ *****/ - dwDetCutBtnPressCycNum = GetDetCutBtnPressCycNum(signalId); - dwZfsCutBtnFaultCycNum = GetSelfCancelButErrCount(); - cBtnFaultTimeFlag = SystemOverTimeCheck(dwDetCutBtnPressCycNum, dwZfsCutBtnFaultCycNum); /*жϿ۳·ťʱǷﵽʱ*/ - dwDetCutErrTrigPressCycNum = GetDetCutBtnErrTrigPressCycNum(signalId); - dwZfsCutBtnErrTrigCycNum = GetSelfCancelButErrTriggerCount(); - cBtnErrTrigTimeFlag = SystemOverTimeCheck(dwDetCutErrTrigPressCycNum, dwZfsCutBtnErrTrigCycNum); /*жϿ۳·ť󴥷ʱǷﵽ󴥷ʱ*/ - - if ((CI_TIME_OUT == cBtnFaultTimeFlag) || (CI_TIME_OUT == cBtnErrTrigTimeFlag)) - { - /*۳·ʱﵽжϹЧʱ۳·ť󴥷ʱﵽж󴥷Чʱ䣬ÿ۳·ťϱ־Ч*/ - SetSignalDetCutBtnErrFlag(signalId, SIGNAL_ZFS_BTN_ERR_FLAG_YES); - } - else - { - SetSignalDetCutBtnErrFlag(signalId, SIGNAL_ZFS_BTN_ERR_FLAG_NO); /*ÿ۳·ťϱ־Ч*/ - } - - /***** 3.۳·ťЧ״̬ *****/ - ZfsDetCutBtnValidStateProc(signalId, wDetCutBtnRelayId); - - /***** 4.·ť״̬ˢ¿۳ť־ *****/ - cDetCutBtnState = GetDetCutBtnState(signalId); - if (SIGNAL_DETAIN_CUT_VALID_YES == cDetCutBtnState) - { - /*۳·ťЧÿ۳ť־Ч*/ - SetSignalDetainBtnActFlag(signalId, SIGNAL_ZFS_BTN_ACT_FLAG_NO); - } - else - { - /*۳·ťЧ*/ - } - } - else - { - /*DZ*/ - } - } - else - { - /*ηǷ*/ - } -} - -/* -* Ըʽ۳·ť״̬ -* ˵const UINT16 wSignalId źŻID -* const UINT16 wDetCutBtnRelayId ۳·ťɼ̵ID -* ֵ -* Created By LQ 2025.06.20 -*/ -void ZfsDetCutBtnPressStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId) -{ - UINT16 wSignalIdIndex = 0U; /*źŻ±*/ - UINT16 wRelayIdIndex = 0U; /*̵±*/ - UINT8 cDetCutRelayCollState = 0U; /*۳·ťɼ̵״̬*/ - UINT8 cDetainBtnActFlag = SIGNAL_ZFS_BTN_ACT_FLAG_NO; /*۳ť־*/ - UINT8 cDetButErrorFlag = 0U; /*۳ťϱ־*/ - UINT8 cDetCancelBtnErrorFlag = 0U; /*۳ȡťϱ־*/ - UINT8 cDetCutRelayDownState = SIGNAL_RELAY_ERROR_DOWN_YES; /*۳·ťɼ̵״̬*/ - UINT32 dwDetCutBtnPressCycNum = 0U; /*۳·ť*/ - UINT32 dwDetCutErrTrigPressCycNum = 0U; /*۳·ť󴥷*/ - UINT32 dwCurCycNum = 0U; /*ǰ*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - - wSignalIdIndex = GetSignalConfigBufIndex(wSignalId); - wRelayIdIndex = GetRelayConfigBufIndex(wDetCutBtnRelayId); - - if ((SIGNAL_SUM_MAX > wSignalIdIndex) && (RELAY_SUM_MAX > wRelayIdIndex)) - { - cDetCutRelayCollState = GetRelayCollState(wDetCutBtnRelayId); /*ȡ۳·ť̵ɼ״̬*/ - - if (RELAY_STATE_UP == cDetCutRelayCollState) - { - /** ̵𣬸¿۳·ť/󴥷 **/ - cDetainBtnActFlag = GetSignalDetainBtnActFlag(wSignalId); - cDetButErrorFlag = GetSignalDetainBtnErrFlag(wSignalId); /*ȡ۳ťϱ־*/ - cDetCancelBtnErrorFlag = GetSignalCancelDetainBtnErrFlag(wSignalId); /*ȡ۳ȡťϱ־*/ - cDetCutRelayDownState = GetDetCutBtnRelayDownState(wSignalId); /*ȡ۳·ťɼ̵״̬*/ - dwDetCutBtnPressCycNum = GetDetCutBtnPressCycNum(wSignalId); /*ȡ۳·ťʱ*/ - dwDetCutErrTrigPressCycNum = GetDetCutBtnErrTrigPressCycNum(wSignalId); /*ȡ۳·ť󴥷ʱ*/ - dwCurCycNum = Get2oo2CurCycleNum(); - - if ((SIGNAL_ZFS_BTN_ACT_FLAG_YES == cDetainBtnActFlag) && ((SIGNAL_ZFS_BTN_ERR_FLAG_YES == cDetButErrorFlag) || (SIGNAL_ZFS_BTN_ERR_FLAG_YES == cDetCancelBtnErrorFlag)) - && (SIGNAL_RELAY_ERROR_DOWN_NO == cDetCutRelayDownState)) - { - /** ۳ť־Чң۳ťϻ۳ȡťϣڿ۳·ťɼ̵״̬Ϊ£OCͨҴһϵ忨״̬¿۳·ťʱ **/ - if ((0U == dwDetCutBtnPressCycNum) && (0U == dwDetCutErrTrigPressCycNum)) - { - SetDetCutBtnPressCycNum(wSignalId, dwCurCycNum); /*ÿ۳·ťʱΪڣ󴥷²ͬʱڣ*/ - } - else - { - /**/ - } - } - else - { - /** ۳ť־Чڿ۳·ťɼ̵״̬£OCͨжϻϵ忨״̬ϣ¿۳·ť󴥷ʱ **/ - if ((0U == dwDetCutBtnPressCycNum) && (0U == dwDetCutErrTrigPressCycNum)) - { - SetDetCutBtnErrTrigPressCycNum(wSignalId, dwCurCycNum); /*ÿ۳·ť󴥷ʱΪڣ󴥷²ͬʱڣ*/ - } - else - { - /**/ - } - } - } - else - { - /** ̵£¿۳·ťɼ̵״̬ **/ - wRelayBelongOcId = GetRelayBelongOCId(wDetCutBtnRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wDetCutBtnRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wDetCutBtnRelayId); /*ȡBϵ忨״̬*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState))) - { - /*OCͨһϵ忨״̬ü̵*/ - SetDetCutBtnRelayDownState(wSignalId, SIGNAL_RELAY_ERROR_DOWN_NO); - } - else - { - /*OCͨ쳣ϵ忨״̬ϣü̵ͨ쳣*/ - SetDetCutBtnRelayDownState(wSignalId, SIGNAL_RELAY_ERROR_DOWN_YES); - } - - /** ̵£۳·ťں󴥷 **/ - SetDetCutBtnPressCycNum(wSignalId, 0U); - SetDetCutBtnErrTrigPressCycNum(wSignalId, 0U); - } - } - else - { - /*ηǷ*/ - } -} - -/* -* Ըʽ۳·ťЧ״̬ -* ˵const UINT16 wSignalId źŻID -* const UINT16 wDetCutBtnRelayId ۳·ťɼ̵ID -* ֵ -* Created By LQ 2025.06.20 -*/ -void ZfsDetCutBtnValidStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId) -{ - UINT16 wSignalIdIndex = 0U; /*źŻ±*/ - UINT16 wRelayIdIndex = 0U; /*̵±*/ - UINT32 dwCycNum = 0U; - UINT32 dwDetCutBtnPressCycNum = 0U; /*۳·ť*/ - UINT32 dwZfsBtnValidCycNum = 0U; /*ԸʽťЧж*/ - UINT8 cDetainBtnActFlag = SIGNAL_ZFS_BTN_ACT_FLAG_NO; /*۳ť־*/ - UINT8 cDetButErrorFlag = 0U; /*۳ťϱ־*/ - UINT8 cDetCancelBtnErrorFlag = 0U; /*۳ȡťϱ־*/ - UINT32 dwDetBtnPressCycNum = 0U; /*۳ť*/ - UINT8 cDetCutRelayDownState = SIGNAL_RELAY_ERROR_DOWN_YES; /*۳·ťɼ̵״̬*/ - UINT8 cDetCutBtnErrorFlag = SIGNAL_ZFS_BTN_ERR_FLAG_NO; /*۳·ťϱ־*/ - - wSignalIdIndex = GetSignalConfigBufIndex(wSignalId); - wRelayIdIndex = GetRelayConfigBufIndex(wDetCutBtnRelayId); - - if ((SIGNAL_SUM_MAX > wSignalIdIndex) && (RELAY_SUM_MAX > wRelayIdIndex)) - { - /**** 1.۳·ťЧ״̬ж ****/ - dwCycNum = Get2oo2CurCycleNum(); - dwDetCutBtnPressCycNum = GetDetCutBtnPressCycNum(wSignalId); - dwZfsBtnValidCycNum = GetSelfButCollCount(); - - if ((0U < dwDetCutBtnPressCycNum) && ((dwCycNum - dwDetCutBtnPressCycNum) == (dwZfsBtnValidCycNum + 1U))) - { - /*³ʱڣÿ۳·ťЧΪ֤·Чڴ˲áʱðťЧķ*/ - SetDetCutBtnState(wSignalId, SIGNAL_DETAIN_CUT_VALID_YES); - } - else - { - /**/ - } - - /**** 2.۳·ťЧ״̬ж ****/ - cDetainBtnActFlag = GetSignalDetainBtnActFlag(wSignalId); /*ȡ۳ť־*/ - cDetButErrorFlag = GetSignalDetainBtnErrFlag(wSignalId); /*ȡ۳ťϱ־*/ - cDetCancelBtnErrorFlag = GetSignalCancelDetainBtnErrFlag(wSignalId); /*ȡ۳ȡťϱ־*/ - dwDetBtnPressCycNum = GetDetainBtnPressCycNum(wSignalId); /*ȡ۳ťʼ*/ - cDetCutRelayDownState = GetDetCutBtnRelayDownState(wSignalId); /*ȡ۳·ťɼ̵״̬*/ - cDetCutBtnErrorFlag = GetSignalDetCutBtnErrFlag(wSignalId); /*ȡ۳·ťϱ־*/ - - if (((SIGNAL_ZFS_BTN_ACT_FLAG_YES != cDetainBtnActFlag) && (SIGNAL_ZFS_BTN_ERR_FLAG_YES != cDetButErrorFlag) && (SIGNAL_ZFS_BTN_ERR_FLAG_YES != cDetCancelBtnErrorFlag)) - || ((0U < dwDetCutBtnPressCycNum) && (dwDetBtnPressCycNum >= dwDetCutBtnPressCycNum)) - || (SIGNAL_RELAY_ERROR_DOWN_NO != cDetCutRelayDownState) - || (SIGNAL_ZFS_BTN_ERR_FLAG_NO != cDetCutBtnErrorFlag)) - { - /* ۳ťδң۳ťͿ۳ȡťδϣ - ۳ťڴڵ·ť - ·ťɼ̵ - ·ť - ÿ۳·ťЧ*/ - SetDetCutBtnState(wSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } - else - { - /**/ - } - } - else - { - /*ηǷ*/ - } -} - -/* -* ȡSPKSťɼ̽ -* ˵const UINT16 wSpksId SPKS -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetSpksBtnCollTolerateRet(const UINT16 wSpksId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wDevIdIndex = 0U; /*ID*/ - UINT16 wCollRelayId = 0U; /*ɼ̵ID*/ - UINT8 cCollState = 0U; /*̵ɼ״̬*/ - UINT32 dwSpksBtnPressCycNum = 0U; /*SPKSťʼ*/ - UINT32 dwTempOcCollTolerateCount = 0U; - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - UINT8 cBoardType = 0U; /*̵忨*/ - UINT8 cTimeCheckFlag = 0U; - - wDevIdIndex = GetSpksConfigBufIndex(wSpksId); - - if (SPKS_SUM_MAX > wDevIdIndex) - { - wCollRelayId = GetSpksColRelayId(wSpksId); /*ȡSPKSɼ̵ID*/ - cCollState = GetRelayCollState(wCollRelayId); /*ȡSPKSɼ̵״̬*/ - if (RELAY_STATE_UP == cCollState) - { - /*SPKSɼ̵SPKSťʼΪ0*/ - SetSpksPressCycNum(wSpksId, 0U); - cRetVal = CI_SUCCESS; - } - else - { - dwSpksBtnPressCycNum = GetSpksPressCycNum(wSpksId); /*ȡSPKSťʼں*/ - if (0U == dwSpksBtnPressCycNum) - { - dwCurCycNum = Get2oo2CurCycleNum(); - SetSpksPressCycNum(wSpksId, dwCurCycNum); /*õǰΪSPKSťʼں*/ - } - else - { - /*SPKSťʼںţ*/ - } - - wRelayBelongOcId = GetRelayBelongOCId(wCollRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCollRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCollRelayId); /*ȡBϵ忨״̬*/ - cBoardType = GetRelayBoardType(wCollRelayId); /*ȡ̵忨*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState)) && (RELAY_SI_BOARD == cBoardType)) - { - /*OCͨһϵ忨״̬Ϊɢ壬жǷ񳬹ʱ*/ - dwSpksBtnPressCycNum = GetSpksPressCycNum(wSpksId); /*ȡSPKSťʼں*/ - dwTempOcCollTolerateCount = GetOcCollTolerateCount(); - cTimeCheckFlag = SystemOverOrEqualTimeCheck(dwSpksBtnPressCycNum, dwTempOcCollTolerateCount); /*жSPKSťʱǷﵽʱ*/ - if (CI_TIME_OUT != cTimeCheckFlag) - { - cRetVal = CI_SUCCESS; /*δʱҪ*/ - } - else - { - cRetVal = CI_ERROR; /*ʱҪ*/ - } - } - else - { - /*OCͨ쳣ϵ忨״̬ϻ̵ɢ壬0*/ - cRetVal = CI_ERROR; - } - } - } - else - { - cRetVal = CI_ERROR; /*ηǷ0*/ - } - - return cRetVal; -} - -/* -* ȡPsdſ̵ɼ̽ -* ˵const UINT16 wPsdId PSD -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetPsdRelayCollTolerateRet(const UINT16 wPsdId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wDevIdIndex = 0U; /*ID*/ - UINT16 wCollRelayId = 0U; /*ɼ̵ID*/ - UINT8 cCollState = 0U; /*̵ɼ״̬*/ - UINT32 dwRelayDownCycNum = 0U; /*PSDſ̵ʼ*/ - UINT32 dwTempOcCollTolerateCount; - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - UINT8 cBoardType = 0U; /*̵忨*/ - UINT8 cTimeCheckFlag = 0U; - - wDevIdIndex = GetPsdConfigBufIndex(wPsdId); - - if (PSD_SUM_MAX > wDevIdIndex) - { - wCollRelayId = GetPsdStateRelayId(wPsdId); /*ȡPSDſ̵ID*/ - cCollState = GetRelayCollState(wCollRelayId); /*ȡPSDſ̵״̬*/ - if (RELAY_STATE_UP == cCollState) - { - /*PSDſ̵PSDſ̵ʼΪ0*/ - SetPsdRelayDownCycNum(wPsdId, 0U); - cRetVal = CI_SUCCESS; - } - else - { - dwRelayDownCycNum = GetPsdRelayDownCycNum(wPsdId); /*ȡPSDſ̵ʼں*/ - if (0U == dwRelayDownCycNum) - { - dwCurCycNum = Get2oo2CurCycleNum(); - SetPsdRelayDownCycNum(wPsdId, dwCurCycNum); /*õǰΪPSDſ̵ʼں*/ - } - else - { - /*PSDſ̵ʼںţ*/ - } - - wRelayBelongOcId = GetRelayBelongOCId(wCollRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCollRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCollRelayId); /*ȡBϵ忨״̬*/ - cBoardType = GetRelayBoardType(wCollRelayId); /*ȡ̵忨*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState)) && (RELAY_SI_BOARD == cBoardType)) - { - /*OCͨһϵ忨״̬Ϊɢ壬жǷ񳬹ʱ*/ - dwRelayDownCycNum = GetPsdRelayDownCycNum(wPsdId); /*ȡPSDſ̵ʼں*/ - dwTempOcCollTolerateCount = GetOcCollTolerateCount(); - cTimeCheckFlag = SystemOverOrEqualTimeCheck(dwRelayDownCycNum, dwTempOcCollTolerateCount); /*жPSDſ̵ʱǷﵽʱ*/ - if (CI_TIME_OUT != cTimeCheckFlag) - { - cRetVal = CI_SUCCESS; /*δʱҪ*/ - } - else - { - cRetVal = CI_ERROR; /*ʱҪ*/ - } - } - else - { - /*OCͨ쳣ϵ忨״̬ϻ̵ɢ壬0*/ - cRetVal = CI_ERROR; - } - } - } - else - { - cRetVal = CI_ERROR; /*ηǷ0*/ - } - - return cRetVal; -} - -/* -* ȡEsbɼ̽ -* ˵const UINT16 wEsbId ESB -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetEsbCollTolerateRet(const UINT16 wEsbId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wDevIdIndex = 0U; /*ID*/ - UINT16 wCollRelayId = 0U; /*ɼ̵ID*/ - UINT8 cCollState = 0U; /*̵ɼ״̬*/ - UINT32 dwEsbPressCycNum = 0U; /*ESBʼ*/ - UINT32 dwTempOcCollTolerateCount = 0U; - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - UINT8 cBoardType = 0U; /*̵忨*/ - UINT8 cTimeCheckFlag = 0U; - - wDevIdIndex = GetEsbConfigBufIndex(wEsbId); - - if (ESB_SUM_MAX > wDevIdIndex) - { - wCollRelayId = GetEsbRelayId(wEsbId); /*ȡESBɼ̵ID*/ - cCollState = GetRelayCollState(wCollRelayId); /*ȡESBɼ̵״̬*/ - if (RELAY_STATE_UP == cCollState) - { - /*ESBɼ̵ESBʼΪ0*/ - SetEsbPressCycNum(wEsbId, 0U); - cRetVal = CI_SUCCESS; - } - else - { - dwEsbPressCycNum = GetEsbPressCycNum(wEsbId); /*ȡESBʼں*/ - if (0U == dwEsbPressCycNum) - { - dwCurCycNum = Get2oo2CurCycleNum(); - SetEsbPressCycNum(wEsbId, dwCurCycNum); /*õǰΪESBʼں*/ - } - else - { - /*ESBʼںţ*/ - } - - wRelayBelongOcId = GetRelayBelongOCId(wCollRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCollRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCollRelayId); /*ȡBϵ忨״̬*/ - cBoardType = GetRelayBoardType(wCollRelayId); /*ȡ̵忨*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState)) && (RELAY_SI_BOARD == cBoardType)) - { - /*OCͨһϵ忨״̬Ϊɢ壬жǷ񳬹ʱ*/ - dwEsbPressCycNum = GetEsbPressCycNum(wEsbId); /*ȡESBʼں*/ - dwTempOcCollTolerateCount = GetOcCollTolerateCount(); - cTimeCheckFlag = SystemOverOrEqualTimeCheck(dwEsbPressCycNum, dwTempOcCollTolerateCount); /*жESBʱǷﵽʱ*/ - if (CI_TIME_OUT != cTimeCheckFlag) - { - cRetVal = CI_SUCCESS; /*δʱҪ*/ - } - else - { - cRetVal = CI_ERROR; /*ʱҪ*/ - } - } - else - { - /*OCͨ쳣ϵ忨״̬ϻ̵ɢ壬0*/ - cRetVal = CI_ERROR; - } - } - } - else - { - cRetVal = CI_ERROR; /*ηǷ0*/ - } - - return cRetVal; -} - -/* -* ȡ۳ť1ɼ̽ -* ˵const UINT16 wSignalId źŻ -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetFstDetBtnCollTolerateRet(const UINT16 wSignalId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wDevIdIndex = 0U; /*ID*/ - UINT16 wCollRelayId = 0U; /*ɼ̵ID*/ - UINT8 cCollState = 0U; /*̵ɼ״̬*/ - UINT8 cDetValidFlag = 0U; - UINT32 dwDetBtnPressCycNum = 0U; /*۳ťʼ*/ - UINT32 dwTempOcCollTolerateCount = 0U; - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - UINT8 cBoardType = 0U; /*̵忨*/ - UINT8 cTimeCheckFlag = 0U; - - wDevIdIndex = GetSignalConfigBufIndex(wSignalId); - - if (SIGNAL_SUM_MAX > wDevIdIndex) - { - wCollRelayId = GetSignalDetainRelayId(wSignalId); /*ȡ۳ťɼ̵ID*/ - cCollState = GetRelayCollState(wCollRelayId); /*ȡ۳ťɼ̵״̬*/ - cDetValidFlag = GetCiFunctionSwitchConfig(FUNC_RELAY_DETAIN_VALID_FLAG); /*ȡӲ߿۳Ч־*/ - - if (((UP_VALID == cDetValidFlag) && (RELAY_STATE_DOWN == cCollState)) || ((DOWN_VALID == cDetValidFlag) && (RELAY_STATE_UP == cCollState))) - { - /*۳ţ̌ÿ۳ťʼΪ0*/ - SetDetainBtnPressCycNum(wSignalId, 0U); - cRetVal = CI_SUCCESS; - } - else - { - dwDetBtnPressCycNum = GetDetainBtnPressCycNum(wSignalId); /*ȡ۳ťʼں*/ - if (0U == dwDetBtnPressCycNum) - { - dwCurCycNum = Get2oo2CurCycleNum(); - SetDetainBtnPressCycNum(wSignalId, dwCurCycNum); /*õǰΪ۳ťʼں*/ - } - else - { - /*ÿ۳ťʼںţ*/ - } - - wRelayBelongOcId = GetRelayBelongOCId(wCollRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCollRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCollRelayId); /*ȡBϵ忨״̬*/ - cBoardType = GetRelayBoardType(wCollRelayId); /*ȡ̵忨*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState)) && (RELAY_SI_BOARD == cBoardType)) - { - /*OCͨһϵ忨״̬Ϊɢ壬жǷ񳬹ʱ*/ - dwDetBtnPressCycNum = GetDetainBtnPressCycNum(wSignalId); /*ȡ۳ťʼں*/ - dwTempOcCollTolerateCount = GetOcCollTolerateCount(); - cTimeCheckFlag = SystemOverOrEqualTimeCheck(dwDetBtnPressCycNum, dwTempOcCollTolerateCount); /*жϿ۳ťʱǷﵽʱ*/ - if (CI_TIME_OUT != cTimeCheckFlag) - { - cRetVal = CI_SUCCESS; /*δʱҪ*/ - } - else - { - cRetVal = CI_ERROR; /*ʱҪ*/ - } - } - else - { - /*OCͨ쳣ϵ忨״̬ϻ̵ɢ壬0*/ - cRetVal = CI_ERROR; - } - } - } - else - { - cRetVal = CI_ERROR; /*ηǷ0*/ - } - - return cRetVal; -} - -/* -* ȡ۳ť2ɼ̽ -* ˵const UINT16 wSignalId źŻ -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetSndDetBtnCollTolerateRet(const UINT16 wSignalId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wDevIdIndex = 0U; /*ID*/ - UINT16 wCollRelayId = 0U; /*ɼ̵ID*/ - UINT8 cCollState = 0U; /*̵ɼ״̬*/ - UINT8 cDetValidFlag = 0U; - UINT32 dwDetBtnPressCycNum = 0U; /*۳ťʼ*/ - UINT32 dwTempOcCollTolerateCount = 0U; - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT16 wRelayBelongOcId = 0U; /*̵OC*/ - UINT8 cOcCommState = TRANSMIT_STATE_BAD; /*OCͨ״̬*/ - UINT8 cABoardState = RELAY_BOARD_FAULT_YES; /*Aϵ忨״̬*/ - UINT8 cBBoardState = RELAY_BOARD_FAULT_YES; /*Bϵ忨״̬*/ - UINT8 cBoardType = 0U; /*̵忨*/ - UINT8 cTimeCheckFlag = 0U; - - wDevIdIndex = GetSignalConfigBufIndex(wSignalId); - - if (SIGNAL_SUM_MAX > wDevIdIndex) - { - wCollRelayId = GetSignalDetainRelayId_2(wSignalId); /*ȡ۳ťɼ̵ID*/ - cCollState = GetRelayCollState(wCollRelayId); /*ȡ۳ťɼ̵״̬*/ - cDetValidFlag = GetCiFunctionSwitchConfig(FUNC_RELAY_DETAIN_VALID_FLAG); /*ȡӲ߿۳Ч־*/ - - if (((UP_VALID == cDetValidFlag) && (RELAY_STATE_DOWN == cCollState)) || ((DOWN_VALID == cDetValidFlag) && (RELAY_STATE_UP == cCollState))) - { - /*۳ţ̌ÿ۳ťʼΪ0*/ - SetDetainSndBtnPressCycNum(wSignalId, 0U); - cRetVal = CI_SUCCESS; - } - else - { - dwDetBtnPressCycNum = GetDetainSndBtnPressCycNum(wSignalId); /*ȡ۳ťʼں*/ - if (0U == dwDetBtnPressCycNum) - { - dwCurCycNum = Get2oo2CurCycleNum(); - SetDetainSndBtnPressCycNum(wSignalId, dwCurCycNum); /*õǰΪ۳ťʼں*/ - } - else - { - /*ÿ۳ťʼںţ*/ - } - - wRelayBelongOcId = GetRelayBelongOCId(wCollRelayId); - cOcCommState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, (UINT8)wRelayBelongOcId); /*ȡOCͨ״̬*/ - cABoardState = GetRelayACollBoardState(wCollRelayId); /*ȡAϵ忨״̬*/ - cBBoardState = GetRelayBCollBoardState(wCollRelayId); /*ȡBϵ忨״̬*/ - cBoardType = GetRelayBoardType(wCollRelayId); /*ȡ̵忨*/ - - if ((TRANSMIT_STATE_GOOD == cOcCommState) && ((RELAY_BOARD_FAULT_NO == cABoardState) || (RELAY_BOARD_FAULT_NO == cBBoardState)) && (RELAY_SI_BOARD == cBoardType)) - { - /*OCͨһϵ忨״̬Ϊɢ壬жǷ񳬹ʱ*/ - dwDetBtnPressCycNum = GetDetainSndBtnPressCycNum(wSignalId); /*ȡ۳ťʼں*/ - dwTempOcCollTolerateCount = GetOcCollTolerateCount(); - cTimeCheckFlag = SystemOverOrEqualTimeCheck(dwDetBtnPressCycNum, dwTempOcCollTolerateCount); /*жϿ۳ťʱǷﵽʱ*/ - if (CI_TIME_OUT != cTimeCheckFlag) - { - cRetVal = CI_SUCCESS; /*δʱҪ*/ - } - else - { - cRetVal = CI_ERROR; /*ʱҪ*/ - } - } - else - { - /*OCͨ쳣ϵ忨״̬ϻ̵ɢ壬0*/ - cRetVal = CI_ERROR; - } - } - } - else - { - cRetVal = CI_ERROR; /*ηǷ0*/ - } - - return cRetVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.h b/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.h index a0d2621..8602f09 100644 --- a/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.h +++ b/TSCP/src/APP/ciapp/IO/DeviceRelayDataProcess.h @@ -95,8 +95,8 @@ UINT8 GetSignalShowColor(const UINT16 signalId); /* * źŻ˫ϵ忨ϣźŻǰɫ * ˵ -UINT16 signalIdźŻid -UINT8 ocId OC ID + UINT16 signalIdźŻid + UINT8 ocId OC ID * ֵ źŻɫ */ UINT8 GetOcBoardFaultSignalColor(UINT16 signalId, UINT8 ocId); @@ -269,7 +269,6 @@ void FloodGateDeviceToRelayStateProc(void); * ½·ĵͬ߼״̬ * ˵ void * ֵ void -* BY CGH 20250523 */ void RouteDCTYRelayToDeviceStateProc(void); @@ -683,14 +682,13 @@ void DetZfsCancelBtnPressStateProc(const UINT16 wSignalId, const UINT16 wCancelD void DetZfsCancelBtnActFlagProc(const UINT16 wSignalId, const UINT16 wCancelDetBtnRelayId); /* -* Ըʽ۳ָʾ -* ˵const UINT16 signalId źŻID -* const UINT16 signalDetDisRelayId ۳ʾƼ̵ID -* const UINT16 signalDetCutDisRelayId ۳·ʾƼ̵ -* ֵ -* Modified By LQ 2025.07.03 +* Ըʽ۳ָʾ +* ˵const UINT16 signalId, źŻID +* const UINT16 signalDetainDisplayId, ۳ʾƼ̵1ID +* ֵ +* */ -void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetDisRelayId, const UINT16 signalDetCutDisRelayId); +void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetainDisplayId); /* * Ըʽͣť @@ -855,135 +853,6 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId); */ UINT8 CheckSwitchCollTolerateState(UINT16 switchId); -/* -* ·ͣť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.28 -*/ -void EsbNXRailBtnProc(UINT16 esbId); - -/* -* ·ͣȡť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.28 -*/ -void EsbNXRailCancelBtnProc(UINT16 esbId); - -/* -* ·ͣȡťЧ־ -* ˵const UINT16 wEsbId ESB ID -* const UINT16 wCancelEsbRelayId ESBȡťɼ̵ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCancelBtnValidFlagProc(const UINT16 wEsbId, const UINT16 wCancelEsbRelayId); - -/* -* ·ͣ·ť -* ˵UINT16 esbId ESB ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCutBtnProc(UINT16 esbId); - -/* -* ·ͣ·ť״̬ -* ˵const UINT16 wEsbId ESB ID -* const UINT16 wCutEsbRelayId ·ťɼ̵ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailCutBtnPressStateProc(const UINT16 wEsbId, const UINT16 wCutEsbRelayId); - -/* -* ·ESBָʾƺESB·ָʾ -* ˵const UINT16 wEsbId ESB ID -* ֵ -* Created By LQ 2025.03.30 -*/ -void EsbNXRailDisplayDrivOutput(const UINT16 wEsbId); - -/* -* 쳣򿪴 -* ˵ -* ֵ -* Created By LQ 2025.05.23 -*/ -void PsdExceptOpenProc(void); - -/* -* Ըʽ۳·ť -* ˵const UINT16 signalId źŻID -* ֵ -* Created By LQ 2025.06.20 -*/ -void SignalZfsDetainCutBtnPro(const UINT16 signalId); - -/* -* Ըʽ۳·ť״̬ -* ˵const UINT16 wSignalId źŻID -* const UINT16 wDetCutBtnRelayId ۳·ťɼ̵ID -* ֵ -* Created By LQ 2025.06.20 -*/ -void ZfsDetCutBtnPressStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId); - -/* -* Ըʽ۳·ťЧ״̬ -* ˵const UINT16 wSignalId źŻID -* const UINT16 wDetCutBtnRelayId ۳·ťɼ̵ID -* ֵ -* Created By LQ 2025.06.20 -*/ -void ZfsDetCutBtnValidStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId); - -/* -* ȡSPKSťɼ̽ -* ˵const UINT16 wSpksId SPKS -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetSpksBtnCollTolerateRet(const UINT16 wSpksId); - -/* -* ȡPsdſ̵ɼ̽ -* ˵const UINT16 wPsdId PSD -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetPsdRelayCollTolerateRet(const UINT16 wPsdId); - -/* -* ȡEsbɼ̽ -* ˵const UINT16 wEsbId ESB -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetEsbCollTolerateRet(const UINT16 wEsbId); - -/* -* ȡ۳ť1ɼ̽ -* ˵const UINT16 wSignalId źŻ -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetFstDetBtnCollTolerateRet(const UINT16 wSignalId); - -/* -* ȡ۳ť2ɼ̽ -* ˵const UINT16 wSignalId źŻ -* ֵCI_ERROR 0 ̽ -* CI_SUCCESS 1 -* Created By LQ 2025.06.26 -*/ -UINT8 GetSndDetBtnCollTolerateRet(const UINT16 wSignalId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/IO/InputDataProcess.c b/TSCP/src/APP/ciapp/IO/InputDataProcess.c index 493ded8..f2f9167 100644 --- a/TSCP/src/APP/ciapp/IO/InputDataProcess.c +++ b/TSCP/src/APP/ciapp/IO/InputDataProcess.c @@ -264,8 +264,6 @@ void InputDataProcess(void) { /*OC*/ (void)ProcessOcToCiRelayData(); - /*ɼһµĵλ*/ - ProcessOcToCiRelayDiffData(); debug_infor_printf((const)"\nprocess oc_relay end\n"); } else @@ -334,9 +332,6 @@ void InputDataProcess(void) /*PSCϵͳ*/ ProcessPscToCiData(); - /*OC-PSCһ廯*/ - ProcessOCToCiPsdData(); - /*豸״̬*/ ProcessDeviceLogicState(); @@ -410,9 +405,6 @@ void InputDataProcess(void) /*ˢźŻʪ־*/ UpdateHumidRailFlag(); - /*PSD쳣򿪴Ҫȸں״̬ٽPSD쳣жϣ*/ - PsdExceptOpenProc(); - /*ATS*/ if ((CI_TYPE_ZX == localCiType) || (CI_TYPE_SCX == localCiType)) { @@ -641,106 +633,17 @@ void ProcessAxleToCiData(void) if (AXIS_TYPE_KEANDA == acFty) { if (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].PreResetRst) - { - /*Ԥλ̵*/ + {/*Ԥλ̵*/ SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_YES); /*üԤλ״̬Ч*/ } else if (RELAY_STATE_DOWN == axisToCiDataStru[axisSysId].axisDataStr[jj].PreResetRst) - { - /*Ԥλ̵*/ + {/*Ԥλ̵*/ SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ } else - { - /*쳣ֵ*/ + {/*̵ɼ״̬Ϊ쳣ֵ*/ SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ } - - /*ưֱӸλ״̬ӿڣΪ˼ḴλͳһóЧ*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_NO); /*üֱӸλ״̬Ч*/ - } - else if (AXIS_TYPE_FUHAOSHENG == acFty) - { - if ((RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].PreResetRst) - && (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].chDirectResetRst)) - { - /*ԤλλͬʱЧ쳣*/ - SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_NO); /*üֱӸλ״̬Ч*/ - SetPhySecPreResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - SetPhySecDirectResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - } - else - { - if (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].PreResetRst) - { - /*Ԥλ̵*/ - SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_YES); /*üԤλ״̬Ч*/ - } - else if (RELAY_STATE_DOWN == axisToCiDataStru[axisSysId].axisDataStr[jj].PreResetRst) - { - /*Ԥλ̵*/ - SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ - } - else - { - /*쳣ֵ*/ - SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ - } - - if (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].chPreResetBack) - { - /*Ԥλ-յ*/ - SetPhySecPreResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - } - else if (RELAY_STATE_DOWN == axisToCiDataStru[axisSysId].axisDataStr[jj].chPreResetBack) - { - /**Ԥλ-δյ*/ - SetPhySecPreResetBack(secId, PHY_RESET_BACK_RECIVE_NO); - } - else - { - /*쳣ֵ*/ - SetPhySecPreResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - } - - if (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].chDirectResetRst) - { - /*ֱӸλ̵*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_YES); /*üֱӸλ״̬Ч*/ - } - else if (RELAY_STATE_DOWN == axisToCiDataStru[axisSysId].axisDataStr[jj].chDirectResetRst) - { - /*ֱӸλ̵*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_NO); /*üֱӸλ״̬Ч*/ - } - else - { - /*쳣ֵ*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_NO); /*üֱӸλ״̬Ч*/ - } - - if (RELAY_STATE_UP == axisToCiDataStru[axisSysId].axisDataStr[jj].chDirectResetBack) - { - /*ֱӸλ-յ*/ - SetPhySecDirectResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - } - else if (RELAY_STATE_DOWN == axisToCiDataStru[axisSysId].axisDataStr[jj].chDirectResetBack) - { - /**ֱӸλ-δյ*/ - SetPhySecDirectResetBack(secId, PHY_RESET_BACK_RECIVE_NO); - } - else - { - /*쳣ֵ*/ - SetPhySecDirectResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - } - } - - } - else - { - ; /*ӿڲ*/ } } } @@ -757,9 +660,6 @@ void ProcessAxleToCiData(void) (void)SetPhySecCurAxisGdOccupyState(secId, SECTION_OCCUPY_FAULT); SetPhySecPreResetState(secId, PHYSICAL_SECTION_PRE_RESET_NO); /*üԤλ״̬Ч*/ - SetPhySecDirectResetState(secId, PHYSICAL_DIRECT_RESET_NO); /*üֱӸλ״̬Ч*/ - SetPhySecPreResetBack(secId, PHY_RESET_BACK_RECIVE_YES); - SetPhySecDirectResetBack(secId, PHY_RESET_BACK_RECIVE_YES); if (dwCurCycNum == (dwLastRecvAxisDataCycNum + dwCommBadEnsureCount + 1U)) { @@ -868,11 +768,6 @@ void ProcessOcToCiData(void) if (m_Signals[jj].OcId == pTempOc->OcId) { m_Signals[jj].DeviceState = OC_SIGNAL_SHOWCOLOR_RED_BREAK;/**/ - /*źŻ忨Ϊ*/ - for (j = 0U; j < 2U; j++) - { - m_Signals[jj].BoardState[j] = 0xffU; - } } } /*תĵ״̬*/ @@ -926,11 +821,6 @@ void ProcessOcToCiData(void) } /*OCͨжϣȷPCBť״̬*/ SetAllCleFarePCBButKeepSta(pTempOc->OcId,QK_PSD_BUTTON_STATE_UP); - - /*OCͨжϣϢ*/ - - SetOcToCiDefaultDataStru(ii); - } else { @@ -1524,7 +1414,7 @@ void ProcessZcToCiData(void) { /* ѩģʽ */ SetAllSnowModel(pZcToCiDataStru->cSnowValidFlag); - SetLocalAreaSnowInfo(pZcToCiDataStru->cAreaSnowPlatFormNum, pZcToCiDataStru->szAreaSnowInfo); /*±ѩ״̬Ϣ*/ + SetLocalAreaSnowInfo(pZcToCiDataStru->cAreaSnowPlatFormNum, pZcToCiDataStru->szAreaSnowPlatFormId); /*±ѩ״̬Ϣ*/ SetLocalSnowModel(pZcToCiDataStru->chLocalSnowValidFlag); } } @@ -1546,8 +1436,6 @@ void ProcessZcToCiData(void) { /* ITEȫг״̬ */ SetIteLineCutState(pZcToCiDataStru->cIteLineCutState); - /* ITEгϢ */ - SetLocalAreaIteCutInfo(pZcToCiDataStru->cAreaIteCutNum, pZcToCiDataStru->szAreaIteCutId); } else { @@ -1647,8 +1535,7 @@ void ProcessTmcToTiocData(void) { /* ѩģʽ */ SetAllSnowModel(pTmcInputData->cSnowValidFlag); - SetAllSnowLevel(pTmcInputData->cSnowLevel); - SetLocalAreaSnowInfo(pTmcInputData->cAreaSnowPlatFormNum, pTmcInputData->szAreaSnowInfo); /*±ѩ״̬Ϣ*/ + SetLocalAreaSnowInfo(pTmcInputData->cAreaSnowPlatFormNum, pTmcInputData->szAreaSnowPlatFormId); /*±ѩ״̬Ϣ*/ } } } @@ -1660,8 +1547,6 @@ void ProcessTmcToTiocData(void) { /* ITEȫг״̬ */ SetIteLineCutState(pTmcInputData->cIteLineCutState); - /* ITEгϢ */ - SetLocalAreaIteCutInfo(pTmcInputData->cAreaIteCutNum, pTmcInputData->szAreaIteCutId); } else { @@ -2364,7 +2249,7 @@ void UpdateAtsPscPlFlagData(UINT8 pscId) for(i = 0u; i < pscToCiDataStru[pscId].psdSum; i++) { /*ȡȷϱ־*/ - getPscPlFlag = GetPsdPlFlag(pscToCiDataStru[pscId].psdDataStr[i].psdId); + getPscPlFlag = GetPsdPscPlFlag(pscToCiDataStru[pscId].psdDataStr[i].psdId); psdVirArr = GetPsdVirtualAttribute(pscToCiDataStru[pscId].psdDataStr[i].psdId); if(CI_PSC_PL_CONFIRM_YES == getPscPlFlag) { @@ -2847,8 +2732,8 @@ UINT8 ProcessAtsOrXianDiToCiData(void) /*δȡ*/ ClearCiRevCmdData();/*CIݶ*/ - } } + } else {/**/ for (ii = 0u; ii < AtsOrXianDiToCiCmdSum; ii++) @@ -2936,7 +2821,7 @@ UINT8 ProcessAtsOrXianDiToCiData(void) OrderCheckReVal = CheckOrderWhetherDoing(virCiID,belongVirCIid,cmdType,CmdDeviceId); if(CI_SUCCESS == OrderCheckReVal) { - SetCommonRouteLogicManage(CmdDeviceId, ESEND_LEVEL_ATS); + SetCommonRouteLogicManage(CmdDeviceId); } } else @@ -3618,7 +3503,7 @@ UINT8 ProcessAtsOrXianDiToCiData(void) { checkRetVal = AFFIRM_SUCCESS; /*˹*/ - (void)LaborUnlockOverlapProc(CmdDeviceId); + (void)LaborUnlockOverlapProc((UINT8)CmdDeviceId); } else { @@ -4167,45 +4052,8 @@ UINT8 ProcessAtsOrXianDiToCiData(void) } break; } - /*OC-P·һ*/ - case ATS_CMD_OC_P_PL_ONE: - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_FIRST, AFFIRM_SUCCESS, virCiID); - break; - /*OC-P·*/ - case ATS_CMD_OC_P_PL_TWO: - checkRetVal = CheckSecondOrderValid(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, virCiID); - if (CI_SUCCESS == checkRetVal) - { - /*OC-P·ȷϱ־*/ - SetOcPscPlConfirmFlag(OC_PSC_PL_CONFIRM_YES, CmdDeviceId); - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_SECOND, AFFIRM_SUCCESS, virCiID); - } - else - { - /*һȷID*/ - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_SECOND, AFFIRM_FAIL, virCiID); - } - break; - /*ȡOC-P·һ*/ - case ATS_CMD_QUXIAO_OC_P_PL_ONE: - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_FIRST, AFFIRM_SUCCESS, virCiID); - break; - /*ȡOC-P·*/ - case ATS_CMD_QUXIAO_OC_P_PL_TWO: - checkRetVal = CheckSecondOrderValid(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, virCiID); - if (CI_SUCCESS == checkRetVal) - { - /*PSC·ȡ־*/ - SetOcPscPlConfirmFlag(OC_PSC_PL_CONFIRM_NO, CmdDeviceId); - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_SECOND, AFFIRM_SUCCESS, virCiID); - } - else - { - /*һȷID*/ - SetCiSendCmdBackData_OrderBack(commandId, CmdDeviceId, cmdDevType, terminalId, AtsOrXianDiToCiCmdStru[ii].CommandType, RESPONSE_SECOND, AFFIRM_FAIL, virCiID); - } - break; + default: cFunRetVal = VirtualDevCmdProc(CmdDeviceId, AtsOrXianDiToCiCmdStru[ii].CommandType);/*Գ豸״̬*/ @@ -4251,6 +4099,7 @@ UINT8 ProcessAtsOrXianDiToCiDataCld(void) UINT16 terminalId = 0u; /*նid*/ UINT16 ii = 0u; /*α*/ UINT8 checkRetVal = CI_FALSE; + UINT16 jkjRelayId = GetJkjRelayId(); UINT8 jkjRelayValidFlag = 0u; UINT8 localCiId = 0u; /*ID*/ @@ -4294,7 +4143,7 @@ UINT8 ProcessAtsOrXianDiToCiDataCld(void) jkjRelayValidFlag = GetCiJkjFlag(); /*Ӧ̵̼Ч״̬*/ - if (JKJ_REYLAY_VALID == jkjRelayValidFlag) + if ((jkjRelayId > 0u) && (JKJ_REYLAY_VALID == jkjRelayValidFlag)) { for (ii = 0u; ii < AtsToCiCmdSum; ii++) { @@ -4311,7 +4160,7 @@ UINT8 ProcessAtsOrXianDiToCiDataCld(void) SetCiSendCmdBackData_OrderBack(commandId,CmdDeviceId,cmdDevType,terminalId,AtsToCiCmdStru[ii].CommandType,0u,0u,virCiID); /*¼*/ - SetErrorData(EFUNC_PARSE_ATS2CI_DATA, CI_DEVICE_TYPE_RELAY, 0u, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, ESEND_LEVEL_ATS);/*OCӦعܣ̵ID0*/ + SetErrorData(EFUNC_PARSE_ATS2CI_DATA,CI_DEVICE_TYPE_RELAY,jkjRelayId,ETYPE_JKJ_WORK,RELAY_STATE_DOWN,ESEND_LEVEL_ATS); /*CIݶ*/ ClearCiRevCmdData(); @@ -4647,7 +4496,7 @@ UINT8 ProcessAtsOrXianDiToCiDataCld(void) if(ATS_ROUTE_SET_PROCESS_MAX >= routeCmdSum) { /*ͨ·*/ - SetCommonRouteLogicManage(CmdDeviceId, ESEND_LEVEL_ATS); + SetCommonRouteLogicManage(CmdDeviceId); } else { @@ -5005,7 +4854,7 @@ UINT8 ProcessAtsOrXianDiToCiDataCld(void) { checkRetVal = AFFIRM_SUCCESS; /*˹*/ - (void)LaborUnlockOverlapProc(CmdDeviceId); + (void)LaborUnlockOverlapProc((UINT8)CmdDeviceId); } else { @@ -5723,7 +5572,7 @@ void ProcessDeviceLogicState(void) /**/ } - if ((m_GdNum > 0u)|| ((AXIS_TYPE_YONGLIE==acFty)|| (AXIS_TYPE_KEANDA == acFty) || (AXIS_TYPE_FUHAOSHENG == acFty))) /*йӿ*/ + if ((m_GdNum > 0u)|| ((AXIS_TYPE_YONGLIE==acFty)|| (AXIS_TYPE_KEANDA == acFty))) /*йӿ*/ { /*¹βɼ״̬*/ OcPhyStateToDeviceStatePro(); @@ -6349,7 +6198,7 @@ void UpdatePhySectionMergeLogicState(void) UINT8 phySecOccuChangeTimeState = CI_TIME_OUT; /*CTUTռ״̬Ϊ(UT)ռ״̬*/ UINT8 curUtOrCtOccFlag = LOGICSECTION_OCCUPY_UT; - UINT8 chPreUtOrCtOccFlag = LOGICSECTION_OCCUPY_UT; + UINT8 utOrCtOccFlag = LOGICSECTION_OCCUPY_UT; UINT32 secOccupy2IdleTimeReal = 0u; UINT32 secOccupy2IdleTimeSysPara = 0u; @@ -6760,20 +6609,13 @@ void UpdatePhySectionMergeLogicState(void) if(SECTION_OCCUPY_YES == phySecCurOccuState) { curUtOrCtOccFlag = GetPhySecCurCtOrUtOccupyState(phySectionId); /*ȡεǰCTUTռ״̬*/ - chPreUtOrCtOccFlag = GetPhySecPreOccState(phySectionId); /*ȡ֮ǰCTUTռ״̬*/ + utOrCtOccFlag = GetPhySecPreOccState(phySectionId); /*ȡ֮ǰCTUTռ״̬*/ dwSecUtOrCtOccuCyc = GetSecUtOrCtOccuStartCycNum(phySectionId); /*ʱУγռ״̬仯ҽѿʼʱ*/ - if((chPreUtOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) + if((utOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) { - if (LOGICSECTION_OCCUPY_NO != curUtOrCtOccFlag) - { - /*UTCTռÿʼʱ*/ - SetSecUtOrCtOccuStartCycNum(phySectionId, dwSystemCyc); - } - else - { - /*߼ξУδںϿУݲ*/ - } + /*UTCTռÿʼʱ*/ + SetSecUtOrCtOccuStartCycNum(phySectionId, dwSystemCyc); } else if (LOGICSECTION_OCCUPY_UT == curUtOrCtOccFlag) { @@ -7009,10 +6851,10 @@ void UpdatePhySectionMergeLogicState(void) if(SECTION_OCCUPY_YES == phySecCurOccuState) { curUtOrCtOccFlag = GetPhySecCurCtOrUtOccupyState(phySectionId); /*ȡεǰCTUTռ״̬*/ - chPreUtOrCtOccFlag = GetPhySecPreOccState(phySectionId); /*ȡ֮ǰCTUTռ״̬*/ + utOrCtOccFlag = GetPhySecPreOccState(phySectionId); /*ȡ֮ǰCTUTռ״̬*/ dwSecUtOrCtOccuCyc = GetSecUtOrCtOccuStartCycNum(phySectionId); /*ʱУγռ״̬仯ҽѿʼʱ*/ - if((chPreUtOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) + if((utOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) { /*UTCTռÿʼʱ*/ SetSecUtOrCtOccuStartCycNum(phySectionId, dwSystemCyc); @@ -7878,11 +7720,14 @@ static UINT8 RouteReturnToThroughCondCheck(const UINT16 signalId,UINT8* toCiId) UINT16 nextRouteId = 0u; /*һ·*/ UINT8 returnRouteIdBelongCiId = 0u; UINT8 throughRouteIdBelongCiId = 0u; + UINT8 returnRouteDirection = 0u; UINT16 reRouteNormalLockPhy = 0u; UINT8 phyMergeState = 0u; UINT16 nextRouteLockPhy = 0u; - UINT16 wEndSignalId = 0U;/*۷·նźŻ*/ - UINT16 wStartSignalId = 0U;/*źؿ·ʼźŻ*/ + UINT8 nextRouteDirection = 0u; + UINT8 haveDirChangeAfterRoute = 0u; + UINT8 haveDirChangeInRoute = 0u; + if ((0u == signalId) || (signalId >= SIGNAL_SUM_MAX)) { retVal = CI_ERROR; @@ -7906,8 +7751,6 @@ static UINT8 RouteReturnToThroughCondCheck(const UINT16 signalId,UINT8* toCiId) returnRouteId = GetPhySecRLockBelongRouteId(signalOutSecId); nextRouteId = GetPhySecRLockBelongRouteId(signalInSecId); - wEndSignalId = GetRouteEndSignalId(returnRouteId);/*ȡնźŻ*/ - wStartSignalId = GetRouteStartSignalId(nextRouteId);/*źؿĽ·ʼźŻ*/ throughRouteId = GetRouteThroughRouteId(returnRouteId); returnRouteIdBelongCiId = GetRouteBelongCiId(returnRouteId); throughRouteIdBelongCiId = GetRouteBelongCiId(throughRouteId); @@ -7935,9 +7778,32 @@ static UINT8 RouteReturnToThroughCondCheck(const UINT16 signalId,UINT8* toCiId) /*һ·һ*/ if (PHYSICAL_SECTION_LOCK_NORMAL == nextRouteLockPhy) { - - /*źŻȷ*/ - if(wEndSignalId == wStartSignalId) + /*ȡս·*/ + nextRouteDirection = GetRouteDirection(nextRouteId); + returnRouteDirection = GetRouteDirection(returnRouteId); + + haveDirChangeAfterRoute = GetRouteHaveDirChangePointAfter(returnRouteId); + haveDirChangeInRoute = GetRouteHaveDirChangePointIn(returnRouteId); + + /*·󷽻·ڴڷ仯*/ + if((ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeAfterRoute) || + (ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeInRoute)) + { + if(CI_SYSTEM_DIRECTION_UP == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_DOWN; + } + else if(CI_SYSTEM_DIRECTION_DOWN == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_UP; + } + else + { + /**/ + } + } + /*ͬ*/ + if(nextRouteDirection == returnRouteDirection) { if(0u != throughRouteId) {/*returnRouteIdthroughRouteId0u˵returnRouteIdȷʵ۷·throughRouteIdͨ·Ҵʱ۷δͨ·*/ @@ -7991,16 +7857,18 @@ static UINT8 RouteReturnToThroughCmdProc(const UINT16 signalId,const UINT8 fromC UINT8 returnRouteState = 0u; UINT8 returnRouteIdBelongCiId = 0u; UINT8 throughRouteIdBelongCiId = 0u; + UINT8 returnRouteDirection = 0u; UINT16 reRouteNormalLockPhy = 0u; UINT8 phyMergeState = 0u; UINT16 nextRouteLockPhy = 0u; UINT16 lockPhyBelongRoute = 0u; + UINT8 nextRouteDirection = 0u; + UINT8 haveDirChangeAfterRoute = 0u; + UINT8 haveDirChangeInRoute = 0u; UINT8 saveReRouteDir = 0u; UINT8 throughRouteDir = 0u; UINT16 wLastLgcSecId = 0U; UINT8 chTrainSum = 0u; - UINT16 wEndSignalId = 0U;/*۷·նźŻ*/ - UINT16 wStartSignalId = 0U;/*źؿ·ʼźŻ*/ LogicTrainResStruct * pstLgcResInfo = NULL; LogicTrainResStruct stTmpResInfo[LOGIC_SECTION_RES_SUM_MAX] = { 0U }; @@ -8027,8 +7895,6 @@ static UINT8 RouteReturnToThroughCmdProc(const UINT16 signalId,const UINT8 fromC returnRouteId = GetPhySecRLockBelongRouteId(signalOutSecId); nextRouteId = GetPhySecRLockBelongRouteId(signalInSecId); throughRouteId = GetRouteThroughRouteId(returnRouteId); - wEndSignalId = GetRouteEndSignalId(returnRouteId); - wStartSignalId = GetRouteStartSignalId(nextRouteId); returnRouteIdBelongCiId = GetRouteBelongCiId(returnRouteId); throughRouteIdBelongCiId = GetRouteBelongCiId(throughRouteId); @@ -8056,11 +7922,34 @@ static UINT8 RouteReturnToThroughCmdProc(const UINT16 signalId,const UINT8 fromC { /*ȡս·*/ lockPhyBelongRoute = GetPhySecRLockBelongRouteId(signalInSecId); - saveReRouteDir = GetRouteDirection(returnRouteId);/*·ʵʷ*/ + nextRouteDirection = GetRouteDirection(lockPhyBelongRoute); + returnRouteDirection = GetRouteDirection(returnRouteId); throughRouteDir = GetRouteDirection(throughRouteId); /*۷·Ӧͨ·*/ - /*źŻһ*/ - if(wEndSignalId == wStartSignalId) + haveDirChangeAfterRoute = GetRouteHaveDirChangePointAfter(returnRouteId); + haveDirChangeInRoute = GetRouteHaveDirChangePointIn(returnRouteId); + + saveReRouteDir = returnRouteDirection; /*·ʵʷ*/ + + /*·󷽻·ڴڷ仯*/ + if((ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeAfterRoute) || + (ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeInRoute) ) + { + if(CI_SYSTEM_DIRECTION_UP == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_DOWN; + } + else if(CI_SYSTEM_DIRECTION_DOWN == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_UP; + } + else + { + /**/ + } + } + /*ͬ*/ + if(nextRouteDirection == returnRouteDirection) { /*۷·*/ returnRouteState = GetRouteState(returnRouteId); @@ -8788,7 +8677,7 @@ static void ProcessTctCiCmd(void) case CI_CMD_UNLOCK_OVERLAP_CMD:/*͵Ľ*/ deviceId = CiRecvCiCmdStru[ii].Param1;/* id*/ /*˹*/ - (void)LaborUnlockOverlapProc(deviceId); + (void)LaborUnlockOverlapProc((UINT8)deviceId); break; #if 0 @@ -9578,18 +9467,6 @@ UINT8 CheckIsGeneralOrder(UINT8 OrderType) case ATS_CMD_SWITCH_FANWEI_TEST_TWO: reVal = CI_ERROR; break; - case ATS_CMD_OC_P_PL_ONE: - reVal = CI_ERROR; - break; - case ATS_CMD_OC_P_PL_TWO: - reVal = CI_ERROR; - break; - case ATS_CMD_QUXIAO_OC_P_PL_ONE: - reVal = CI_ERROR; - break; - case ATS_CMD_QUXIAO_OC_P_PL_TWO: - reVal = CI_ERROR; - break; default: reVal = CI_SUCCESS; break; @@ -10129,9 +10006,7 @@ static void IvocInputRefreshTrain(const VobcToCiDataStruct stIvocToCiData) SetHeadITEResult(wTrainId, stIvocToCiData.wHeadITEResult); SetTailAxisId(wTrainId, stIvocToCiData.wTailAxisId); SetTailITEResult(wTrainId, stIvocToCiData.wTailITEResult); - SetTrainJumpBackApplyState(wTrainId, stIvocToCiData.chJumpBackApply); - SetTrainJumpBackApplySN(wTrainId, stIvocToCiData.dwJumpBackSn); - } + } else { /*δյгݣˢгϢ*/ @@ -10645,8 +10520,6 @@ static void IvocInputCmdProc(const VobcToCiDataStruct stIvocToCiData) /*ɢ*/ SetTrainEaCmdState(wTrainId, TRAIN_EA_CMD_STATE_INVALID); } - - #if 0 /**Ծܿش򿪣ͬһζ߼Ծմ*/ if (FUNC_SWITCH_ON == funcSwitchJumpLockDriveSwitch) @@ -10706,7 +10579,6 @@ static void ProcessIvocLoseCom(const VobcToCiDataStruct stIvocToCiData) UINT8 chLjkExistDBSwitch = 0U; UINT8 chVirHeadScreenPassFlag = 0U;/*ǰɸ־*/ UINT8 chVirTailScreenPassFlag = 0U;/*ɸ־*/ - UINT8 chTrainPosMonitorState = 0U; /*гλüල־*/ #if 0 UINT32 dwRecvIvocCount = 0U; @@ -10750,12 +10622,10 @@ static void ProcessIvocLoseCom(const VobcToCiDataStruct stIvocToCiData) /*DB·ͨɸѡ־пɿԼ򳵻ATSԭɸѡ*/ chVirHeadScreenPassFlag = GetTrainVirHeadScreenPassFlag(wTrainId); chVirTailScreenPassFlag = GetTrainVirTailScreenPassFlag(wTrainId); - chTrainPosMonitorState = GetTrainPosMonitorState(wTrainId); if ((FUNC_SWITCH_OFF == chLjkExistDBSwitch) || (TRAIN_VIR_SCREEN_PASS_FLAG_INVALID == chVirHeadScreenPassFlag) - || (TRAIN_VIR_SCREEN_PASS_FLAG_INVALID == chVirTailScreenPassFlag) - || (TRAIN_POS_MONITOR_VALID != chTrainPosMonitorState)) + || (TRAIN_VIR_SCREEN_PASS_FLAG_INVALID == chVirTailScreenPassFlag)) { /*DBһɸѡ־Ч˵ɸѡ*/ SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); @@ -10773,12 +10643,6 @@ static void ProcessIvocLoseCom(const VobcToCiDataStruct stIvocToCiData) SetTrainDerailment(wTrainId, TRAIN_DERAIL_NO); /*ͨжɢ״̬ΪЧ*/ SetTrainEaCmdState(wTrainId, TRAIN_EA_CMD_STATE_INVALID); - - /*ͨжԾδкΪ0*/ - SetTrainJumpBackApplyState(wTrainId, TRAIN_JUMP_BACK_STATE_INVALID); - SetTrainJumpBackApplySN(wTrainId, 0U); - - SetTrainFlyProStartCycNum(wTrainId, 0U); /*ͨжϺɳʼں*/ } } @@ -11778,7 +11642,7 @@ void UpdateHumidRailFlag(void) UINT16 wPhySecId = 0U; UINT8 cAllHumidRailState = CI_ALL_SNOW_UNVALID; /*ʪ״̬*/ UINT8 cAreaHumidRailNum = 0U; /*ʪ*/ - AreaSnowInfoStruct* pAreaHumidRailData = NULL; + UINT32* pAreaHumidRailId = NULL; ToCiAreaSnowStruct* pRecvCiAreaHumidRail = NULL; /*͵ʪϢ*/ UINT16 wCurSignalNum = 0U; UINT16 wSignalId = 0U; @@ -11815,13 +11679,13 @@ void UpdateHumidRailFlag(void) { /*** ʪ ***/ cAreaHumidRailNum = GetLocalAreaSnowNum(); - pAreaHumidRailData = GetLocalAreaSnow(); - if ((0U != cAreaHumidRailNum) && (LOCAL_AREA_SNOW_SUM_MAX >= cAreaHumidRailNum) && (NULL != pAreaHumidRailData)) + pAreaHumidRailId = GetLocalAreaSnowId(); + if ((0U != cAreaHumidRailNum) && (LOCAL_AREA_SNOW_SUM_MAX >= cAreaHumidRailNum) && (NULL != pAreaHumidRailId)) { /*ʪ죬ڱʪ־ΪЧ*/ for (jj = 0U; jj < cAreaHumidRailNum; jj++) { - SetPlatFormRelPSHumidRailFlag(pAreaHumidRailData[jj].wAreaId); + SetPlatFormRelPSHumidRailFlag(pAreaHumidRailId[jj]); } } else @@ -11838,7 +11702,7 @@ void UpdateHumidRailFlag(void) /*ڿʪ츲бΣڱʪ־ΪЧ*/ for (jj = 0U; jj < pRecvCiAreaHumidRail[ii].cPlatFormNum; jj++) { - SetPlatFormRelPSHumidRailFlag(pRecvCiAreaHumidRail[ii].szPlatFormInfo[jj].wAreaId); + SetPlatFormRelPSHumidRailFlag(pRecvCiAreaHumidRail[ii].dwPlatFormId[jj]); } } } @@ -12335,222 +12199,4 @@ void OtherPartRouteCleanLogRouteProc(const UINT16 wCurRouteId) { /*ηǷ*/ } -} - -/* -* OC->CIPSD -* ˵ void -* ֵ void -*/ -void ProcessOCToCiPsdData(void) -{ - UINT8 deviceOcSum = 0u;/*ͨoc*/ - UINT8* deviceIdBuf = NULL;/*ͨ豸ID*/ - UINT8 ocId = 0u; - UINT8 deviceSum = 0u;/*ocpsd豸*/ - UINT16 ocToCiPsdId = 0u;/*psd id*/ - UINT16 ii = 0u; - UINT16 jj = 0u; - UINT16 kk = 0u; - UINT8 findOcFlag = 0u; - - deviceOcSum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸*/ - deviceIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸ID*/ - - for (ii = 0u; ii < deviceOcSum; ii++) - {/*ҵOC id*/ - findOcFlag = 0u; - ocId = deviceIdBuf[ii]; - if ((0u < ocId) && (OC_SUM_MAX > ocId)) - { - for (kk = 0u; kk < m_OcToCiOrginDataNum; kk++) - { - /*ҵOC idӦ±kk*/ - if (m_OcToCiOrginDataArr[kk].OcId == ocId) - { - findOcFlag = 1u; - break; - } - } - if (1u == findOcFlag) - { - deviceSum = m_OcToCiOrginDataArr[kk].OCPsdNum; /*ȡOCPSD豸*/ - for (jj = 0u; jj < deviceSum; jj++) - { - ocToCiPsdId = m_OcToCiOrginDataArr[kk].PsdInfo[jj].wPsdId; /*psd id*/ - if (0u < ocToCiPsdId) - { - /*ſ״̬*/ - if (PSD_STATE_CLOSE_VIETNAM == m_OcToCiOrginDataArr[kk].PsdInfo[jj].OpenOrCloseState) - { - /**/ - (void)SetPsdState(ocToCiPsdId, PSD_STATE_CLOSE); - } - else if (PSD_STATE_OPEN_VIETNAM == m_OcToCiOrginDataArr[kk].PsdInfo[jj].OpenOrCloseState) - { - /**/ - (void)SetPsdState(ocToCiPsdId, PSD_STATE_OPEN); - } - else - {/*ſ״̬ĬϿ*/ - (void)SetPsdState(ocToCiPsdId, PSD_STATE_OPEN); - } - - /*״̬*/ - if (PSD_MUTUALLOCK_REMOVE_YES == m_OcToCiOrginDataArr[kk].PsdInfo[jj].InterlockRelState) - { - /**/ - (void)SetPsdMutualLockRemoveState(ocToCiPsdId, PSD_MUTUALLOCK_REMOVE_YES); - } - else if (PSD_MUTUALLOCK_REMOVE_NO == m_OcToCiOrginDataArr[kk].PsdInfo[jj].InterlockRelState) - { - /*δ*/ - (void)SetPsdMutualLockRemoveState(ocToCiPsdId, PSD_MUTUALLOCK_REMOVE_NO); - } - else - { - (void)SetPsdMutualLockRemoveState(ocToCiPsdId, PSD_MUTUALLOCK_REMOVE_NO); - } - - /*Ź״̬*/ - SetOpenErrState(ocToCiPsdId, m_OcToCiOrginDataArr[kk].PsdInfo[jj].OpenErrState); - - /*Ź״̬*/ - SetCloseErrState(ocToCiPsdId, m_OcToCiOrginDataArr[kk].PsdInfo[jj].CloseErrState); - - /*ŹϸϢ*/ - SetPsdFaultQState(ocToCiPsdId, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdFaultQStataOne, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdFaultQStataTwo); - - /*ſ״̬*/ - SetPsdDoorState(ocToCiPsdId, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdDoorsStateOne, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdDoorsStateTwo); - - /*űϢ*/ - SetPsdDoorIState(ocToCiPsdId, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdDoorIStateOne, m_OcToCiOrginDataArr[kk].PsdInfo[jj].psdDoorIStateTwo); - - /*ϰﱨ״̬Ԥ*/ - } - else - { - /*psd idЧ*/ - } - } - } - } - else - { - /*oc idЧ*/ - } - } - -} - - -/* -* OCCIIJһ¼̵ -* ˵ void -* ֵ 0:ʧ -* 1:ɹ -*/ -void ProcessOcToCiRelayDiffData(void) -{ - UINT8 i = 0u; - UINT8 j = 0u; - UINT8 k = 0u; - UINT16 ocId = 0u; - CollBoardData* pTempCollBoardData_ForProcess = NULL; - UINT8 BoardAddress_ForProcess = 0u; /*忨ַ*/ - UINT8 BoardAddress_ForProcessOther = 0u; /*ϵ忨ַ*/ - UINT8 cBoardState = RELAY_BOARD_FAULT_YES; /*忨״̬ʼΪ*/ - UINT8 cBoardStateOther = RELAY_BOARD_FAULT_YES; /*ϵ忨״̬ʼΪ*/ - UINT8 PosValue_ForProcess = 0u; /*ɼ̵ǰַIJɼֵ:*/ - UINT8 PosValue_ForProcessOther = 0u; /*ɼ̵ϵַIJɼֵ:*/ - UINT32 pointTolerateCyc = 0u; /*λһ*/ - UINT8 timeState = 0U; - UINT32 curCycNum = 0u; - - IODiffDataStruct* pTempIODiffData = NULL; /*¼λɼһ*/ - curCycNum = Get2oo2CurCycleNum(); - - (void)CommonMemSet(&IODiffDataStru, (UINT32)((OC_SUM_MAX) * sizeof(IODiffDataStruct)), 0U, (UINT32)((OC_SUM_MAX) * sizeof(IODiffDataStruct))); /*սṹ*/ - gDiffDataOcNum = 0u; - - pTempIODiffData = GetIODiffData(); - if (NULL != pTempIODiffData) - { - for (i = 0u; i < OC_SUM_MAX; i++) /*ָID̵ID*/ - { - if (LocalOcIds[i] > 0u)/*oc id Ч*/ - { - ocId = LocalOcIds[i]; - if (OC_SUM_MAX > ocId) - { - pTempCollBoardData_ForProcess = m_OcConvertedPtDataArr[ocId].BoardDatas; - for (j = 0u; j < m_OcConvertedPtDataArr[ocId].OcBoardNum; j += 2u)/*еOC忨*/ - { - BoardAddress_ForProcess = pTempCollBoardData_ForProcess[j].BoardAddress;/*忨ַ*/ - BoardAddress_ForProcessOther = pTempCollBoardData_ForProcess[j + 1u].BoardAddress;/*ϵ忨ַ*/ - - cBoardState = pTempCollBoardData_ForProcess[j].BoardState; /*忨״̬*/ - cBoardStateOther = pTempCollBoardData_ForProcess[j + 1u].BoardState; /*ϵ忨״̬*/ - - if ((RELAY_BOARD_FAULT_NO == cBoardState)&&(RELAY_BOARD_FAULT_NO == cBoardStateOther)) - { - /*忨ǹ*/ - for (k = 0u; k < (UINT8)OC_COLL_BOARD_POS_NUM; k++) - { - PosValue_ForProcess = pTempCollBoardData_ForProcess[j].PosValueBuf[k];/*ֵ*/ - PosValue_ForProcessOther = pTempCollBoardData_ForProcess[j + 1u].PosValueBuf[k];/*ϵ忨ĵֵ*/ - - if (PosValue_ForProcess != PosValue_ForProcessOther) - { - /*һ½*/ - pointTolerateCyc = GetPointTolerateCycNum(ocId, j, k);/*õλ*/ - timeState = SystemOverTimeCheck(pointTolerateCyc, POINTTOLERATE_CYCNUM); - if (CI_TIME_NO == timeState) /*δʱ*/ - {/*õǰ*/ - SetPointTolerateCycNum(ocId, j, k, curCycNum); - debug_infor_printf((const)"IO Compare Diff Tolerate CycleNum = %d\n", curCycNum); - } - else if (CI_TIME_IN == timeState)/**/ - {/**/ - } - else - { - /*λɼһ̳ʱ¼*/ - pTempIODiffData[i].OcId = (UINT8)ocId; /*OC ID*/ - pTempIODiffData[i].LocalBoardAdd[pTempIODiffData[i].DiffPointNum] = BoardAddress_ForProcess;/*λӦİ忨ַ*/ - pTempIODiffData[i].OtherBoardAdd[pTempIODiffData[i].DiffPointNum] = BoardAddress_ForProcessOther;/*ϵ忨ַ*/ - pTempIODiffData[i].TheDiffPoint[pTempIODiffData[i].DiffPointNum] = k + 1u;/*һµĵλ*/ - pTempIODiffData[i].DiffPointNum++; /*λ*/ - } - } - else - {/*õλɼһ£*/ - SetPointTolerateCycNum(ocId, j, k, 0u); - } - } - } - else - { - /*忨ǹϣ¼ÿλ*/ - for (k = 0u; k < (UINT8)OC_COLL_BOARD_POS_NUM; k++) - { - SetPointTolerateCycNum(ocId, j, k, 0u); - } - } - } - - - if (0u != pTempIODiffData[i].DiffPointNum) - {/*OCеλһ£һµOCһ*/ - gDiffDataOcNum++; - } - } - } - } - } - else - {/**/ - } - } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/IO/InputDataProcess.h b/TSCP/src/APP/ciapp/IO/InputDataProcess.h index 2854c29..f8f28ad 100644 --- a/TSCP/src/APP/ciapp/IO/InputDataProcess.h +++ b/TSCP/src/APP/ciapp/IO/InputDataProcess.h @@ -451,21 +451,6 @@ void LogRouteCleanOldPhySecLockProc(const UINT16 wPreRouteId); */ void OtherPartRouteCleanLogRouteProc(const UINT16 wCurRouteId); -/* -* OC->CIPSD -* ˵ void -* ֵ void -*/ -void ProcessOCToCiPsdData(void); - -/* -* OCCIIJһ¼̵ -* ˵ void -* ֵ 0:ʧ -* 1:ɹ -*/ -void ProcessOcToCiRelayDiffData(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/IO/OutputDataProcess.c b/TSCP/src/APP/ciapp/IO/OutputDataProcess.c index 03d62b2..4354cee 100644 --- a/TSCP/src/APP/ciapp/IO/OutputDataProcess.c +++ b/TSCP/src/APP/ciapp/IO/OutputDataProcess.c @@ -387,10 +387,6 @@ UINT8 GetAtsBackInfoParam(const UINT8 functionId,const UINT8 deviceStateType, co returnValue = CI_BACK_ROUTE_XUANPAI_OVERTIME;/*·ѡųʱ*/ break; - case ETYPE_ROUTE_APPLY_SWITCH_MOVE: - returnValue = CI_BACK_SWT_MOVE; /*а·*/ - break; - /*źŻϷ*/ case ETYPE_SIG_START_OPEN_STATE: if (SIGNAL_OPEN==deviceState ) @@ -902,33 +898,6 @@ UINT8 GetAtsBackInfoParam(const UINT8 functionId,const UINT8 deviceStateType, co case ETYPE_OTHER_DOWNWASH_NOT_ALLOW_PASS: returnValue = CI_BACK_WASH_PASS_ALLOW_NOT; /*ϴ/δͬͨ*/ break; - case ETYPE_LOGSEC_CONTINUOUS: - returnValue = CI_BACK_DYM_ROUTE_CONTINUOUS; - break; - case ETYPE_PART_ROUTE_RES: - returnValue = CI_BACK_DYM_ROUTE_RES; - break; - case ETYPE_PART_ROUTE_MATCH_ROUTE: - returnValue = CI_BACK_DYM_ROUTE_MATCH_ROUTE; - break; - case ETYPE_PART_ROUTE_SCREEN: - returnValue = CI_BACK_DYM_ROUTE_SCREEN; - break; - case ETYPE_LOGSEC_CBTC_PROPERTY: - returnValue = CI_BACK_DYM_ROUTE_SEC_CBTC; - break; - case ETYPE_PART_ROUTE_REPEAT: - returnValue = CI_BACK_DYM_ROUTE_REPEAT; - break; - case ETYPE_PART_ROUTE_SEC_ATTR: - returnValue = CI_BACK_DYM_ROUTE_SEC_ATTR; - break; - case ETYPE_PART_ROUTE_TRAIN_COMM: - returnValue = CI_BACK_DYM_ROUTE_TRAIN_COMM; - break; - case ETYPE_PART_ROUTE_TRAIN_POS: - returnValue = CI_BACK_DYM_ROUTE_TRAIN_POS; - break; default:/*ݴ*/ returnValue = 0U; break; @@ -947,18 +916,14 @@ CI_SUCCESS */ UINT8 CiToAtsBackInfoFunctionJudge(const UINT8 functionId,const UINT8 deviceType) { - UINT8 cRetVal = CI_ERROR; - - if ((functionId > 0U) && (deviceType>0U)) + if ((functionId > 0u) && (deviceType>0u) ) { - cRetVal = CI_SUCCESS; + return CI_SUCCESS; } else { - cRetVal = CI_ERROR; + return CI_ERROR; } - - return cRetVal; } diff --git a/TSCP/src/APP/ciapp/Indicator/IndicatorConfigDataManage.c b/TSCP/src/APP/ciapp/Indicator/IndicatorConfigDataManage.c index 8c79fb2..78b6264 100644 --- a/TSCP/src/APP/ciapp/Indicator/IndicatorConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Indicator/IndicatorConfigDataManage.c @@ -18,7 +18,7 @@ UINT16 LocalCiIndicatorIdBuf[INDICATOR_SUM_MAX] = {0u};/* INT16 IndicatorCurSum = 0; /*ָʾǰ*/ OCStationIndicConfigDataStru g_OCStationIndicConfigDataStru[INDICATOR_SUM_MAX] = { 0u }; -UINT16 g_OCStationIndicatorCurSum = 0; /*OCվվͷǼվָʾ,漰棬ȡֵΧ [0,2000) ʹ*/ +UINT16 g_OCStationIndicatorCurSum = 0; /*OCվվͷǼվָʾ,漰棬ȡֵΧ0-1000*/ diff --git a/TSCP/src/APP/ciapp/Indicator/IndicatorDefine.h b/TSCP/src/APP/ciapp/Indicator/IndicatorDefine.h index a96dc8c..2e422db 100644 --- a/TSCP/src/APP/ciapp/Indicator/IndicatorDefine.h +++ b/TSCP/src/APP/ciapp/Indicator/IndicatorDefine.h @@ -14,7 +14,7 @@ /*ֵ*/ -#define INDICATOR_SUM_MAX ((UINT16)2000) /*ָʾ,ÿ40ָʾƣܹ20 */ +#define INDICATOR_SUM_MAX ((UINT16)1000) /*ָʾ,ÿ40ָʾƣܹ20 */ #define INDICATOR_RELAY_SUM_MAX ((UINT16)5) /*ָʾؼ̵*/ #define RTNINDICATOR_SUM_MAX ((UINT8)2U) /*һ۷*/ diff --git a/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.c b/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.c index 0006cfe..b3ce226 100644 --- a/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.c +++ b/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.c @@ -919,7 +919,7 @@ UINT8 ReadConfigureData(void) g_ret = ReadEaConfigData(g_szEaConfig); if (-1 == g_ret) { - rtnVal = 40u; + rtnVal = 37u; debug_infor_printf((const)"ReadEaConfigData errcode =%d, ReadEaConfigData", rtnVal); } else @@ -1041,26 +1041,7 @@ UINT8 ReadConfigureData(void) if (0 == g_ret) { debug_infor_printf((const)"PhySectionNearConfigDataManage Error\n"); - rtnVal = 41u; - } - else - { - ; /**/ - } - } - else - { - ; /**/ - } - - if (0U == rtnVal) - { - /*ȡڼе*/ - g_ret = (INT16)ReadPhySecIndexInAxle(LocalCiId, PhysicalSectionConfigDataStru); - if (0 == g_ret) - { - debug_infor_printf((const)"ReadPhySecIndexInAxle Error\n"); - rtnVal = 42u; + rtnVal = 37u; } else { @@ -1299,8 +1280,7 @@ UINT8 SetautoRouteOpposedRoute(UINT16 autoRouteRouteId,UINT8 routeType) autoRouteSum = GetAutoRouteRouteCurSum();/*Զ·Ŀ*/ autoReturnSum = GetAutoReturnRouteCurSum();/*Զ۷·Ŀ*/ allAutoReturnSum = GetAllAutoReturnRouteCurSum();/*ȫԶ۷·Ŀ*/ - if ((AUTO_ROUTE_SUM_MAX <= autoRouteSum) || (AUTO_RETURN_SUM_MAX<=autoReturnSum ) - ||(ALL_AUTO_RETURN_SUM_MAX <= allAutoReturnSum)) + if ((autoRouteSum >= AUTO_ROUTE_SUM_MAX) || (autoReturnSum >= AUTO_RETURN_SUM_MAX)) {/**/ returnValue = CI_ERROR; } @@ -3446,40 +3426,4 @@ UINT16 GetTiocDeviceConfigData(UINT32* pConfigDataAddrBuf,UINT16* pConfigDataLen return wRetSum; -} - -/********************************************* -*ܣȡָCIָ豸ͨŹϵ -*˵const UINT8 chCiId ID -* const UINT8 chSystemType 豸 -* UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX] 豸ID -*ֵͨŹϵ -* by cgh 20250605 -*********************************************/ -UINT8 ReadCiTransmitSpecifyDevData(const UINT8 chCiId, const UINT8 chSystemType, UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX]) -{ - UINT16 ii = 0U; - UINT8 chReval = 0U; - - if ((0U != chCiId) && (NULL != szDeviceIdBuf)) - { - for (ii = 0U; ii < dquCICfgDtStr.TrsmtRlsDtStrLen; ii++) - { - if ((chCiId == dquCICfgDtStr.TrsmtRlsDtStr[ii].CiId) && (chSystemType == dquCICfgDtStr.TrsmtRlsDtStr[ii].SystemType)) - { - chReval = dquCICfgDtStr.TrsmtRlsDtStr[ii].DeviceSum; - (void)CommonMemCpy((void*)(szDeviceIdBuf), (UINT32)(sizeof(UINT8) * TRANSMIT_OBJECT_DEVICE_SUM_MAX), (const void*)(dquCICfgDtStr.TrsmtRlsDtStr[ii].DeviceIdBuf), (UINT32)(sizeof(UINT8) * TRANSMIT_OBJECT_DEVICE_SUM_MAX)); - } - else - { - ; - } - } - } - else - { - chReval = UINT8_MAX; - } - - return chReval; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.h b/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.h index a818386..76ac73b 100644 --- a/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.h +++ b/TSCP/src/APP/ciapp/Initial/ConfigDataReadManage.h @@ -160,16 +160,6 @@ INT8 OcConnectConfigDataToDevStruct(SignalConfigDataStruct* pSignalCfgData, Phys *ֵ̬ *********************************************/ UINT16 GetTiocDeviceConfigData(UINT32* pConfigDataAddrBuf, UINT16* pConfigDataLenBuf, UINT16 wBufMaxLen); - -/********************************************* -*ܣȡָCIָ豸ͨŹϵ -*˵const UINT8 chCiId ID -* const UINT8 chSystemType 豸 -* UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX] 豸ID -*ֵͨŹϵ -* by cgh 20250605 -*********************************************/ -UINT8 ReadCiTransmitSpecifyDevData(const UINT8 chCiId, const UINT8 chSystemType, UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX]); #endif diff --git a/TSCP/src/APP/ciapp/Initial/InitialProcess.c b/TSCP/src/APP/ciapp/Initial/InitialProcess.c index 3a41f23..94075f3 100644 --- a/TSCP/src/APP/ciapp/Initial/InitialProcess.c +++ b/TSCP/src/APP/ciapp/Initial/InitialProcess.c @@ -586,7 +586,6 @@ UINT8 InitialSignalData(void) SignalDataStru[signalId].DetainBtnErrFlag = SIGNAL_ZFS_BTN_ERR_FLAG_NO; /*۳ťϱ־*/ SignalDataStru[signalId].CancelDetainBtnErrFlag = SIGNAL_ZFS_BTN_ERR_FLAG_NO; /*ȡ۳ťϱ־*/ SignalDataStru[signalId].DetainBtnPressCycNum = 0U; /*۳ť1*/ - SignalDataStru[signalId].DetainSndBtnPressCycNum = 0U; /*۳ť2*/ SignalDataStru[signalId].CancelDetainBtnPressCycNum = 0U; /*ȡ۳ť*/ SignalDataStru[signalId].CancelDetainErrTrigPressCycNum = 0U; /*ȡ۳ť󴥷*/ SignalDataStru[signalId].CancelDetainBtnValidFlag = SIGNAL_CANCEL_DETAIN_VALID_NO; /*ȡ۳ťЧ־*/ @@ -595,11 +594,7 @@ UINT8 InitialSignalData(void) SignalDataStru[signalId].VobcCroSigInPhyOccSta = SECTION_OCCUPY_NO; /*ʼźŻڷһΪУռѹٸZCȷϢ*/ SignalDataStru[signalId].cSleepTrainLightUpFlag = SIGNAL_SLEEP_TRAIN_LIGHTUP_NO; /*ʼ߳źŻ־Ч*/ SignalDataStru[signalId].cInHumidRailFlag = SIGNAL_IN_HUMID_RAIL_NO; - SignalDataStru[signalId].cDetCutBtnState = SIGNAL_DETAIN_CUT_VALID_NO; /*۳·ť״̬*/ - SignalDataStru[signalId].DetCutBtnPressCycNum = 0U; /*۳·ť*/ - SignalDataStru[signalId].DetCutBtnErrTrigPressCycNum = 0U; /*۳·ť󴥷*/ - SignalDataStru[signalId].cDetCutBtnErrFlag = SIGNAL_ZFS_BTN_ERR_FLAG_NO; /*۳·ťϱ־*/ - SignalDataStru[signalId].cDetCutBtnRelayDownState = SIGNAL_RELAY_ERROR_DOWN_YES; /*۳·ťɼ̵״̬ʼΪ쳣*/ + /*ʼźŻʱ״̬Ч*/ SignalDataStru[signalId].LinShiXianSuSetFlag = SIGNAL_LINSHIXIANSUSET_STATE_YES;/*ʱЧ*/ @@ -863,9 +858,6 @@ UINT8 InitialPhySectionData(void) PhysicalSectionDataStru[ii].UtOrCtOccFlag = SECTION_OCCUPY_YES; PhysicalSectionDataStru[ii].UtOrCtOccuStartCycNum = 0u; PhysicalSectionDataStru[ii].PhySecPreResetState = PHYSICAL_SECTION_PRE_RESET_NO; - PhysicalSectionDataStru[ii].chPreResetBack = PHY_RESET_BACK_RECIVE_YES; - PhysicalSectionDataStru[ii].chDirectResetRst = PHYSICAL_DIRECT_RESET_NO; - PhysicalSectionDataStru[ii].chDirectResetBack = PHY_RESET_BACK_RECIVE_YES; PhysicalSectionDataStru[ii].JumpLockStateToZC = PHYSICAL_SECTION_JUMP_LOCK_NO; PhysicalSectionDataStru[ii].wPhyErrUnlockTime = 0U; PhysicalSectionDataStru[ii].cAreaUrgentBrakeState = PHYSEC_AREA_URGENT_NO; @@ -1371,19 +1363,6 @@ UINT8 InitialPsdData(void) /*Ƶ״̬ʼΪЧгID0*/ PsdDataStru[psdId].chVideoQkDriveState = VIDEO_QK_DRIVE_STATE_INVALID; PsdDataStru[psdId].wVideoQkRelateVobcId = 0U; - - /*Źϸ롢롢״̬Ź״̬Ϣʼ*/ - PsdDataStru[psdId].psdFaultQStataOne = UINT32_MAX; - PsdDataStru[psdId].psdFaultQStataTwo = UINT32_MAX; - PsdDataStru[psdId].psdDoorIStateOne = UINT32_MAX; - PsdDataStru[psdId].psdDoorIStateTwo = UINT32_MAX; - PsdDataStru[psdId].psdDoorsStateOne = UINT32_MAX; - PsdDataStru[psdId].psdDoorsStateTwo = UINT32_MAX; - PsdDataStru[psdId].psdOpenErrState = PSD_OPEN_CLOSE_ERROR; - PsdDataStru[psdId].psdCloseErrState = PSD_OPEN_CLOSE_ERROR; - - PsdDataStru[psdId].cPsdExceptOpenState = PSD_EXCEPT_OPEN_YES; /*ʼΪPSD쳣*/ - PsdDataStru[psdId].dwPsdRelayDownCycNum = 0U; /*PSDŹؼ̵ʼ*/ } reVal = CI_SUCCESS; return reVal; @@ -1562,8 +1541,6 @@ UINT8 InitialRouteData(void) RouteDataStru[routeId].NeedOpenNotTrueRepeatStartCount = 0u;/*迪Ųʱؿʼ*/ RouteDataStru[routeId].DCQState = ROUTE_DCQ_NOT_REQUEST;/*޵*/ RouteDataStru[routeId].DCTYState = ROUTE_DCT_NOT_AGREE; /*޵ͬ*/ - RouteDataStru[routeId].dwDcAgreeBtnPressCycNum = 0U; /*ͬⰴťʼ*/ - RouteDataStru[routeId].chDcAgreeButtonErrState = ROUTE_DC_AGREE_BUTTON_OK; /*ͬⰴťδ*/ RouteDataStru[routeId].CancleDelayflag = ROUTE_ZQX_DELAY_NO; /*ȡ·ʱ*/ RouteDataStru[routeId].AutoSigCancleState = AUTO_ROUTE_CANCLE_NO; /*Զźȡ״̬ΪЧ*/ RouteDataStru[routeId].CancleAutoSigCmd = AUTO_ROUTE_CANCLE_CMD_NO; /*ԶźȡЧ*/ @@ -1591,11 +1568,6 @@ UINT8 InitialRouteData(void) RouteDataStru[routeId].cRouteDrivedSGBJFlag = ROUTE_HAS_DRIVED_SGBJ_INVALID; /*ʼ·δⱨ*/ RouteDataStru[routeId].chRouteNearSecSearchState = ROUTE_NEAR_SEC_HAVE_UT; /*ʼ·ӽβѯ״̬Ϊйϳ*/ RouteDataStru[routeId].chRouteApplySwitchCheckFlag = ROUTE_APPLY_SWITCH_CHECK_DEF; /*ʼ·ڿ־*/ - RouteDataStru[routeId].OtherCiRecordDevID = 0U; - RouteDataStru[routeId].OtherCiRecordDevState = 0U; - RouteDataStru[routeId].OtherCiRecordDevType = 0U; - RouteDataStru[routeId].OtherCiRecordErrorType = 0U; - RouteDataStru[routeId].cRouteToLeadFlag = ROUTE_TO_LEAD_FLAG_NO; /*ʼͨ·ת·־ΪЧ*/ } } @@ -2139,11 +2111,6 @@ void ResetDynamicState(const UINT8 ciId) PhysicalSectionDataStru[ii].FLockType = PHY_SEC_FLOCK_TYPE_NONE; PhysicalSectionDataStru[ii].JumpLockStateToZC = PHYSICAL_SECTION_JUMP_LOCK_NO; PhysicalSectionDataStru[ii].wPhyErrUnlockTime = 0U; - - PhysicalSectionDataStru[ii].PhySecPreResetState = PHYSICAL_SECTION_PRE_RESET_NO; - PhysicalSectionDataStru[ii].chPreResetBack = PHY_RESET_BACK_RECIVE_YES; - PhysicalSectionDataStru[ii].chDirectResetRst = PHYSICAL_DIRECT_RESET_NO; - PhysicalSectionDataStru[ii].chDirectResetBack = PHY_RESET_BACK_RECIVE_YES; } else { @@ -2256,7 +2223,6 @@ void ResetDynamicState(const UINT8 ciId) SetSignalDetainBtnActFlag(devId, SIGNAL_ZFS_BTN_ACT_FLAG_YES); /*źŻ۳ťЧ״̬*/ /*ڻͨжϱεЧԣԼCICIжϡΪ˱֤ĶСԶڷǻͨźŻ䱣ЧһֱΪЧӰ߼*/ SetSignalProSecValid(devId,SIGNAL_PRO_SEC_VALID); - SetDetCutBtnState(devId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -2279,7 +2245,6 @@ void ResetDynamicState(const UINT8 ciId) PsdDataStru[devId].PsdState = PSD_STATE_CLOSE; } PsdDataStru[devId].MutualLockRemoveState = PSD_MUTUALLOCK_REMOVE_NO; - PsdDataStru[devId].cPsdExceptOpenState = PSD_EXCEPT_OPEN_YES; /*ΪPSD쳣*/ } } @@ -2319,7 +2284,6 @@ void ResetDynamicState(const UINT8 ciId) * ޸ģڽ·е״̬¡ͨжҪ·óɰȫ״̬ * ޸20160511ԶԶ쳣ֽ·״̬ðȫ̬ ·״̬ΪԶԶ쳣ðȫ̬󣬽·ı޷ - * ޸ģ·״̬н·󣬱ʼźŻΪնźŻ۷·״̬Ƿ */ throughRtId = GetRouteThroughRouteId(devId); OverlapLockedId = GetRouteOverlapLockedId(devId); @@ -2338,7 +2302,6 @@ void ResetDynamicState(const UINT8 ciId) { (void)memset(&RouteDataStru[ii], 0, devLen); RouteDataStru[devId].RouteId = devId; - RouteDataStru[devId].RouteState = devState; RouteDataStru[devId].ThroughRouteId = throughRtId; RouteDataStru[devId].OverlapLockedId = OverlapLockedId; } @@ -2692,7 +2655,6 @@ void ResetDynamicStateHlht(const UINT8 ciId) UINT16 ii = 0u; UINT16 devId = 0u;/*IdId豸IdΪ豸ԻڣIdΪ̬ԣһΪ0Ͳܸ*/ UINT16 devLen = 0u; - UINT8 belongCiId = 0U; /*÷DZ̬*/ for (ii = 1u; ii < SWITCH_SUM_MAX; ii++) @@ -2709,7 +2671,6 @@ void ResetDynamicStateHlht(const UINT8 ciId) /*õǰλ */ SwitchDataStru[devId].SwitchCurPosition = SWITCH_POSITION_JICHA; /*ǰλ*/ SwitchDataStru[devId].SingleSwitchCurPosition = SWITCH_POSITION_JICHA; /*ǰλ*/ - SwitchDataStru[devId].LockStatus = SWITCH_LOCK_STATUS_NO; } } @@ -2731,7 +2692,6 @@ void ResetDynamicStateHlht(const UINT8 ciId) PhysicalSectionDataStru[ii].CurAndMergeOccupyState = SECTION_OCCUPY_YES; PhysicalSectionDataStru[ii].PreOccupyState = SECTION_OCCUPY_YES; PhysicalSectionDataStru[ii].CurOccupyState = SECTION_OCCUPY_YES; - PhysicalSectionDataStru[ii].PhySecPreResetState = PHYSICAL_SECTION_PRE_RESET_NO; } } @@ -2815,17 +2775,6 @@ void ResetDynamicStateHlht(const UINT8 ciId) spksDataBuff[devId].cutStatus = SPKS_CUT_NO; /*SPKS·״̬δ*/ } } - - for (ii = 1u; ii < AUTO_ROUTE_SUM_MAX; ii++) - { - devId = ii; - belongCiId = GetAutoRouteBelongCiId(devId); - if (belongCiId == ciId) - { - /*DZ״̬*/ - AutoRouteDataStru[devId].AutoRouteSetFlag = AUTO_ROUTE_SET_NO; /*Զ·δ*/ - } - } } /* @@ -2850,7 +2799,6 @@ void InitOcData(void) for (k = 0U; k < OC_COLL_BOARD_POS_NUM; k++) { m_OcConvertedPtDataArr[i].BoardDatas[j].PosValueBuf[k] = 0u; - m_OcConvertedPtDataArr[i].BoardDatas[j].TolerateCycNum[k] = 0u; } } diff --git a/TSCP/src/APP/ciapp/InvadeSection/InvadeSectionDefine.h b/TSCP/src/APP/ciapp/InvadeSection/InvadeSectionDefine.h index fe9bee3..71be56f 100644 --- a/TSCP/src/APP/ciapp/InvadeSection/InvadeSectionDefine.h +++ b/TSCP/src/APP/ciapp/InvadeSection/InvadeSectionDefine.h @@ -14,7 +14,7 @@ #ifndef __INVADESECTION_DEFINE_H_ #define __INVADESECTION_DEFINE_H_ -#define INVA_SECT_N_COND_SWIT_SUM_MAX ((UINT16)400) /*Ŀ*/ +#define INVA_SECT_N_COND_SWIT_SUM_MAX ((UINT16)300) /*Ŀ*/ #define COND_SWITCH_SUM_MAX ((UINT16)16) /*һĿ,*/ diff --git a/TSCP/src/APP/ciapp/LogRecord/LogRecord.c b/TSCP/src/APP/ciapp/LogRecord/LogRecord.c index 6157ce7..c10e128 100644 --- a/TSCP/src/APP/ciapp/LogRecord/LogRecord.c +++ b/TSCP/src/APP/ciapp/LogRecord/LogRecord.c @@ -526,13 +526,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = newPhysicalSectionData[deviceId].CurMergeOccupyState;/*ǰںռ״̬*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].PreAndMergeOccupyState;/*֮ǰռںռ״̬*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].CurAndMergeOccupyState;/*ǰռںռ״̬*/ - outString[outStringLength++] = newPhysicalSectionData[deviceId].SectionResetType;/*μḴλ*/ - LongToChar(newPhysicalSectionData[deviceId].SectionResetStartCycNum, &outString[outStringLength]);/*μḴλʼ*/ - outStringLength += 4u; - outString[outStringLength++] = newPhysicalSectionData[deviceId].PhySecPreResetState;/*Ԥλ״̬*/ - outString[outStringLength++] = newPhysicalSectionData[deviceId].chPreResetBack;/*Ԥλ*/ - outString[outStringLength++] = newPhysicalSectionData[deviceId].chDirectResetRst;/*ֱӸλ*/ - outString[outStringLength++] = newPhysicalSectionData[deviceId].chDirectResetBack;/*ֱӸλ*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].StopSteadyFlag;/*ͣ״̬Ϣ*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].ArbState;/*ARB״̬*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].ProtectSecLockDelayTimeFlag;/*ʱ־(ֶ̬)*/ @@ -551,6 +544,8 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outStringLength += 4u; LongToChar(newPhysicalSectionData[deviceId].FaultUnlockStartCycNum,&outString[outStringLength]);/*ʽʱʼ*/ outStringLength += 4u; + LongToChar(newPhysicalSectionData[deviceId].SectionResetStartCycNum,&outString[outStringLength]);/*μḴλʼ*/ + outStringLength += 4u; outString[outStringLength++] = newPhysicalSectionData[deviceId].FLockType; /*ηԭ,SPKSԭ*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].UtOrCtOccFlag; /*ȡռñ־*/ ShortToChar(newPhysicalSectionData[deviceId].SecProUseBelongRouteId,&outString[outStringLength]);/*·ID*/ @@ -563,8 +558,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = newPhysicalSectionData[deviceId].chABLTrainFlag; /*ABLгռ״̬*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].chPreABLTrainFlag; /*֮ǰABLгռ״̬*/ outString[outStringLength++] = newPhysicalSectionData[deviceId].cPhySecInHumidRailFlag; /*ʪ־0x55 Ч0xAA Ч*/ - LongToChar(newPhysicalSectionData[deviceId].UtOrCtOccuStartCycNum, &outString[outStringLength]);/*UTCTռʼں*/ - outStringLength += 4u; } } } @@ -659,7 +652,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = newSignalData[deviceId].GreenDsBreakFlag;/*̵˿˿־״̬*/ outString[outStringLength++] = newSignalData[deviceId].YellowDsBreakFlag;/*Ƶ˿˿־״̬*/ outString[outStringLength++] = newSignalData[deviceId].WhiteDsBreakFlag;/*׵˿˿־״̬*/ - outString[outStringLength++] = newSignalData[deviceId].BlueDsBreakFlag;/*˿˿־״̬*/ outString[outStringLength++] = newSignalData[deviceId].RedYellowDsBreakFlag;/*Ƶ˿˿־״̬*/ outString[outStringLength++] = newSignalData[deviceId].RedWhiteDsBreakFlag;/*׵˿˿־״̬*/ outString[outStringLength++] = newSignalData[deviceId].GreenYellowDsBreakFlag;/*̻Ƶ˿˿־״̬*/ @@ -691,10 +683,8 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = newSignalData[deviceId].CancelDetainBtnErrFlag; /*ȡ۳ťϱ־*/ outString[outStringLength++] = newSignalData[deviceId].CancelDetainBtnValidFlag; /*ȡ۳ťЧ־*/ outString[outStringLength++] = newSignalData[deviceId].CancelDetainRelayDownState; /*ȡ۳ťɼ̵״̬*/ - LongToChar(newSignalData[deviceId].DetainBtnPressCycNum, &outString[outStringLength]); /*۳ť1*/ + LongToChar(newSignalData[deviceId].DetainBtnPressCycNum, &outString[outStringLength]); /*۳ť*/ outStringLength += 4u; - LongToChar(newSignalData[deviceId].DetainSndBtnPressCycNum, &outString[outStringLength]); /*۳ť2*/ - outStringLength += 4U; LongToChar(newSignalData[deviceId].CancelDetainBtnPressCycNum, &outString[outStringLength]); /*ȡ۳ť*/ outStringLength += 4u; LongToChar(newSignalData[deviceId].CancelDetainErrTrigPressCycNum, &outString[outStringLength]); /*ȡ۳ť󴥷*/ @@ -703,16 +693,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outStringLength += 2u; outString[outStringLength++] = newSignalData[deviceId].cSleepTrainLightUpFlag; /*߳źŻ־0x55 Ч0xAA Ч*/ outString[outStringLength++] = newSignalData[deviceId].cInHumidRailFlag; /*źŻʪ־0x55 Ч0xAA Ч*/ - outString[outStringLength] = newSignalData[deviceId].cDetCutBtnState; /*۳·ť״̬0x55-Ч0xAA-Ч*/ - outStringLength++; - LongToChar(newSignalData[deviceId].DetCutBtnPressCycNum, &outString[outStringLength]); /*۳·ť*/ - outStringLength += 4U; - LongToChar(newSignalData[deviceId].DetCutBtnErrTrigPressCycNum, &outString[outStringLength]); /*۳·ť󴥷*/ - outStringLength += 4U; - outString[outStringLength] = newSignalData[deviceId].cDetCutBtnErrFlag; /*۳·ťϱ־0x55δϣ0xaa*/ - outStringLength++; - outString[outStringLength] = newSignalData[deviceId].cDetCutBtnRelayDownState; /*۳·ťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ - outStringLength++; } } else @@ -782,7 +762,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = pNewEsbData[deviceId].EssSteadyState;/*ESSȵ״̬ATS--0x55 Ҫȵƣ0xaaҪȵ*/ outString[outStringLength++] = pNewEsbData[deviceId].EssFlashState;/*ESS״̬ATS--0x55 Ҫƣ0xaaҪ*/ outString[outStringLength++] = pNewEsbData[deviceId].EsbErrorFlag;/*Ըʽͣťϱ־0x55δϣ0xaa*/ - outString[outStringLength++] = pNewEsbData[deviceId].EsbRelayDownState;/*رհťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ outString[outStringLength++] = pNewEsbData[deviceId].CancelEsbErrorFlag;/*Ըʽȡͣťϱ־0x55δϣ0xaa*/ outString[outStringLength++] = pNewEsbData[deviceId].CancelEsbValidFlag;/*ȡرհťЧ־0x55Ч0xaaЧ*/ outString[outStringLength++] = pNewEsbData[deviceId].CancelEsbRelayDownState;/*ȡرհťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ @@ -791,13 +770,7 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) LongToChar(pNewEsbData[deviceId].CancelEsbPressCycNum, &outString[outStringLength]);/*ȡرհť*/ outStringLength += 4u; LongToChar(pNewEsbData[deviceId].CancelEsbErrTriggerPressCycNum, &outString[outStringLength]);/*ȡرհť󴥷*/ - outStringLength += 4U; - outString[outStringLength++] = pNewEsbData[deviceId].EsbCutErrorFlag; /*ر·ťϱ־0x55δϣ0xaa*/ - outString[outStringLength++] = pNewEsbData[deviceId].EsbCutRelayDownState; /*ر·ťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ - LongToChar(pNewEsbData[deviceId].EsbCutPressCycNum, &outString[outStringLength]); /*ر·ť*/ - outStringLength += 4u; - LongToChar(pNewEsbData[deviceId].EsbCutErrTriggerPressCycNum, &outString[outStringLength]); /*ر·ť󴥷*/ - outStringLength += 4U; + outStringLength += 4U; } } else @@ -1021,9 +994,7 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outStringLength += 4u; outString[outStringLength++] = newRouteData[deviceId].DCQState;/*״̬*/ outString[outStringLength++] = newRouteData[deviceId].DCTYState;/*ͬ״̬*/ - LongToChar(newRouteData[deviceId].dwDcAgreeBtnPressCycNum, &outString[outStringLength]);/*ͬⰴťʼ*/ - outStringLength += 4u; - outString[outStringLength++] = newRouteData[deviceId].chDcAgreeButtonErrState;/*ͬⰴť״̬*/ + outString[outStringLength++] = newRouteData[deviceId].DCTYNotSatisfySignalReOpenFlag;/*ͬⲻ-źؿ־*/ LongToChar(newRouteData[deviceId].DCTYNotSatisfyStartCount,&outString[outStringLength]);/*ͬⲻ-ʼ*/ outStringLength += 4u; @@ -1557,11 +1528,8 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) outString[outStringLength++] = newPsdData[deviceId].chVideoQkDriveState; /*Ƶ״̬*/ ShortToChar(newPsdData[deviceId].wVideoQkRelateVobcId, &outString[outStringLength]);/*ƵͶӦгID*/ outStringLength += 2u; - outString[outStringLength] = newPsdData[deviceId].cPsdExceptOpenState; /*쳣״̬0x55-쳣򿪣0xAA-δ쳣*/ - outStringLength++; - LongToChar(newPsdData[deviceId].dwPsdRelayDownCycNum, &outString[outStringLength]); /*PSDŹؼ̵ʼ*/ - outStringLength += 4U; } + } else { @@ -2029,8 +1997,7 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) LongToChar(pNewSpksData[deviceId].flockStartNum, &outString[outStringLength]); outStringLength += 4U; outString[outStringLength++] = pNewSpksData[deviceId].TotalSpksDriveOutDis; - LongToChar(pNewSpksData[deviceId].dwSpksBtnPressCycNum, &outString[outStringLength]); /*SPKSťʼں*/ - outStringLength += 4U; + } } else @@ -2048,7 +2015,7 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) else { #ifdef PLATFORM_2OO2 - debug_infor_printf((const)"\nSpksData:%d\nspksId(2)-status-cutStatus-flockStartNum(4)-TotalSpksDriveOutDis:%d", (UINT16)sizeof(SpksDataStruct), outStringLength); + debug_infor_printf((const)"\nSpksData:%d\spksId(2)-status-cutStatus-flockStartNum(4)-TotalSpksDriveOutDis:%d", (UINT16)sizeof(SpksDataStruct), outStringLength); debug_out_array(0xAA, outString, outStringLength); #endif @@ -2148,9 +2115,6 @@ UINT8 RecordDeviceDataLog(UINT8 Flag) LongToChar(pNewTrainInfoData[deviceId].dwDelayTime, &outString[outStringLength]);/*Ϣӳʱ*/ outStringLength += 4u; - LongToChar(pNewTrainInfoData[deviceId].dwStartFlyCycNum, &outString[outStringLength]);/*гɳʼں*/ - outStringLength += 4U; - ShortToChar(pNewTrainInfoData[deviceId].wGroupOtherTrainId, &outString[outStringLength]);/* һгID*/ outStringLength += 2u; diff --git a/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.c b/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.c index 1e8963a..e01dbc0 100644 --- a/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.c +++ b/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.c @@ -1379,7 +1379,6 @@ void RouteRecoverOpenProc(const UINT16 routeId) UINT8 recoverState = ROUTE_RECOVER_STA_STAY;/*ǰָؿ״̬*/ UINT8 errType = CI_ERROR; UINT8 localCiType = GetLocalCiType();/**/ - UINT16 wStartSignalId = 0U; /*·ʼźŻID*/ routeState = GetRouteState(routeId); recoverState = GetRouteRecoverOpenFlag(routeId); @@ -1397,7 +1396,6 @@ void RouteRecoverOpenProc(const UINT16 routeId) errType = RecoverOpenRouteCheckCLD(routeId); } - wStartSignalId = GetRouteStartSignalId(routeId); /*ȡ·ʼźŻID*/ if (errType == CI_SUCCESS) { SetRouteOpenSigStartCycNum(routeId, Get2oo2CurCycleNum()); @@ -1412,9 +1410,6 @@ void RouteRecoverOpenProc(const UINT16 routeId) else { SetRouteRecoverState(routeId, ROUTE_RECOVER_STA_STAY);/*һPSDSPKS۳㣬·ָ״̬Ϊɻָ*/ - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wStartSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } } diff --git a/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.h b/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.h index c0b82de..c00d0e6 100644 --- a/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.h +++ b/TSCP/src/APP/ciapp/LogicManage/InterlockCommonManage.h @@ -41,7 +41,6 @@ #include "../LogicManage/TradInterlockLogicManage.h" #include "../Train/TrainDefine.h" #include "LogicalRouteDataManage.h" -#include "../EnvelopeManage/EnvelopeManageAPI.h" #ifdef SCADE_MODE #include "../LogicManage/General/LogicManageScadeInterface.h" diff --git a/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.c b/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.c index 2cce109..f8338e6 100644 --- a/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.c +++ b/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.c @@ -199,9 +199,6 @@ void InterlockLogicMainProc(void) /*·߼*/ RouteLogicManage(); - /*ղ̵¹*/ - OverlapZhaoChaRelayUpDateManage(); - /*·гͷŽ߼*/ RouteTrainResUnlockManage(); @@ -604,6 +601,7 @@ void RouteLogicManage(void) RouteStateFlagManage(routeId); } + if (RC_WORK_MODE_TIOC == cRcWorkMode) { /*гȡԴʱ wei ȱݣԴȡ*/ @@ -611,17 +609,10 @@ void RouteLogicManage(void) } RouteRecoverOpenProc(routeId); - /*ȡԶź*/ CancleAutoSigCmdProcc(routeId); - - /*·ͬ߼*/ - RouteDCTYLogic(routeId); - /*cgh-ϲCID-2341-5ݽ·״̬ر־*/ ClearSomeFlagDependRouteState(routeId); - - /*cgh-ϲCID-2349-5*/ SetErrorDataBelongVirCiId(recordErrorNum, virCIid);/*ErrorCodeID*/ @@ -852,7 +843,7 @@ void RouteAutoManage(const UINT16 routeId) /*·ѡ*/ RouteFirstXuanPaiManage(routeId); #else - SetCommonRouteLogicManage(routeId, ESEND_LEVEL_ATS); + SetCommonRouteLogicManage(routeId); #endif } } @@ -1226,9 +1217,6 @@ void RouteFirstLockManage(const UINT16 routeId) SetErrorData(EFUNC_LOCK_BLOC_T_ROUTE, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_ROUTE_OVERLAP_UNLOCK, ROUTE_OVERLAP_SET_NO, ESEND_LEVEL_ATS); SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCKERR); /*-->ó쳣*/ - /*ʧܣź޷ţöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - returnValue = CI_ERROR; } else @@ -1251,16 +1239,9 @@ void RouteFirstLockManage(const UINT16 routeId) SetErrorData(EFUNC_LOCK_BLOC_T_ROUTE, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_ROUTE_OVERLAP_UNLOCK, ROUTE_OVERLAP_SET_NO, ESEND_LEVEL_ATS); debug_infor_printf((const)"\nRoute %d ovlerlap OccTimeOut.\n", routeId); SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCKERR); /*-->ó쳣*/ - - /*ʧܣź޷ţöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } - else - { - ; - } } } @@ -1302,10 +1283,8 @@ void RouteFirstLockManage(const UINT16 routeId) else { /*ʧ*/ - SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCKERR); /*-->ó쳣*/ - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); + SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCKERR); /*-->ó쳣*/ } } } @@ -1323,9 +1302,8 @@ void RouteFirstLockErrManage(const UINT16 routeId) { UINT16 startSignalId = 0u; /*·ʼźŻID*/ UINT8 openCloseState = 0u; /*źŻŹر״̬*/ - UINT8 dctyReOpenFlag = ROUTE_DCTY_REOPEN_NO;/*ͬؿ־*/ + UINT8 needOpenNotTrueRepeatFlag = ROUTE_NEEDOPEN_REOPEN_NO;/*迪Ųʱؿ־*/ - UINT8 cFuncRetVal = CI_ERROR; /*ȡ·ֶ̬*/ startSignalId = GetRouteStartSignalId(routeId); /*ȡ·ʼźŻID*/ @@ -1347,11 +1325,7 @@ void RouteFirstLockErrManage(const UINT16 routeId) else { needOpenNotTrueRepeatFlag = GetRouteNeedOpenReopenFlag(routeId); - /*ȡͬؿ־*/ - dctyReOpenFlag = GetRouteDCTYNotSatisfySignalReOpenFlag(routeId); - - if ((ROUTE_NEEDOPEN_REOPEN_YES == needOpenNotTrueRepeatFlag) - || (ROUTE_DCTY_REOPEN == dctyReOpenFlag)) + if (ROUTE_NEEDOPEN_REOPEN_YES == needOpenNotTrueRepeatFlag) { #if 0 SetRouteNeedOpenReopenFlag(routeId,ROUTE_NEEDOPEN_REOPEN_NO); @@ -1383,38 +1357,16 @@ void RouteFirstLockErrManage(const UINT16 routeId) if (((CI_SUCCESS == AutoSignalOrRouteValid(routeId)) && (SIGNAL_DS_BREAK_NO == GetSignalDsBreakFlag(startSignalId))) || (ROUTE_REPEATOPEN_SET_YES == GetRouteRepeatOpenFlag(routeId))) { - /*ؿźŴ*/ - cFuncRetVal = OpenRouteSignalProc(routeId); - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + /*ؿźźŴ*/ + (void)OpenRouteSignalProc(routeId); } else { /* ֽ·쳣״̬*/ needOpenNotTrueRepeatFlag = GetRouteNeedOpenReopenFlag(routeId); - /*ȡͬؿ־*/ - dctyReOpenFlag = GetRouteDCTYNotSatisfySignalReOpenFlag(routeId); - - if ((ROUTE_NEEDOPEN_REOPEN_YES == needOpenNotTrueRepeatFlag) - || (ROUTE_DCTY_REOPEN == dctyReOpenFlag)) - {/*迪Ų㣬迪ؿ־Ч/ͬؿ־Чʱ*/ - cFuncRetVal = OpenRouteSignalProc(routeId); - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + if (ROUTE_NEEDOPEN_REOPEN_YES == needOpenNotTrueRepeatFlag) + {/*迪㣬迪ؿ־Чʱ*/ + (void)OpenRouteSignalProc(routeId); } } } @@ -1432,7 +1384,7 @@ void RouteYuXianLockManage(const UINT16 routeId) UINT8 openCloseState = 0u; /*·ʼźŻ״̬*/ UINT8 startSignalCurColor = 0u; /*ʼźŻǰɫ*/ UINT8 startSignalPreDrvColor = 0u; /*ʼźŻɫ*/ - UINT8 cFuncRetVal = CI_ERROR; + /*ȡ·ֶ̬*/ startSignalId = GetRouteStartSignalId(routeId); /*ȡ·ʼźŻID*/ @@ -1502,16 +1454,7 @@ void RouteYuXianLockManage(const UINT16 routeId) /*Զ·źЧ||źؿЧ*/ /*Ž·źŴ*/ - cFuncRetVal = OpenRouteSignalProc(routeId); - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + (void)OpenRouteSignalProc(routeId); } else { @@ -1535,8 +1478,6 @@ void RouteYuXianOpenManage(const UINT16 routeId) UINT8 sigState = 0u; UINT8 funcId = EFUNC_RouteYuXianOpenManage;/*ID*/ UINT8 checkResult = 0u; - UINT8 dctyReOpenFlag = ROUTE_DCTY_REOPEN_NO; - /*ȡ·ֶ̬*/ startSignalId = GetRouteStartSignalId(routeId); /*ȡ·ʼźŻID*/ @@ -1552,18 +1493,6 @@ void RouteYuXianOpenManage(const UINT16 routeId) SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } - - dctyReOpenFlag = GetRouteDCTYNotSatisfySignalReOpenFlag(routeId); - if (ROUTE_DCTY_REOPEN == dctyReOpenFlag) - { - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0U); - } - else - { - ; - } - /*ֿŽ·źŴ*/ checkResult = KeepOpenRouteSignalProc(routeId); if (CI_SUCCESS == checkResult) @@ -1597,9 +1526,6 @@ void RouteYuXianOpenManage(const UINT16 routeId) /*޳ӽ*/ SetRouteStateManage(routeId, ROUTE_STATE_YUXIAN_LOCK); /*-->Ԥ*/ } - - /*ֿʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } else @@ -1619,9 +1545,6 @@ void RouteYuXianOpenManage(const UINT16 routeId) /*źŻϹرձ*/ SetErrorData(funcId, CI_DEVICE_TYPE_SIGNAL, startSignalId, ETYPE_SIG_START_OPEN_STATE, sigState, ESEND_LEVEL_ATS); - - /*ֿڼź쳣رգöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -1645,8 +1568,6 @@ void RouteNearLockErrManage(const UINT16 routeId) UINT8 startSignalDsStat = 0U; UINT8 routeRepeatStat = 0U; UINT8 routeTrainNear = 0U; - UINT8 cFuncRetVal = CI_ERROR; - /*ȡ·ʼźŻID*/ startSignalId = GetRouteStartSignalId(routeId); sigInfirPhySecId = GetSignalInFirstPhySecId(startSignalId, routeId); @@ -1726,17 +1647,7 @@ void RouteNearLockErrManage(const UINT16 routeId) /*Զ·źЧ||źؿЧ*/ /*Ž·źŴ*/ - cFuncRetVal = OpenRouteSignalProc(routeId); - - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + (void)OpenRouteSignalProc(routeId); } else { @@ -1863,9 +1774,6 @@ void RouteNearOpenManage(const UINT16 routeId) { SetRouteStateManage(routeId, ROUTE_STATE_NEAR_LOCKERR); /*-->ýӽ쳣*/ } - - /*ֿʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } else @@ -1875,9 +1783,6 @@ void RouteNearOpenManage(const UINT16 routeId) /*źŻϹرձ*/ SetErrorData(funcId, CI_DEVICE_TYPE_SIGNAL, startSignalId, ETYPE_SIG_START_OPEN_STATE, sigState, ESEND_LEVEL_ATS); - - /*ֿڼź쳣رգöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -2004,7 +1909,6 @@ void RouteNearLockManage(const UINT16 routeId) UINT16 validReturnSigId = 0U; /*Ч۷źŻ*/ UINT16 returnSecId = 0U; /*۷*/ UINT8 localCiType = 0U;/**/ - UINT8 cFuncRetVal = CI_ERROR; localCiType = GetLocalCiType(); /*ȡ·ʼźŻID*/ @@ -2086,17 +1990,7 @@ void RouteNearLockManage(const UINT16 routeId) { if (SIGNAL_DS_BREAK_NO == GetSignalDsBreakFlag(startSignalId)) { - cFuncRetVal = OpenRouteSignalProc(routeId); - - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + (void)OpenRouteSignalProc(routeId); } else { @@ -2106,17 +2000,7 @@ void RouteNearLockManage(const UINT16 routeId) else if (ROUTE_REPEATOPEN_SET_YES == GetRouteRepeatOpenFlag(routeId)) { /*(ROUTE_REPEATOPEN_SET_YES == GetRouteRepeatOpenFlag(routeId))޸ڣ20170209ա޸ԭֽ֧ӽ쳣ʱӦźؿ*/ - cFuncRetVal = OpenRouteSignalProc(routeId); - - if (CI_SUCCESS == cFuncRetVal) - { - /*ųɹȴ*/ - } - else - { - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); - } + (void)OpenRouteSignalProc(routeId); } else { @@ -2711,8 +2595,6 @@ void RouteLeadLockManage(const UINT16 routeId) { /*ʧ*/ SetRouteStateManage(routeId, ROUTE_STATE_LEAD_LOCKERR); /*-->쳣*/ - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } } @@ -2848,9 +2730,6 @@ void RouteLeadOpenManage(const UINT16 routeId) SetRouteLeadFaultOpenStartCyc(routeId, 0u); /*ʱʱ*/ SetRouteStateDeal(routeId, ROUTE_STATE_LEAD_LOCKERR); /*-->쳣*/ - - /*ֿʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } else @@ -2860,9 +2739,6 @@ void RouteLeadOpenManage(const UINT16 routeId) SetRouteStateManage(routeId, ROUTE_STATE_LEAD_LOCKERR); /*-->쳣*/ /*źŻϹرձadd by yt 2022422*/ SetErrorData(EFUNC_CLD_OPEN_LEAD_ROUTE, CI_DEVICE_TYPE_SIGNAL, startSignalId, ETYPE_SIG_START_OPEN_STATE, SIGNAL_CLOSE, ESEND_LEVEL_ATS); - - /*ֿڼź쳣رգöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(startSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -3462,7 +3338,6 @@ UINT8 LockRouteOverlapProc(const UINT16 routeId) SetOverlapXuanPaiStartCycNum(overlapIdBuf[ii], 0u); /*ճɹѡʼ*/ SetOverlapProSwtCheckStartFlag(overlapIdBuf[ii], PROSWITCH_CHECK_START_INVALID); /*ճɹ÷鿪ʼ־Ϊֹͣ*/ SetOverlapProSwtCheckResultFlag(overlapIdBuf[ii], PROSWITCH_CHECK_RESULT_DEFAULT); /*ճɹ־ΪĬֵ*/ - SetOverlaplockSucessStartCycNum(overlapIdBuf[ii], dwCurCycNum);/*ʼ*/ cKeepWorkFlag = CI_ERROR; /*ֹͣ*/ returnValue = CI_SUCCESS; } @@ -3645,8 +3520,6 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) UINT32 dwDelayOpenCycNum = 0U; /*ⱨʱ*/ UINT8 cRouteCanOpenFlag = CI_ERROR; /*·ɿű־*/ UINT32 dwRouteSigOpenStartCyc = 0U; /*·źſʼ*/ - UINT8 dctyReOpenFlag = ROUTE_DCTY_REOPEN_NO;/*ͬؿ־*/ - UINT32 dctyStartCount = 0u;/*ͬʼ*/ routeType = GetRouteType(routeId); /*ȡ·*/ routeLevel = GetRouteLevel(routeId); /*ȡ·ල*/ @@ -3731,8 +3604,6 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) /*ʱУ*/ } - dctyReOpenFlag = GetRouteDCTYNotSatisfySignalReOpenFlag(routeId);/*ȡͬؿ־*/ - /*ݿźŷֵ*/ if (CI_SUCCESS == returnValue) { /*ɹ*/ @@ -3756,20 +3627,7 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) /*忪δؿ־δŲؿʼʱ*/ SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); - - - if (ROUTE_DCTY_REOPEN == dctyReOpenFlag) - { - SetErrorData(EFUNC_CLD_OpenCommRouteSigProc,CI_DEVICE_TYPE_ROUTE, routeId,ETYPE_DCTY_REOPEN_TIMING_BREAK, dctyReOpenFlag, ESEND_LEVEL_ATS); - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0U); - } - else - { - ; - } - + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); returnValue = CI_SUCCESS; } else if (RETURN_OPEN_ERR_NEEDOPEN == returnValue) @@ -3788,7 +3646,7 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) else { SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } } else if (ROUTE_STATE_FIRST_LOCKERR == routeState/*쳣*/) @@ -3806,12 +3664,12 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) if (CI_TIME_OUT == routeTimeState)/*ʱ*/ { SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } else if (CI_TIME_NO == routeTimeState)/*δʱ*/ { SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } else if (CI_TIME_IN == routeTimeState)/*ʱ*/ { @@ -3821,12 +3679,12 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) { /*Ƿ*/ SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } /*Ϊڿ迪ŲʱԶؿУԣźԶؿ־ظ*/ SetRouteRepeatOpenFlag(routeId, ROUTE_REPEATOPEN_SET_NO); /*·źؿ־*/ SetRouteXianSuConfirmStt(routeId, ROUTE_XIANSU_CONFIRM_NO); - SetRouteOpenSigStartCycNum(routeId, 0U); /*źſʱ*/ + SetRouteOpenSigStartCycNum(routeId, 0); /*źſʱ*/ } else { @@ -3840,7 +3698,7 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) /*忪δؿ־δŲؿʼʱ*/ SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } } else @@ -3855,79 +3713,10 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) /*忪δؿ־δŲؿʼʱ*/ SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); } - - if (ROUTE_DCTY_REOPEN == dctyReOpenFlag) - { - SetErrorData(EFUNC_CLD_OpenCommRouteSigProc, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_DCTY_REOPEN_TIMING_BREAK, dctyReOpenFlag, ESEND_LEVEL_ATS); - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0U); - } - else - { - ; - } - returnValue = CI_ERROR; } - else if ((ROUTE_TYPE_DIAOCHE == routeType) && (RETURN_DCTY_NOT_SATISIFY == returnValue)/*ͬⲻ*/) - { - (void)DriveSignalClose(startSignalId);/*źŹر*/ - - if (ROUTE_STATE_FIRST_LOCK == routeState/**/) - { - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN); - SetRouteDCTYNotSatisfyStartCnt(routeId, curCycle); - } - else if (ROUTE_STATE_FIRST_LOCKERR == routeState/*쳣*/) - { - sysparaRepeatCount = 0u; - /*鳬ʱ*/ - dctyStartCount = GetRouteDCTYNotSatisfyStartCnt(routeId);/*ȡͬⲻʼ*/ - sysparaRepeatCount = GetSysParaDCTYWaitSigOpenCnt();/*ȡϵͳͬȴźؿʱʱ*/ - - if ((ROUTE_DCTY_REOPEN == dctyReOpenFlag) && (dctyStartCount > 0u)) - { - /*鳬ʱʱ־*/ - /* źʱ״̬*/ - routeTimeState = SystemOverTimeCheck(dctyStartCount, sysparaRepeatCount); - if (CI_TIME_OUT == routeTimeState)/*ʱ*/ - { - SetErrorData(EFUNC_CLD_OpenCommRouteSigProc, - CI_DEVICE_TYPE_ROUTE, routeId, - ETYPE_DCTY_REOPEN_TIMEOUT, dctyReOpenFlag, ESEND_LEVEL_ATS); - - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0u); - } - else if (CI_TIME_NO == routeTimeState)/*δʱ*/ - { - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0u); - } - else if (CI_TIME_IN == routeTimeState)/*ʱ*/ - { - /*ؿ*/ - } - else - { - /*Ƿ*/ - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0u); - } - } - } - else - { - /**/ - } - /*Ϊڿ迪ŲʱԶؿУԣźԶؿ־ظ*/ - SetRouteRepeatOpenFlag(routeId, ROUTE_REPEATOPEN_SET_NO); /*·źؿ־*/ - SetRouteOpenSigStartCycNum(routeId, 0u); /*źſʱ*/ - - returnValue = CI_ERROR; - } else if (RELAY_STATE_WAITE == returnValue) { /*忪δؿ־δŲؿʼʱ*/ @@ -3948,18 +3737,7 @@ UINT8 OpenRouteSignalProc(const UINT16 routeId) /*忪δؿ־δŲؿʼʱ*/ SetRouteNeedOpenReopenFlag(routeId, ROUTE_NEEDOPEN_REOPEN_NO); - SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0U); - - if (ROUTE_DCTY_REOPEN == dctyReOpenFlag) - { - SetErrorData(EFUNC_CLD_OpenCommRouteSigProc, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_DCTY_REOPEN_TIMING_BREAK, dctyReOpenFlag, ESEND_LEVEL_ATS); - SetRouteDCTYNotSatisfySignalReOpenFlag(routeId, ROUTE_DCTY_REOPEN_NO); - SetRouteDCTYNotSatisfyStartCnt(routeId, 0U); - } - else - { - ; - } + SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(routeId, 0); if (CI_ROUTE_RECOVER_ERR == errType) { @@ -4193,8 +3971,7 @@ void RouteZongQuXiaoProc(const UINT16 routeId) (ROUTE_STATE_LEAD_OPEN == routeState) || (ROUTE_STATE_LEAD_XUANPAI == routeState)) { - /*·ȡϢ*/ - SetCiSendCmdBackInfoData(CI_BACK_LEAD_ROUTE_CANCEL, CI_DEVICE_TYPE_ROUTE, routeId, 0u, 0u); + /*·ȡϢ*/ } else if (ROUTE_STATE_IDLE == routeState) { @@ -4660,7 +4437,7 @@ UINT8 UnlockRouteOverlapProc(const UINT16 routeId) { ret = UnlockRouteOverlapLogicProcess(routeId, &unlockOverlapId, &wTrainId); /*·Overlap*/ - if ((CI_SUCCESS == ret) || (CI_OVERLAP_OCC_UNLOCK == ret)) + if (CI_SUCCESS == ret) { /*Խ*/ SetOverlapLockState(unlockOverlapId, PHYSICAL_SECTION_LOCK_NO, routeId); /*Overlapδ*/ return CI_SUCCESS; @@ -5542,11 +5319,9 @@ void SetOverlapLockState(const UINT16 overlapId, const UINT8 lockState, const UI /* * ͨ·߼ * ˵ const UINT16 routeId, ·ID -* const UINT8 chSendLevel ͵ȼ * ֵ void -* BY cgh 20250828 */ -void SetCommonRouteLogicManage(const UINT16 routeId,const UINT8 chSendLevel) +void SetCommonRouteLogicManage(const UINT16 routeId) { UINT8 localCiId = 0u; /*ID*/ UINT8 belongCiId = 0u; /*·ID*/ @@ -5568,12 +5343,7 @@ void SetCommonRouteLogicManage(const UINT16 routeId,const UINT8 chSendLevel) UINT8 firstLogicOccuState = 0u; UINT8 chLocalCiType = 0U;/**/ UINT8 chSignalReOpenFunc = 0U; - UINT8 chReadyEnterRouteTrainSum = 0U; - UINT16 wszReadyEtRouteTrainId[LOGIC_SECTION_RES_SUM_MAX] = { 0U }; - UINT8 chFunRet = CI_ERROR; - UINT8 chHitSoftWallSwitch = 0U;/*ײǽ*/ - - chHitSoftWallSwitch = GetHitSoftWallSwitch(); + /*·ź쳣رգյ·ִźؿ 0xaaִ 0x55ִ*/ chSignalReOpenFunc = GetCiFunctionSwitchConfig(FUNC_ROUTELOCK_OPEN_SIGNAL); @@ -5756,47 +5526,11 @@ void SetCommonRouteLogicManage(const UINT16 routeId,const UINT8 chSendLevel) } else if (ROUTE_STATE_NEAR_LOCK == routeState) { - if (FUNC_HITSOFTWALL_OFF == chHitSoftWallSwitch) - { - chFunRet = GetRouteInOutFstLgcTrainInfo(routeId, &chReadyEnterRouteTrainSum, wszReadyEtRouteTrainId); - if (CI_SUCCESS == chFunRet) - { - if (0U == chReadyEnterRouteTrainSum) - { - /*гȫʻ·*/ - /*ӽٴΰ··״̬Ϊ·ATS·ʱֱԴͬ㿪ź*/ - /*ɾӦ½·*/ - DeleteSetRouteErrorData(); + /*ӽٴΰ··״̬Ϊ·ATS·ʱֱԴͬ㿪ź*/ + /*ɾӦ½·*/ + DeleteSetRouteErrorData(); - SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCK); /*-->ý·*/ - } - else - { - /*гδȫʻ·ı·״̬,;Ƿ񱨾*/ - if (ESEND_LEVEL_ATS == chSendLevel) - { - /*Ҫ*/ - } - else - { - /*ɾӦ½·*/ - DeleteSetRouteErrorData(); - } - } - } - else - { - ; /**/ - } - } - else - { - /*ӽٴΰ··״̬Ϊ·ATS·ʱֱԴͬ㿪ź*/ - /*ɾӦ½·*/ - DeleteSetRouteErrorData(); - - SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCK); /*-->ý·*/ - } + SetRouteStateManage(routeId, ROUTE_STATE_FIRST_LOCK); /*-->ý·*/ } else { @@ -6644,15 +6378,9 @@ void OpenLeadSignalLogicManage(const UINT16 signalId) UINT8 chFunRet = CI_ERROR; UINT8 signalBrightFlag = 0u; /*ά޵*/ UINT8 cRcWorkMode = 0U; /*ϵͳģʽ */ - UINT8 chSignalCurColor = 0U;/*źŻɫ*/ - UINT32 dwFaultOpenStartCyc = 0U;/*Ͽʼ*/ - UINT32 dwLeadFaultOpenCyc = 0U; /*·Ͽų*/ - UINT16 wInFirstPhySecId = 0U; /*ڷһID*/ - UINT32 dwCurCycleNum = 0U;/*ǰں*/ /* ȡϵͳģʽ */ cRcWorkMode = GetLocalRcWorkMode(); - dwCurCycleNum = Get2oo2CurCycleNum(); if ((0u == signalId) || (signalId >= SIGNAL_SUM_MAX)) { @@ -6665,8 +6393,7 @@ void OpenLeadSignalLogicManage(const UINT16 signalId) if (CI_SUCCESS == chKeepWork) { - wInFirstPhySecId = GetSignalInFirstLockedPhySecId(signalId); - routeId = GetPhySecRLockBelongRouteId(wInFirstPhySecId); + routeId = GetPhySecRLockBelongRouteId(GetSignalInFirstLockedPhySecId(signalId)); signalBrightFlag = GetSignalMaintainState(signalId); chRouteLevel = GetRouteLevel(routeId); /* ʽCBTCCIģʽȫվƱ־Ч*/ @@ -6721,12 +6448,8 @@ void OpenLeadSignalLogicManage(const UINT16 signalId) if (CI_SUCCESS == chKeepWork) { routeState = GetRouteState(routeId); - chSignalCurColor = GetSignalCurColor(signalId); - chSignalOpenCloseState = GetSignalOpenCloseState(chSignalCurColor); - dwFaultOpenStartCyc = GetRouteLeadFaultOpenStartCyc(routeId); - dwLeadFaultOpenCyc = GetSystemParaLeadFaultOpenCyc(); - chTimeState = SystemOverTimeCheck(dwFaultOpenStartCyc,dwLeadFaultOpenCyc); - + chSignalOpenCloseState = GetSignalOpenCloseState(GetSignalCurColor(signalId)); + chTimeState = SystemOverTimeCheck(GetRouteLeadFaultOpenStartCyc(routeId), GetSystemParaLeadFaultOpenCyc()); if ((ROUTE_STATE_LEAD_LOCKERR == routeState) && (SIGNAL_CLOSE == chSignalOpenCloseState)) { @@ -6742,21 +6465,20 @@ void OpenLeadSignalLogicManage(const UINT16 signalId) /*źŰť*/ /*ÿʱ*/ - SetRouteLeadFaultOpenStartCyc(routeId, dwCurCycleNum); + SetRouteLeadFaultOpenStartCyc(routeId, Get2oo2CurCycleNum()); } else if ((ROUTE_STATE_FIRST_LOCKERR == routeState) || (ROUTE_STATE_YUXIAN_LOCK == routeState) || (ROUTE_STATE_NEAR_LOCK == routeState) || (ROUTE_STATE_NEAR_LOCKERR == routeState)) { - /*ת·-Ҫźſʼڣ鳬ʱ*/ - SetRouteOpenSigStartCycNum(routeId, dwCurCycleNum); + /*ת·*/ + /*·쳣 Ԥա ӽ ӽ쳣*/ - SetRouteToLeadFlag(routeId, ROUTE_TO_LEAD_FLAG_YES); /*·ת־Чʱ·*/ - chFunRet = OpenLeadRouteLogicProcess(routeId); + chFunRet = LockLeadRouteLogicProcess(routeId); if (CI_SUCCESS == chFunRet) { /*ճɹ*/ @@ -6768,12 +6490,8 @@ void OpenLeadSignalLogicManage(const UINT16 signalId) /*ʧ*/ /*ԭ·״̬*/ - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(signalId, SIGNAL_DETAIN_CUT_VALID_NO); - } - SetRouteToLeadFlag(routeId, ROUTE_TO_LEAD_FLAG_NO); /*·ɺ·ת־ΪЧ*/ + } } else { @@ -7709,7 +7427,8 @@ void SetRouteStateManage(const UINT16 routeId, UINT8 routeState) */ void UpdateZhaoChaStateManage(const UINT16 routeId, UINT8 routeState) { - UINT16 wSelfRealyId = 0U;/*ղ̵ID*/ + UINT16 wSelfRealyId = 0U;/*ǰģʽղ̵ID*/ + UINT16 wOtherRealyId = 0U;/*һģʽղ̵ID*/ UINT8 relauDrvState = 0U; UINT16 realyIdInterface = 0u; UINT8 relauDrvStateInterface = 0u; @@ -7723,10 +7442,27 @@ void UpdateZhaoChaStateManage(const UINT16 routeId, UINT8 routeState) UINT16 endSignalId = 0u; UINT8 funcSwitchSupportRelayInterface = 0u; UINT8 confirmRelayInterfaceFlag = 0u; + UINT8 chRouteLevel = 0U; - wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ղ̵ID*/ + /*·ලȷ*/ + chRouteLevel = GetRouteLevel(routeId); -/*ȡ̵ӿڱղID*/ + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + wOtherRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTCģʽղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + wSelfRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTCģʽղ̵ID*/ + wOtherRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + + /*ȡ̵ӿڱղID*/ realyIdInterface = GetRouteRelayBenDuanZcIdOnRelay(routeId); relauDrvStateInterface = GetRelayDriveState(realyIdInterface); localCi = GetSystemParaLocalCiId(); /*ȡID*/ @@ -7738,30 +7474,56 @@ void UpdateZhaoChaStateManage(const UINT16 routeId, UINT8 routeState) routeLockCycNum = GetRouteLockStartCycNum(routeId); timeOutCycCount = GetSystemParaSignalCloseCyc(); - if (0U < wSelfRealyId) + /*ӿڱ˼̵*/ + if ((ROUTE_STATE_IDLE == routeState) || + (ROUTE_STATE_FIRST_XUANPAI == routeState) || + (ROUTE_STATE_XUANPAI == routeState) || + (ROUTE_STATE_LEAD_FIRST_XUANPAI == routeState) || + (ROUTE_STATE_LEAD_XUANPAI == routeState)) { - /*ӿڱ˼̵*/ - if ((ROUTE_STATE_IDLE == routeState) || - (ROUTE_STATE_FIRST_XUANPAI == routeState) || - (ROUTE_STATE_XUANPAI == routeState) || - (ROUTE_STATE_LEAD_FIRST_XUANPAI == routeState) || - (ROUTE_STATE_LEAD_XUANPAI == routeState)) + /*· ģʽղ鶼*/ + + if (0U < wSelfRealyId) { relauDrvState = GetRelayDriveState(wSelfRealyId); if (RELAY_DRIVE_STATE_NULL == relauDrvState) { (void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_UP); + SetRelayDriveStartCyc(wSelfRealyId); } } - else + if (0U < wOtherRealyId) + { + relauDrvState = GetRelayDriveState(wOtherRealyId); + if (RELAY_DRIVE_STATE_NULL == relauDrvState) + { + (void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP); + SetRelayDriveStartCyc(wOtherRealyId); + } + } + + } + else + { + /*· ģʽӦղ¡һģʽղ*/ + if (0U < wOtherRealyId) + { + relauDrvState = GetRelayDriveState(wOtherRealyId); + if (RELAY_DRIVE_STATE_NULL == relauDrvState) + { + (void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP); + SetRelayDriveStartCyc(wOtherRealyId); + } + } + if (0U < wSelfRealyId) { (void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_DOWN); + SetRelayDriveStartCyc(wSelfRealyId); realyIdState = GetRelayCollState(wSelfRealyId); - if (RELAY_STATE_DOWN != realyIdState) { - overTimeCheck = SystemOverTimeCheck(routeLockCycNum, timeOutCycCount); - if (CI_TIME_OUT == overTimeCheck) + overTimeCheck = CheckRelayDriveOutTime(wSelfRealyId, timeOutCycCount); + if (CI_ERROR == overTimeCheck) { SetPlatOverFlag(); /*ƽ̨崻*/ SetErrorData(EFUNC_PLAT_OVER, CI_DEVICE_TYPE_RELAY, wSelfRealyId, ETYPE_ZHAOCHA_ROUTE_OVERTIME, RELAY_STATE_UP, ESEND_LEVEL_ZERO);/*¼崻*/ @@ -8376,18 +8138,20 @@ void SetThroughRouteManage(const UINT16 signalId) UINT8 returnRouteState = 0u; /*۷·״̬*/ UINT8 returnRouteIdBelongCiId = 0u;/*۷·ID*/ UINT8 throughRouteIdBelongCiId = 0u;/*ͨ·ID*/ + UINT8 returnRouteDirection = 0u; UINT16 reRouteNormalLockPhy = 0u; UINT8 phyMergeState = 0u; UINT16 nextRouteLockPhy = 0u; UINT16 lockPhyBelongRoute = 0u; + UINT8 nextRouteDirection = 0u; + UINT8 haveDirChangeAfterRoute = 0u; + UINT8 haveDirChangeInRoute = 0u; UINT8 saveReRouteDir = 0u; UINT8 throughRouteDir = 0u; UINT16 wLastLgcSecId = 0U; UINT16 wTrainId = 0u; UINT8 chTrainSum = 0u; UINT16 wLogicSecId = 0u; - UINT16 wEndSignalId = 0U;/*۷·նźŻ*/ - UINT16 wStartSignalId = 0U;/*źؿ·ʼźŻ*/ LogicTrainResStruct* pstLgcResInfo = NULL; LogicTrainResStruct stTmpResInfo[LOGIC_SECTION_RES_SUM_MAX] = { 0U }; @@ -8410,8 +8174,6 @@ void SetThroughRouteManage(const UINT16 signalId) returnRouteId = GetPhySecRLockBelongRouteId(signalOutSecId); nextRouteId = GetPhySecRLockBelongRouteId(signalInSecId); throughRouteId = GetRouteThroughRouteId(returnRouteId); - wEndSignalId = GetRouteEndSignalId(returnRouteId);/*ȡնźŻ*/ - wStartSignalId = GetRouteStartSignalId(nextRouteId);/*źؿĽ·ʼźŻ*/ returnRouteIdBelongCiId = GetRouteBelongCiId(returnRouteId);/*ȡ۷·ID*/ throughRouteIdBelongCiId = GetRouteBelongCiId(throughRouteId);/*ȡͨ·ID*/ @@ -8436,11 +8198,35 @@ void SetThroughRouteManage(const UINT16 signalId) { /*ȡս·*/ lockPhyBelongRoute = GetPhySecRLockBelongRouteId(signalInSecId); - saveReRouteDir = GetRouteDirection(returnRouteId);/*·ʵʷ*/ + nextRouteDirection = GetRouteDirection(lockPhyBelongRoute); + returnRouteDirection = GetRouteDirection(returnRouteId); throughRouteDir = GetRouteDirection(throughRouteId); /*۷·Ӧͨ·*/ + haveDirChangeAfterRoute = GetRouteHaveDirChangePointAfter(returnRouteId); + haveDirChangeInRoute = GetRouteHaveDirChangePointIn(returnRouteId); + + saveReRouteDir = returnRouteDirection; /*·ʵʷ*/ + + /*·󷽻·ڴڷ仯*/ + if ((ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeAfterRoute) || + (ROUTE_HAVE_DIR_CHANGE_POINT == haveDirChangeInRoute)) + { + if (CI_SYSTEM_DIRECTION_UP == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_DOWN; + } + else if (CI_SYSTEM_DIRECTION_DOWN == returnRouteDirection) + { + returnRouteDirection = CI_SYSTEM_DIRECTION_UP; + } + else + { + /**/ + } + } + /*ͬ*/ - if (wEndSignalId == wStartSignalId) + if (nextRouteDirection == returnRouteDirection) { if ((localCiId == returnRouteIdBelongCiId) && (localCiId == throughRouteIdBelongCiId)) {/*۷·ͨ·ڱ۷·кͨ·Զ*/ @@ -8459,12 +8245,16 @@ void SetThroughRouteManage(const UINT16 signalId) SetLogSecLockState(wLastLgcSecId, LOG_SECTION_LOCK_NO, returnRouteId, saveReRouteDir); + + SetPhySecLockState(signalOutSecId, PHYSICAL_SECTION_LOCK_NO, returnRouteId, saveReRouteDir); SetRouteStateManage(returnRouteId, ROUTE_STATE_IDLE); /*ڵǰ·*/ SetLogSecLockState(wLastLgcSecId, LOG_SECTION_LOCK_NORMAL, throughRouteId, throughRouteDir); + + if (NULL != pstLgcResInfo) { CpyLgcSecResTrain(wLastLgcSecId, chTrainSum, stTmpResInfo); @@ -9268,7 +9058,7 @@ void AllAutoReturnManage(const UINT16 routeId) /*·ѡ*/ RouteFirstXuanPaiManage(routeId); #else - SetCommonRouteLogicManage(routeId, ESEND_LEVEL_ATS); + SetCommonRouteLogicManage(routeId); #endif } } @@ -11351,9 +11141,6 @@ void JumpLockManage(void) { /*߼Ծڼͨжϴ*/ CheckLogSecJumpLockManage(); - - /*Ծ봦*/ - TrainJumpBackApplyProc(); } else if (RC_WORK_MODE_CI == chRCMode) { @@ -12050,7 +11837,7 @@ void SetCiPscPlConfirmFlag(UINT8 setFlag, const UINT16 pscId) if (TRANSMIT_STATE_GOOD != transmitState) { /*öӦPSCϵͳӦPSD·״̬*/ - SetPsdConfirmFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId, setFlag); + SetPsdPscConfirmFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId, setFlag); } else { @@ -12082,11 +11869,11 @@ void SetCiPscPlConfirmFlag(UINT8 setFlag, const UINT16 pscId) { localCiPsdNum++; /*ȡATSȷ·־*/ - psdAtsConfirmFlag = GetPsdPlFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId); + psdAtsConfirmFlag = GetPsdPscPlFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId); if (CI_PSC_PL_CONFIRM_YES == psdAtsConfirmFlag) { /*ȡȷϱ־*/ - SetPsdConfirmFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId, CI_PSC_PL_CONFIRM_NO); + SetPsdPscConfirmFlag(pscToCiDataStru[pscSystemId].psdDataStr[j].psdId, CI_PSC_PL_CONFIRM_NO); } else { @@ -12906,7 +12693,7 @@ void RouteApplyLogicManage(const UINT16 routeId, const UINT16 trainId) if ((ROUTE_STATE_YUXIAN_OPEN != routeCurState) && (ROUTE_STATE_NEAR_OPEN != routeCurState)) { /** ͨ·߼*/ - SetCommonRouteLogicManage(routeId, ESEND_LEVEL_ZERO); + SetCommonRouteLogicManage(routeId); } else { @@ -13009,9 +12796,6 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, UINT16 wUsableLogicRouteId = 0U; /*õС߼·ID*/ UINT8 cCiType = 0U; /**/ UINT8 cCommStateWithTrain = CI_ERROR; /*복ͨ״̬*/ - UINT8 cFunRet = CI_ERROR; - UINT8 cFunctionId = EFUNC_PART_ROUTE_CMD_PROC; - UINT8 cSendLevel = ESEND_LEVEL_ATS; cLocalCiId = GetSystemParaLocalCiId(); @@ -13031,20 +12815,12 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, /*һ߼Ƿ*/ keepWork = LogSecSeqIsContinuousCheck(cLogSecSeqDir, cLogSecSum, pLogSecIdBuff, szQueryDir); cCheckStep++; - if (CI_ERROR == keepWork) - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_LOGSEC_CONTINUOUS, 0U, cSendLevel); - } - else - { - /**/ - } } if (CI_SUCCESS == keepWork) { /*ڶгԴǷȫзǷATS·зƥ*/ - keepWork = TrainResAndDirCheck(wTrainId, szQueryDir[0U], cLogSecSum, pLogSecIdBuff, &cHalfRouteSwitchMoveFlag, &wVBTCOccLogSecSum, wVBTCOccLogSecID, cFunctionId, cSendLevel); + keepWork = TrainResAndDirCheck(wTrainId, szQueryDir[0U], cLogSecSum, pLogSecIdBuff, &cHalfRouteSwitchMoveFlag, &wVBTCOccLogSecSum, wVBTCOccLogSecID); cCheckStep++; } @@ -13136,16 +12912,11 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, /*߼ǷԽ*/ keepWork &= SeqNumAndIncLogSecNumCheck(cEndSignalSum, cSplitLogSecSumBuff); keepWork &= SeqNumAndIncLogSecNumCheck(cLogicRouteNum, szLrIncLogSecNum); - + if (CI_ERROR == keepWork) { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_MATCH_ROUTE, 0U, cSendLevel); break; /*ʧܣֹͣ*/ } - else - { - /**/ - } } cCheckStep++; @@ -13177,7 +12948,7 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, szLrStartSignalId[cLogicRouteNum] = 0U; /*׸е߼·ʼźŻĬΪ0*/ cLogicRouteNum++; - keepWork &= LogSecIsSwitchAndStopAreaCheck(szLrIncLogSecId[cLogicRouteNum - 1U][szLrIncLogSecNum[cLogicRouteNum - 1U] - 1U]); /*һ߼εͣ*/ + keepWork = LogSecIsSwitchAndStopAreaCheck(szLrIncLogSecId[cLogicRouteNum - 1U][szLrIncLogSecNum[cLogicRouteNum - 1U] - 1U]); /*һ߼εͣ*/ keepWork &= SeqNumAndIncLogSecNumCheck(cLogicRouteNum, szLrIncLogSecNum); /*У߼·߼Ƿ*/ /*ƥ·дڵ߼·Ϣ*/ @@ -13199,15 +12970,6 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, cSplitLogSecSumBuff[k + 1U] = 0U; } } - - if (CI_ERROR == keepWork) - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_MATCH_ROUTE, 0U, cSendLevel); - } - else - { - /**/ - } } cCheckStep++; @@ -13217,15 +12979,6 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, { /*岽ͨųûǰ˿*/ keepWork = CtTrainHeadSuspCheck(wTrainId, cLogSecSeqDir, pLogSecIdBuff[0U]); - - if (CI_ERROR == keepWork) - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_SCREEN, 0U, cSendLevel); - } - else - { - /**/ - } cCheckStep++; } @@ -13287,23 +13040,15 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, } else { - debug_infor_printf((const)"HalfRoutePhySecUseLogicProcess Err!\n"); + SetRouteStateManage(wMatchedRouteIdBuff[i], ROUTE_STATE_IDLE); /*ʧܣý·*/ } } - else if ((cLocalCiId != cRouteBelongCiId) && (0U != cLocalCiId)) + else if ((cLocalCiId != cRouteBelongCiId) && (0U != cLocalCiId) && (CI_TYPE_CLD != cCiType)) { - cFunRet = RouteCldAttrCheck(wMatchedRouteIdBuff[i]); /*·Լ*/ - if (CI_SUCCESS == cFunRet) - { - /*dzλΪγ/ν·ӵ͸̬·ṹ*/ - cFirstLogSecDir = ConvertLogicDirToRun(szQueryDir[tempIndex]); - AddCiSendToCiDrCmdHalfInfo(wTrainId, (UINT8)wVBTCOccLogSecSum, wVBTCOccLogSecID, cHalfRouteSwitchMoveFlag, 0U); - AddCiSendToCiDrCmdLogSecInfo(CICI_DR_CMD_HALF, cFirstLogSecDir, cSplitLogSecSumBuff[i], wSplitLogSecIdBuff[i], cRouteBelongCiId); - } - else - { - /**/ - } + /*ӵ͸dz̬·ṹ*/ + cFirstLogSecDir = ConvertLogicDirToRun(szQueryDir[tempIndex]); + AddCiSendToCiDrCmdHalfInfo(wTrainId, (UINT8)wVBTCOccLogSecSum, wVBTCOccLogSecID, cHalfRouteSwitchMoveFlag, 0U); + AddCiSendToCiDrCmdLogSecInfo(CICI_DR_CMD_HALF, cFirstLogSecDir, cSplitLogSecSumBuff[i], wSplitLogSecIdBuff[i], cRouteBelongCiId); } else { @@ -13331,9 +13076,9 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, wDrSubIdBuff[cDrSubSum] = wMatchedRouteIdBuff[i]; cDrSubSum++; } - else if ((cLocalCiId != cRouteBelongCiId) && (0U != cLocalCiId) && (CI_TYPE_CLD != cCiType)) + else if ((cLocalCiId != cRouteBelongCiId) && (0U != cLocalCiId)) { - /*ԷdzΣӵ͸̬·ṹ*/ + /*ӵ͸̬·ṹ*/ cFirstLogSecDir = ConvertLogicDirToRun(szQueryDir[tempIndex]); AddCiSendToCiDrCmdHalfInfo(wTrainId, (UINT8)wVBTCOccLogSecSum, wVBTCOccLogSecID, cHalfRouteSwitchMoveFlag, 0U); AddCiSendToCiDrCmdLogSecInfo(CICI_DR_CMD_FULL, cFirstLogSecDir, cSplitLogSecSumBuff[i], wSplitLogSecIdBuff[i], cRouteBelongCiId); @@ -13418,7 +13163,6 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_REPEAT, 0U, cSendLevel); debug_infor_printf((const)"Dynamic Logic Route Set Is Error: LogicRoute Repeat Set!\n"); /*߼·ظͣ*/ } } @@ -13442,7 +13186,6 @@ void RoutePartApplyLogicManage(const UINT8 cLogSecSeqDir, const UINT16 wTrainId, } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_LOGSEC_CBTC_PROPERTY, 0U, cSendLevel); debug_infor_printf((const)"Dynamic Logic Route Set Is Error: LogSec Is Not CBTC Property!\n"); /*߼·ʧܣ߼ηCBTC*/ } } @@ -14227,7 +13970,7 @@ UINT8 CheckPhysecFlockReasonSpksId(const UINT16 phySectionId, UINT16* spksId, UI * *޸ģmpt 202239 ӱ˹߼ */ -UINT8 LaborUnlockOverlapProc(const UINT16 overlapId) +UINT8 LaborUnlockOverlapProc(const UINT8 overlapId) { /*ʼ*/ UINT8 overlapBelongCi = 0u; @@ -14953,7 +14696,7 @@ void SetRoutePartApplyFromCi(ToCiDrCmdDataStruct* pCiRecvCiDrCmdStru) UINT16 wUsableLogicRouteId = 0U; /*õС߼·ID*/ UINT8 cCheckStep = 0U; /*¼еλãڴ*/ UINT8 szQueryDir[UINT8_MAX] = { 0U }; /*߼ζӦIJѯ߼*/ - UINT8 cLocalCiId = 0U; /*ID*/ + UINT8 cLocalCiId = 0U; /*ID*/ /*μ*/ if (NULL == pCiRecvCiDrCmdStru) @@ -15718,8 +15461,6 @@ void RoutePartApplyLogicManageCLD(const UINT8 cLogSecSeqDir, const UINT16 wTrain UINT8 cRouteBelongCiId = 0U; UINT16 wMatchedRouteId = 0U; /*ƥĽ·*/ UINT8 cCheckStep = 0U; /*¼еλãڴ*/ - UINT8 cFunctionId = EFUNC_PART_ROUTE_CMD_PROC_CLD; - UINT8 cSendLevel = ESEND_LEVEL_ATS; /*μ*/ wTrainIndex = GetTrainBufIndex(wTrainId); @@ -15736,7 +15477,7 @@ void RoutePartApplyLogicManageCLD(const UINT8 cLogSecSeqDir, const UINT16 wTrain if (CI_SUCCESS == keepWork) { /*һ߼мгλã߼Ϊ߻ѹΨһδաгȫλ߻ѹ*/ - keepWork = LogSecSeqAndTrainPosCheckCLD(cLogSecSum, pLogSecIdBuff, wTrainId, cFunctionId, cSendLevel); + keepWork = LogSecSeqAndTrainPosCheckCLD(cLogSecSum, pLogSecIdBuff, wTrainId); cCheckStep++; } else @@ -15748,15 +15489,6 @@ void RoutePartApplyLogicManageCLD(const UINT8 cLogSecSeqDir, const UINT16 wTrain { /*ڶ߼Уƥг·*/ keepWork = LogSecSeqAndRouteMatchCheckCLD(cLogSecSeqDir, pLogSecIdBuff[0], &wMatchedRouteId); - - if (CI_SUCCESS != keepWork) - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_MATCH_ROUTE, 0U, cSendLevel); - } - else - { - /**/ - } cCheckStep++; } else @@ -15768,15 +15500,6 @@ void RoutePartApplyLogicManageCLD(const UINT8 cLogSecSeqDir, const UINT16 wTrain { /*ͨųûǰ˼˿*/ keepWork = CtTrainSuspCheck(wTrainId); - - if (CI_SUCCESS != keepWork) - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_SCREEN, 0U, cSendLevel); - } - else - { - /**/ - } cCheckStep++; } else @@ -15874,10 +15597,6 @@ void RouteOtherCiSwitchManage(void) UINT8 chTransmitStat = 0U;/*ͨ״̬*/ UINT8 chRouteApplySwitchCheckFlag = 0U;/*·־*/ UINT8 chOthCiRouteExistLocalCiSw = 0U;/*·Ƿڱ*/ - UINT16 errorCodeCurSum = 0U; - ErrorDataStruct* errorCodeStu = NULL; /**/ - UINT16 devId = 0U; - UINT8 devState = 0U; wRouteCurSum = GetRouteCurSum(); /*ȡ·*/ chLocalCiId = GetSystemParaLocalCiId(); /*ȡID*/ @@ -15916,7 +15635,7 @@ void RouteOtherCiSwitchManage(void) if (CI_SUCCESS == chResult) { SetRouteApplySwitchCheckFlag(wRouteId, ROUTE_APPLY_SWITCH_CHECK_YES); - chResult = RouteRelAllSwitchPosCheck(wRouteId, &devId, &devState); + chResult = RouteRelAllSwitchPosCheck(wRouteId); if (CI_SUCCESS == chResult) { ; /*λȷسɹ*/ @@ -15932,7 +15651,6 @@ void RouteOtherCiSwitchManage(void) { /*·Ҫڹ涨λã*/ SetRouteApplySwitchCheckFlag(wRouteId, ROUTE_APPLY_SWITCH_CHECK_NO); - SetRouteApplySwitchCheckErrorData(wRouteId, devId, CI_DEVICE_TYPE_SWITCH, devState, ETYPE_SWT_POSTION_STATE); } } @@ -15940,7 +15658,6 @@ void RouteOtherCiSwitchManage(void) else { SetRouteApplySwitchCheckFlag(wRouteId, ROUTE_APPLY_SWITCH_CHECK_NO); - SetRouteApplySwitchCheckErrorData(wRouteId, wRouteId, CI_DEVICE_TYPE_ROUTE, 0U, ETYPE_ROUTE_APPLY_SWITCH_MOVE);/*·ٷһ*/ } } else @@ -15950,10 +15667,6 @@ void RouteOtherCiSwitchManage(void) } else { - /*ݴ*/ - errorCodeCurSum = GetErrorDataCurSum(); /*ȡ*/ - errorCodeStu = GetErrorData(errorCodeCurSum - 1U); /*¹ϼ¼*/ - SetRouteApplySwitchCheckErrorData(wRouteId, errorCodeStu->DeviceId, errorCodeStu->DeviceType, errorCodeStu->DeviceState, errorCodeStu->DeviceStateType); SetRouteApplySwitchCheckFlag(wRouteId, ROUTE_APPLY_SWITCH_CHECK_NO); } } @@ -16218,319 +15931,4 @@ void LeadRouteFirstXuanPaiManage(const UINT16 routeId) /*ý·*/ SetRouteStateManage(routeId, ROUTE_STATE_IDLE); } -} - -/* -* OC-P·״̬ȷϱ־ -* ˵ UINT8 setFlag,ñ־ -* UINT16 pscId PSC豸ID -* ֵ -*/ -void SetOcPscPlConfirmFlag(UINT8 setFlag, const UINT16 ocPId) -{ - /*ʼ*/ - UINT8 i = 0u; - UINT8 j = 0u; - UINT8 kk = 0u; - UINT8 localCiId = 0u; - UINT8 deviceSum = 0u;/*ͨ豸*/ - UINT8* pDeviceIdBuf = NULL;/*ͨ豸ID*/ - UINT16 saveOcPId = 0u; - UINT8 lowByteOcPId = 0u; - UINT8 ocPSystemId = 0u; - UINT8 transmitReval = CI_ERROR; - UINT8 transmitState = 0u; - UINT8 ocPscConfirmFlag = 0u; - UINT8 findOcFlag = 0u; - - /*Աֵ*/ - saveOcPId = ocPId; - lowByteOcPId = (UINT8)(saveOcPId & 0x00FFU); - - deviceSum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸*/ - pDeviceIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸ID*/ - localCiId = GetSystemParaLocalCiId();/*ȡCI ID*/ - - for (i = 0u; i < deviceSum; i++) - { - findOcFlag = 0u; - /*ƥOC-P ID*/ - if (lowByteOcPId == pDeviceIdBuf[i]) - { - ocPSystemId = pDeviceIdBuf[i]; - /*OC-PϵͳIDϷ*/ - if (OC_SUM_MAX > ocPSystemId) - { - /*CIͨ״̬*/ - transmitReval = UpdateCiTransmitState(localCiId, CI_SYSTEM_TYPE_OC, ocPSystemId); - if (CI_SUCCESS == transmitReval) - { - transmitState = GetCiTransmitState(CI_SYSTEM_TYPE_OC, ocPSystemId); - } - - /*ҵIDӦ*/ - for (kk = 0u; kk < m_OcToCiOrginDataNum; kk++) - { - /*ҵOC idӦ±kk*/ - if (m_OcToCiOrginDataArr[kk].OcId == ocPSystemId) - { - findOcFlag = 1u; - break; - } - } - - if (1u == findOcFlag) - { - /*ҵˣ·*/ - if (OC_PSC_PL_CONFIRM_YES == setFlag) - { - for (j = 0u; j < m_OcToCiOrginDataArr[kk].OCPsdNum; j++) - { - /*ͨ쳣*/ - if (TRANSMIT_STATE_GOOD != transmitState) - { - /*OC-PϵͳӦPSD·״̬*/ - SetPsdConfirmFlag(m_OcToCiOrginDataArr[kk].PsdInfo[j].wPsdId, setFlag); - } - else - { - /**/ - } - } - } - else - { - for (j = 0u; j < m_OcToCiOrginDataArr[kk].OCPsdNum; j++) - { - /*ȡOC-Pȷ·־*/ - ocPscConfirmFlag = GetPsdPlFlag(m_OcToCiOrginDataArr[kk].PsdInfo[j].wPsdId); - if (OC_PSC_PL_CONFIRM_YES == ocPscConfirmFlag) - { - /*ȡȷϱ־*/ - SetPsdConfirmFlag(m_OcToCiOrginDataArr[kk].PsdInfo[j].wPsdId, OC_PSC_PL_CONFIRM_NO); - } - else - { - /*·״̬*/ - } - } - } - } - - } - else - { - /*OC-P IDϷ*/ - } - - /*ҵѭ*/ - break; - } - - } -} - -/* -* ղ -* ˵ const UINT16 wRouteId ·ID -* ֵ -* by cgh 20250617 -*/ -void OverlapZhaoChaRelayUpDateManage(void) -{ - UINT16 wOverlapCurSum = 0U;/*εǰ*/ - UINT16 ii = 0U; - UINT16 wOverlapId = 0U;/*ID*/ - UINT8 chOverlapBelCiId = 0U;/*ID*/ - UINT8 chLocalCiId = 0U;/*ID*/ - UINT16 wThisZhaoChaRelayId = 0U; /*ղ̵ID*/ - UINT32 dwOverlapLockStartCycNum = 0U;/*ʼں*/ - UINT8 chRelayDriveState = 0U; /*̵״̬*/ - UINT8 chRelayCollState = 0U; /*̵ɼ״̬*/ - UINT8 chTimeCheckFlag = 0U;/*ʱ*/ - UINT32 dwSigalCloseCyc = 0U; /*źŻرճ*/ - - wOverlapCurSum = GetOverlapCurSum(); - chLocalCiId = GetSystemParaLocalCiId(); - - for (ii = 0U; ii < wOverlapCurSum; ii++) - { - wOverlapId = GetOverlapId(ii); - chOverlapBelCiId = GetOverlapBelongCiId(wOverlapId); - - if ((chLocalCiId == chOverlapBelCiId) && (0U != chLocalCiId)) - { - wThisZhaoChaRelayId = GetOverlapThisZhaoChaRelayId(wOverlapId); /*ղ̵ID*/ - - if (0U < wThisZhaoChaRelayId) - { - dwOverlapLockStartCycNum = GetOverlaplockSucessStartCycNum(wOverlapId); - /*ӿڱ˼̵*/ - if (0U == dwOverlapLockStartCycNum) - { - chRelayDriveState = GetRelayDriveState(wThisZhaoChaRelayId); - - if (RELAY_DRIVE_STATE_NULL == chRelayDriveState) - { - (void)SetRelayDriveState(wThisZhaoChaRelayId, RELAY_DRIVE_STATE_UP); - } - } - else - { - (void)SetRelayDriveState(wThisZhaoChaRelayId, RELAY_DRIVE_STATE_DOWN); - chRelayCollState = GetRelayCollState(wThisZhaoChaRelayId); - - if (RELAY_STATE_DOWN != chRelayCollState) - { - dwSigalCloseCyc = GetSystemParaSignalCloseCyc(); - chTimeCheckFlag = SystemOverTimeCheck(dwOverlapLockStartCycNum, dwSigalCloseCyc); - - if (CI_TIME_OUT == chTimeCheckFlag) - { - SetPlatOverFlag(); /*ƽ̨崻*/ - SetErrorData(EFUNC_PLAT_OVER, CI_DEVICE_TYPE_RELAY, wThisZhaoChaRelayId, ETYPE_ZHAOCHA_OVERLAP_OVERTIME, RELAY_STATE_UP, ESEND_LEVEL_ZERO);/*¼崻*/ - } - } - } - } - else - { - ; /*ޱղ̵*/ - } - } - else - { - ; /*ڱ*/ - } - } -} - -/* -* гԾ״̬ -* ˵ -* ֵ -* Create: fan 20250725 -*/ -void TrainJumpBackApplyProc(void) -{ - UINT8 chTrainIndex = 0U; - UINT16 wTrainId = 0U; /*гID*/ - UINT16 wMaxTailLink = 0u; /*link*/ - UINT16 wAxisSecId = 0U; /*ID*/ - UINT8 chJumpBackApplyState = 0U;/*г״̬*/ - UINT8 chAcBelongCiId = 0U; /**/ - UINT8 chLocalCiId = 0U;/*ID*/ - UINT8 chDir = 0U; /*з*/ - UINT8 linkNum = 0U;/*link*/ - TRAIN_SEQUANCE_s linkInctrainList[SIZE_MAX_TRAINOFAC] = { 0u }; /*linkϵг*/ - UINT8 k = 0U; - UINT8 cLinkIncTrainSum = 0U; /*linkг*/ - UINT8 chFindBaseTrain = CI_ERROR; - UINT8 chBackTrain = CI_ERROR; - UINT16 chElmTrainID = 0U; - EnvelopeStruct* strTrainEnvelope = NULL; /*гϢ*/ - - chLocalCiId = GetSystemParaLocalCiId(); - /* г */ - for (chTrainIndex = 0u; chTrainIndex < TRAIN_SUM_MAX; chTrainIndex++) - { - wTrainId = GetTrainId(chTrainIndex); - chElmTrainID = (wTrainId & 0x00ff); - chJumpBackApplyState = GetTrainJumpBackApplyState(wTrainId); - wMaxTailLink = GetTrainMaxTailLink(wTrainId); - wAxisSecId = GetLinkBelongAcId(wMaxTailLink); - chAcBelongCiId = (UINT8)GetAxisBelongTiocAllLine(wAxisSecId); - if (TRAIN_JUMP_BACK_STATE_VALID != chJumpBackApplyState) - { - /*δ,Ĭ״̬ 0*/ - SetTrainJumpBackReplyState(wTrainId, TRAIN_JUMP_BACK_STATE_NONE); - } - else - { - /*ò*/ - SetTrainJumpBackReplyState(wTrainId, TRAIN_JUMP_BACK_STATE_INVALID); - linkNum = GetAxisLinkSum(wAxisSecId); - if (chLocalCiId == chAcBelongCiId) - { - strTrainEnvelope = elm_GetEnvelopeInfoByTrainID(chElmTrainID); - if ((1U == linkNum) && (NULL != strTrainEnvelope)) - { - if (0U == strTrainEnvelope->tailTrainID) - { - chDir = GetTrainDir_MaxTail(wTrainId); - cLinkIncTrainSum = as_GetLinkTrainList(wMaxTailLink, linkInctrainList, SIZE_MAX_TRAINOFAC); - chFindBaseTrain = CI_ERROR; - chBackTrain = CI_SUCCESS; - if (DIR_CONVERT == chDir) - { - for (k = 0U; k < cLinkIncTrainSum; k++) - { - if (chElmTrainID == linkInctrainList[k].u16TrainID) - { - chFindBaseTrain = CI_SUCCESS; - } - else - { - if (CI_SUCCESS == chFindBaseTrain) - { - /*г*/ - chBackTrain = CI_ERROR; - break; - } - else - { - ; /*ǰг */ - } - } - } - } - else if (DIR_SAME == chDir) - { - for (k = cLinkIncTrainSum; 0U < k; k--) - { - if (chElmTrainID == linkInctrainList[k - 1].u16TrainID) - { - chFindBaseTrain = CI_SUCCESS; - } - else - { - if (CI_SUCCESS == chFindBaseTrain) - { - /*г*/ - chBackTrain = CI_ERROR; - break; - } - else - { - ; /*ǰг */ - } - } - } - } - else - { - /**/ - chBackTrain = CI_ERROR; - } - if (CI_SUCCESS == chBackTrain) - { - SetTrainJumpBackReplyState(wTrainId, TRAIN_JUMP_BACK_STATE_VALID); - } - } - else - { - ; /*ò*/ - } - } - else - { - ; /*ò*/ - } - } - else - { - ; /*ò*/ - } - } - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.h b/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.h index 1f51a2d..d27a910 100644 --- a/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.h +++ b/TSCP/src/APP/ciapp/LogicManage/InterlockLogicManage.h @@ -365,11 +365,9 @@ void SetOverlapLockState(const UINT16 overlapId, const UINT8 lockState, const UI /* * ͨ·߼ * ˵ const UINT16 routeId, ·ID -* const UINT8 chSendLevel ͵ȼ -* ֵ void -* BY cgh 20250828 +* ֵ void */ -void SetCommonRouteLogicManage(const UINT16 routeId, const UINT8 chSendLevel); +void SetCommonRouteLogicManage(const UINT16 routeId); /* * ·߼ @@ -949,7 +947,7 @@ UINT8 CheckPhysecFlockReasonSpksId(const UINT16 phySectionId, UINT16* spksId, UI * *޸ģmpt 202239 ӱ˹߼ */ -UINT8 LaborUnlockOverlapProc(const UINT16 overlapId); +UINT8 LaborUnlockOverlapProc(const UINT8 overlapId); /* * ձα־ * ˵ const UINT16 routeId, ·ID @@ -1133,29 +1131,6 @@ void RouteTrainResUnlockManage(void); */ void LeadRouteFirstXuanPaiManage(const UINT16 routeId); -/* -* OC-P·״̬ȷϱ־ -* ˵ UINT8 setFlag,ñ־ -* UINT16 pscId PSC豸ID -* ֵ -*/ -void SetOcPscPlConfirmFlag(UINT8 setFlag, const UINT16 ocPId); - -/* -* ղ -* ˵ const UINT16 wRouteId ·ID -* ֵ -* by cgh 20250617 -*/ -void OverlapZhaoChaRelayUpDateManage(void); -/* -* гԾ״̬ -* ˵ -* ֵ -* Create: fan 20250725 -*/ -void TrainJumpBackApplyProc(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/LogicManage/RouteRecoverManage.c b/TSCP/src/APP/ciapp/LogicManage/RouteRecoverManage.c index 3223da4..4431120 100644 --- a/TSCP/src/APP/ciapp/LogicManage/RouteRecoverManage.c +++ b/TSCP/src/APP/ciapp/LogicManage/RouteRecoverManage.c @@ -3011,9 +3011,10 @@ UINT8 RecoverOpenRouteCheckCLD(const UINT16 routeId) UINT8 routeType = 0u; /*·*/ UINT8 errType = CI_ERROR;/*ʧʱĴ*/ UINT8 jkjRelayValidFlag = 0u; /*ʼӦ̵̼Ч״̬*/ + UINT16 jkjRelayId = GetJkjRelayId(); jkjRelayValidFlag = GetCiJkjFlag(); routeType = GetRouteType(routeId); /*ȡ·*/ - if (JKJ_REYLAY_VALID == jkjRelayValidFlag) + if ((jkjRelayId > 0u) && (JKJ_REYLAY_VALID == jkjRelayValidFlag)) {/*Ӧ̵̼Ч״̬,źؿ*/ errType = CI_ERROR; } @@ -3795,23 +3796,6 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId) reResult = checkResult; } } - - - /*ղ̵״̬*/ - if ((CI_SUCCESS == reResult) || (CI_ROUTE_RECOVER_ERR == reResult)) - { - checkResult = OverlapZhaoChaRelayCheck(overlapId, ESEND_LEVEL_ZERO); - - if (CI_ERROR == checkResult) - { - reResult = checkResult; - } - else - { - - ; - } - } } else @@ -4655,23 +4639,26 @@ static UINT8 RouteIntruSecVainSPKSErrCheck(const UINT16 routeId) */ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId) { - /* ֲʼ */ - UINT16 relayId = 0U; - UINT8 relayState = 0U; - UINT8 zcPhySecSum = 0U; /*ղĿ*/ - UINT16* pZcPhySecIdBuf = NULL; /*ղID*/ - UINT8 ii = 0U; +/* ֲʼ */ + UINT16 relayId = 0U; + UINT8 relayState = 0U; + UINT8 zcPhySecSum = 0U; /*ղĿ*/ + UINT16* pZcPhySecIdBuf = NULL; /*ղID*/ + UINT8 ii = 0U; UINT16 thisRealyId = 0U; - UINT8 thisRelayState = 0U; + UINT8 thisRelayState = 0U; UINT8 routeState = 0U; UINT8 retVal = CI_ERROR; /*ֵ*/ UINT16 pDevId = 0U; UINT8 pDevState = 0U; + UINT8 chRouteLevel = 0U; UINT8 chErrTemp = 0U; - /* Զղ */ - zcPhySecSum = GetRouteThatZhaoChaPhySecSum(routeId); /*ȡղĿ*/ + /* Զղ */ + zcPhySecSum = GetRouteThatZhaoChaPhySecSum(routeId); /*ȡղĿ*/ pZcPhySecIdBuf = GetRouteThatZhaoChaPhySecIdBuf(routeId); /*ȡղID*/ + /*·ලȷ*/ + chRouteLevel = GetRouteLevel(routeId); if (NULL == pZcPhySecIdBuf) { @@ -4681,14 +4668,14 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId) { retVal = CI_SUCCESS; - for (ii = 0u; ii < zcPhySecSum; ii++) - { - retVal = RoutePhySecZhaoChaErrCheck(routeId, pZcPhySecIdBuf[ii]); - if (CI_ERROR == retVal) + for (ii = 0u; ii < zcPhySecSum; ii++) + { + retVal = RoutePhySecZhaoChaErrCheck(routeId,pZcPhySecIdBuf[ii]); + if (CI_ERROR == retVal) { break; } - else if (CI_ROUTE_RECOVER_ERR == retVal) /*YF00083-1013,һֹΣһǰ飬һδں鸲ǵretValֵ*/ + else if(CI_ROUTE_RECOVER_ERR == retVal) /*YF00083-1013,һֹΣһǰ飬һδں鸲ǵretValֵ*/ { chErrTemp++; /*һSPKSͼһ*/ } @@ -4701,13 +4688,24 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId) { retVal = CI_ROUTE_RECOVER_ERR; /*ֹһSPKS͸ֵֵΪSPKS*/ } - } - } + } + } - if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal)) + if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal)) {/*ղμͨ,鱾ղ̵*/ + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + thisRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId);/*CBTCģʽղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } - thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ղ̵ID*/ thisRelayState = GetRelayCollState(thisRealyId); /*ȡָID̵״̬*/ routeState = GetRouteState(routeId); /*ȡ·״̬*/ @@ -4715,32 +4713,25 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId) {/*ڱղ̵*/ if ((ROUTE_STATE_FIRST_LOCKERR == routeState) || (ROUTE_STATE_YUXIAN_LOCK == routeState) || - (ROUTE_STATE_YUXIAN_OPEN == routeState) || - (ROUTE_STATE_NEAR_OPEN == routeState) || - (ROUTE_STATE_NEAR_LOCK == routeState) || (ROUTE_STATE_NEAR_LOCKERR == routeState) || - (ROUTE_STATE_DELAY_UNLOCK == routeState) || - (ROUTE_STATE_AUTO_UNLOCK == routeState) || - (ROUTE_STATE_AUTO_UNLOCKERR == routeState) || - (ROUTE_STATE_HALF_UNLOCKDELAY == routeState) || - (ROUTE_STATE_LEAD_LOCKERR == routeState) || - (ROUTE_STATE_LEAD_OPEN == routeState)) + (ROUTE_STATE_NEAR_OPEN == routeState) || + (ROUTE_STATE_YUXIAN_OPEN == routeState)) { - /*жϱղ״̬*/ - if (RELAY_STATE_UP == thisRelayState) + /*·״̬쳣Ԥգӽ쳣ӽţԤȿţ + жϱղ״̬*/ + if(RELAY_STATE_UP == thisRelayState) { retVal = CI_ERROR; } } - else if ((ROUTE_STATE_FIRST_LOCK == routeState) || - (ROUTE_STATE_LEAD_LOCK == routeState)) + else if (ROUTE_STATE_FIRST_LOCK == routeState) { - if (RELAY_STATE_UP == thisRelayState) + if(RELAY_STATE_UP == thisRelayState) { /*ȴصȴ־*/ retVal = RELAY_STATE_WAITE; } - } + } else { /*·״̬Ϊֵʱ*/ @@ -4749,29 +4740,40 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId) } - if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal)) + if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal)) {/*ղ̵ͨԶղ̵*/ - - relayId = GetRouteThatZhaoChaRelayId(routeId); /*Զղ̵ID*/ - - if (0u != relayId) - {/*ڶԶղ̵*/ - - relayState = GetRelayCollState(relayId); - - /* ղ*/ - if (RELAY_STATE_UP == relayState) - { - /*ͨ*/ - } - else - { - retVal = CI_ERROR; - } + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + relayId = GetRouteThatZhaoChaRelayId(routeId); /*ģʽԶղ̵ID*/ } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + relayId = GetRouteCbtcThatZhaoChaRelayId(routeId);/*CBTCģʽԶղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + + if(0u != relayId) + {/*ڶԶղ̵*/ + + relayState = GetRelayCollState(relayId); + + /* ղ*/ + if (RELAY_STATE_UP == relayState) + { + /*ͨ*/ + } + else + { + retVal = CI_ERROR; + } + } } return retVal; + } /* diff --git a/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.c b/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.c index 17c137d..54a4d7f 100644 --- a/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.c +++ b/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.c @@ -50,116 +50,58 @@ void JKJRelayLogicProcess(void) { UINT16 wJkjRelayId = 0u; UINT8 JkjRelayState = CI_ERROR; - UINT32 yjValidCycNum = 0u; + UINT32 JkjRelayCycNum = 0u; + UINT32 JkjValidCycNum = 0u; UINT32 curCycNum = 0u; UINT8 checkRes = CI_TIME_OUT; - UINT8 ii = 0u; - UINT8 haveYjkBreakFlag = 0u; - UINT8 ocYjkBreakFlag = 0u; + UINT8 tmpRet =CI_ERROR; wJkjRelayId = GetJkjRelayId(); JkjRelayState = GetRelayCollState(wJkjRelayId); /*JKJӦ̵̼ɼ״̬*/ - yjValidCycNum = GetJkjRelayValidCycNum(); /*JKJӦ״̬Ч*/ - curCycNum = Get2oo2CurCycleNum(); - - for (ii = 0u; ii < m_OcToCiOrginDataNum; ii++) - { - if (OC_HAVE_YJK == m_OcToCiOrginDataArr[ii].chHaveYjk) - {/*һOC߱Ӧ*/ - haveYjkBreakFlag = 1u; - break; - } - else - { - ; /**/ - } - } + JkjRelayCycNum = GetRelayStateUpdateCycNum(wJkjRelayId); /*JKJӦ̵̼״̬*/ + JkjValidCycNum = GetJkjRelayValidCycNum(); /*JKJӦ״̬Ч*/ - for (ii = 0u; ii < m_OcToCiOrginDataNum; ii++) - { - if (OC_CTLMODE_YJK == m_OcToCiOrginDataArr[ii].chControlMode) - {/*һOCӦ*/ - ocYjkBreakFlag = 1u; - break; - } - else - { - ; /**/ - } - } - if (wJkjRelayId > 0u) + + if ((wJkjRelayId > 0u) && (RELAY_STATE_DOWN == JkjRelayState)) { - /*˼̵*/ - if (RELAY_STATE_DOWN == JkjRelayState) - {/**/ - if (0u == yjValidCycNum) - {/*δʱ*/ - SetJkjRelayValidCycNum(curCycNum); /*ӦЧ*/ - } - else + curCycNum = Get2oo2CurCycleNum(); + if (0u == JkjRelayCycNum) + {/*δʱʼ*/ + tmpRet = SetRelayStateUpdateCycNum(wJkjRelayId,curCycNum); + if (CI_ERROR == tmpRet) { - ; /**/ - } - checkRes = SystemOverTimeCheck(yjValidCycNum, JKJ_REYLAY_VALID_CYCLE_NUM); - if (CI_TIME_OUT == checkRes) - { /*ӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_VALID); /*ӦЧ־ΪЧ*/ - } - else - { - ; /**/ + /**/ } } - else if (RELAY_STATE_UP == JkjRelayState) - {/**/ - /*ӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_INVALID); /*ӦЧ־ΪЧ*/ - SetJkjRelayValidCycNum(0u); /*ӦЧ*/ - } - else - { - /*ӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_VALID); /*ӦЧ־ΪЧ*/ - SetJkjRelayValidCycNum(curCycNum); /*ӦЧ*/ + checkRes = SystemOverTimeCheck(JkjRelayCycNum,JKJ_REYLAY_VALID_CYCLE_NUM); + if (CI_TIME_OUT == checkRes) + { /*ӦЧ*/ + SetCiJkjFlag(JKJ_REYLAY_VALID); /*JKJӦЧ־ΪЧ*/ + if (0u == JkjValidCycNum) /*֮ǰûӦЧʼ*/ + { + SetJkjRelayValidCycNum(curCycNum); /*JKJӦЧ*/ + } } } - else if(1u == haveYjkBreakFlag) + else if ((wJkjRelayId > 0u) && (RELAY_STATE_UP == JkjRelayState)) { - /*OC߱Ӧ*/ - if (1u == ocYjkBreakFlag) - {/*һOCӦ,ӦЧ*/ - if (0u == yjValidCycNum) - {/*δʱ*/ - SetJkjRelayValidCycNum(curCycNum); /*ӦЧ*/ - } - else - { - ; /**/ - } - checkRes = SystemOverTimeCheck(yjValidCycNum, JKJ_REYLAY_VALID_CYCLE_NUM); - if (CI_TIME_OUT == checkRes) - { /*ӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_VALID); /*ӦЧ־ΪЧ*/ - } - else - { - ; /**/ - } - } - else - {/*ӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_INVALID); /*ӦЧ־ΪЧ*/ - SetJkjRelayValidCycNum(0u); /*ӦЧ*/ + tmpRet = SetRelayStateUpdateCycNum(wJkjRelayId, 0u); /*JKJ̵Чʼں*/ + if (CI_ERROR == tmpRet) + { + /**/ } + /*ӦЧ*/ + SetCiJkjFlag(JKJ_REYLAY_INVALID); /*JKJӦ̵̼Ч־ΪЧ*/ + + SetJkjRelayValidCycNum(0u); /*JKJӦЧ*/ } else { - /*JKJδãOCӦعܣӦЧ*/ - SetCiJkjFlag(JKJ_REYLAY_INVALID); /*ӦЧ־ΪЧ*/ - SetJkjRelayValidCycNum(0u); /*ӦЧ*/ + /*ӦЧ*/ + SetCiJkjFlag(JKJ_REYLAY_INVALID); /*JKJӦ̵̼Ч־ΪЧ*/ + SetJkjRelayValidCycNum(0u); /*JKJӦ̵̼Ч*/ } - } /* @@ -873,6 +815,9 @@ void RouteLogicProcess(void) /*۳SPKSPSDźŹرؿ*/ RouteRecoverOpenProc(routeId); + /*·ͬ߼*/ + RouteDCTYLogicM(routeId); + /*ݽ·״̬ر־*/ ClearSomeFlagDependRouteState(routeId); /*cgh-ϲCID-2349-5*/ @@ -4415,22 +4360,37 @@ void NonRouteCancelDeal(UINT8 nonRouteId) void UpdateZhaoChaDeal(const UINT16 routeId, const UINT8 routeState) { UINT16 wSelfRealyId = 0U; /*ģʽղID*/ + UINT16 wOtherRealyId = 0U; /*ģʽղID*/ UINT8 relauDrvState = 0U; + UINT8 chRouteLevel = GetRouteLevel(routeId); UINT8 chOverTimeCheck = 0U; UINT32 dwTimeOutCycCount = 0U; - UINT32 dwRouteLockStartCycNum = 0U; - wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ղ̵ID*/ - dwRouteLockStartCycNum = GetRouteLockStartCycNum(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + wOtherRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTCģʽղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + wSelfRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTCģʽղ̵ID*/ + wOtherRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + dwTimeOutCycCount = GetSystemParaSignalCloseCyc(); - if (0U < wSelfRealyId) + if ((routeState == ROUTE_STATE_IDLE) || + (routeState == ROUTE_STATE_FIRST_XUANPAI) || + (routeState == ROUTE_STATE_XUANPAI) || + (routeState == ROUTE_STATE_LEAD_FIRST_XUANPAI) || + (routeState == ROUTE_STATE_LEAD_XUANPAI)) { - if ((routeState == ROUTE_STATE_IDLE) || - (routeState == ROUTE_STATE_FIRST_XUANPAI) || - (routeState == ROUTE_STATE_XUANPAI) || - (routeState == ROUTE_STATE_LEAD_FIRST_XUANPAI) || - (routeState == ROUTE_STATE_LEAD_XUANPAI)) + /*· ģʽղ鶼*/ + if (0U < wSelfRealyId) { relauDrvState = GetRelayDriveState(wSelfRealyId); if (RELAY_DRIVE_STATE_NULL == relauDrvState) @@ -4438,15 +4398,34 @@ void UpdateZhaoChaDeal(const UINT16 routeId, const UINT8 routeState) (void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_UP); } } - else + if (0U < wOtherRealyId) + { + relauDrvState = GetRelayDriveState(wOtherRealyId); + if (RELAY_DRIVE_STATE_NULL == relauDrvState) + { + (void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP); + } + } + } + else + { + /*· ģʽղ£һģʽղ*/ + if (0U < wOtherRealyId) + { + relauDrvState = GetRelayDriveState(wOtherRealyId); + if (RELAY_DRIVE_STATE_NULL == relauDrvState) + { + (void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP); + } + } + if (0U < wSelfRealyId) { (void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_DOWN); relauDrvState = GetRelayCollState(wSelfRealyId); - if (RELAY_STATE_DOWN != relauDrvState) { /*ղ̵δ*/ - chOverTimeCheck = SystemOverTimeCheck(dwRouteLockStartCycNum, dwTimeOutCycCount); - if (CI_TIME_OUT == chOverTimeCheck) + chOverTimeCheck = CheckRelayDriveOutTime(wSelfRealyId, dwTimeOutCycCount); + if (CI_ERROR == chOverTimeCheck) {/*ղ鳬ʱʱ*/ /*xxxxx崻*/ @@ -6145,16 +6124,16 @@ UINT16 GetReturnId(const UINT16 routeId) { /*ǰ״̬ǽӽ쳣*/ - /* Dzгʻ·ͬʱ֮ǰ״̬Ϊӽտ + /* Dzгʻ·ͬʱ֮ǰ״̬Ϊӽгѹ룬źŹرգ * Ϊͬһг;۷ */ - if((ROUTE_STATE_NEAR_OPEN == preRouteState) && (TRAIN_ENTER_ROUTE_FLAG_YES == GetTrainEnterRouteFlag(routeId))) + if((ROUTE_STATE_NEAR_LOCK == preRouteState) && (TRAIN_ENTER_ROUTE_FLAG_YES == GetTrainEnterRouteFlag(routeId))) { returnSigId = GetRouteChaZhiSignalId(routeId); /*ȡźŻID*/ } else { - returnSigId = 0U; + returnSigId = 0u; } } } @@ -6187,8 +6166,6 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId) UINT8 chLockBelRouteType = 0U;/*··*/ UINT8 chTrainEnterRouteFlag = 0U;/*гʻ·־*/ UINT8 chRouteInOutSecOccupy = 0U;/*·ⷽͬʱռѹ־*/ - UINT32 dwRoutLockCycNum = 0U; - UINT32 dwReturnRoutLockCycNum = 0U; routeState = GetRouteState(routeId); /*ȡ·״̬*/ routeType = GetRouteType(routeId); @@ -6230,16 +6207,14 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId) wLockRouteStartSigId = GetRouteStartSignalId(lockBelongRouteId);/*ȡ·ʼźŻID*/ chTrainEnterRouteFlag = CheckTrainEnterRoute(lockBelongRouteId);/*ȡгʻ·־*/ chRouteInOutSecOccupy = RouteInOutSecOccupy(lockBelongRouteId);/*·ⷽͬʱռñ־*/ - dwRoutLockCycNum = GetRouteLockStartCycNum(routeId); /*ȡ·ʼ*/ - dwReturnRoutLockCycNum = GetRouteLockStartCycNum(lockBelongRouteId);/*ȡ۳·ʼ*/ if ((ROUTE_STATE_NEAR_OPEN == chLockBelRouteState) && (ROUTE_TYPE_DIAOCHE == chLockBelRouteType) && - (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum) && + (returnSigId == wLockRouteStartSigId) && ((CI_SUCCESS == chTrainEnterRouteFlag) || ((CI_SUCCESS == chRouteInOutSecOccupy) && (ROUTE_TYPE_LIECHE == routeType)))) { /*۳·ǵ·&&״̬ǽӽ&&۳·ʼźŻDZ·۷źŻ &&гʻ ·Ϊг·۳·ʱⷽͬʱռѹ*/ - /*by cgh 20250414۳·ʱ;·*/ + /*ɹ*/ SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*ý·δ*/ @@ -6249,10 +6224,10 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId) SetRouteStateDeal(routeId, ROUTE_STATE_IDLE); /*ý·״̬Ϊ*/ } if ((ROUTE_TYPE_LIECHE == chLockBelRouteType) && (ROUTE_STATE_NEAR_LOCK == chLockBelRouteState) - && (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum)) + && (returnSigId == wLockRouteStartSigId)) { /*۳·г· ·״̬ǽӽ ۳·ʼźŻDZ·۷źŻ*/ - /*by cgh 20250414۳·ʱ;·*/ + /*ɹ*/ SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*ý·δ*/ /*ý·߼: δ*/ @@ -6290,8 +6265,6 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId) UINT8 chLockBelRouteType = 0U;/*··*/ UINT8 chTrainEnterRouteFlag = 0U;/*гʻ·־*/ UINT8 chRouteInOutSecOccupy = 0U;/*·ⷽͬʱռѹ־*/ - UINT32 dwRoutLockCycNum = 0U; - UINT32 dwReturnRoutLockCycNum = 0U; routeState = GetRouteState(routeId); /*ȡ·״̬*/ routeType = GetRouteType(routeId); @@ -6339,16 +6312,13 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId) wLockRouteStartSigId = GetRouteStartSignalId(lockBelongRouteId);/*ȡ·ʼźŻID*/ chTrainEnterRouteFlag = CheckTrainEnterRoute(lockBelongRouteId);/*ȡгʻ·־*/ chRouteInOutSecOccupy = RouteInOutSecOccupy(lockBelongRouteId);/*·ⷽͬʱռñ־*/ - dwRoutLockCycNum = GetRouteLockStartCycNum(routeId); /*ȡ·ʼ*/ - dwReturnRoutLockCycNum = GetRouteLockStartCycNum(lockBelongRouteId);/*ȡ۳·ʼ*/ if ((ROUTE_STATE_NEAR_OPEN == chLockBelRouteState) && (ROUTE_TYPE_DIAOCHE == chLockBelRouteType) && - (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum) && + (returnSigId == wLockRouteStartSigId) && ((CI_SUCCESS == chTrainEnterRouteFlag) || ((CI_SUCCESS == chRouteInOutSecOccupy) && (ROUTE_TYPE_LIECHE== routeType)))) { /*۳·ǵ·&&״̬ǽӽ&&۳·ʼźŻDZ·۷źŻ &&гʻ ·Ϊг·۳·ʱⷽͬʱռѹ*/ - /*by cgh 20250414۳·ʱ;·*/ /*ɹ*/ SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*ý·δ*/ /*ý·߼: δ*/ @@ -6356,10 +6326,9 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId) SetRouteStateDeal(routeId, ROUTE_STATE_IDLE); /*ý·״̬Ϊ*/ } if ((ROUTE_TYPE_LIECHE== chLockBelRouteType) && (ROUTE_STATE_NEAR_LOCK == chLockBelRouteState) - && (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum)) + && (returnSigId == wLockRouteStartSigId)) { /*۳·г· ·״̬ǽӽ ۳·ʼźŻDZ·۷źŻ*/ - /*by cgh 20250414۳·ʱ;·*/ /*ɹ*/ SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*ý·δ*/ /*ý·߼: δ*/ @@ -7120,48 +7089,38 @@ void CancelWashWorkLogicM(void) /* * ·ͬ߼ * ˵ void -* ֵ void -* by cgh 20250523 +* ֵ void */ -void RouteDCTYLogic(UINT16 routeId) +void RouteDCTYLogicM(UINT16 routeId) { - UINT8 routeType = 0U; - UINT8 routeState = 0U; - UINT16 routeDCQJId = 0U; - UINT16 routeDCQJTwoId = 0U; - + UINT8 routeType = 0u; + UINT8 routeState = 0u; + UINT16 routeDCQJId = 0u; routeType = GetRouteType(routeId);/*·*/ routeState = GetRouteState(routeId);/*·״̬*/ routeDCQJId = GetRouteDCQJId(routeId); - routeDCQJTwoId = GetRouteDCQJTwoId(routeId); - - if ((0U < routeDCQJId) && (0U < routeDCQJTwoId) && (ROUTE_TYPE_DIAOCHE == routeType)) + if ((routeDCQJId >0u) && (ROUTE_TYPE_DIAOCHE == routeType)) {/*̵IDڣǵ·*/ if((ROUTE_STATE_FIRST_LOCK == routeState) || (ROUTE_STATE_FIRST_LOCKERR == routeState) || (ROUTE_STATE_YUXIAN_LOCK == routeState) || (ROUTE_STATE_YUXIAN_OPEN == routeState) || (ROUTE_STATE_NEAR_OPEN == routeState) || - (ROUTE_STATE_NEAR_LOCK == routeState) || (ROUTE_STATE_NEAR_LOCKERR == routeState)|| - (ROUTE_STATE_AUTO_UNLOCK == routeState) || - (ROUTE_STATE_AUTO_UNLOCKERR == routeState) || - (ROUTE_STATE_DELAY_UNLOCK == routeState)) - { - /*·:··쳣ԤաԤȿšӽšӽ쳣ӽʱԶԶ쳣*/ - SetRouteDCQState(routeId,ROUTE_DCQ_REQUEST);/*ý·״̬Ч*/ + (ROUTE_STATE_LEAD_LOCK == routeState) || + (ROUTE_STATE_LEAD_LOCKERR == routeState) || + (ROUTE_STATE_LEAD_OPEN == routeState) || + (ROUTE_STATE_DELAY_UNLOCK == routeState) || + (ROUTE_STATE_NEAR_LOCK == routeState)) + {/*·:··쳣ԤաԤȿšӽšӽ쳣ӽ + ա쳣šʱ*/ + (void)SetRouteDCQState(routeId,ROUTE_DCQ_REQUEST);/*ý·״̬Ϊ*/ } else - { - /*ý·״̬ΪЧ;ͬ״̬Ч*/ - SetRouteDCQState(routeId,ROUTE_DCQ_NOT_REQUEST); - SetRouteDCTYState(routeId, ROUTE_DCT_NOT_AGREE); + {/*ý·״̬Ϊǵ*/ + (void)SetRouteDCQState(routeId,ROUTE_DCQ_NOT_REQUEST); } } - else - { - ; /**/ - } } /* diff --git a/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.h b/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.h index b1b02cf..ab9fa9b 100644 --- a/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.h +++ b/TSCP/src/APP/ciapp/LogicManage/TradInterlockLogicManage.h @@ -775,10 +775,9 @@ void CancelWashWorkLogicM(void); /* * ·ͬ߼ * ˵ void -* ֵ void -* by cgh 20250523 +* ֵ void */ -void RouteDCTYLogic(UINT16 routeId); +void RouteDCTYLogicM(UINT16 routeId); /* * ·ͬ diff --git a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.c b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.c index 360db1c..3e92915 100644 --- a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.c +++ b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.c @@ -645,58 +645,75 @@ UINT8 RoutePhySecZhaoChaCheck(UINT16 const checkRouteId ,UINT16 const zcPhySecId * RELAY_STATE_WAITE ·ղ̵--ȴ * RES_CHECK_STATE_WAITE Դ鱾ղ̵--ȴ */ -UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendLevel) +UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId,UINT8 functionId,UINT8 sendLevel) { - /* ֲʼ */ - UINT16 relayId = 0u; - UINT8 relayState = 0u; - UINT8 zcPhySecSum = 0u; /*ղĿ*/ - UINT16* pZcPhySecIdBuf = NULL; /*ղID*/ - UINT8 ii = 0u; +/* ֲʼ */ + UINT16 relayId = 0u; + UINT8 relayState = 0u; + UINT8 zcPhySecSum = 0u; /*ղĿ*/ + UINT16* pZcPhySecIdBuf = NULL; /*ղID*/ + UINT8 ii = 0u; UINT16 thisRealyId = 0u; - UINT8 thisRelayState = 0u; + UINT8 thisRelayState = 0u; UINT8 routeState = 0u; UINT8 retVal = CI_ERROR; /*ֵ*/ UINT16 pDevId = 0u; - UINT8 pDevState = 0u; + UINT8 pDevState = 0u; UINT8 funcSwitchSupportRelayInterface = 0u; UINT8 confirmRelayInterfaceFlag = 0u; UINT16 endSignalId = 0u; UINT8 commState = 0u;/*ͨ״̬*/ UINT8 endSignalBelongCi = 0u; UINT8 localCi = 0u; + UINT8 chRouteLevel = 0U; localCi = GetSystemParaLocalCiId(); /*ȡID*/ - /* Զղ */ - zcPhySecSum = GetRouteThatZhaoChaPhySecSum(routeId); /*ȡղĿ*/ + /* Զղ */ + zcPhySecSum = GetRouteThatZhaoChaPhySecSum(routeId); /*ȡղĿ*/ pZcPhySecIdBuf = GetRouteThatZhaoChaPhySecIdBuf(routeId); /*ȡղID*/ - + endSignalId = GetRouteEndSignalId(routeId);/*·նźŻ*/ endSignalBelongCi = GetSignalBelongCiId(endSignalId); funcSwitchSupportRelayInterface = GetCiFunctionSwitchConfig(FUNC_SWITCH_USE_RELAY_INTERFACE_BETWEEN_NEIGHBOURCI); confirmRelayInterfaceFlag = GetCiCiRelayInterfConfirmFlag();/*̵ӿȷ״̬*/ - if (endSignalBelongCi != localCi) + if(endSignalBelongCi != localCi) { /*ȡͨ״̬*/ commState = GetLocalCiAndOtherCiTransSta(endSignalBelongCi); } /*̵ӿȷ*/ - if ((localCi != endSignalBelongCi) && (TRANSMIT_STATE_BAD == commState) - && (CICI_RELAY_INTERFACE_CONFIRM_YES == confirmRelayInterfaceFlag) + if((localCi != endSignalBelongCi) && (TRANSMIT_STATE_BAD == commState) + && (CICI_RELAY_INTERFACE_CONFIRM_YES == confirmRelayInterfaceFlag) && (FUNC_SWITCH_ON == funcSwitchSupportRelayInterface)) { /*ȡ̵ӿڱղID*/ thisRealyId = GetRouteRelayBenDuanZcIdOnRelay(routeId); /*ȡ̵ӿڶԶղID*/ - relayId = GetRouteRelayDuiDuanZcIdOnRelay(routeId); + relayId = GetRouteRelayDuiDuanZcIdOnRelay(routeId); } else { - thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ղ̵ID*/ - relayId = GetRouteThatZhaoChaRelayId(routeId); /*Զղ̵ID*/ + /*·ලȷ*/ + chRouteLevel = GetRouteLevel(routeId); + + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*ģʽղ̵ID*/ + relayId = GetRouteThatZhaoChaRelayId(routeId); /*ģʽԶղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + thisRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId);/*CBTCģʽղ̵ID*/ + relayId = GetRouteCbtcThatZhaoChaRelayId(routeId); /*CBTCģʽԶղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + } if (NULL == pZcPhySecIdBuf) @@ -707,20 +724,20 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL { retVal = CI_SUCCESS; - for (ii = 0u; ii < zcPhySecSum; ii++) - { - retVal = RoutePhySecZhaoChaCheck(routeId, pZcPhySecIdBuf[ii], &pDevId, &pDevState); - if (CI_ERROR == retVal) + for (ii = 0u; ii < zcPhySecSum; ii++) + { + retVal = RoutePhySecZhaoChaCheck(routeId,pZcPhySecIdBuf[ii],&pDevId,&pDevState); + if(CI_ERROR == retVal) { /* ¼ */ - SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, pDevId, ETYPE_PS_ZHAOCHA_CHECK, pDevState, sendLevel); + SetErrorData(functionId,CI_DEVICE_TYPE_PHYSEC,pDevId,ETYPE_PS_ZHAOCHA_CHECK,pDevState,sendLevel); break; } - } - } + } + } - if (CI_SUCCESS == retVal) + if(CI_SUCCESS == retVal) {/*ղμͨ,鱾ղ̵*/ routeState = GetRouteState(routeId); /*ȡ·״̬*/ @@ -729,18 +746,10 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL thisRelayState = GetRelayCollState(thisRealyId); /*ȡָID̵״̬*/ if ((ROUTE_STATE_FIRST_LOCKERR == routeState) || (ROUTE_STATE_YUXIAN_LOCK == routeState) || - (ROUTE_STATE_YUXIAN_OPEN == routeState) || - (ROUTE_STATE_NEAR_OPEN == routeState) || - (ROUTE_STATE_NEAR_LOCK == routeState) || - (ROUTE_STATE_NEAR_LOCKERR == routeState) || - (ROUTE_STATE_DELAY_UNLOCK == routeState) || - (ROUTE_STATE_AUTO_UNLOCK == routeState) || - (ROUTE_STATE_AUTO_UNLOCKERR == routeState) || - (ROUTE_STATE_HALF_UNLOCKDELAY == routeState) || - (ROUTE_STATE_LEAD_LOCKERR == routeState) || - (ROUTE_STATE_LEAD_OPEN == routeState)) + (ROUTE_STATE_NEAR_LOCKERR == routeState)) { - /*жϱղ״̬*/ + /*·״̬쳣Ԥգӽ쳣 + жϱղ״̬*/ if (RELAY_STATE_UP == thisRelayState) { /* ¼ */ @@ -748,6 +757,19 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL retVal = CI_ERROR; } } + else if ((ROUTE_STATE_NEAR_OPEN == routeState) || + (ROUTE_STATE_YUXIAN_OPEN == routeState)) + { + /*Żʱ + 1·״̬ΪӽţԤȿ,·תΪģʽʱõıղ̵δ*/ + retVal = KeepSignalRelayZhaoChaCheck(routeId); + if (CI_ERROR == retVal) + { + /* ¼ */ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, thisRealyId, ETYPE_THIS_ZHAOCHA, RELAY_STATE_UP, sendLevel); + + } + } else if (ROUTE_STATE_HALF_UNLOCK == routeState) { /*Żʱ @@ -760,10 +782,9 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL } } - else if ((ROUTE_STATE_FIRST_LOCK == routeState) || - (ROUTE_STATE_LEAD_LOCK == routeState)) + else if (ROUTE_STATE_FIRST_LOCK == routeState) { - if (RELAY_STATE_UP == thisRelayState) + if(RELAY_STATE_UP == thisRelayState) { /* ¼ */ SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, thisRealyId, ETYPE_THIS_ZHAOCHA, RELAY_STATE_UP, ESEND_LEVEL_ZERO); @@ -771,6 +792,20 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL retVal = RELAY_STATE_WAITE; } + } + /* ԶԶ쳣ʱҲղ*/ + else if ((ROUTE_STATE_DELAY_UNLOCK == routeState) + || (ROUTE_STATE_AUTO_UNLOCK == routeState) + || (ROUTE_STATE_AUTO_UNLOCKERR == routeState) + || (ROUTE_STATE_HALF_UNLOCKDELAY == routeState)) + { + if (RELAY_STATE_UP == thisRelayState) + { + /* ¼ */ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, thisRealyId, ETYPE_THIS_ZHAOCHA, RELAY_STATE_UP, sendLevel); + retVal = CI_ERROR; + } + } else { @@ -780,30 +815,31 @@ UINT8 RouteRelayZhaoChaCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendL } - - if ((CI_SUCCESS == retVal) || (RELAY_STATE_WAITE == retVal) || (RES_CHECK_STATE_WAITE == retVal)) + + if((CI_SUCCESS == retVal) || (RELAY_STATE_WAITE == retVal) || (RES_CHECK_STATE_WAITE == retVal)) {/*ղ̵ͨ/ȴԶղ̵*/ - if (0u != relayId) - {/*ڶԶղ̵*/ + if(0u != relayId) + {/*ڶԶղ̵*/ - relayState = GetRelayCollState(relayId); + relayState = GetRelayCollState(relayId); - /* ղ*/ - if (RELAY_STATE_UP == relayState) - { - /*ͨ*/ - } - else - { - /* ¼ */ - SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, relayId, ETYPE_THAT_ZHAOCHA, relayState, sendLevel); + /* ղ*/ + if (RELAY_STATE_UP == relayState) + { + /*ͨ*/ + } + else + { + /* ¼ */ + SetErrorData(functionId,CI_DEVICE_TYPE_RELAY,relayId,ETYPE_THAT_ZHAOCHA,relayState,sendLevel); - retVal = CI_ERROR; - } - } + retVal = CI_ERROR; + } + } } return retVal; + } @@ -2049,10 +2085,7 @@ UINT8 RouteSwitchPosAndMoveValidCheck(UINT16 const routeId,UINT8 sendLevel) UINT8 chLocalCiId = 0U;/*ID*/ UINT8 chSwitchBelCiId = 0U;/*ID*/ UINT8 chSearchCiId = 0U;/*ѯID*/ - UINT16 chDevId = 0U; - UINT8 chDevState = 0U; - UINT8 chDevType = 0U; - UINT8 chDevErrorType = 0U; + if (0U == checkSum) { /*޼*/ @@ -2114,11 +2147,7 @@ UINT8 RouteSwitchPosAndMoveValidCheck(UINT16 const routeId,UINT8 sendLevel) else { reVal = CI_ERROR; - chDevId = GetRouteApplySwitchCheckErrorData(routeId, &chDevType, &chDevState, &chDevErrorType); - if (0U != chDevId) - { - SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, chDevType, chDevId, chDevErrorType, chDevState, sendLevel); - } + SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_ROUTE_APPLY_SWITCH_CHECK, chRouteApplySwitchCheckFlag, ESEND_LEVEL_ZERO); } } } @@ -2866,10 +2895,6 @@ UINT8 RouteRelProSwiPosAndMovValCheck(UINT16 const routeId,UINT8 sendLevel) UINT8 chLocalCiId = 0U;/*ID*/ UINT8 chSwitchBelCiId = 0U;/*ID*/ UINT8 chSearchCiId = 0U;/*ѯID*/ - UINT16 chDevId = 0U; - UINT8 chDevState = 0U; - UINT8 chDevType = 0U; - UINT8 chDevErrorType = 0U; if (0U == checkSum) { @@ -2932,11 +2957,7 @@ UINT8 RouteRelProSwiPosAndMovValCheck(UINT16 const routeId,UINT8 sendLevel) else { reVal = CI_ERROR; - chDevId = GetRouteApplySwitchCheckErrorData(routeId, &chDevType, &chDevState, &chDevErrorType); - if (0U != chDevId) - { - SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, chDevType, chDevId, chDevErrorType, chDevState, sendLevel); - } + SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_ROUTE_APPLY_SWITCH_CHECK, chRouteApplySwitchCheckFlag, ESEND_LEVEL_ZERO); } } } @@ -7078,38 +7099,39 @@ UINT8 RouteExceptLastSecOccuClrCheck(UINT16 const routeId) /**/ UINT8 const functionId = EFUNC_CHECK_LEAD_ROUTE_ZRJ; /* ·*/ - UINT8 const checkSum = GetRoutePhysicalSectionSum(routeId); - RoutePhysicalSectionStruct* const dataIdBuf = GetRouteSectionData(routeId); - + UINT8 const checkSum = GetRoutePhysicalSectionSum(routeId); + RoutePhysicalSectionStruct* const dataIdBuf = GetRouteSectionData(routeId); + /* ֲʼ */ - UINT16 i = 0u; /* ѭ */ - UINT16 devId = 0u; - UINT8 devState = 0u; + UINT16 i = 0u; /* ѭ */ + UINT16 devId = 0u; + UINT8 devState = 0u; UINT8 result = CI_SUCCESS; UINT16 cancleZhaoChaRelayId = 0u; /*ȡղ̵ID*/ UINT8 relayState = 0u; /*̵ɼ״̬*/ UINT8 sendLevel = ESEND_LEVEL_ATS; /*ATS*/ + UINT8 chRouteLevel = 0U;/*·ලȷ*/ /* ռü */ - if (0u == checkSum) - { - /*ݴ*/ - result = CI_ERROR; - } + if (0u == checkSum) + { + /*ݴ*/ + result = CI_ERROR; + } else { } - - if (CI_SUCCESS == result) + + if(CI_SUCCESS == result) { /*ʼ*/ - for (i = 0u; i < (UINT16)(checkSum - 1u); i++) + for (i = 0u; i<(checkSum-1u); i++) { devId = dataIdBuf[i].PhysicalSectionId; devState = GetPhySecCurMergeState(devId); - if (SECTION_OCCUPY_YES == devState) + if (SECTION_OCCUPY_YES ==devState) { /*״̬һ·ع״̬*/ /* ¼ */ @@ -7123,17 +7145,29 @@ UINT8 RouteExceptLastSecOccuClrCheck(UINT16 const routeId) } } - if (CI_SUCCESS == result) + if(CI_SUCCESS == result) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } - if ((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) + if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ relayState = GetRelayCollState(cancleZhaoChaRelayId);/*ȡȡ̵ɼ״̬*/ devId = cancleZhaoChaRelayId; devState = relayState; - if (RELAY_STATE_UP == relayState) + if(RELAY_STATE_UP == relayState) { /* ͨ */ result = CI_SUCCESS; @@ -7142,7 +7176,7 @@ UINT8 RouteExceptLastSecOccuClrCheck(UINT16 const routeId) else { /* ¼ */ - SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, devId, ETYPE_CANCLE_ZHAOCHA, devState, sendLevel); + SetErrorData(functionId,CI_DEVICE_TYPE_RELAY,devId,ETYPE_CANCLE_ZHAOCHA,devState,sendLevel); /* ʧܷ */ result = CI_ERROR_QXZC; } @@ -7155,10 +7189,9 @@ UINT8 RouteExceptLastSecOccuClrCheck(UINT16 const routeId) } else { - } - - return result; + + return result; } /* * ȫԶ۷·ǷеִԶ·Ѱ @@ -7573,9 +7606,7 @@ UINT8 OtherCiDevStatusCheck(UINT16 const routeId,const RouteOtherCheckStruct *pO UINT8 logSwichSum = 0U; /*߼ΰĵ*/ UINT8 logBelogAxisNum = 0u; UINT16* logBelogAxisBuff = NULL; - UINT8 cFuncSwitchFloodGate = FUNC_SWITCH_ON; /*·Ƿſ*/ - UINT8 cFuncSwitchEsb = FUNC_SWITCH_ON; /*·ǷESB*/ - UINT8 cRouteToLeadFlag = 0U; /*·ת·־*/ + devState = GetOtherCiDevStatus(devType,devId,chkDevStatus); @@ -7586,20 +7617,14 @@ UINT8 OtherCiDevStatusCheck(UINT16 const routeId,const RouteOtherCheckStruct *pO { routeLeadProperty = GetRouteLeadProperty(routeId);/*ȡ·*/ routeState = GetRouteState(routeId);/*ȡ·״̬*/ - cRouteToLeadFlag = GetRouteToLeadFlag(routeId); /*ȡ·ת־*/ if (((ROUTE_LEAD_PROPERTY_YES == routeLeadProperty) || (ROUTE_LEAD_PROPERTY_CBTC_YES == routeLeadProperty)) - && (((ROUTE_STATE_LEAD_LOCK == routeState) || (ROUTE_STATE_LEAD_LOCKERR == routeState) || (ROUTE_STATE_LEAD_OPEN == routeState)) || (ROUTE_TO_LEAD_FLAG_YES == cRouteToLeadFlag))) - { - /*·ֻ·ⷽεռ״̬ߵ(ݡ·Ƿ״̬ȷǷ) - ESB(ݡ·ǷESB״̬ȷǷ)*/ - cFuncSwitchFloodGate = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - cFuncSwitchEsb = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_ESB_CHECK); - - if ((CI_DEVICE_TYPE_AXISSEC == devType) || (CI_DEVICE_TYPE_CONNECT_SWITCH == devType) || (CI_DEVICE_TYPE_SWITCH == devType) - || ((CI_DEVICE_TYPE_FLOODGATE == devType) && (FUNC_SWITCH_OFF != cFuncSwitchFloodGate)) - || ((CI_DEVICE_TYPE_ESB == devType) && (FUNC_SWITCH_OFF != cFuncSwitchEsb))) - { + && ((ROUTE_STATE_LEAD_LOCK == routeState) || (ROUTE_STATE_LEAD_LOCKERR == routeState) + || (ROUTE_STATE_LEAD_OPEN == routeState))) + { /*·ֻ·żεռ״̬,ߵ*/ + if ((CI_DEVICE_TYPE_AXISSEC == devType) || (CI_DEVICE_TYPE_CONNECT_SWITCH == devType) + || (CI_DEVICE_TYPE_SWITCH == devType) || (CI_DEVICE_TYPE_FLOODGATE == devType)) + { ret = CI_ERROR; } else @@ -7724,7 +7749,6 @@ static UINT8 CheckRelationSignalOnSameOpen(UINT16 const routeId,UINT16 const rel UINT8 ret = CI_SUCCESS; UINT8 routeType = 0u; /*·*/ UINT8 relationSignalOpenColor = GetSignalCurColor(relationSignalId); - UINT8 cRouteStartSigOpenColor = 0U; /*·ʼźŻɫ*/ routeState = GetRouteState(routeId); routeLeadProperty = GetRouteLeadProperty(routeId);/*ȡ·*/ @@ -7763,7 +7787,6 @@ static UINT8 CheckRelationSignalOnSameOpen(UINT16 const routeId,UINT16 const rel } break; case SIGNAL_SHOWCOLOUR_YELLOW: - case SIGNAL_SHOWCOLOUR_GREEN: if (OTHER_CI_SIGNAL_STATUS_OPEN == devStatus) { /* Էгźţɰ·г·ܰ·(0x55)*/ @@ -7780,12 +7803,11 @@ static UINT8 CheckRelationSignalOnSameOpen(UINT16 const routeId,UINT16 const rel { if (ROUTE_TYPE_LIECHE == routeType) { - cRouteStartSigOpenColor = GetRouteSignalOpenColor(routeId); /*ȡ·ʼźŻɫ*/ - if ((((ROUTE_LEAD_PROPERTY_YES == routeLeadProperty) || (ROUTE_LEAD_PROPERTY_CBTC_YES == routeLeadProperty)) - && ((ROUTE_STATE_LEAD_LOCK == routeState) || (ROUTE_STATE_LEAD_LOCKERR == routeState) || (ROUTE_STATE_LEAD_OPEN == routeState))) - || (cRouteStartSigOpenColor != relationSignalOpenColor)) - { - /* ·г·ɫһ£ʧ */ + if (((ROUTE_LEAD_PROPERTY_YES == routeLeadProperty) || (ROUTE_LEAD_PROPERTY_CBTC_YES == routeLeadProperty)) + && ((ROUTE_STATE_LEAD_LOCK == routeState) + || (ROUTE_STATE_LEAD_LOCKERR == routeState) + || (ROUTE_STATE_LEAD_OPEN == routeState))) + {/* ·Ϊҽ·״̬Ϊ<><쳣><> ,·, */ ret = CI_ERROR; } else @@ -7833,6 +7855,7 @@ UINT8 DriveGarageDoorOpenCheck(const UINT16 garageDoorId) UINT8 faultFlag = GetGaragedoorFaultState(garageDoorId); UINT8 doorState = GetGaragedoorState(garageDoorId); UINT8 pangluState = GetGaragedoorPangLuState(garageDoorId); + UINT16 jkjRelayId = GetJkjRelayId(); /**/ UINT8 const functionId = EFUNC_CLD_CLOSE_GARAGEDOOR; @@ -7844,9 +7867,9 @@ UINT8 DriveGarageDoorOpenCheck(const UINT16 garageDoorId) { retVal = CI_SUCCESS; /* ¼ */ - if (JKJ_REYLAY_VALID == jkjRelayValidFlag) - {/*Ӧ̵̼Ч״̬*/ - SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, 0u, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, sendLevel);/*OCӦعܣ̵ID0*/ + if ((jkjRelayId > 0u) && (JKJ_REYLAY_VALID == jkjRelayValidFlag)) + {/*Ӧ̵̼Ч״̬*/ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, jkjRelayId, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, sendLevel); retVal = CI_ERROR; } else if (GARAGE_DOOR_STATE_MODE_LOCAL == modeFlag) @@ -7908,6 +7931,7 @@ UINT8 DriveGarageDoorCloseCheck(const UINT16 garageDoorId) UINT8 phyState = SECTION_OCCUPY_YES; UINT8 phyFLockState = PHYSICAL_SECTION_FLOCK_YES; UINT8 phyLockState = PHYSICAL_SECTION_LOCK_NORMAL;/*״̬*/ + UINT16 jkjRelayId = GetJkjRelayId(); UINT16 jj = 0u; UINT32 responseZCStartCyc = 0U;/*ȴZCʼ*/ UINT32 responseIVOCStartCyc = 0U;/*ȴIVOCʼ*/ @@ -7928,9 +7952,9 @@ UINT8 DriveGarageDoorCloseCheck(const UINT16 garageDoorId) { retVal = CI_SUCCESS; /* ¼ */ - if (JKJ_REYLAY_VALID == jkjRelayValidFlag) + if ((jkjRelayId > 0u) && (JKJ_REYLAY_VALID == jkjRelayValidFlag)) {/*Ӧ̵̼Ч״̬*/ - SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, 0u, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, sendLevel);/*OCӦعܣ̵ID0*/ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, jkjRelayId, ETYPE_JKJ_WORK, RELAY_STATE_DOWN, sendLevel); retVal = CI_ERROR; } else if (GARAGE_DOOR_STATE_MODE_LOCAL == modeFlag) @@ -10043,6 +10067,7 @@ UINT8 PhySecFaultUnlockLogicProcess(UINT16 const phySectionId) UINT8 routeBelongCi = 0u; UINT8 otherCiId = 0u;/*ID*/ UINT8 execRes = 0u;/*ִн*/ + UINT8 chRouteLevel = 0U; /*ȡϢ*/ phySecLockBelongRouteId = GetPhySecRLockBelongRouteId(phySectionId); @@ -10100,7 +10125,20 @@ UINT8 PhySecFaultUnlockLogicProcess(UINT16 const phySectionId) /*ȡղ̵Ϊ*/ if (CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(phySecLockBelongRouteId); /*ȡղ̵ID*/ + chRouteLevel = GetRouteLevel(phySecLockBelongRouteId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(phySecLockBelongRouteId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(phySecLockBelongRouteId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + commState = GetLocalCiAndOtherCiTransSta(routeBelongCi);/*ͨͨ״̬*/ if ((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { @@ -10223,6 +10261,7 @@ UINT8 CheckRouteZongRenJieFeasibility(const UINT16 routeId) UINT8 sectionSum = 0u;/*·*/ /*Ϸͼ*/ UINT8 sendLevel = ESEND_LEVEL_ATS; /*ATS*/ UINT16 secIdx = 0u;/*·ڰα*/ + UINT8 chRouteLevel = 0U; /**/ /* ·״̬ա*/ @@ -10330,8 +10369,19 @@ UINT8 CheckRouteZongRenJieFeasibility(const UINT16 routeId) if (CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if ((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -10364,6 +10414,142 @@ UINT8 CheckRouteZongRenJieFeasibility(const UINT16 routeId) return reResult; } +/* +* ·˽ĿԡֻҪ·һοֱӽ̹Ϊ˽Сע·˽ⲻɵøú +* ˵ const UINT16 routeId, ·ID +* ֵ UINT8 +CI_SUCCESS:˽ִ +CI_ERROR:˽ⲻִ +*/ +UINT8 CheckDiaoCheRouteZRJFeasibility(const UINT16 routeId) +{ + /**/ + UINT8 const functionId = EFUNC_CHECK_DIAOCHE_ROUTE_ZRJ; + /* ֲʼ */ + UINT8 reResult = CI_ERROR; /*ֵ*/ + UINT8 checkResult = CI_ERROR; /**/ + UINT16 devId = 0u; /*豸ID*/ + UINT8 devState = 0u; /*豸״̬*/ + UINT16 cancleZhaoChaRelayId = 0u; /*ȡղ̵ID*/ + UINT8 relayState = 0u; /*̵ɼ״̬*/ + UINT8 trainEnterFlag = 0u; /*·гʻ־*/ + UINT16 inPhySecId = 0u; /*źŻڷһID*/ + RoutePhysicalSectionStruct *pRouteSecStru = NULL; /**/ + UINT8 sectionSum;/*·*/ + UINT8 sendLevel = ESEND_LEVEL_ATS; /*ATS*/ + UINT8 chRouteLevel = 0U; + + /* ·״̬ա*/ + devId = 0u; + devState = 0u; + checkResult = RouteAllSecLockStateCheck(routeId, PHYSICAL_SECTION_LOCK_NORMAL, &devId, &devState); + if (CI_SUCCESS==checkResult) + { + /* ͨ */ + reResult = CI_SUCCESS; + } + else + { + /* ¼ */ + SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_LOCK_STATE, devState, sendLevel); + /* ʧܷ */ + reResult = CI_ERROR; + } + + + if (CI_SUCCESS == reResult) + { + trainEnterFlag = GetRouteTrainEnterFlag(routeId);/*ȡ·гʻ־*/ + + if (ROUTE_TRAIN_ENTER_FLAG_NO == trainEnterFlag) + {/*гûʻ*/ + reResult = CI_SUCCESS; + } + else + { + sectionSum = GetRoutePhysicalSectionSum(routeId); /*ý·Ŀ*/ + pRouteSecStru = GetRouteSectionData(routeId); /*·*/ + + if ((NULL == pRouteSecStru) || (0u == sectionSum)) + { + reResult = CI_ERROR; + } + else + { + inPhySecId = pRouteSecStru[0].PhysicalSectionId; + + if (((ROUTE_STOPCHECK_SET_YES == GetRouteStopCheckFlag(routeId)) && + (PHYSICAL_SECTION_LJK_YES == GetPhySecLjkFlag(inPhySecId)) && + (PHYSICAL_STOPCHECK_SET_YES == GetPhySectionStopCheckFlag(inPhySecId))) + || (ROUTE_PHYSICALSECTION_CHECK_NO == pRouteSecStru[0].CheckProperty)) + { /*ֹͣЧΪмֹͣЧ,*/ + reResult = CI_SUCCESS; + } + else + { + devState = GetPhySecCurMergeState(inPhySecId); + + if (SECTION_OCCUPY_NO == devState) + { + reResult = CI_SUCCESS; + } + else + { + /* ¼ */ + SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, devState, sendLevel); + reResult = CI_ERROR; + } + } + } + } + } + else + { + } + + if (CI_SUCCESS == reResult) + { + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } + if ((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) + { + /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ + relayState = GetRelayCollState(cancleZhaoChaRelayId);/*ȡȡ̵ɼ״̬*/ + devId = cancleZhaoChaRelayId; + devState = relayState; + if (RELAY_STATE_UP == relayState) + { + /* ͨ */ + reResult = CI_SUCCESS; + + } + else + { + /* ¼ */ + SetErrorData(functionId, CI_DEVICE_TYPE_RELAY, devId, ETYPE_CANCLE_ZHAOCHA, devState, sendLevel); + /* ʧܷ */ + reResult = CI_ERROR; + } + + } + } + else + { + } + + return reResult; +} /* ձ @@ -12208,9 +12394,8 @@ UINT8 OpenBlocRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) * UINT16 RouteId, · * UINT8 functionId, ú * UINT8 sendLevel, 뷢ͼ -* ֵ CI_ERROR ʧ -* CI_SUCCESS ɹ -* RELAY_STATE_WAITE ȴղ̵ +* ֵ CI_ERROR +* CI_SUCCESS */ UINT8 OpenBlocRouteOverlapCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) { @@ -12527,22 +12712,6 @@ UINT8 OpenBlocRouteOverlapCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) reResult = CI_ERROR; } } - - /*ղ̵״̬*/ - if (CI_SUCCESS == reResult) - { - checkResult = OverlapZhaoChaRelayCheck(overlapId, ESEND_LEVEL_ATS); - - if (CI_SUCCESS == checkResult) - { - reResult = CI_SUCCESS; - } - else - { - /*ȴղ̵»Զ˼鲻ؼ*/ - reResult = checkResult; - } - } } else { @@ -14978,33 +15147,67 @@ UINT8 AxisSecAllSwitchPosCheck(UINT16 const axisSecId,UINT16 *pDevId,UINT8 *pDev * ˵ UINT16 const routeId, · * ֵ CI_ERROR * CI_SUCCESS -* qw.liu ޸ ·ⷽһελü鲻ʹýӽΣΪֱӲ߼ */ UINT8 RouteOutfirstPhySecSwiPosCheck(UINT16 const routeId) { UINT8 reVal = CI_ERROR; + RouteNearPhySectionStruct* pRouteNearPSSecStru = NULL; /*ӽνṹ*/ UINT16 outPhySecId = 0u; /*źŻⷽһID*/ - UINT16 signalId = 0u; - UINT16 signalOutFirstLogSecId = 0U; + UINT8 nearPhySecSum = 0u; + UINT16 i = 0u; /* ѭ */ + UINT16 j = 0u; /* ѭ */ + UINT16 signalId =0u; + UINT8 secConditionSum =0u; + UINT8 flag = 0u; + secConditionSum = GetRouteBlocNearSecConditionSum(routeId);/*ȡָID·ʽӽĿ*/ + pRouteNearPSSecStru = GetRouteBlocNearPhySectionStru(routeId);/*ӽνṹ*/ signalId = GetRouteStartSignalId(routeId);/*·ʼźŻ*/ outPhySecId = GetSignalOutFirstPhySecId(signalId); /*źŻⷽһID*/ - signalOutFirstLogSecId = GetSignalOutFirstLogSec(signalId); - if (0u != outPhySecId) + if(0u != outPhySecId) { - signalOutFirstLogSecId = GetSignalOutFirstLogSec(signalId); - - if (0U != signalOutFirstLogSecId) - { - /*߼Ч λѾںвѯͨ*/ - reVal = CI_SUCCESS; + if((ROUTE_NEARSEC_CONDITION_SUM_MAX >= secConditionSum)&&(NULL != pRouteNearPSSecStru)) + { + for(i=0u;i= nearPhySecSum) + { + if(0u == flag) + { + for(j=0u;j wTrainIndex)) { /****** ֽ·߼Ψһ߼Ƿδ ******/ cLogSecLockState = GetLogSecLockState(pLogSecIdBuff[0]); @@ -24762,46 +24924,43 @@ UINT8 LogSecSeqAndTrainPosCheckCLD(const UINT8 cLogSecSum, const UINT16* pLogSec if (TRAIN_COMM_STATE_GOOD == cTrainCommState) /*ͨųǰɸ*/ { - cRetVal = TrainOccSameSecCheck(wLogSecRelPhySecId, wTrainId); + wTrainMaxHeadLink = GetTrainMaxHeadLink(wTrainId); /*ȡгλ*/ + wTrainMinHeadLink = GetTrainMinHeadLink(wTrainId); + wTrainMaxTailLink = GetTrainMaxTailLink(wTrainId); + wTrainMinTailLink = GetTrainMinTailLink(wTrainId); - if (CI_SUCCESS != cRetVal) + if ((pLogSecIncLinkId[0] == wTrainMaxHeadLink) && (wTrainMaxHeadLink == wTrainMinHeadLink) + && (wTrainMinHeadLink == wTrainMaxTailLink) && (wTrainMaxTailLink == wTrainMinTailLink)) { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_TRAIN_POS, 0U, cSendLevel); - debug_infor_printf((const)"LogSecSeqAndTrainPosCheckCLD: Train Check Error: Train[%d] Position Is Error\n", wTrainId); + cRetVal = CI_SUCCESS; } else { - /*ͨ*/ - ; + debug_infor_printf((const)"LogSecSeqAndTrainPosCheckCLD: Train Check Error: Train[%d] Position Is Error\n", wTrainId); /*гδȫ߻ѹ죬ʧ*/ } } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_TRAIN_COMM, 0U, cSendLevel); debug_infor_printf((const)"LogSecSeqAndTrainPosCheckCLD: Train Check Error: Train[%d] CommState Is Error\n", wTrainId); /*гͨ쳣ʧ*/ } } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_SEC_ATTR, 0U, cSendLevel); debug_infor_printf((const)"LogSecSeqAndTrainPosCheckCLD: LogSec Check Error: LogSec[%d] Attr Is Error\n", pLogSecIdBuff[0]); /*ֽ·߼η߻ѹ/Σʧ*/ } } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_SEC_ATTR, 0U, cSendLevel); /*ȡ߼ΰlinkʧܣʧ*/ } } else { - SetErrorData(cFunctionId, CI_DEVICE_TYPE_LOGICSEC, pLogSecIdBuff[0], ETYPE_LOGSEC_LOCK_STATE, cLogSecLockState, cSendLevel); debug_infor_printf((const)"LogSecSeqAndTrainPosCheckCLD: LogSec Check Error: LogSec[%d] State Is Error\n", pLogSecIdBuff[0]); /*߼գʧ*/ } } else { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_SEC_ATTR, 0U, cSendLevel); /*μʧܣʧ*/ } @@ -25342,8 +25501,8 @@ UINT8 CheckSwitchPosAndMoveValid(const UINT16 wSwitchId,const UINT8 chSwitchPos, else { /*λòȷ ɶ*/ - /* GetSwitchMoveValidStateѾ¼ */ - /*SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, CI_DEVICE_TYPE_SWITCH, wSwitchId, ETYPE_SWT_POSTION_STATE, chDevState, sendLevel);*/ + /* ¼ */ + SetErrorData(EFUNC_CHECK_SWITCHPOS_MOVEVALID, CI_DEVICE_TYPE_SWITCH, wSwitchId, ETYPE_SWT_POSTION_STATE, chDevState, sendLevel); chRetVal = CI_ERROR; } } @@ -25389,7 +25548,7 @@ UINT8 RouteOtherCiSwPosValidCheck(UINT16 const routeId) chSwitchBelCiId = GetSwitchBelongCiId(pRouteSwIdBuf[ii].SwitchId); if ((chLocalCiId == chSwitchBelCiId) && (0U != chLocalCiId)) { - reVal = CheckSwitchPosAndMoveValid(pRouteSwIdBuf[ii].SwitchId, pRouteSwIdBuf[ii].SwitchPosition, ESEND_LEVEL_ZERO); + reVal = CheckSwitchPosAndMoveValid(pRouteSwIdBuf[ii].SwitchId, pRouteSwIdBuf[ii].SwitchPosition, ESEND_LEVEL_ATS); if (CI_ERROR == reVal) { break; @@ -25413,7 +25572,7 @@ UINT8 RouteOtherCiSwPosValidCheck(UINT16 const routeId) chSwitchBelCiId = GetSwitchBelongCiId(pRouteProSwIdBuf[ii].ProtectSwitchId); if ((chLocalCiId == chSwitchBelCiId) && (0U != chLocalCiId)) { - reVal = CheckSwitchPosAndMoveValid(pRouteProSwIdBuf[ii].ProtectSwitchId, pRouteProSwIdBuf[ii].ProtectPosition, ESEND_LEVEL_ZERO); + reVal = CheckSwitchPosAndMoveValid(pRouteProSwIdBuf[ii].ProtectSwitchId, pRouteProSwIdBuf[ii].ProtectPosition, ESEND_LEVEL_ATS); if (CI_ERROR == reVal) { break; @@ -25663,10 +25822,9 @@ UINT8 OverlapProSwUsingCheck(const UINT16 wOverlapId, UINT16* pDevId, UINT8* pDe * ˵ UINT16 const routeId, · * ֵ CI_ERROR * CI_SUCCESS -*UINT16* switchIDIDUINT8* chSwitchState״̬ * BY CGH 20250224 */ -UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId, UINT16* switchID, UINT8* chSwitchState) +UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId) { /* · */ UINT8 chRouteSwSum = GetRouteSwitchSum(routeId); @@ -25695,8 +25853,6 @@ UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId, UINT16* switchID, UINT8* c { /*λòȷ*/ reVal = CI_ERROR; - *switchID = szRouteSwDataBuf[ii].SwitchId; - *chSwitchState = chSwState; break; } } @@ -25715,8 +25871,6 @@ UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId, UINT16* switchID, UINT8* c { /*λòȷ*/ reVal = CI_ERROR; - *switchID = szRouteSwDataBuf[ii].SwitchId; - *chSwitchState = chSwState; break; } } @@ -25733,477 +25887,4 @@ UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId, UINT16* switchID, UINT8* c /*ȫͨ*/ return reVal; -} - -/* -*ܣղ̵ -*˵const UINT16 wOverlapIdID -* UINT8 chSendLevel, 뷢ͼ -*ֵCI_ERROR ʧ -* CI_SUCCESS ɹ -* RELAY_STATE_WAITE ղ̵--ȴ -* by cgh 20250617 -*/ -UINT8 OverlapZhaoChaRelayCheck(const UINT16 wOverlapId, UINT8 chSendLevel) -{ - UINT8 chReval = CI_ERROR; - UINT16 wThisZhaoChaRelayId = 0U;/*ղ̵ID*/ - UINT8 chRelayCollState = 0U; /*̵ɼ״̬*/ - UINT8 chFunctionId = EFUNC_OVERLAP_ZHAOCHA_CHECK; /**/ - UINT16 wThatZhaoChaRelayId = 0U;/*ղ̵ID*/ - - if ((0U < wOverlapId) && (OVERLAP_SUM_MAX > wOverlapId)) - { - chReval = CI_SUCCESS; - - wThisZhaoChaRelayId = GetOverlapThisZhaoChaRelayId(wOverlapId); - - if (0U < wThisZhaoChaRelayId) - { - chRelayCollState = GetRelayCollState(wThisZhaoChaRelayId); - - if (RELAY_STATE_UP == chRelayCollState) - { - /* ¼ */ - SetErrorData(chFunctionId, CI_DEVICE_TYPE_RELAY, wThisZhaoChaRelayId, ETYPE_THIS_ZHAOCHA, RELAY_STATE_UP, ESEND_LEVEL_ZERO); - /*ȴصȴ־*/ - chReval = RELAY_STATE_WAITE; - } - else - { - ; /*سɹ*/ - } - } - else - { - ; /*һسɹ*/ - } - - /*Զղ̵*/ - wThatZhaoChaRelayId = GetOverlapThatZhaoChaRelayId(wOverlapId); - - if (0U < wThatZhaoChaRelayId) - { - chRelayCollState = GetRelayCollState(wThatZhaoChaRelayId); - - if (RELAY_STATE_UP == chRelayCollState) - { - /*ͨ*/ - } - else - { - /* ¼ */ - SetErrorData(chFunctionId, CI_DEVICE_TYPE_RELAY, wThatZhaoChaRelayId, ETYPE_THAT_ZHAOCHA, chRelayCollState, chSendLevel); - /*ȴصȴ־*/ - chReval = CI_ERROR; - } - } - else - { - ; /*һرղ*/ - } - - } - else - { - ; /*ʧ*/ - } - - return chReval; -} - -/* -* ·ȫռ -* ˵ UINT16 routeId, · -* ֵ CI_ERROR -* CI_SUCCESS ״̬Ϊ -* by fan 20250724 -*/ -UINT8 RouteAllSecProtectLockCheck(UINT16 const routeId) -{ - /* ·*/ - UINT8 const checkSum = GetRoutePhysicalSectionSum(routeId); - RoutePhysicalSectionStruct* const dataIdBuf = GetRouteSectionData(routeId); - - /* ֲʼ */ - UINT8 i = 0u; /* ѭ */ - UINT16 devId = 0u; - UINT8 devState = 0u; - UINT8 reVal = CI_ERROR; - - /* ռü */ - if ((0u == checkSum)||(NULL == dataIdBuf)) - { - /*ݴ*/ - reVal = CI_ERROR; - } - else - { - reVal = CI_SUCCESS; - /*ʼ*/ - for (i = 0u; i wIdIndex) - { - cRouteBelongCiId = GetRouteBelongCiId(wRouteId); - cCiType = GetCiType(cRouteBelongCiId); - - if ((CI_TYPE_SCX == cCiType) || (CI_TYPE_ZX == cCiType)) - { - cRetVal = CI_SUCCESS; /*dzΣسɹ*/ - } - else if (CI_TYPE_CLD == cCiType) - { - /*·ڳΣ·Ƿڷdzε*/ - cRouteIncPhySecNum = GetRoutePhysicalSectionSum(wRouteId); /*ȡ·Ϣ*/ - pstrRouteIncPhySecData = GetRouteSectionData(wRouteId); - - if ((0U < cRouteIncPhySecNum) && (NULL != pstrRouteIncPhySecData)) - { - for (ii = 0U; ii < cRouteIncPhySecNum; ii++) - { - cPhySecBelongCiId = GetPhySecBelongCiId(pstrRouteIncPhySecData[ii].PhysicalSectionId); - cCiType = GetCiType(cPhySecBelongCiId); - - if (CI_TYPE_ZX == cCiType) - { - break; /*ηdzΣֹͣ*/ - } - else - { - /**/ - } - } - - if (ii != cRouteIncPhySecNum) - { - cRetVal = CI_SUCCESS; /*ηdzΣΪ/·سɹ*/ - } - else - { - cRetVal = CI_ERROR; /*ʧ*/ - } - } - else - { - /*ȡϢʧܣʧ*/ - } - } - else - { - /*ʧ*/ - } - } - else - { - /*ηǷʧ*/ - } - - return cRetVal; -} - -/* -* ռý -* ˵UINT16 overlapId ID -* UINT8 functionId ID -* ֵCI_ERROR 0 ʧ -* CI_SUCCESS 1 ɹ -* Created By LQ 2025.08.18 -*/ -UINT8 OverlapOccuUnlockCheck(UINT16 overlapId, UINT8 functionId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wBufIndex = 0U; - UINT16 wOlapBelongRouteId = 0U; /*η·ID*/ - UINT8 cRouteState = 0U; /*·״̬*/ - UINT16 wRouteLatsPhySecId = 0U; /*·һID*/ - UINT8 cPhySecLockState = 0U; /*״̬*/ - UINT8 cOlapIncLogSecNum = 0U; /*ΰ߼*/ - UINT16* pOlapIncLogSecId = NULL; /*ΰ߼ID*/ - UINT8 ii = 0U; - UINT8 cLogSecLockState = 0U; /*߼ν·״̬*/ - UINT8 cLogSecLogLockState = 0U; /*߼߼·״̬*/ - UINT8 cSendLevel = ESEND_LEVEL_ZERO; - - wBufIndex = GetOverlapConfigBufIndex(overlapId); - if (OVERLAP_SUM_MAX > wBufIndex) - { - wOlapBelongRouteId = GetOverlapBelongRouteId(overlapId); - cRouteState = GetRouteState(wOlapBelongRouteId); - if (ROUTE_STATE_IDLE == cRouteState) - { - wRouteLatsPhySecId = GetRouteLastPhySectionId(wOlapBelongRouteId); - cPhySecLockState = GetPhySecLockState(wRouteLatsPhySecId); /*ȡ·һε״̬*/ - if (PHYSICAL_SECTION_LOCK_NO == cPhySecLockState) - { - cOlapIncLogSecNum = GetOverlapLogicSectionSum(overlapId); /*ȡΰ߼Ϣ*/ - pOlapIncLogSecId = GetOverlapLogicSectionBuf(overlapId); - if ((0U != cOlapIncLogSecNum) && (NULL != pOlapIncLogSecId)) - { - for (ii = 0U; ii < cOlapIncLogSecNum; ii++) - { - cLogSecLockState = GetLogSecLockState(pOlapIncLogSecId[ii]); - cLogSecLogLockState = GetLogSecLogLockState(pOlapIncLogSecId[ii]); - if ((LOG_SECTION_LOCK_NORMAL == cLogSecLockState) || (LOG_SECTION_LOGLOCK_NORMAL == cLogSecLogLockState)) - { - /**/ - } - else - { - SetErrorData(functionId, CI_DEVICE_TYPE_LOGICSEC, pOlapIncLogSecId[ii], ETYPE_LOGSEC_LOCK_STATE, cLogSecLockState, cSendLevel); - cRetVal = CI_ERROR; /*ΰ߼δգʧ*/ - break; - } - } - - if (ii == cOlapIncLogSecNum) - { - cRetVal = CI_SUCCESS; /*ΰ߼ȫգسɹ*/ - } - else - { - cRetVal = CI_ERROR; - } - } - else - { - cRetVal = CI_ERROR; /*ȡ߼Ϣʧܣ쳣֧ʧ*/ - } - } - else - { - SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, wRouteLatsPhySecId, ETYPE_PS_LOCK_STATE, cPhySecLockState, cSendLevel); - cRetVal = CI_ERROR; /*·һգʧ*/ - } - } - else - { - SetErrorData(functionId, CI_DEVICE_TYPE_ROUTE, wOlapBelongRouteId, ETYPE_ROUTE_STATE, cRouteState, cSendLevel); - cRetVal = CI_ERROR; /*·δУʧ*/ - } - } - else - { - cRetVal = CI_ERROR; /*ηǷʧ*/ - } - - return cRetVal; -} - -/* -* гռȫָμ -* const UINT16 wPhySecId ID -* const UINT16 wTrainId гID -* -* ֵ CI_ERROR 0 ȫ -* CI_SUCCESS 1 ȫ -* by cgh 20251017 -*/ -UINT8 TrainOccSameSecCheck(const UINT16 wPhySecId, const UINT16 wTrainId) -{ - /*ֲʼ*/ - UINT8 chRetVal = CI_ERROR; /*ֵ*/ - UINT16 wTrainIndex = 0U; /*г*/ - UINT16 wTrainMaxHeadLink = 0U; /*гǰLINK*/ - UINT16 wTrainMinHeadLink = 0U; /*гСǰLINK*/ - UINT16 wTrainMaxTailLink = 0U; /*гLINK*/ - UINT16 wTrainMinTailLink = 0U; /*гСLINK*/ - UINT16 wTrainMaxHeadPhySecId = 0U; /*гǰID*/ - UINT16 wTrainMinHeadPhySecId = 0U; /*гСǰID*/ - UINT16 wTrainMaxTailPhySecId = 0U; /*гID*/ - UINT16 wTrainMinTailPhySecId = 0U; /*гСID*/ - UINT8 chPhySecCurOccState = 0U; /*εǰռ״̬*/ - - wTrainIndex = GetTrainBufIndex(wTrainId); - - if ((0U < wPhySecId) && (PHYSICAL_SECTION_SUM_MAX > wPhySecId) && (0U < wTrainIndex) && (TRAIN_SUM_MAX > wTrainIndex)) - { - chPhySecCurOccState = GetPhySecCurMergeState(wPhySecId); - - if (SECTION_OCCUPY_YES == chPhySecCurOccState) - { - /*ȡг͵λ*/ - wTrainMaxHeadLink = GetTrainMaxHeadLink(wTrainId); - wTrainMinHeadLink = GetTrainMinHeadLink(wTrainId); - wTrainMaxTailLink = GetTrainMaxTailLink(wTrainId); - wTrainMinTailLink = GetTrainMinTailLink(wTrainId); - - /*ȡгǰȫλöӦ*/ - wTrainMaxHeadPhySecId = GetLinkRelatedPhySec(wTrainMaxHeadLink); - wTrainMinHeadPhySecId = GetLinkRelatedPhySec(wTrainMinHeadLink); - wTrainMaxTailPhySecId = GetLinkRelatedPhySec(wTrainMaxTailLink); - wTrainMinTailPhySecId = GetLinkRelatedPhySec(wTrainMinTailLink); - - if ((wPhySecId == wTrainMaxHeadPhySecId) || (wPhySecId == wTrainMinHeadPhySecId) - || (wPhySecId == wTrainMaxTailPhySecId) || (wPhySecId == wTrainMinTailPhySecId)) - { - /*ռǷͬһμ*/ - chRetVal = OccBelSameSecCheck(wPhySecId, wTrainMaxHeadPhySecId); - chRetVal &= OccBelSameSecCheck(wPhySecId, wTrainMinHeadPhySecId); - chRetVal &= OccBelSameSecCheck(wPhySecId, wTrainMaxTailPhySecId); - chRetVal &= OccBelSameSecCheck(wPhySecId, wTrainMinTailPhySecId); - } - else - { - /*гһλָ*/ - ; - } - } - else - { - /*ռ*/ - - } - } - else - { - /*ϷУ鲻ͨ*/ - ; - } - - return chRetVal; -} - -/* -* ռǷͬһμ -* const UINT16 wBasePhySecId ׼ID -* const UINT16 wCheckPhySecId ID -* -* ֵ CI_ERROR 0 -* CI_SUCCESS 1 -* by cgh 20251017 -*/ -UINT8 OccBelSameSecCheck(const UINT16 wBasePhySecId, const UINT16 wCheckPhySecId) -{ - /*ֲʼ*/ - UINT8 chRetVal = CI_ERROR; /*ֵ*/ - UINT8 chPhySecCurOccState = 0U; /*εǰռ״̬*/ - - if ((0U < wBasePhySecId) && (PHYSICAL_SECTION_SUM_MAX > wBasePhySecId) && (0U < wCheckPhySecId) && (PHYSICAL_SECTION_SUM_MAX > wCheckPhySecId)) - { - if (wBasePhySecId == wCheckPhySecId) - { - /*ռͬһ*/ - chRetVal = CI_SUCCESS; - } - else - { - /*ǰڵǰռãΪгռòȫָ*/ - chPhySecCurOccState = GetPhySecCurMergeState(wCheckPhySecId); - - if (SECTION_OCCUPY_NO != chPhySecCurOccState) - { - /*ռòͬһ*/ - chRetVal = CI_ERROR; - } - else - { - /*ռͬһ*/ - chRetVal = CI_SUCCESS; - } - } - } - else - { - /*ϷУ鲻ͨ*/ - chRetVal = CI_ERROR; - } - - return chRetVal; -} +} \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.h b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.h index 09a3552..636ec6a 100644 --- a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.h +++ b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicCheck.h @@ -1021,6 +1021,14 @@ CI_ERROR: */ UINT8 CheckRouteZongRenJieFeasibility(const UINT16 routeId); +/* +* ·˽ĿԡֻҪ·һοֱӽ̹Ϊ˽Сע·˽ⲻɵøú +* ˵ const UINT16 routeId, ·ID +* ֵ UINT8 +CI_SUCCESS:˽ִ +CI_ERROR:˽ⲻִ +*/ +UINT8 CheckDiaoCheRouteZRJFeasibility(const UINT16 routeId); /* ձ @@ -1489,7 +1497,6 @@ UINT8 AxisSecAllSwitchPosCheck(UINT16 const axisSecId,UINT16 *pDevId,UINT8 *pDev * ˵ UINT16 const routeId, · * ֵ CI_ERROR * CI_SUCCESS -* qw.liu ޸ ·ⷽһελü鲻ʹýӽΣΪֱӲ߼ */ UINT8 RouteOutfirstPhySecSwiPosCheck(UINT16 const routeId); /* @@ -2287,7 +2294,7 @@ UINT16 SearchNonMainRoute(UINT8 cRouteSum, UINT16 wRouteIdBuff[]); UINT8 SwitchRelLogSecLSXSStateCheck(UINT16 switchId, UINT16* pLogSecId, UINT8* pLogState); /* -* ·ղ +* źűֿʱ·ղ * ˵ UINT16 const routeId, · * ֵ CI_ERROR ʧ * CI_SUCCESS ɹ @@ -2607,15 +2614,13 @@ UINT8 CtTrainHeadSuspCheck(const UINT16 wTrainId, const UINT8 cLogSecSeqDir, con * βֽ·߼кгλü * const UINT8 cLogSecSum ߼ * const UINT16* pLogSecIdBuff ߼ -* const UINT16 wTrainId гID -* const UINT8 cFunctionId ID -* const UINT8 cSendLevel ͼ +* const UINT16 wTrainId * * ֵ CI_ERROR 0 ʧ * CI_SUCCESS 1 ɹ -* Edit By cgh 2025.10.17 +* Created By LQ 2024.09.05 */ -UINT8 LogSecSeqAndTrainPosCheckCLD(const UINT8 cLogSecSum, const UINT16* pLogSecIdBuff, const UINT16 wTrainId, const UINT8 cFunctionId, const UINT8 cSendLevel); +UINT8 LogSecSeqAndTrainPosCheckCLD(const UINT8 cLogSecSum, const UINT16* pLogSecIdBuff, const UINT16 wTrainId); /* * βֽ·߼·ƥ @@ -2706,83 +2711,13 @@ UINT8 OtherCiOvlpRelProSwMovValCheck(const UINT16 wOverlapId); UINT8 OverlapProSwUsingCheck(const UINT16 wOverlapId, UINT16* pDevId, UINT8* pDevState, UINT8* pAlarmType); /* -* ȡָ·ڿ־ -* ˵ const UINT16 routeId ·ID -* ֵ ·ڿ־ -* UINT16* switchIDIDUINT8* chSwitchState״̬ -* by cgh 20241202 -*/ -UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId, UINT16* switchID, UINT8* chSwitchState); - -/* -*ܣղ̵ -*˵const UINT16 wOverlapIdID -* UINT8 chSendLevel, 뷢ͼ -*ֵCI_ERROR ʧ -* CI_SUCCESS ɹ -* RELAY_STATE_WAITE ղ̵--ȴ -* by cgh 20250617 -*/ -UINT8 OverlapZhaoChaRelayCheck(const UINT16 wOverlapId, UINT8 chSendLevel); - -/* -* ·ȫռ -* ˵ UINT16 routeId, · +* ·еλȷ +* ˵ UINT16 const routeId, ·ţ * ֵ CI_ERROR -* CI_SUCCESS ״̬Ϊ -* by fan 20250724 +* CI_SUCCESS +* BY CGH 20250224 */ -UINT8 RouteAllSecProtectLockCheck(UINT16 const routeId); - -/* -* ߼ι߳ -* ˵ UINT16 logSectionId, ߼ID -* ֵ CI_ERROR ߳ -* CI_SUCCESS ͨ -* by fan 20250728 -*/ -UINT8 LogSecRelateNoSleepTrainCheck(UINT16 const logSectionId); - -/* -* Уָ·Ƿdzν·Ϊγ/ν· -* ˵UINT16 wRouteId ·ID -* ֵCI_ERROR · -* CI_SUCCESS dzν·Ϊγ/ν· -* Created By LQ 2025.08.05 -*/ -UINT8 RouteCldAttrCheck(UINT16 wRouteId); - -/* -* ռý -* ˵UINT16 overlapId ID -* UINT8 functionId ID -* ֵCI_ERROR 0 ʧ -* CI_SUCCESS 1 ɹ -* Created By LQ 2025.08.18 -*/ -UINT8 OverlapOccuUnlockCheck(UINT16 overlapId, UINT8 functionId); - -/* -* гռȫָμ -* const UINT16 wPhySecId ID -* const UINT16 wTrainId гID -* -* ֵ CI_ERROR 0 ȫ -* CI_SUCCESS 1 ȫ -* by cgh 20251017 -*/ -UINT8 TrainOccSameSecCheck(const UINT16 wPhySecId, const UINT16 wTrainId); - -/* -* ռǷͬһμ -* const UINT16 wBasePhySecId ׼ID -* const UINT16 wCheckPhySecId ID -* -* ֵ CI_ERROR 0 -* CI_SUCCESS 1 -* by cgh 20251017 -*/ -UINT8 OccBelSameSecCheck(const UINT16 wBasePhySecId, const UINT16 wCheckPhySecId); +UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId); #endif diff --git a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.c b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.c index 1e221ff..269c600 100644 --- a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.c +++ b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.c @@ -1127,7 +1127,6 @@ UINT8 LockLeadRouteLogicProcess(UINT16 const routeId) /*Ϸͼ*/ UINT8 sendLevel = 0u; - UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*·Ƿſ*/ if (AutoSignalOrRouteValid(routeId) == CI_SUCCESS) @@ -1161,9 +1160,19 @@ UINT8 LockLeadRouteLogicProcess(UINT16 const routeId) if (CI_SUCCESS == reResult) { - /* ·״̬Ϊѡš*/ + /* ·״̬Ϊ + ѡš + ·쳣 + Ԥա + ӽ + ӽ쳣 + */ devState = GetRouteState(routeId); - if (devState == ROUTE_STATE_LEAD_XUANPAI) + if ((devState == ROUTE_STATE_LEAD_XUANPAI) || + (devState == ROUTE_STATE_FIRST_LOCKERR) || + (devState == ROUTE_STATE_YUXIAN_LOCK) || + (devState == ROUTE_STATE_NEAR_LOCK) || + (devState == ROUTE_STATE_NEAR_LOCKERR)) { /* ͨ */ reResult = CI_SUCCESS; @@ -1250,18 +1259,7 @@ UINT8 LockLeadRouteLogicProcess(UINT16 const routeId) if (CI_SUCCESS == reResult) { /**/ - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - - if (FUNC_SWITCH_OFF == cFuncSwitch) - { - /*·ղ״̬*/ - } - else - { - /*·ռ״̬*/ - checkResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); - } - + checkResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); if (CI_SUCCESS == checkResult) { reResult = CI_SUCCESS; @@ -2405,21 +2403,6 @@ UINT8 LockRouteOverlapLogicProcess(UINT16 const routeId, UINT16 const overlapId, } } - /*ղ*/ - if (CI_SUCCESS == reResult) - { - checkResult = OverlapZhaoChaRelayCheck(overlapId, sendLevel); - - if (CI_ERROR == checkResult) - { - reResult = CI_ERROR; - } - else - { - ; /*֮ǰʱȲ鱾Ƿ*/ - } - } - /* μηΡδá*/ if (CI_SUCCESS == reResult) { @@ -3081,7 +3064,7 @@ UINT8 OpenBlocLTrainRouteLogicProcess(UINT16 const routeId) else { /* ʧܷ */ - reResult = checkResult; + reResult = CI_ERROR; } } @@ -3680,7 +3663,7 @@ UINT8 OpenCbtcLTrainRouteLogicProcess(UINT16 const routeId) else { /* ʧܷ */ - reResult = checkResult; + reResult = CI_ERROR; } } @@ -4257,7 +4240,7 @@ UINT8 OpenBlocReturnRouteLogicProcess(UINT16 const routeId) else { /* ʧܷ */ - reResult = checkResult; + reResult = CI_ERROR; } } @@ -4813,7 +4796,7 @@ UINT8 OpenCbtcReturnRouteLogicProcess(UINT16 const routeId) else { /* ʧܷ */ - reResult = checkResult; + reResult = CI_ERROR; } } @@ -5255,7 +5238,6 @@ UINT8 OpenLeadRouteLogicProcess(UINT16 const routeId) /* ȡ־ */ UINT8 const zxqFlag = GetRouteZongQuXiaoFlag(routeId); UINT8 const zrjFlag = GetRouteZongRenJieFlag(routeId); - UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*·Ƿſ*/ /* ȡ۳Ƿرźű־ */ @@ -5291,13 +5273,9 @@ UINT8 OpenLeadRouteLogicProcess(UINT16 const routeId) if (CI_SUCCESS == reResult) { - /* ·״̬Ϊա򡾽·쳣Ԥա򡾽ӽ򡾽ӽ쳣*/ + /* ·״̬Ϊա*/ devState = GetRouteState(routeId); - if ((ROUTE_STATE_LEAD_LOCK == devState) || - (ROUTE_STATE_FIRST_LOCKERR == devState) || - (ROUTE_STATE_YUXIAN_LOCK == devState) || - (ROUTE_STATE_NEAR_LOCK == devState) || - (ROUTE_STATE_NEAR_LOCKERR == devState)) + if (devState == ROUTE_STATE_LEAD_LOCK) { /* ͨ */ reResult = CI_SUCCESS; @@ -5433,18 +5411,7 @@ UINT8 OpenLeadRouteLogicProcess(UINT16 const routeId) if (CI_SUCCESS == reResult) { /**/ - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - - if (FUNC_SWITCH_OFF == cFuncSwitch) - { - /*·Ų״̬*/ - } - else - { - /*·ż״̬*/ - checkResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); - } - + checkResult = BlocRouteFloodGateCheck(routeId,functionId,sendLevel); if (CI_SUCCESS == checkResult) { reResult = CI_SUCCESS; @@ -5522,7 +5489,9 @@ UINT8 KeepLeadRouteLogicProcess(UINT16 const routeId) /* ȡ־ */ UINT8 const zxqFlag = GetRouteZongQuXiaoFlag(routeId); UINT8 const zrjFlag = GetRouteZongRenJieFlag(routeId); - UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*·Ƿſ*/ + /* ӷ */ + + /*źſʱ״̬*/ UINT8 const leadSinalOpenState = SystemOverTimeCheck(GetRouteLeadFaultOpenStartCyc(routeId), @@ -5756,18 +5725,7 @@ UINT8 KeepLeadRouteLogicProcess(UINT16 const routeId) if (CI_SUCCESS == reResult) { /**/ - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - - if (FUNC_SWITCH_OFF == cFuncSwitch) - { - /*·ֿŲ״̬*/ - } - else - { - /*·ֿż״̬*/ - checkResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); - } - + checkResult = BlocRouteFloodGateCheck(routeId,functionId,sendLevel); if (CI_SUCCESS == checkResult) { reResult = CI_SUCCESS; @@ -5864,6 +5822,7 @@ UINT8 RouteFirstSecAutoUnlockProcess(UINT16 const routeId, UINT16* phySectionId) UINT16 belongRouteID = 0U; /*Ϸͼ*/ UINT8 sendLevel = ESEND_LEVEL_ZERO; /*ATS*/ + UINT8 chRouteLevel = 0U; /*һڵǰ·ġա*/ nlockSectionId = GetRouteFirstNormalLockSection(routeId); @@ -5885,6 +5844,7 @@ UINT8 RouteFirstSecAutoUnlockProcess(UINT16 const routeId, UINT16* phySectionId) returnRouteLockTime = GetRouteLockStartCycNum(routeId); /*۳·ʱ*/ backRouteLockTime = GetRouteLockStartCycNum(belongRouteID); + chRouteLevel = GetRouteLevel(routeId); if(CI_SUCCESS == reResult) { @@ -5956,8 +5916,18 @@ UINT8 RouteFirstSecAutoUnlockProcess(UINT16 const routeId, UINT16* phySectionId) /*·ڷһռñʱẈ̂ȡղ̵()״̬*/ if(CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -6040,8 +6010,18 @@ UINT8 RouteFirstSecAutoUnlockProcess(UINT16 const routeId, UINT16* phySectionId) /*·ڷһռñʱẈ̂ȡղ̵()״̬*/ if(CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -6453,10 +6433,9 @@ UINT8 PhySectionDelayUnlockProcess(UINT16 const routeId, UINT16* phySectionId) /* * ·overlap߼ * ˵ const UINT16 routeId · -* ֵ CI_ERROR 0x00 ʧ -* CI_SUCCESS 0x01 ɹ -* CI_UNLOCK_OVERLAP_REQURE 0x02 ZC/ -* CI_OVERLAP_OCC_UNLOCK 0x06 ִռ +* ֵ CI_ERROR +* CI_SUCCESS +* CI_UNLOCK_OVERLAP_REQURE ZC * ϱ룺 EFUNC_UNLOCK_OVER_LAP */ UINT8 UnlockRouteOverlapLogicProcess(UINT16 const routeId, UINT16* overlapId,UINT16* pTrainId) @@ -6494,8 +6473,8 @@ UINT8 UnlockRouteOverlapLogicProcess(UINT16 const routeId, UINT16* overlapId,UIN UINT8 sendLevel = ESEND_LEVEL_ZERO; /*ATS*/ UINT8 cIvocUnlockOverlapFlag = 0U; /*гͬα־*/ UINT8 cRcWorkMode = 0U; + UINT8 phySecSum = 0U; UINT8 chABLFlag = 0U; /*ABLռñ־*/ - UINT8 chProtectCheck = 0U; localCiId = GetSystemParaLocalCiId(); @@ -6531,21 +6510,12 @@ UINT8 UnlockRouteOverlapLogicProcess(UINT16 const routeId, UINT16* overlapId,UIN } else { - /*ռ*/ - checkResult = OverlapOccuUnlockCheck(overlapLockedId, functionId); - if (CI_SUCCESS == checkResult) - { - reResult = CI_OVERLAP_OCC_UNLOCK; - *overlapId = overlapLockedId; - } - else - { - /* ¼ */ - SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, devState, sendLevel); - /* ʧܷ */ - reResult = CI_ERROR; - *overlapId = overlapLockedId; - } + /* ¼ */ + SetErrorData(functionId,CI_DEVICE_TYPE_PHYSEC,devId,ETYPE_PS_MERGY_OCU_STATE,devState,sendLevel); + /* ʧܷ */ + reResult = CI_ERROR; + *overlapId = overlapLockedId; + } } @@ -6573,10 +6543,7 @@ UINT8 UnlockRouteOverlapLogicProcess(UINT16 const routeId, UINT16* overlapId,UIN if (CI_SUCCESS == reResult) { - /*·һΡδա - շ෴ - ռãӳٽͣȽ - δռãҽ·ξա*/ + /*·״̬Сҽ·һΡδա*/ devId = GetRouteLastPhySectionId(routeId); devState = GetPhySecLockState(devId); @@ -6783,10 +6750,9 @@ UINT8 UnlockRouteOverlapLogicProcess(UINT16 const routeId, UINT16* overlapId,UIN } else { - /*·״̬Ϊգɽ*/ - chProtectCheck = RouteAllSecProtectLockCheck(routeId); - - if (CI_SUCCESS == chProtectCheck) + phySecSum = GetRoutePhysicalSectionSum(routeId); + /*·ֻһΣҸαǰһ· Խ*/ + if ((PHYSICAL_SECTION_LOCK_PROTECT == devState)&&(1U== phySecSum)) { reResult = CI_SUCCESS; *overlapId = overlapLockedId; @@ -6871,6 +6837,7 @@ UINT8 RouteCancelLogicProcess(UINT16 const routeId) UINT8 relayState = 0u; /*̵ɼ״̬*/ /*Ϸͼ*/ UINT8 sendLevel = ESEND_LEVEL_ATS; /*ATS*/ + UINT8 chRouteLevel = 0U; UINT8 cRouteType = 0U; /*·*/ /**/ @@ -6943,8 +6910,19 @@ UINT8 RouteCancelLogicProcess(UINT16 const routeId) if(CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -9307,7 +9285,6 @@ UINT8 OpenBlocRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) UINT8 routeState = 0u; UINT8 chDsnFuncSwitch = 0U; /* ֱռùܿ */ UINT8 chXianSuFuncSwitch = 0U; /*ģʽźſǷʱٿ*/ - UINT8 cCrossState = 0U; /*źŻѹ״̬*/ chDsnFuncSwitch = GetCiFunctionSwitchConfig(FUNC_TOA_SWITCH); chXianSuFuncSwitch = GetCiFunctionSwitchConfig(FUNC_XIANSU_SWITCH); @@ -9346,8 +9323,7 @@ UINT8 OpenBlocRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) } else { - cCrossState = GetSignalCrossState(startSignalId); - if ((SIGNAL_CROSS_STATE_NO == cCrossState) && (CI_SUCCESS == checkResult)) + if ((SIGNAL_CROSS_STATE_NO == GetSignalCrossState(startSignalId)) && (CI_SUCCESS == checkResult)) { /* ͨ */ reResult = CI_SUCCESS; @@ -9357,17 +9333,7 @@ UINT8 OpenBlocRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel) if (FUNC_SWITCH_ON != chDsnFuncSwitch) { /* ¼ */ - if (CI_SUCCESS == checkResult) - { - /*ѹδռã¼ѹ*/ - SetErrorData(functionId, CI_DEVICE_TYPE_SIGNAL, startSignalId, ETYPE_SIG_CROSS, cCrossState, sendLevel); - } - else - { - /*ռã¼ռñ*/ - SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, cPhySecCurMergeState, sendLevel); - } - + SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, cPhySecCurMergeState, sendLevel); /* ʧܷ */ reResult = CI_ERROR; } @@ -10591,6 +10557,7 @@ UINT8 RouteLogSecAutoUnlockProcess(UINT16 const routeId, UINT16* logSectionId) UINT8 leavePhyCurOccState = 0u; UINT8 reResult = CI_ERROR; /*ֵ*/ UINT8 sendLevel = ESEND_LEVEL_ZERO; /*ATS*/ + UINT8 chRouteLevel = 0U; /*һڵǰ·߼*/ nlockLogId = GetRouteFirstNormalLockLogId(routeId); @@ -10624,8 +10591,19 @@ UINT8 RouteLogSecAutoUnlockProcess(UINT16 const routeId, UINT16* logSectionId) /*·ڷһռñʱẈ̂ȡղ̵()״̬*/ if(CI_SUCCESS == reResult) { - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -10918,8 +10896,10 @@ void RouteLgcSecResUnlockProcess(const UINT16 wRouteId) UINT8 chRelayState = 0U; UINT16 routeLogNum = 0u; UINT16 wTrainId = 0U; + UINT8 chLogicTrainRetrunStt = 0U; UINT16* routeLogIdBuf = NULL; UINT8 cRouteState = 0U; + UINT8 chRouteLevel = 0U; UINT8 chTrainLevel = 0U; UINT8 chThreePointCheck = CI_ERROR; UINT8 chLocalCi = 0U; @@ -10934,8 +10914,19 @@ void RouteLgcSecResUnlockProcess(const UINT16 wRouteId) if ((0u < routeLogNum) && (MAX_ROUTE_IN_LT_NUM > routeLogNum)) { - wRelayZhaoCId = GetRouteCancleZhaoChaRelayId(wRouteId); /*ȡղ̵ID*/ - + chRouteLevel = GetRouteLevel(wRouteId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + wRelayZhaoCId = GetRouteCancleZhaoChaRelayId(wRouteId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + wRelayZhaoCId = GetRouteCbtcCancelZhaochaRelay(wRouteId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if ((0u != wRelayZhaoCId) && (0xFFFFU != wRelayZhaoCId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -11009,6 +11000,7 @@ void RouteLgcSecResUnlockProcess(const UINT16 wRouteId) chLgcResTrainSum = GetLogSecTrainInfoSum(wUnlockLgcSecId); wTrainId = GetLogSecTrainIdByIndex(wUnlockLgcSecId, 0); + chLogicTrainRetrunStt = GetLogSecTrainReturnState(wUnlockLgcSecId, wTrainId); } else { @@ -11024,6 +11016,21 @@ void RouteLgcSecResUnlockProcess(const UINT16 wRouteId) else { } +#if 0 + if (CI_SUCCESS == chKeepWork) + { + if (LOGIC_SECTION_TRAIN_RETURN_NO != chLogicTrainRetrunStt) + { + chKeepWork = CI_ERROR; + } + else + { + } + } + else + { + } +#endif if (CI_SUCCESS == chKeepWork) { chLocalCi = GetSystemParaLocalCiId(); @@ -12433,6 +12440,7 @@ void OtherCiOlpProSwUseCancelPro(const UINT16 wSwitchId, const UINT16 wOverlapId UINT16 wOverlapIndex = 0U; UINT8 cLocalCiId = 0U; /*ID*/ UINT8 cOverlapBelongCiId = 0U; /*ID*/ + UINT8 ii = 0U; UINT8 cSwitchBelongCiId = 0U; /*ID*/ UINT16 wUsingBelongOverlapId = 0U; /*ID*/ UINT8 cSwitchUsingState = 0U; /*״̬*/ diff --git a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.h b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.h index 51cd2ed..13d5dda 100644 --- a/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.h +++ b/TSCP/src/APP/ciapp/LogicProcess/InterlockLogicProcess.h @@ -325,11 +325,10 @@ UINT8 PhySectionDelayUnlockProcess(const UINT16 routeId, UINT16* phySectionId); /* C25_·overlap߼ */ /* * ·overlap߼ -* ˵ const UINT16 routeId · -* ֵ CI_ERROR 0x00 ʧ -* CI_SUCCESS 0x01 ɹ -* CI_UNLOCK_OVERLAP_REQURE 0x02 ZC/ -* CI_OVERLAP_OCC_UNLOCK 0x06 ִռ +* ˵ const UINT16 routeId +* ֵ CI_ERROR +* CI_SUCCESS +* CI_UNLOCK_OVERLAP_REQURE ZC * ϱ룺 EFUNC_UNLOCK_OVER_LAP */ UINT8 UnlockRouteOverlapLogicProcess(const UINT16 routeId, UINT16* overlapId, UINT16* pTrainId); diff --git a/TSCP/src/APP/ciapp/LogicProcess/TradInterlockLogicProcess.c b/TSCP/src/APP/ciapp/LogicProcess/TradInterlockLogicProcess.c index c906723..da8bfff 100644 --- a/TSCP/src/APP/ciapp/LogicProcess/TradInterlockLogicProcess.c +++ b/TSCP/src/APP/ciapp/LogicProcess/TradInterlockLogicProcess.c @@ -181,7 +181,6 @@ UINT8 SetLeadRouteP(const UINT16 routeId) UINT16 devId = 0u; /*豸ID*/ UINT8 devState = 0u; /*豸״̬*/ UINT8 reResult = CI_SUCCESS; /*ֵ*/ - UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*·Ƿſ*/ /* */ devId = routeId; @@ -227,17 +226,8 @@ UINT8 SetLeadRouteP(const UINT16 routeId) if (CI_SUCCESS == reResult) { /**/ - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - - if (FUNC_SWITCH_OFF == cFuncSwitch) - { - /*·״̬*/ - } - else - { - /*·״̬*/ - reResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); - } + reResult = BlocRouteFloodGateCheck(routeId,functionId,sendLevel); + } return reResult; @@ -2005,7 +1995,9 @@ UINT8 CancelDTrainRouteP(const UINT16 routeId) UINT8 devState = 0u; /*豸״̬*/ UINT16 cancleZhaoChaRelayId = 0u; /*ȡղ̵ID*/ UINT8 relayState = 0u; /*̵ɼ״̬*/ - + UINT8 chRouteLevel = 0U; + + /* */ /*·*/ checkResult = RouteAllSecLockStateCheck(routeId,PHYSICAL_SECTION_LOCK_NORMAL,&devId,&devState); @@ -2042,8 +2034,19 @@ UINT8 CancelDTrainRouteP(const UINT16 routeId) } if (CI_SUCCESS == reResult) {/*ȡղ̵״̬Ƿ*/ - cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ȡղ̵ID*/ - + chRouteLevel = GetRouteLevel(routeId); + if (ROUTE_LEVEL_BLOC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*ģʽȡղ̵ID*/ + } + else if (ROUTE_LEVEL_CBTC == chRouteLevel) + { + cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTCģʽȡղ̵ID*/ + } + else + { + ; /*Ƿලģʽ̵IDΪ0治ᴦ*/ + } if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId)) { /*ȡ̵Чȡ̵ɼ״̬Ϊ*/ @@ -2525,7 +2528,7 @@ UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve } else { - /*ǽ·ȴ״̬,ȲǷȫλãȴ*/ + reResultP = CI_ERROR; } if (CI_ERROR == reResultP) @@ -4112,7 +4115,6 @@ UINT8 SetLeadRouteCheck(const UINT16 routeId) UINT16 devId = 0u; /*豸ID*/ UINT8 devState = 0u; /*豸״̬*/ UINT8 reResult = CI_ERROR; /*ֵ*/ - UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*·Ƿſ*/ /* */ devId = routeId; @@ -4212,18 +4214,7 @@ UINT8 SetLeadRouteCheck(const UINT16 routeId) /**/ if (CI_SUCCESS == reResult) { - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK); - - if (FUNC_SWITCH_OFF == cFuncSwitch) - { - /*·ղ״̬*/ - } - else - { - /*·ռ״̬*/ - reResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); - } - + reResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel); if (CI_ERROR == reResult) { /* ʧܷ */ diff --git a/TSCP/src/APP/ciapp/Mask/MaskDefine.h b/TSCP/src/APP/ciapp/Mask/MaskDefine.h index dda38d5..71ebeb1 100644 --- a/TSCP/src/APP/ciapp/Mask/MaskDefine.h +++ b/TSCP/src/APP/ciapp/Mask/MaskDefine.h @@ -49,7 +49,6 @@ #define MASK_TYPE_SWITCH_BYPASS ((UINT8)0x0D) /*·λ*/ #define MASK_TYPE_SWITCH_OPEN_CAP ((UINT8)0x0E) /*ڰ忨״̬*/ #define MASK_TYPE_SWITCH_SUDDEN_JICHA ((UINT8)0x0F) /*̬λ*/ -#define MASK_TYPE_SWITCH_JICHA ((UINT8)0x10) /*λ28.0.0.14ݽṹʹ*/ /*_λ*/ /* zt ɾش 2022-02-15 */ @@ -63,12 +62,11 @@ #define MASK_TYPE_SIGNAL_REDCLOSE ((UINT8)0x15) /*źŻλ*/ #define MASK_TYPE_SIGNAL_GREENCLOSE ((UINT8)0x16) /*źŻλ*/ #define MASK_TYPE_SIGNAL_YELLOWCLOSE ((UINT8)0x17) /*źŻλ*/ -#define MASK_TYPE_SIGNAL_REDBREAK ((UINT8)0x18) /*źŻλ--ʹ*/ +#define MASK_TYPE_SIGNAL_REDBREAK ((UINT8)0x18) /*źŻλ*/ #define MASK_TYPE_SIGNAL_GREENBREAK ((UINT8)0x19) /*źŻ̶λ*/ #define MASK_TYPE_SIGNAL_YELLOWBREAK ((UINT8)0x1a) /*źŻƶλ*/ #define MASK_TYPE_SIGNAL_WHITEBREAK ((UINT8)0x1b) /*źŻ׶λ*/ -#define MASK_TYPE_SIGNAL_BLUEBREAK ((UINT8)0x25) /*źŻλ*/ -#define MASK_TYPE_SIGNAL_BREAK ((UINT8)0x1c) /*źŻ˿λ ȫ=ƶ˿*/ +#define MASK_TYPE_SIGNAL_BREAK ((UINT8)0x1c) /*źŻ˿λ*/ #define MASK_TYPE_SIGNAL_FENGSUO ((UINT8)0x1d) /*źŻλ*/ #define MASK_TYPE_SIGNAL_OPENSTATE ((UINT8)0x1e) /*źŻ״̬λ*/ @@ -92,9 +90,6 @@ #define MASK_TYPE_SIGNAL_DET_ERR ((UINT8)0x5c) /*źŻ۳ť״̬λ*/ #define MASK_TYPE_SIGNAL_AUTO_DERAIN ((UINT8)0x5e) /*źŻԶ۳λ*/ -#define MASK_TYPE_SIGNAL_DET_CUT_VALID ((UINT8)0xA6) /*źŻ۳·ťЧ״̬λ*/ -#define MASK_TYPE_SIGNAL_DET_CUT_ERR ((UINT8)0xA7) /*źŻ۳·ť״̬λ*/ - #define MASK_ZC_CI_SIG_ENGINEERV_NEAR ((UINT8)0x97) /*źŻ̳ӽλ*/ #define MASK_CI_ZC_SIG_ENGINCROSS_STE ((UINT8)0x98) /*źŻ̳صλ*/ @@ -117,12 +112,7 @@ #define MASK_TYPE_PHYSECTION_HEAD_XTD ((UINT8)0x31) /*з״̬λ*/ #define MASK_TYPE_PHYSECTION_HEAD_STD ((UINT8)0x32) /*з״̬λ*/ #define MASK_TYPE_LIECHE_STOPSTATE ((UINT8)0x3a) /*гͣϢ״̬λ*/ -#define MASK_TYPE_PHYSEC_CENTERDETAIN_UP ((UINT8)0x3d) /*CI-ATSп۳״̬״̬λ (28.0.0.14ʹ)*/ -#define MASK_TYPE_PHYSEC_CENTERDETAIN_DOWN ((UINT8)0x3e) /*CI-ATSп۳״̬״̬λ (28.0.0.14ʹ)*/ -#define MASK_TYPE_PHYSEC_STATIONDETAIN_UP ((UINT8)0x3f) /*CI-ATSվп۳״̬״̬λ (28.0.0.14ʹ)*/ -#define MASK_TYPE_PHYSEC_STATIONDETAIN_DOWN ((UINT8)0x40) /*CI-ATSվп۳״̬״̬λ (28.0.0.14ʹ)*/ -#define MASK_TYPE_AXISSECTION_DETAIN_UP ((UINT8)0x41) /*CI-ZCп۳״̬״̬λ (28.0.0.14ʹ)*/ -#define MASK_TYPE_AXISSECTION_DETAIN_DOWN ((UINT8)0x42) /*CI-ZCп۳״̬״̬λ (28.0.0.14ʹ)*/ + /*߼λ*/ #define MASK_TYPE_LOGICSECTION_UTOCCUPY ((UINT8)0x33) /*߼ηͨųռλ*/ @@ -166,7 +156,6 @@ #define MASK_TYPE_ROUTE_DC_QINGQIU ((UINT8)0x51) /*·״̬λ(CI-ATS)*/ #define MASK_TYPE_ROUTE_DC_AGREE ((UINT8)0x52) /*·ͬ״̬λ(CI-ATS)*/ #define MASK_TYPE_ROUTE_AUTO_TRIGGER ((UINT8)0x53) /*·Զλ(CI-ATS)*/ -#define MASK_TYPE_ROUTE_DC_AGREE_ERR ((UINT8)0x54) /*·ͬⰴť״̬λ(CI-ATS)*/ /*վ̨λ*/ @@ -180,8 +169,6 @@ #define MASK_TYPE_ESP_FLASH_STATE ((UINT8)0x9b) /*ESSƵ״̬λ*/ #define MASK_TYPE_CANCEL_ESP_FAULT ((UINT8)0x9c) /*ȡرհťλ*/ #define MASK_TYPE_ESP_FAULT ((UINT8)0x9d) /*رհťλ*/ -#define MASK_TYPE_CUT_ESP_FAULT ((UINT8)0xA3) /*ر·ťλ*/ -#define MASK_TYPE_ESP_PRESS_STATE ((UINT8)0xA4) /*رհť״̬λ*/ /*վ̨ȫλ*/ #define MASK_TYPE_PSD_STATE ((UINT8)0x60) /*վ̨ȫ״̬λ-ZC,LEU*/ @@ -199,7 +186,6 @@ #define MASK_TYPE_PSD_PDB_FLASH_STATE ((UINT8)0xA0) /*ȷPDBťָʾ״̬λ*/ #define MASK_TYPE_PSD_VIDEO_QK_LU ((UINT8)0xA1) /*ͰťƵͱʾƣ)״̬λ*/ #define MASK_TYPE_PSD_VIDEO_QK_HONG ((UINT8)0xA2) /*ͰťƵͱʾƣ)״̬λ*/ -#define MASK_TYPE_PSD_EXCEPT_OPEN ((UINT8)0xA5) /*վ̨ȫ쳣λ*/ /*λ*/ #define MASK_TYPE_GARAGEDOOR_OPEN_STATE ((UINT8)0x62) /*峵ſ״̬λCI->ATS*/ diff --git a/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.c b/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.c index c9e74a3..4a5e981 100644 --- a/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.c @@ -872,54 +872,4 @@ UINT8 GetOverlapProSwitchPos(const UINT16 wOverlapId, const UINT16 wProSwitchId) } return cRetVal; -} - -/* -* ȡָIDαղ̵ID -* ˵ const UINT16 overlapId, ID -* ֵ ղ̵ID -* by cgh 20250617 -*/ -UINT16 GetOverlapThisZhaoChaRelayId(const UINT16 overlapId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT16 reVal = CI_ERROR; - - bufIndex = GetOverlapConfigBufIndex(overlapId); /*ȡ±*/ - - if (bufIndex < OVERLAP_SUM_MAX) - { - reVal = OverlapConfigDataStru[bufIndex].wOverlapThisZhaoChaRelayId; - } - else - { - ; - } - - return reVal; -} - -/* -* ȡָIDζԶղ̵ID -* ˵ const UINT16 overlapId, ID -* ֵ Զղ̵ID -* by cgh 20250617 -*/ -UINT16 GetOverlapThatZhaoChaRelayId(const UINT16 overlapId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT16 reVal = CI_ERROR; - - bufIndex = GetOverlapConfigBufIndex(overlapId); /*ȡ±*/ - - if (bufIndex < OVERLAP_SUM_MAX) - { - reVal = OverlapConfigDataStru[bufIndex].wOverlapThatZhaoChaRelayId; - } - else - { - ; - } - - return reVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.h b/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.h index 5586361..ff1eace 100644 --- a/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Overlap/OverlapConfigDataManage.h @@ -72,8 +72,7 @@ typedef struct S_OverlapConfigDataStruct UINT16 OverlapRouteSum; /*ν·*/ UINT16 OverlapRouteIdBuf[OVERLAP_ROUTE_SUM_MAX]; /*ν·*/ UINT16 AxisSecFarId; /*Զ˼ID*/ - UINT16 wOverlapThisZhaoChaRelayId; /*αղ̵ID*/ - UINT16 wOverlapThatZhaoChaRelayId; /*ζԶղ̵ID*/ + } OverlapConfigDataStruct; extern OverlapConfigDataStruct OverlapConfigDataStru[OVERLAP_SUM_MAX]; /*OVERLAPýṹ,cgh-ϲCID-2539-1˴гʼͳһŵInitAllStaticDataStrнгʼΪں˹*/ @@ -374,22 +373,6 @@ UINT8 CheckOtherCiOlpHaveLocalCiPSw(const UINT16 wOverlapId); */ UINT8 GetOverlapProSwitchPos(const UINT16 wOverlapId, const UINT16 wProSwitchId); -/* -* ȡָIDαղ̵ID -* ˵ const UINT16 overlapId, ID -* ֵ ղ̵ID -* by cgh 20250617 -*/ -UINT16 GetOverlapThisZhaoChaRelayId(const UINT16 overlapId); - -/* -* ȡָIDζԶղ̵ID -* ˵ const UINT16 overlapId, ID -* ֵ Զղ̵ID -* by cgh 20250617 -*/ -UINT16 GetOverlapThatZhaoChaRelayId(const UINT16 overlapId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Overlap/OverlapDataManage.c b/TSCP/src/APP/ciapp/Overlap/OverlapDataManage.c index abe6a90..f636446 100644 --- a/TSCP/src/APP/ciapp/Overlap/OverlapDataManage.c +++ b/TSCP/src/APP/ciapp/Overlap/OverlapDataManage.c @@ -51,7 +51,7 @@ UINT16 GetOverlapBelongRouteId(const UINT16 overlapId) /* -* ָID· +* ָIDʼں * ˵ const UINT16 overlapId, ID * const UINT16 belongRouteId, · * ֵ diff --git a/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.c b/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.c index a66976d..06913d6 100644 --- a/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.c +++ b/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.c @@ -1040,29 +1040,5 @@ UINT8 CheckPsdBelSendRange(const UINT16 wCheckPsdId) ; /**/ } - return retVal; -} - -/* -* ȡָIDſ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 ͣ0x55 OC-P 0xAA RCIƣ -*/ -UINT8 GetPsdControlType(const UINT16 doorId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 retVal = PSD_CONTROL_TYPE_RCI; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if (bufIndex < PSD_SUM_MAX) - { - retVal = PsdConfigDataStru[bufIndex].chPsdControlType; - } - else - { - retVal = PSD_CONTROL_TYPE_RCI; - } - return retVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.h b/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.h index 2cadc96..aca7c84 100644 --- a/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.h +++ b/TSCP/src/APP/ciapp/PSD/PSDConfigDataManage.h @@ -64,10 +64,6 @@ typedef struct S_PsdConfigDataStruct UINT16 wPcbIndicatorRelayId; /*ٹŰťָʾƼ̵*/ UINT16 wVideoQkLight1RelayId; /*ͰťƵָʾ1̵̣*/ UINT16 wVideoQkLight2RelayId; /*ͰťƵָʾ2죩̵*/ - UINT16 wPsdFstProLinkId; /*ŷlink1ID*/ - UINT16 wPsdSndProLinkId; /*ŷlink2ID*/ - UINT16 wPsdTrdProLinkId; /*ŷlink3ID*/ - UINT8 chPsdControlType; /*ſ*/ } PsdConfigDataStruct; @@ -415,13 +411,6 @@ UINT16 GetPsdVideoQkLight2RelayId(const UINT16 wDoorId); */ UINT8 CheckPsdBelSendRange(const UINT16 wCheckPsdId); -/* -* ȡָIDſ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 ͣ0x55 OC-P 0xAA RCIƣ -*/ -UINT8 GetPsdControlType(const UINT16 doorId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/PSD/PSDDataManage.c b/TSCP/src/APP/ciapp/PSD/PSDDataManage.c index 8fa6cb6..b15470a 100644 --- a/TSCP/src/APP/ciapp/PSD/PSDDataManage.c +++ b/TSCP/src/APP/ciapp/PSD/PSDDataManage.c @@ -1443,14 +1443,14 @@ UINT8 SetPsdCmdCyclePsc(const UINT16 doorId, const UINT32 doorCycle) } /* -* ָID·־ +* ָIDȷPSC־ * ˵ const UINT16 doorId, ID * const UINT8 setFlag, ·״̬ * ֵ * */ -void SetPsdConfirmFlag(const UINT16 doorId,const UINT8 setFlag) +void SetPsdPscConfirmFlag(const UINT16 doorId,const UINT8 setFlag) { /*ʼ*/ UINT16 bufIndex = 0u; @@ -1467,13 +1467,13 @@ void SetPsdConfirmFlag(const UINT16 doorId,const UINT8 setFlag) } /* -* ȡָID·־ +* ȡָIDȷPSC·־ * ˵ const UINT16 doorId, ID * * ֵ 0: ȡʧ * >0: ȡɹ */ -UINT8 GetPsdPlFlag(const UINT16 doorId) +UINT8 GetPsdPscPlFlag(const UINT16 doorId) { /*ʼ*/ UINT16 bufIndex = 0u; /*±*/ @@ -1532,7 +1532,7 @@ void SetNearCiPscPlFlag(const UINT16 psdId,const UINT16 pscId,const UINT8 setFla if(psdCiId == localCiId) { /*PSCӦPSD·*/ - SetPsdConfirmFlag(psdId, setFlag); + SetPsdPscConfirmFlag(psdId, setFlag); } } else @@ -1544,12 +1544,12 @@ void SetNearCiPscPlFlag(const UINT16 psdId,const UINT16 pscId,const UINT8 setFla else { /*ȡPSD·־*/ - pscPlFlag = GetPsdPlFlag(psdId); + pscPlFlag = GetPsdPscPlFlag(psdId); if(psdCiId == localCiId) { if(CI_PSC_PL_CONFIRM_YES == pscPlFlag) { - SetPsdConfirmFlag(psdId, CI_PSC_PL_CONFIRM_NO); + SetPsdPscConfirmFlag(psdId, CI_PSC_PL_CONFIRM_NO); } else { @@ -2509,350 +2509,4 @@ UINT16 GePsdVideoQkRelateVobcId(const UINT16 wPsdId) retVal = CI_ERROR; } return retVal; -} - -/* -* ָID쳣״̬ -* ˵const UINT16 wPsdId ID -* const UINT8 cExceptOpenState 쳣״̬ -* ֵ -* Created By LQ 2025.05.22 -*/ -void SetPsdExceptOpenState(const UINT16 wPsdId, const UINT8 cExceptOpenState) -{ - UINT16 bufIndex = 0U; - - bufIndex = GetPsdConfigBufIndex(wPsdId); /*ȡ±*/ - - if ((PSD_SUM_MAX > bufIndex) && ((PSD_EXCEPT_OPEN_YES == cExceptOpenState) || (PSD_EXCEPT_OPEN_NO == cExceptOpenState))) - { - PsdDataStru[bufIndex].cPsdExceptOpenState = cExceptOpenState; /*쳣״̬*/ - } - else - { - ; /**/ - } -} - -/* -* ȡָID쳣״̬ -* ˵const UINT16 wPsdId ID -* ֵ0x55 쳣 -* 0xAA δ쳣 -* Created By LQ 2025.05.22 -*/ -UINT8 GePsdExceptOpenState(const UINT16 wPsdId) -{ - UINT16 bufIndex = 0U; - UINT8 cRetVal = PSD_EXCEPT_OPEN_YES; - - bufIndex = GetPsdConfigBufIndex(wPsdId); /*ȡ±*/ - - if (PSD_SUM_MAX > bufIndex) - { - cRetVal = PsdDataStru[bufIndex].cPsdExceptOpenState; - } - else - { - /*쳣*/ - } - - return cRetVal; -} - -/* -* ָIDŹϸϢ -* ˵ const UINT16 doorId, ID -* const UINT32 faultQStateOne, ϸϢֽ -* * const UINT32 faultQStateTwo, ϸϢֽ -* ֵ -*/ -void SetPsdFaultQState(const UINT16 doorId, const UINT32 faultQStateOne, const UINT32 faultQStateTwo) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - PsdDataStru[bufIndex].psdFaultQStataOne = faultQStateOne; - PsdDataStru[bufIndex].psdFaultQStataTwo = faultQStateTwo; - } - else - { - /**/ - } -} - -/* -* ȡָIDŹϸϢ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: ŹϸϢ -*/ -UINT32 GetPsdFaultQState(const UINT16 doorId, UINT8 psdFlag) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 retVal = UINT32_MAX; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if ((PSD_SUM_MAX > bufIndex) && (HIGH_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdFaultQStataOne;/*ֽ*/ - } - else if ((PSD_SUM_MAX > bufIndex) && (LOW_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdFaultQStataTwo;/*ֽ*/ - } - else - { - retVal = UINT32_MAX; - } - return retVal; -} - -/* -* ָIDűϢ -* ˵ const UINT16 doorId, ID -* const UINT32 doorsIStateOne, Ϣֽ -* * const UINT32 doorsIStateTwo, Ϣֽ -* ֵ -*/ -void SetPsdDoorIState(const UINT16 doorId, const UINT32 doorsIStateOne, const UINT32 doorsIStateTwo) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - PsdDataStru[bufIndex].psdDoorIStateOne = doorsIStateOne; - PsdDataStru[bufIndex].psdDoorIStateTwo = doorsIStateTwo; - } - else - { - /**/ - } - -} - -/* -* ȡָIDűϢ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: űϢ -*/ -UINT32 GetPsdDoorIState(const UINT16 doorId, UINT8 psdFlag) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 retVal = UINT32_MAX; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if ((PSD_SUM_MAX > bufIndex) && (HIGH_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdDoorIStateOne;/*ֽ*/ - } - else if ((PSD_SUM_MAX > bufIndex) && (LOW_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdDoorIStateTwo;/*ֽ*/ - } - else - { - retVal = UINT32_MAX; - } - return retVal; -} - -/* -* ָIDţſ״̬ -* ˵ const UINT16 doorId, ID -* const UINT32 doorStateOne, ſ״ֽ̬ -* * const UINT32 doorStateTwo, ſ״ֽ̬ -* ֵ -*/ -void SetPsdDoorState(const UINT16 doorId, const UINT32 doorStateOne, const UINT32 doorStateTwo) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - PsdDataStru[bufIndex].psdDoorsStateOne = doorStateOne; - PsdDataStru[bufIndex].psdDoorsStateTwo = doorStateTwo; - } - else - { - /**/ - } - -} - -/* -* ȡָID,ſ״̬ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: ŵſ״̬ -*/ -UINT32 GetPsdDoorState(const UINT16 doorId, UINT8 psdFlag) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 retVal = UINT32_MAX; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if ((PSD_SUM_MAX > bufIndex) && (HIGH_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdDoorsStateOne;/*ֽ*/ - } - else if ((PSD_SUM_MAX > bufIndex) && (LOW_FOUR_CHAR == psdFlag)) - { - retVal = PsdDataStru[bufIndex].psdDoorsStateTwo;/*ֽ*/ - } - else - { - retVal = UINT32_MAX; - } - return retVal; -} - - -/* -* ָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* const UINT8 openErrState,Ź״̬ -* ֵ -*/ -void SetOpenErrState(const UINT16 doorId, const UINT8 openErrState) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - if ((PSD_OPEN_CLOSE_NORMAL == openErrState) || (PSD_OPEN_CLOSE_ERROR == openErrState)) - { - PsdDataStru[bufIndex].psdOpenErrState = openErrState; - } - else - {/**/ - } - } -} - -/* -* ָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* const UINT8 closeErrState,Ź״̬ -* ֵ -*/ -void SetCloseErrState(const UINT16 doorId, const UINT8 closeErrState) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - if ((PSD_OPEN_CLOSE_NORMAL == closeErrState) || (PSD_OPEN_CLOSE_ERROR == closeErrState)) - { - PsdDataStru[bufIndex].psdCloseErrState = closeErrState; - } - else - {/**/ - } - } -} - -/* -* ȡָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 Ź״̬ -*/ -UINT8 GetOpenErrState(const UINT16 doorId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 retVal = PSD_OPEN_CLOSE_ERROR; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - retVal = PsdDataStru[bufIndex].psdOpenErrState; - } - else - {/**/ - } - - return retVal; -} - -/* -* ȡָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 Ź״̬ -*/ -UINT8 GetCloseErrState(const UINT16 doorId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 retVal = PSD_OPEN_CLOSE_ERROR; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - if (PSD_SUM_MAX > bufIndex) - { - retVal = PsdDataStru[bufIndex].psdCloseErrState; - } - else - {/**/ - } - - return retVal; -} - -/* -* ȡָIDŹؼ̵ʼں -* ˵const UINT16 doorId ID -* ֵſ̵ʼں -* Created By LQ 2025.06.26 -*/ -UINT32 GetPsdRelayDownCycNum(const UINT16 doorId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 retVal = CI_ERROR; - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if (bufIndex < PSD_SUM_MAX) - { - retVal = PsdDataStru[bufIndex].dwPsdRelayDownCycNum; - } - else - { - retVal = CI_ERROR; - } - - return retVal; -} - -/* -* ָIDŹؼ̵ʼں -* ˵const UINT16 doorId ID -* const UINT32 startCycNum ʼں -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetPsdRelayDownCycNum(const UINT16 doorId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetPsdConfigBufIndex(doorId); /*ȡ±*/ - - if (bufIndex < PSD_SUM_MAX) - { - PsdDataStru[bufIndex].dwPsdRelayDownCycNum = startCycNum; - } - else - { - /**/ - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/PSD/PSDDataManage.h b/TSCP/src/APP/ciapp/PSD/PSDDataManage.h index e7c5e0d..8012e33 100644 --- a/TSCP/src/APP/ciapp/PSD/PSDDataManage.h +++ b/TSCP/src/APP/ciapp/PSD/PSDDataManage.h @@ -81,16 +81,6 @@ typedef struct S_PsdDataStruct UINT8 chCleFarePDBFlaLigFlag; /*ȷPDBťָʾƱ־*//*by cgh 20230529*/ UINT8 chVideoQkDriveState; /*Ƶ״̬ by cgh 20231214*/ UINT16 wVideoQkRelateVobcId; /*ƵͶӦгID by cgh 20231214*/ - UINT32 psdFaultQStataOne; /*ŹϸϢǰĸֽ*/ - UINT32 psdFaultQStataTwo; /*ŹϸϢĸֽ*/ - UINT32 psdDoorIStateOne; /*űϢǰֽ*/ - UINT32 psdDoorIStateTwo; /*űϢֽ*/ - UINT32 psdDoorsStateOne; /*ÿŵĿ״̬ǰĸֽ*/ - UINT32 psdDoorsStateTwo; /*ÿŵĿ״̬ĸֽ*/ - UINT8 psdOpenErrState; /*Ź״̬*/ - UINT8 psdCloseErrState; /*Ź״̬*/ - UINT8 cPsdExceptOpenState; /*쳣״̬0x55-쳣򿪣0xAA-δ쳣*/ - UINT32 dwPsdRelayDownCycNum; /*PSDŹؼ̵ʼ*/ } PsdDataStruct; extern PsdDataStruct PsdDataStru[PSD_SUM_MAX]; /*ݽṹ*/ @@ -528,23 +518,23 @@ UINT32 GetPsdCmdCyclePsc(const UINT16 doorId); UINT8 SetPsdCmdCyclePsc(const UINT16 doorId, const UINT32 doorCycle); /* -* ָID·־ +* ָIDȷPSC־ * ˵ const UINT16 doorId, ID * const UINT8 setFlag, ·״̬ * ֵ * */ -void SetPsdConfirmFlag(const UINT16 doorId,const UINT8 setFlag); +void SetPsdPscConfirmFlag(const UINT16 doorId,const UINT8 setFlag); /* -* ȡָID·־ +* ȡָIDȷPSC·־ * ˵ const UINT16 doorId, ID * * ֵ 0: ȡʧ * >0: ȡɹ */ -UINT8 GetPsdPlFlag(const UINT16 doorId); +UINT8 GetPsdPscPlFlag(const UINT16 doorId); /* * PSCͬʱһͨʱPSC· @@ -882,126 +872,6 @@ void SetPsdVideoQkRelateVobcId(const UINT16 wPsdId, const UINT16 wVobcId); */ UINT16 GePsdVideoQkRelateVobcId(const UINT16 wPsdId); -/* -* ָID쳣״̬ -* ˵const UINT16 wPsdId ID -* const UINT8 cExceptOpenState 쳣״̬ -* ֵ -* Created By LQ 2025.05.22 -*/ -void SetPsdExceptOpenState(const UINT16 wPsdId, const UINT8 cExceptOpenState); - -/* -* ȡָID쳣״̬ -* ˵const UINT16 wPsdId ID -* ֵ0x55 쳣 -* 0xAA δ쳣 -* Created By LQ 2025.05.22 -*/ -UINT8 GePsdExceptOpenState(const UINT16 wPsdId); - -/* -* ָIDŹϸϢ -* ˵ const UINT16 doorId, ID -* const UINT32 faultQStateOne, ϸϢֽ -* * const UINT32 faultQStateTwo, ϸϢֽ -* ֵ -*/ -void SetPsdFaultQState(const UINT16 doorId, const UINT32 faultQStateOne, const UINT32 faultQStateTwo); - -/* -* ȡָIDŹϸϢ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: ŹϸϢ -*/ -UINT32 GetPsdFaultQState(const UINT16 doorId, UINT8 psdFlag); - -/* -* ָIDűϢ -* ˵ const UINT16 doorId, ID -* const UINT32 doorsIStateOne, Ϣֽ -* * const UINT32 doorsIStateTwo, Ϣֽ -* ֵ -*/ -void SetPsdDoorIState(const UINT16 doorId, const UINT32 doorsIStateOne, const UINT32 doorsIStateTwo); - -/* -* ȡָIDűϢ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: űϢ -*/ -UINT32 GetPsdDoorIState(const UINT16 doorId, UINT8 psdFlag); - -/* -* ָIDţſ״̬ -* ˵ const UINT16 doorId, ID -* const UINT32 doorStateOne, ſ״ֽ̬ -* * const UINT32 doorStateTwo, ſ״ֽ̬ -* ֵ -*/ -void SetPsdDoorState(const UINT16 doorId, const UINT32 doorStateOne, const UINT32 doorStateTwo); - -/* -* ȡָID,ſ״̬ -* ˵ const UINT16 doorId, ID -* UINT8 psdFlag,ǰĸֽڻǺĸֽ(0uΪĸֽڣ1uΪĸֽ) -* ֵ 0: ȡʧ -* >0: ŵſ״̬ -*/ -UINT32 GetPsdDoorState(const UINT16 doorId, UINT8 psdFlag); - - -/* -* ָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* const UINT8 openErrState,Ź״̬ -* ֵ -*/ -void SetOpenErrState(const UINT16 doorId, const UINT8 openErrState); - -/* -* ָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* const UINT8 closeErrState,Ź״̬ -* ֵ -*/ -void SetCloseErrState(const UINT16 doorId, const UINT8 closeErrState); - -/* -* ȡָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 Ź״̬ -*/ -UINT8 GetOpenErrState(const UINT16 doorId); - -/* -* ȡָIDŹ״̬ -* ˵ const UINT16 doorId, ID -* ֵ UINT8 Ź״̬ -*/ -UINT8 GetCloseErrState(const UINT16 doorId); - -/* -* ȡָIDŹؼ̵ʼں -* ˵const UINT16 doorId ID -* ֵſ̵ʼں -* Created By LQ 2025.06.26 -*/ -UINT32 GetPsdRelayDownCycNum(const UINT16 doorId); - -/* -* ָIDŹؼ̵ʼں -* ˵const UINT16 doorId ID -* const UINT32 startCycNum ʼں -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetPsdRelayDownCycNum(const UINT16 doorId, const UINT32 startCycNum); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/PSD/PSDDefine.h b/TSCP/src/APP/ciapp/PSD/PSDDefine.h index e4fa439..6ba3aaa 100644 --- a/TSCP/src/APP/ciapp/PSD/PSDDefine.h +++ b/TSCP/src/APP/ciapp/PSD/PSDDefine.h @@ -67,25 +67,6 @@ #define PSD_FAULT_ISOLATION_SCX ((UINT8)0x81U) /*ԳùϸϢ18Ÿ*/ #define PSD_OPEN_STATE_SCX ((UINT32)0xFFFFFF7EU) /*Գ߹ϸʱŴ״̬18⣬ȫ*/ -/*Դ״̬*/ -#define PSD_DRIVE_POWER_NORMAL ((UINT8)0x55U) /*Դ״̬*/ -#define PSD_DRIVE_POWER_ERROR ((UINT8)0xAAU) /*Դ״̬*/ - -/*ſƵԴ״̬*/ -#define PSD_CONTROL_POWER_NORMAL ((UINT8)0x55U) /*ƵԴ״̬*/ -#define PSD_CONTROL_POWER_ERROR ((UINT8)0xAAU) /*ƵԴ״̬*/ - -/*űԵ״̬*/ -#define PSD_EDGE_CONTROLLER_NORMAL ((UINT8)0x55U) /*Ե״̬*/ -#define PSD_EDGE_CONTROLLER_ERROR ((UINT8)0xAAU) /*Ե״̬*/ - -/*ϰﱨ״̬*/ -#define PSD_ALARM_OBS_NO ((UINT8)0xAAU) /*޹*/ -#define PSD_ALARM_OBS_YES ((UINT8)0x55U) /*й*/ - -/*ſŹ״̬*/ -#define PSD_OPEN_CLOSE_NORMAL ((UINT8)0x55U) /*Ź״̬Ϊ*/ -#define PSD_OPEN_CLOSE_ERROR ((UINT8)0xAAU) /*Ź״̬Ϊ*/ /*෿FAOϢ*/ #define PSD_FOUR_EDIT_GROUP_FAO_YF ((UINT8)0x01U) /*ı*/ @@ -106,10 +87,6 @@ #define PSD_VIRTUAL_ATTR_YES ((UINT8)0x55U) /**/ #define PSD_VIRTUAL_ATTR_NO ((UINT8)0xaaU) /**/ -/*ſ*/ -#define PSD_CONTROL_TYPE_OC_P ((UINT8)0x55u) /*OC-P*/ -#define PSD_CONTROL_TYPE_RCI ((UINT8)0xAAu) /*RCI*/ - /*ϰϢ*/ #define PSD_REMORA_YES ((UINT8)0xAAU) /*ϰ*/ #define PSD_REMORA_NO ((UINT8)0x55U) /*Ѽϰ*/ @@ -195,16 +172,4 @@ #define VIDEO_QK_DRIVE_STATE_TESTING ((UINT8)0xccU) /*Ƶ״̬*/ #define VIDEO_QK_DRIVE_STATE_INVALID ((UINT8)0xffU) /*Ƶ״̬Ч*/ -/*쳣״̬*/ -#define PSD_EXCEPT_OPEN_NO ((UINT8)0xAAU) /*δ쳣*/ -#define PSD_EXCEPT_OPEN_YES ((UINT8)0x55U) /*쳣*/ - -/*OC-P·״̬ȷ*/ -#define OC_PSC_PL_CONFIRM_YES ((UINT8)0xaaU) /*OC-P·״̬ȷ*/ -#define OC_PSC_PL_CONFIRM_NO ((UINT8)0x55U) /*OC-P·״̬δȷ*/ - -/*ȡϢ*/ -#define HIGH_FOUR_CHAR ((UINT8)0U) /*ֽ*/ -#define LOW_FOUR_CHAR ((UINT8)1U) /*ֽ*/ - #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/CiInterfaceDefine.h b/TSCP/src/APP/ciapp/ParsePack/CiInterfaceDefine.h index ddc1d3b..fe2683b 100644 --- a/TSCP/src/APP/ciapp/ParsePack/CiInterfaceDefine.h +++ b/TSCP/src/APP/ciapp/ParsePack/CiInterfaceDefine.h @@ -147,10 +147,7 @@ #define ATS_CMD_OPEN_XIANSU_SIGNAL_SECOND ((UINT8)0x9e) /*źŶ*/ #define ATS_CMD_OPEN_XIANSU_SIGNAL_SPECIAL ((UINT8)0xa6) /*ź⿪*/ -#define ATS_CMD_OC_P_PL_ONE ((UINT8)0xa8) /*OC-P·һ*/ -#define ATS_CMD_OC_P_PL_TWO ((UINT8)0xa9) /*OC-P·*/ -#define ATS_CMD_QUXIAO_OC_P_PL_ONE ((UINT8)0xaa) /*ȡOC-P·һ*/ -#define ATS_CMD_QUXIAO_OC_P_PL_TWO ((UINT8)0xab) /*ȡOC-P·*/ + #define ATS_CMD_GET_CTRL_POWER ((UINT8)0x81) /* ȡȨ*/ #define ATS_CMD_RELEASE_CTRL_POWER ((UINT8)0x82) /* ͷȨ*/ @@ -216,7 +213,7 @@ #define VOBCTOCI_COMMAND_TYPE_PSDCHECK ((UINT8)0x00) /*ѯPSD*/ #define VOBCTOCI_COMMAND_TYPE_PSDOPEN ((UINT8)0x55) /*PSD*/ #define VOBCTOCI_COMMAND_TYPE_PSDCLOSE ((UINT8)0xAA) /*رPSD*/ -#define VOBCTOCI_COMMAND_TYPE_PSDCHECK_FAOHLHT ((UINT8)0xFF) /*ѯPSD(»߲ѯ)PSDĬֵ*/ +#define VOBCTOCI_COMMAND_TYPE_PSDCHECK_FAOHLHT ((UINT8)0xFF) /*ѯPSD(»߲ѯ)*/ /****ATSϢ궨****/ /*Ϣ*/ @@ -248,7 +245,6 @@ #define CI_BACK_GROUP_AUTO_ROUTE_SET_ERR ((UINT8)0x7e) /*Զ·Զʧ*/ #define CI_BACK_AUTO_TRIGGER_SET_ERR (UINT8)0x85 /*·Զ־ʧ*/ -#define CI_BACK_LEAD_ROUTE_CANCEL ((UINT8)0xA4) /*·޷ʹȡ*/ /*źŻϷ*/ #define CI_BACK_SIG_START_OPEN ((UINT8)0x11) /*·ʼźŻ*/ @@ -302,8 +298,7 @@ #define CI_BACK_SWT_POS_ERROR ((UINT8)0x37) /*λô*/ #define CI_BACK_SWT_MOVE_VALID ((UINT8)0x00) /*ɶ*/ #define CI_BACK_SWT_MOVE_OT ((UINT8)0x39) /*ʱ*/ -#define CI_BACK_SWT_BYPASS_CANCEL_NO ((UINT8)0x93) /*ߵ·δʱȡ*/ -#define CI_BACK_SWT_MOVE ((UINT8)0xA3) /*ת*/ +#define CI_BACK_SWT_BYPASS_CANCEL_NO ((UINT8)0x93) /*ߵ·δʱȡ*/ /* zt ɾش 2022-02-15 */ #define CI_BACK_SWT_USING ((UINT8)0x3f) /**/ #define CI_BACK_SWT_MOVE_ERR ((UINT8)0x84) /*ᶯʧ*/ @@ -409,16 +404,8 @@ #define CI_BACK_SEC_UPDATA_ERROR ((UINT8)0x00) /* θʧ */ #define CI_BACK_SWT_UPDATA_ERROR ((UINT8)0x00) /* ʧ */ -/*̬·*/ -#define CI_BACK_DYM_ROUTE_CONTINUOUS ((UINT8)0xA5) /*̬·㣺߼β*/ -#define CI_BACK_DYM_ROUTE_RES ((UINT8)0xA6) /*̬·㣺гռѹ߼ԴȫΨһ*/ -#define CI_BACK_DYM_ROUTE_MATCH_ROUTE ((UINT8)0xA7) /*̬·㣺߼δƥ䵽·*/ -#define CI_BACK_DYM_ROUTE_SCREEN ((UINT8)0xA8) /*̬·㣺гδɸѡ*/ -#define CI_BACK_DYM_ROUTE_SEC_CBTC ((UINT8)0xA9) /*̬·㣺߼ηCBTC*/ -#define CI_BACK_DYM_ROUTE_REPEAT ((UINT8)0xAA) /*̬·㣺ظ*/ -#define CI_BACK_DYM_ROUTE_SEC_ATTR ((UINT8)0xAB) /*̬·㣺ν֧߻ѹһεĶ̬·*/ -#define CI_BACK_DYM_ROUTE_TRAIN_COMM ((UINT8)0xAC) /*̬·㣺RCгͨж*/ -#define CI_BACK_DYM_ROUTE_TRAIN_POS ((UINT8)0xAD) /*̬·㣺гȫ߻ѹ*/ + + #define CI_BACK_DATA_INFO_TYPE_ERR ((UINT8)0xf1) /* CIϵͳݽӿϢʹ */ #define CI_BACK_DATA_SEND_FLAG_ERR ((UINT8)0xf2) /* CIϵͳݷͷʶϢ */ diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.c index d597b62..5e63b4d 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.c @@ -122,41 +122,6 @@ static UINT8 TransCiToAtsPSCState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 Psc */ static UINT8 TransCiToAtsPSCtypeState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PscStatetype, UINT8 PscState, UINT8 BitValY, UINT8 BitValN); -/* -* תCiATSPSD Դ״̬Ϣ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdԴ״̬Ϣ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsDrvWorkState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState); - -/* -* תCiATSPSD ƵԴ״̬Ϣ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdƵԴ״̬Ϣ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsCtlWorkState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState); - -/* -* תCiATSPSD Ե״̬ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdԵ״̬ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsPSDEdgeState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState); /* * ֡ @@ -960,13 +925,6 @@ UINT8 PackCiToAtsOrXianDiData(const UINT8 deviceId, const UINT8 targetDevType, c } } - /*OC-PSCһ廯*/ - PackOcPscDataToAts(ciToXianDiDataBuffer, &ii); - - /*PSD*/ - PackPsdDataToAts(ciToXianDiDataBuffer, &ii); - - ocDeviceSum = (UINT16)GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸*/ pOcDeviceIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_OC); /*ȡͨOC豸ID*/ @@ -1079,7 +1037,6 @@ UINT8 PackCiToAtsOrXianDiData(const UINT8 deviceId, const UINT8 targetDevType, c { } -#if 0 /*PSC豸ŷPSDϢATS*/ if (NULL == pDeviceIdBuf) { @@ -1146,7 +1103,6 @@ UINT8 PackCiToAtsOrXianDiData(const UINT8 deviceId, const UINT8 targetDevType, c /*дPSD*/ ciToXianDiDataBuffer[ii - (psdSum * 28U) - 1U] = psdSum; } -#endif /*RCOCI豸״̬ Դ/Դģ״̬2ֽ*/ @@ -1193,9 +1149,6 @@ UINT8 PackCiToAtsOrXianDiData(const UINT8 deviceId, const UINT8 targetDevType, c /**/ } - /*ͨϢ*/ - PackCiDataToAts(ciToXianDiDataBuffer, &ii); - /*Ԥ40ֽ*/ ii += 40u; } @@ -1414,8 +1367,6 @@ void SetCiSendCmdBackData_OrderBack( const UINT32 commandId,const UINT16 deviceI } } } - /*ݴһ󣬽ЧΪЧ YF0083-Bug-148*/ - ClearCiSendBackDataTempStruData(); if (CiSendCmdStruCurSum < CI_TO_ATSORXIANDI_CMD_DATA_STRU_SUM_MAX) { @@ -1751,7 +1702,7 @@ UINT8 GetPscConfirmFlag(UINT8 pscId) if(psdCiId == localCiId) { /*ȡPSCӦPSDĻȷϱ־*/ - pscPsdFlag = GetPsdPlFlag(pscToCiDataStru[pscId].psdDataStr[i].psdId); + pscPsdFlag = GetPsdPscPlFlag(pscToCiDataStru[pscId].psdDataStr[i].psdId); if(CI_PSC_PL_CONFIRM_YES == pscPsdFlag) { retVal = CI_PSC_PL_CONFIRM_YES; @@ -1896,12 +1847,6 @@ UINT8 FindFirstOrder(UINT8 SecondOrder) case ATS_CMD_SWITCH_FANWEI_TEST_TWO: reVal = ATS_CMD_SWITCH_FANWEI_TEST_ONE; /*λһ*/ break; - case ATS_CMD_OC_P_PL_TWO: - reVal = ATS_CMD_OC_P_PL_ONE; /*OC-P·һ*/ - break; - case ATS_CMD_QUXIAO_OC_P_PL_TWO: - reVal = ATS_CMD_QUXIAO_OC_P_PL_ONE; /*ȡOC-P·һ*/ - break; default: reVal = 0u; break; @@ -2597,7 +2542,6 @@ UINT16 TransCiToAtsSwitchZzjInfo(OcToATSSwitchZzjData* ciSendAtsSwitchZzjData, U UINT8 jj = 0U;/*Ӧת޻*/ UINT8 mm = 0U;/*״̬ĿʱжǷ쳣ѭ*/ UINT8 chSwitchDriveFlag = 0U;/*־*/ - UINT8 chSingleSwitchCurPosition = 0u;/*ǰλ*/ if ((NULL != ciSendAtsSwitchZzjData) && (NULL != wDataLength)) @@ -2667,26 +2611,18 @@ UINT16 TransCiToAtsSwitchZzjInfo(OcToATSSwitchZzjData* ciSendAtsSwitchZzjData, U } else { - chSingleSwitchCurPosition = GetSingleSwitchCurPosition(m_OcToCiOrginDataArr[kk].OcDevices[ii].DeviceId); - if (SWITCH_POSITION_JICHA == chSingleSwitchCurPosition) + chSwitchDriveFlag = GetSwitchDrivedFlag(m_OcToCiOrginDataArr[kk].OcDevices[ii].DeviceId); + if (SWITCH_DRIVED_FLAG_YES == chSwitchDriveFlag) { - /*ǰת޻жΪ*/ - ciSendAtsSwitchZzjData[wSwitchNum].szSwitchIncldeZzjState[jj] = OC_TO_ATS_SWITCH_ZZJ_ALARM; + /*ȡת޻״̬Ϊ*/ + ciSendAtsSwitchZzjData[wSwitchNum].szSwitchIncldeZzjState[jj] = OC_TO_ATS_SWITCH_ZZJ_NORMAL; } else { - chSwitchDriveFlag = GetSwitchDrivedFlag(m_OcToCiOrginDataArr[kk].OcDevices[ii].DeviceId); - if (SWITCH_DRIVED_FLAG_YES == chSwitchDriveFlag) - { - /*ȡת޻״̬Ϊ*/ - ciSendAtsSwitchZzjData[wSwitchNum].szSwitchIncldeZzjState[jj] = OC_TO_ATS_SWITCH_ZZJ_NORMAL; - } - else - { - /*ûĿת޻״̬Ϊ*/ - ciSendAtsSwitchZzjData[wSwitchNum].szSwitchIncldeZzjState[jj] = OC_TO_ATS_SWITCH_ZZJ_ALARM; - } + /*ûĿת޻״̬Ϊ*/ + ciSendAtsSwitchZzjData[wSwitchNum].szSwitchIncldeZzjState[jj] = OC_TO_ATS_SWITCH_ZZJ_ALARM; } + } } } @@ -2734,362 +2670,4 @@ static UINT8 TransCiToAtsPowerModeState(UINT8 ciToXianDiData, UINT8 MoveNum, UIN } return TransCiSendData; -} - -/* -* תCiATSPSD Դ״̬Ϣ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdԴ״̬Ϣ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsDrvWorkState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState) -{ - UINT8 TransCiSendData = 0u; - - if (PSD_DRIVE_POWER_NORMAL == PsdState) - {/*PSD Դ״̬*/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000011B << MoveNum)); - } - else if (PSD_DRIVE_POWER_ERROR == PsdState) - {/**/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - else - { - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - - return TransCiSendData; -} - -/* -* תCiATSPSD ƵԴ״̬Ϣ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdƵԴ״̬Ϣ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsCtlWorkState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState) -{ - UINT8 TransCiSendData = 0u; - - if (PSD_CONTROL_POWER_NORMAL == PsdState) - {/*PSD ƵԴ״̬*/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000011B << MoveNum)); - } - else if (PSD_CONTROL_POWER_ERROR == PsdState) - {/**/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - else - { - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - - return TransCiSendData; -} - -/* -* תCiATSPSD Ե״̬ -* ˵ -* UINT8 ciToXianDiData, CIֵϢ -* UINT8 MoveNum λ -* UINT8 PsdState psdԵ״̬ -* -* -* ֵ ת -*/ -static UINT8 TransCiToAtsPSDEdgeState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 PsdState) -{ - UINT8 TransCiSendData = 0u; - - if (PSD_EDGE_CONTROLLER_NORMAL == PsdState) - {/*PSD Ե*/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000001B << MoveNum)); - } - else if (PSD_EDGE_CONTROLLER_ERROR == PsdState) - {/*Ե*/ - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - else - { - TransCiSendData = ciToXianDiData | ((UINT8)(BIT_VAL_00000000B << MoveNum)); - } - - return TransCiSendData; -} - - -/* -* OC-PϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackOcPscDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii) -{ - UINT16 ocPscNum = 0u; - UINT16 ocId = 0u; /*psd id*/ - UINT8 ocPscConfirmFlag = 0u; - UINT16 jj = 0u; /*α*/ - UINT16 index = 0u; - UINT16 temp_index = 0u; - - if ((NULL != ciToXianDiDataBuffer) && (NULL != ii)) - { - index = *ii; - - /*OCһ,Ȳ飬psdNum*/ - temp_index = index; - index += 2u; - - for (jj = 0u; jj < m_OcToCiOrginDataNum; jj++) - { - if (0u < m_OcToCiOrginDataArr[jj].OCPsdNum) - {/*PSD*/ - ocPscNum++; - - ShortToChar(m_OcToCiOrginDataArr[jj].OcId, &ciToXianDiDataBuffer[index]); - index += 2u; - - /*OC-PԴ״̬*/ - ciToXianDiDataBuffer[index] = TransCiToAtsDrvWorkState(ciToXianDiDataBuffer[index], 6u, m_OcToCiOrginDataArr[jj].DrvPowerState); - /*OC-PƵԴ״̬*/ - ciToXianDiDataBuffer[index] = TransCiToAtsCtlWorkState(ciToXianDiDataBuffer[index], 4u, m_OcToCiOrginDataArr[jj].CtlPowerState); - /*Ե1״̬*/ - ciToXianDiDataBuffer[index] = TransCiToAtsPSDEdgeState(ciToXianDiDataBuffer[index], 2u, m_OcToCiOrginDataArr[jj].EdgeCtllerState1); - /*Ե2״̬*/ - ciToXianDiDataBuffer[index] = TransCiToAtsPSDEdgeState(ciToXianDiDataBuffer[index], 0u, m_OcToCiOrginDataArr[jj].EdgeCtllerState2); - index++; - - ocPscConfirmFlag = GetOcPscConfirmFlag(jj); - - /*·״̬ת*/ - ciToXianDiDataBuffer[index] = TransCiToAtsPSCtypeState(ciToXianDiDataBuffer[index], 0u, ocPscConfirmFlag, - OC_PSC_PL_CONFIRM_YES, BIT_VAL_00000000B, BIT_VAL_00000001B); - - index++; - } - else - { - /**/ - } - } - - /*OC-P*/ - ShortToChar(ocPscNum, &ciToXianDiDataBuffer[temp_index]); - *ii = index; - } - else - {/**/ - } - -} - - -/* -* PSDϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackPsdDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii) -{ - UINT8 psdDeviceSum = 0u;/*PSD豸*/ - UINT16 jj = 0u; /*α*/ - UINT16 psdId = 0u;/*psd id*/ - UINT16 index = 0u; - UINT16 index_psd = 0u;/*ڼ¼PSDƫ*/ - UINT32 tempPack = 0u; - UINT8 psdConType = PSD_CONTROL_TYPE_RCI; - UINT8 OcPsdSum = 0u; /*OC-PPSD*/ - - - if ((NULL != ciToXianDiDataBuffer) && (NULL != ii)) - { - index = *ii; - - psdDeviceSum = GetPsdSum();/*PSD*/ - - index_psd = index; - ciToXianDiDataBuffer[index] = 0u; /*PSD0*/ - index += 1u; - - for (jj = 0u; jj < psdDeviceSum; jj++) /*еPSD*/ - { - psdId = GetPsdId(jj);/*PSD id*/ - psdConType = GetPsdControlType(psdId); - - if ((0u != psdId) && (PSD_CONTROL_TYPE_OC_P == psdConType)) - { - OcPsdSum++; - - ShortToChar(0u, &ciToXianDiDataBuffer[index]); /*psd id*/ - index += 2u; - ShortToChar(psdId, &ciToXianDiDataBuffer[index]); - index += 2u; - - tempPack = GetPsdFaultQState(psdId, HIGH_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*Ϣ*/ - index += 4u; - tempPack = GetPsdFaultQState(psdId, LOW_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*Ϣ*/ - index += 4u; - - tempPack = GetPsdDoorIState(psdId, HIGH_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*Ϣ*/ - index += 4u; - tempPack = GetPsdDoorIState(psdId, LOW_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*Ϣ*/ - index += 4u; - - tempPack = GetPsdDoorState(psdId, HIGH_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*ÿŵĿ״̬*/ - index += 4u; - tempPack = GetPsdDoorState(psdId, LOW_FOUR_CHAR); - LongToChar(tempPack, &ciToXianDiDataBuffer[index]);/*ÿŵĿ״̬*/ - index += 4u; - - tempPack = GetOpenErrState(psdId); - ciToXianDiDataBuffer[index++] = tempPack; /*Ź״̬*/ - - tempPack = GetCloseErrState(psdId); - ciToXianDiDataBuffer[index++] = tempPack; /*Ź״̬*/ - } - else - { - /**/ - } - } - debug_infor_printf("psd control type:%x\n", psdConType); - ciToXianDiDataBuffer[index_psd] = OcPsdSum; /*PSD*/ - - *ii = index; - } - else - {/**/ - } -} - -/* -* ȡȷOC-P·״̬ -* ˵ UINT8 index, OC-PϵͳӦ± -* -* ֵ 0x55 ·״̬ȷ -* 0xaa ·״̬δȷ -*/ -UINT8 GetOcPscConfirmFlag(UINT8 index) -{ - UINT8 retVal = OC_PSC_PL_CONFIRM_NO; - UINT8 i = 0u; - UINT8 ocPscPsdFlag = 0u; - - /**/ - if (OC_SUM_MAX > index) - { - for (i = 0u; i < m_OcToCiOrginDataArr[index].OCPsdNum; i++) - { - /*ȡOC-PӦPSD·״̬*/ - ocPscPsdFlag = GetPsdPlFlag(m_OcToCiOrginDataArr[index].PsdInfo[i].wPsdId); - if (OC_PSC_PL_CONFIRM_YES == ocPscPsdFlag) - { - retVal = OC_PSC_PL_CONFIRM_YES; - break; - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - return retVal; -} - -/* -* ͨϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackCiDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii) -{ - UINT16 index = 0u; - UINT8 transCiSum = 0u; - UINT8* pCiDeviceIdBuf = NULL; /*OC豸ID*/ - UINT8 jj = 0u; - UINT8 ciAndCiCommState = 0u;/*ciciͨ״̬*/ - UINT8 ciToAtsTransState = 0u; - UINT8 ciId = 0u; - - if ((NULL != ciToXianDiDataBuffer) && (NULL != ii)) - { - index = *ii; - - transCiSum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_CI); - pCiDeviceIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_CI); - - ciToXianDiDataBuffer[index++] = transCiSum;/*ͨŵ*/ - if (NULL != pCiDeviceIdBuf) - { - for (jj = 0u; jj < transCiSum; jj++) - { - ciId = pCiDeviceIdBuf[jj];/*CI ID*/ - ciAndCiCommState = Get2oo2CiAndOtherSysCommState(CI_SYSTEM_TYPE_CI, (UINT8)jj);/*ͨ״̬*/ - - ciToXianDiDataBuffer[index++] = 0x00u; - ciToXianDiDataBuffer[index++] = ciId; /*ID*/ - - if (TRANSMIT_2OO2_STATE_GOOD == ciAndCiCommState) - {/*˫ͨ*/ - ciToAtsTransState = TRANSMIT_CI_STATE_GOOD; - } - else if (TRANSMIT_2OO2_STATE_LINK == ciAndCiCommState) - {/*ͨŹ*/ - ciToAtsTransState = TRANSMIT_CI_STATE_LINK; - } - else if (TRANSMIT_2OO2_STATE_BAD == ciAndCiCommState) - {/*˫ͨŹ*/ - ciToAtsTransState = TRANSMIT_CI_STATE_BAD; - } - else - { - ciToAtsTransState = TRANSMIT_CI_STATE_BAD; - } - - ciToXianDiDataBuffer[index++] = ciToAtsTransState; - - } - } - else - { - /**/ - } - - *ii = index; - } - else - { - /*μʧܣ*/ - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.h index d8b589c..f610676 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackAtsData.h @@ -366,48 +366,6 @@ UINT16 TransCiToAtsSwitchZzjInfo(OcToATSSwitchZzjData* ciSendAtsSwitchZzjData, U */ static UINT8 TransCiToAtsPowerModeState(UINT8 ciToXianDiData, UINT8 MoveNum, UINT8 powerState, UINT8 BitValY, UINT8 BitValN); -/* -* OC-PϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackOcPscDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii); - -/* -* PSDϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackPsdDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii); - -/* -* ȡȷOC-P·״̬ -* ˵ UINT8 index, OC-PϵͳӦ± -* -* ֵ 0x55 ·״̬ȷ -* 0xaa ·״̬δȷ -*/ -UINT8 GetOcPscConfirmFlag(UINT8 index); - -/* -* ͨϢATS -* ˵ -* UINT8* ciToXianDiDataBuffer Ϣbuffer -* UINT16* ii ƫ -* -* -* ֵ -*/ -void PackCiDataToAts(UINT8* ciToXianDiDataBuffer, UINT16* ii); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.c index d07fbdb..61adf37 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.c @@ -137,6 +137,7 @@ UINT8 InitAxleToCiDataStru(void) UINT8 belongAxleSysId = 0u; /*ID*/ UINT16 axlePhySecSum = 0u; /*ϵͳĿ*/ UINT8 pyhIsThisLine = 0u; + UINT8 cPrtclVerBtwCiAndAxle = 0U; /*ͼЭУ汾*/ ciId = GetSystemParaLocalCiId(); ciName = (CI_SYSTEM_TYPE_CI) * 256U + ciId; @@ -152,13 +153,22 @@ UINT8 InitAxleToCiDataStru(void) { axleId = deviceIdBuf[i]; axleName = (CI_SYSTEM_TYPE_AXIS) * 256u + axleId; + cPrtclVerBtwCiAndAxle = GetCiAndAxisPrtclCheckVer(); /*ȡЭУ汾*/ - rtn = dquDevName2HlhtId(axleName, 0U, &axieEtcsId); /*ȡụͨID*/ - rtn &= dquDevName2HlhtId(ciName, 0U, &ciEtcsId); /*ȡCIͨID*/ + if (20U <= cPrtclVerBtwCiAndAxle) + { + rtn = dquDevName2HlhtId(axleName, 0U, &axieEtcsId); /*ȡụͨID*/ + rtn &= dquDevName2HlhtId(ciName, 0U, &ciEtcsId); /*ȡCIͨID*/ + } + else + { + /*ʹ豸IDΪͨID*/ + rtn = GetRsspiAddr(axleName, ciName, &axieEtcsId, &ciEtcsId); + } if (CI_SUCCESS == rtn) /*GAL㻥ͨIDȡɹ*/ { - if (axleId >= AXIS_TO_CI_SUM_MAX) + if(axleId>=AXIS_TO_CI_SUM_MAX) { break;/*룬ֹԽ*/ } @@ -174,7 +184,7 @@ UINT8 InitAxleToCiDataStru(void) belongCiId = GetPhySecBelongCiId(phySecId); belongAxleSysId = GetPhySecBelongAxisSysId(phySecId); pyhIsThisLine = GetPhyIsThisLineState(phySecId); /*Ƿ·*/ - if ((0U < phySecId) && (phySecId < PHYSICAL_SECTION_SUM_MAX) && (belongCiId == ciId) + if ((0U < phySecId) && (phySecId < PHYSICAL_SECTION_SUM_MAX) && (belongCiId == ciId) && (belongAxleSysId == axleId) && (DEV_IS_THIS_LINE_YES == pyhIsThisLine)) { axlePhySecSum = axisToCiDataStru[axleId].SectionSum; @@ -186,9 +196,6 @@ UINT8 InitAxleToCiDataStru(void) axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].faultInfo = 0u; axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].showAndReplyInfo = 0u; axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].PreResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].chPreResetBack = RELAY_STATE_UP; - axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].chDirectResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].chDirectResetBack = RELAY_STATE_UP; axisToCiDataStru[axleId].axisDataStr[axlePhySecSum].State = RELAY_STATE_DOWN; axisToCiDataStru[axleId].PhySecIdx[phySecId] = (UINT8)(axlePhySecSum); @@ -248,9 +255,7 @@ UINT8 ParseAxisToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons UINT32 galAxisDataVer = 0u; /*ϵͳݰ汾*/ UINT32 ciAndAxisTimeOutCout = 0u; /*ͨж*/ UINT32 ciCurappCycleTime = 0u; /*ǰ*/ - UINT16 axisDevName = 0U; /*ƣ+ID*/ - UINT16 wPhySecCurSum = 0U; /*Ŀ*/ - UINT16 wIndexInAxle = 0U; /*ε*/ + UINT16 axisDevName = 0u; /*ƣ+ID*/ deviceSum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_AXIS); /*ȡͨAxis豸*/ deviceIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_AXIS); /*ȡͨAxis豸ID*/ @@ -268,9 +273,6 @@ UINT8 ParseAxisToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons axisToCiDataStru[systemId].axisDataStr[jj].faultInfo = 0u; axisToCiDataStru[systemId].axisDataStr[jj].showAndReplyInfo = 0u; axisToCiDataStru[systemId].axisDataStr[jj].PreResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[systemId].axisDataStr[jj].chPreResetBack = RELAY_STATE_UP; - axisToCiDataStru[systemId].axisDataStr[jj].chDirectResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[systemId].axisDataStr[jj].chDirectResetBack = RELAY_STATE_UP; axisToCiDataStru[systemId].axisDataStr[jj].State = RELAY_STATE_DOWN; } @@ -448,163 +450,6 @@ UINT8 ParseAxisToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons retVal = CI_ERROR; } } - else if (AXIS_TYPE_FUHAOSHENG == acFty) - { - phySecNum = dataBuf[ii++]; /*ȡ*/ - wPhySecCurSum = axisToCiDataStru[systemId].SectionSum; - - if ((AXIS_TO_CI_SECTION_SUM_MAX > phySecNum) && (wPhySecCurSum == phySecNum)) - { - /*豸״ֻ̬*/ - ii++; - for (jj = 0u; jj < phySecNum; jj++) - { - wIndexInAxle += 1U; - retVal = GetInAxlePhySecIdx(systemId, wIndexInAxle, &axisDataStrIdx); - - if (CI_SUCCESS == retVal) - { - if (0x02U == (dataBuf[ii] & 0x03U)) - { - /*10B:ο*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].gdRelayState = RELAY_STATE_UP; - } - else if((0x00U == (dataBuf[ii] & 0x03U)) || (0x01U == (dataBuf[ii] & 0x03U))) - { /*01B:ռ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].gdRelayState = RELAY_STATE_DOWN; - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"\nwIndexInAxle:%d OccState ERROR\n", wIndexInAxle); - - } - } - else - { - ; - } - - if (CI_SUCCESS == retVal) - { - if (0x01U == ((dataBuf[ii] >> 2U) & 0x01U)) - { - /**/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].State = RELAY_STATE_DOWN; - } - else - { - /*Ĭ״̬*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].State = RELAY_STATE_UP; - } - } - else - { - ; - } - - if (CI_SUCCESS == retVal) - { - if (0x01U == ((dataBuf[ii] >> 3U) & 0x01U)) - { - /*δܵλ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chDirectResetBack = RELAY_STATE_DOWN; - } - else - { - /*ܵλ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chDirectResetBack = RELAY_STATE_UP; - } - } - else - { - ; - } - - if (CI_SUCCESS == retVal) - { - if (0x01U == ((dataBuf[ii] >> 4U) & 0x01U)) - { - /*λɹ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chDirectResetRst = RELAY_STATE_UP; - } - else - { - /*λδִлִδɹ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chDirectResetRst = RELAY_STATE_DOWN; - } - } - else - { - ; - } - - if (CI_SUCCESS == retVal) - { - if (0x01U == ((dataBuf[ii] >> 5U) & 0x01U)) - { - /*δܵԤλ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chPreResetBack = RELAY_STATE_DOWN; - } - else - { - /*ܵԤλ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].chPreResetBack = RELAY_STATE_UP; - } - } - else - { - ; - } - - if (CI_SUCCESS == retVal) - { - if (0x01U == ((dataBuf[ii] >> 6U) & 0x01U)) - { - /*Ԥλɹ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].PreResetRst = RELAY_STATE_UP; - } - else - { - /*Ԥλδִлִδɹ*/ - axisToCiDataStru[systemId].axisDataStr[axisDataStrIdx].PreResetRst = RELAY_STATE_DOWN; - } - } - else - { - ; - } - - /*״̬*/ - ii++; - - if (CI_SUCCESS != retVal) - { - retVal = CI_ERROR; - break; /*ʧܣֹͣʧ*/ - } - else - { - /**/ - } - } - - if (CI_SUCCESS == retVal) - { - /*ļͷ*/ - ii++; - } - else - { - ; - } - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"\nAxis phySecNum:%d ERROR,RC wPhySecCurSum::%d\n", phySecNum, wPhySecCurSum); - } - } else { retVal = CI_ERROR; @@ -670,9 +515,6 @@ UINT8 ParseAxisToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons axisToCiDataStru[systemId].axisDataStr[jj].faultInfo = 0u; axisToCiDataStru[systemId].axisDataStr[jj].showAndReplyInfo = 0u; axisToCiDataStru[systemId].axisDataStr[jj].PreResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[systemId].axisDataStr[jj].chPreResetBack = RELAY_STATE_UP; - axisToCiDataStru[systemId].axisDataStr[jj].chDirectResetRst = RELAY_STATE_DOWN; - axisToCiDataStru[systemId].axisDataStr[jj].chDirectResetBack = RELAY_STATE_UP; axisToCiDataStru[systemId].axisDataStr[jj].State = RELAY_STATE_DOWN; } @@ -750,12 +592,6 @@ UINT8 PackCiToAxisData(UINT8 axisSysId) UINT16 dstDevId = 0u; UINT8 outnetSafeSendRtn = 0u; UINT16 axisDevName = 0u; /*ƣ+ID*/ - UINT8* pDataByteIndex = NULL; /*ݱλַ*/ - UINT8 chDataCurPos = 0U;/*ݵǰλ*/ - UINT8 chOffset = 0U;/*ƫ*/ - UINT8 chSecResetBackState = 0U;/*θλ״̬*/ - UINT16 wIndexInAxle = 0U; /*ε*/ - axisDevName = (CI_SYSTEM_TYPE_AXIS) * 256U + axisSysId; if (AXIS_TO_CI_SUM_MAX > axisSysId) { @@ -906,154 +742,6 @@ UINT8 PackCiToAxisData(UINT8 axisSysId) { } } - else if (AXIS_TYPE_FUHAOSHENG == acFty) - { - phyCount = axisToCiDataStru[axisSysId].SectionSum; - CiToAxisDataBuffer[ii] = (UINT8)(phyCount); - ii++; - - for (jj = 0U; jj < phyCount; jj++) - { - /*ȴֱӸλ*/ - /*ÿһֽڴ洢4θλ*/ - chDataCurPos = jj % SEC_NUM_PER_BYTE; - - if (0U == chDataCurPos) - { - pDataByteIndex = &CiToAxisDataBuffer[ii]; - ii++; - } - else - { - /*ûһֽڣȴ*/ - ; - } - - chOffset = chDataCurPos * BIT_NUM_PER_SEC; - - wIndexInAxle += 1U; - phySecId = GetPhyIdByIndexInAxle(axisSysId, wIndexInAxle); /*ID*/ - fwCycle = GetPhySecResetStartCycNum(phySecId); - - if (0U < fwCycle) - { - resetType = GetPhySecSectionResetType(phySecId); - if (PHYSICAL_SECTION_PRE_RESET_NO == resetType) - { - /*ֱӸλ*/ - chSecResetBackState = GetPhySecDirectResetBack(phySecId); - if (PHY_RESET_BACK_RECIVE_NO == chSecResetBackState) - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X02U << chOffset)); - } - else - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - } - else if (PHYSICAL_SECTION_PRE_RESET_YES == resetType) - { - /*Ԥλȴ*/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - else - { - retVal = CI_ERROR; - } - } - else - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - - if (CI_ERROR == retVal) - { - break; - } - else - { - ; /**/ - } - } - - if (CI_SUCCESS == retVal) - { - wIndexInAxle = 0U; - for (jj = 0U; jj < phyCount; jj++) - { - /*Ԥλ*/ - /*ÿһֽڴ洢4θλ*/ - chDataCurPos = jj % SEC_NUM_PER_BYTE; - - if (0U == chDataCurPos) - { - pDataByteIndex = &CiToAxisDataBuffer[ii]; - ii++; - } - else - { - /*ûһֽڣȴ*/ - ; - } - - chOffset = chDataCurPos * BIT_NUM_PER_SEC; - - wIndexInAxle += 1U; - phySecId = GetPhyIdByIndexInAxle(axisSysId, wIndexInAxle); /*ID*/ - fwCycle = GetPhySecResetStartCycNum(phySecId); - - if (0U < fwCycle) - { - resetType = GetPhySecSectionResetType(phySecId); - if (PHYSICAL_SECTION_PRE_RESET_NO == resetType) - { - /*ֱӸλȴ*/ - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - else if (PHYSICAL_SECTION_PRE_RESET_YES == resetType) - { - chSecResetBackState = GetPhySecPreResetBack(phySecId); - if (PHY_RESET_BACK_RECIVE_NO == chSecResetBackState) - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X02U << chOffset)); - } - else - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - } - else - { - retVal = CI_ERROR; - } - } - else - { - /**/ - *pDataByteIndex = *pDataByteIndex | ((UINT8)(0X00U << chOffset)); - } - - if (CI_ERROR == retVal) - { - break; - } - else - { - ; /**/ - } - } - } - else - { - ; /**/ - } - } else { retVal = CI_ERROR; @@ -1263,45 +951,6 @@ static UINT8 GetPhySecIdxInAxisDataStr(const UINT8 axleId, const UINT16 phySecId return rtn; } -/* -* ڼϵͳе± -* ˵ const UINT8 chAxleId, ϵͳID -* const UINT16 wIndexInAxle, ϵͳε -* UINT8* pAxleDataStrIdx, ϵͳID± -* ֵ CI_ERROR: ȡʧ -* CI_SUCCESS: ȡɹ -* by cgh 20250415 -*/ -UINT8 GetInAxlePhySecIdx(const UINT8 chAxleId, const UINT16 wIndexInAxle, UINT8* pAxleDataStrIdx) -{ - UINT8 ret = CI_ERROR; /*ֵ*/ - UINT16 wTempPhyId = 0U; /*ʱ¼ID*/ - if ((NULL != pAxleDataStrIdx) && (AXIS_TO_CI_SUM_MAX > chAxleId)) - { - wTempPhyId = GetPhyIdByIndexInAxle(chAxleId, wIndexInAxle); /*ȡϵͳŶӦID*/ - if ((0U < wTempPhyId) && (PHYSICAL_SECTION_SUM_MAX > wTempPhyId)) - { - *pAxleDataStrIdx = axisToCiDataStru[chAxleId].PhySecIdx[wTempPhyId];/*AxisDataStrID±*/ - } - else - { - *pAxleDataStrIdx = AXISDATASTR_IDX; - } - if (AXISDATASTR_IDX != (*pAxleDataStrIdx)) - { - ret = CI_SUCCESS; - } - else - { - /*error*/ - } - } - else - { - /*error*/ - } - return ret; -} \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.h index f2b7401..84f4624 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackAxleData.h @@ -41,8 +41,7 @@ #include "../LogRecord/LogRecord.h" #endif -#define SEC_NUM_PER_BYTE ((UINT8)4) /*ÿһֽڰĿ*/ -#define BIT_NUM_PER_SEC ((UINT8)(8 / SEC_NUM_PER_BYTE)) /*ÿһռλĿ*/ + /*ͨŵϢ*/ typedef struct S_AxisDataStruct @@ -51,10 +50,8 @@ typedef struct S_AxisDataStruct UINT8 gdRelayState; /*ɵ̵״̬£0x550xaa*/ UINT8 showAndReplyInfo; /*bit0bit1㷴bit2bit3Ԥbit4bit7ʾϢֶ̬Σ*/ UINT8 faultInfo; /*Ϣbit0ιϡbit1忨ϡbit2ϵ硢bit3ͨŹϡbit4ϡbit5ͷϡbit6Ԥbit7ϵ(ֶ̬)*/ + UINT8 PreResetRst; /*Ԥλ*/ - UINT8 chPreResetBack; /*Ԥλ*/ - UINT8 chDirectResetRst; /*ֱӸλ*/ - UINT8 chDirectResetBack; /*ֱӸλ*/ UINT8 State; /*״̬*/ } AxisCollDataStruct; @@ -129,17 +126,6 @@ UINT8 PackCiToAxisData( UINT8 axisSysId); */ UINT8 InitAxleToCiDataStru(void); -/* -* ڼϵͳе± -* ˵ const UINT8 chAxleId, ϵͳID -* const UINT16 wIndexInAxle, ϵͳε -* UINT8* pAxleDataStrIdx, ϵͳID± -* ֵ CI_ERROR: ȡʧ -* CI_SUCCESS: ȡɹ -* by cgh 20250415 -*/ -UINT8 GetInAxlePhySecIdx(const UINT8 chAxleId, const UINT16 wIndexInAxle, UINT8* pAxleDataStrIdx); - #ifdef __cplusplus } diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.c index 2d30347..310dc67 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.c @@ -17,7 +17,7 @@ #include "../CutoffPoint/CutoffPointDataManage.h" #include "ELMDataPrepare.h" -#define CI_CI_DEFAULT_DEV_SUM_BUF_LEN 40U /*CI䲻Ҫ豸״̬ʱֻʱӦ豸ռĻλҪд0ÿ豸2ֽڣѩITEг1ֽڣ40ֽ*/ +#define CI_CI_DEFAULT_DEV_SUM_BUF_LEN 39U /*CI䲻Ҫ豸״̬ʱֻʱӦ豸ռĻλҪд0ÿ豸2ֽڣѩ1ֽڣ39ֽ*/ /*ʹ*/ ToCiCommandDataStruct RecvCiCmdDataStru[RECVCI_CMD_DATA_STRU_SUM_MAX] = {0u}; /*CIṹ*/ @@ -47,10 +47,6 @@ ToCiAreaSnowStruct szRecvCiAreaSnow[CI_COM_CI_MAX_NUM] = { 0U }; /* ToCiAreaSnowStruct szSendCiAreaSnow[CI_COM_CI_MAX_NUM] = { 0U }; /*͸ѩվ̨Ϣ*/ -ToCiAreaIteCutStruct szRecvCiAreaIteCut[CI_COM_CI_MAX_NUM] = { 0U }; /*ITEгϢ*/ - -ToCiAreaIteCutStruct szSendCiAreaIteCut[CI_COM_CI_MAX_NUM] = { 0U }; /*͸ITEгϢ*/ - #define CI_TO_CI_INTERFACE (0x0606) #define INTERFACE_INFO_TYPE_LEN (2U) /*ӿֽڳ*/ @@ -432,6 +428,30 @@ CI_SUCCESS, static UINT8 PackCityDefPacket(UINT8* pInputData, UINT16* pItemLen); +/* +: +Զݰ +: +const UINT8 *pInputData ָ +: +UINT16 *pItemLen еij +ֵ: +CI_SUCCESS,ɹ;CI_ERROR,ʧ. +*/ +static UINT8 ParseManufacDefPacket(const UINT8* pInputData, UINT16* pItemLen); + +/* +: +Զݰ +: +UINT8 *pInputData ָ +: +UINT16 *pItemLen еij +ֵ: +CI_SUCCESS,ɹ;CI_ERROR,ʧ. +*/ +static UINT8 PackManufacDefPacket(UINT8* pInputData, UINT16* pItemLen); + /* : 컥ͨӦ @@ -570,8 +590,8 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT * 2Bm+ m * (12B) + * 2Bn+ n * (14B) + * 2B (߼p) + p * (4B) + - * 2B (źŻa) + a * (11B) + - * 2B (b) + b * (5B) + + * 2B (źŻa) + a * (8B) + + * 2B (b) + b * (4B) + * 2B (ESBc) + c * (3B) + * 2B (·d) + d * (8B) + * 2B (״̬e) + e * (10B) + @@ -588,14 +608,14 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT * = 10 + 2 + m*(7) * ߼ = 10 + 2 + m*(7) + 2 + n*(14) * źŻ = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) - * = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) - * ESB = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) - * · = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) - * ״̬ = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) + 2 + d*(8) - * spks = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) - * ̵ = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) - * = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) + 2 + g*(3) - * Զͨ· = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(10) + 2 + b*(5) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) + 2 + g*(3)+2+h*(6) + * = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + * ESB = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + * · = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + * ״̬ = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + 2 + d*(8) + * spks = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + * ̵ = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) + * = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) + 2 + g*(3) + * Զͨ· = 10 + 2 + m*(7) + 2 + n*(14) + 2 + p*(4) + 2 + a*(8) + 2 + b*(2) + 2 + c*(3) + 2 + d*(8) + 2 + e*(10) + 2 + f*(4) + 2 + g*(3)+2+h*(6) * Уվ * Уܳ @@ -657,8 +677,6 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT UINT8 cPLockRouteNum = 0U; UINT8 cPLockOverlapNum = 0U; UINT16 wProSwInfoLen = 0U; - UINT16 wAreaIteCutIndex = 0U; - UINT8 cAreaIteCutNum = 0U; /*ָ*/ if (NULL == errNo) @@ -1028,31 +1046,14 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT { cAreaSnowNum = dataBuf[wAreaSnowIndex]; wAreaSnowIndex++; /*ѩ*/ - wAreaSnowIndex += cAreaSnowNum * 3U; /*ID+ʪȼ*/ + wAreaSnowIndex += cAreaSnowNum * 4U; /*ѩվ̨ͨID*/ } } - /*УITEг*/ - if (CI_SUCCESS == reVal) - { - wAreaIteCutIndex = wAreaSnowIndex; - if (totalLength < wAreaIteCutIndex + 1U) - { - reVal = CI_ERROR; - *errNo = 27U; - } - else - { - cAreaIteCutNum = dataBuf[wAreaIteCutIndex]; - wAreaIteCutIndex++; /*ITEг*/ - wAreaIteCutIndex += cAreaIteCutNum * 2U; /*ID*/ - } - } - /*Уȥ߼γ*/ if (CI_SUCCESS == reVal) { - wLeaveLogIndex = wAreaIteCutIndex; + wLeaveLogIndex = wAreaSnowIndex; if (totalLength < wLeaveLogIndex + 2U) { reVal = CI_ERROR; @@ -1079,9 +1080,9 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT else { wNeedCheckSwStaRouteSum = ShortFromChar(&dataBuf[wNeedCheckSwStaRouteIndex]);/*ȥ*/ - wNeedCheckSwStaRouteIndex += 2U;/*·*/ + wNeedCheckSwStaRouteIndex += 2U;/*ȥ*/ - wNeedCheckSwStaRouteIndex += wNeedCheckSwStaRouteSum * 8U; /*·*/ + wNeedCheckSwStaRouteIndex += wNeedCheckSwStaRouteSum * 3U; /*ȥID*/ } } @@ -1145,8 +1146,8 @@ UINT8 CheckCi2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength,UINT 2u + (routeNum * CICI_ONE_ROUTE_LEN) + 2u + (physecLockStateNum * CICI_ONE_PHYSEC_LOCKSTATE_LEN) + 2u + (spksNum * CICI_ONE_SPKS_LEN) + 2u + (virtualRelayNum * CICI_ONE_VIRTUAL_RELAY_LEN) + 2u + (floodGateNum * CICI_ONE_FLOODGATE_LEN)+ 2u + (overlapNum * CICI_ONE_OVERLAP_LEN) + 2u + (autoRouteNum * CICI_ONE_AUTOROUTE_LEN)+ - 2u + (logsecLockStateNum * CICI_ONE_LOGSEC_LOCKSTATE_LEN) + logsecLockStateNum + (trainNum * 2U) + 2u + (wCfpInfoLen)+1U + cAreaSnowNum * 3U + - 1U + cAreaIteCutNum * 2U + 2U + cLeaveLogNum * 3U + 2U + wNeedCheckSwStaRouteSum * 8U + 2U + wNeedCheckProSwStaOlpNum * 3U + 2U + wProSwInfoLen; + 2u + (logsecLockStateNum * CICI_ONE_LOGSEC_LOCKSTATE_LEN) + logsecLockStateNum + (trainNum * 2U) + 2u + (wCfpInfoLen)+1U + cAreaSnowNum * 4U + + 2U + cLeaveLogNum * 3U + 2U + wNeedCheckSwStaRouteSum * 3U + 2U + wNeedCheckProSwStaOlpNum * 3U + 2U + wProSwInfoLen; if (stationLen == tmpStationLen) { reVal = CI_SUCCESS; @@ -1291,7 +1292,7 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) UINT8 kk = 0u; UINT8 execRet = CI_ERROR; UINT8 reVal = CI_ERROR; - UINT8 chErrorType = 0U; + UINT16 routePhySecSum = 0u; RoutePhysicalSectionStruct* routePSSecStru = NULL; UINT16 preSecId = 0u; @@ -1299,7 +1300,7 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) UINT16 routeId = 0u; /*CTUTռ״̬Ϊ(UT)ռ״̬*/ UINT8 curUtOrCtOccFlag = LOGICSECTION_OCCUPY_UT; /*ǰCTUTռñ־*/ - UINT8 chPreUtOrCtOccFlag = LOGICSECTION_OCCUPY_UT; + UINT8 utOrCtOccFlag = LOGICSECTION_OCCUPY_UT; UINT16 bufIndex = 0u; /*±*/ UINT32 sourceCurCycleNo = 0u;/*ǰϢԴں*/ @@ -1378,8 +1379,7 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) UINT8 cLogSecLogicLockState = LOG_SECTION_LOCK_NO; /*߼߼״̬*/ UINT8 cLogSecLogicLockDir = CI_SYSTEM_DIRECTION_NONE; /*߼߼շ*/ UINT8 cCiRecvAreaSnowNum = 0U; /*͵ѩ*/ - UINT16 wAreaId = 0U; /*͵ID*/ - UINT8 cAreaSnowLevel = 0U; /*ʪ켶*/ + UINT32 dwPlatFormHlhtId = 0U; /*͵ѩվ̨ͨID*/ UINT8 cCmdRecvFlag = 0U; ToCiCommandDataStruct strTempCiRecvCmd = { 0U }; ToCiDrCmdDataStruct strTempCiRecvDrCmd = { 0U }; @@ -1418,7 +1418,6 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) UINT16 wProSwSecUseRouteId = 0U;/*·ID*/ UINT8 cPhySecOccState = 0U; UINT8 cLogLockBelLogRouteSum = 0U; - UINT8 cCiRecvAreaIteCutNum = 0U; /*͵ITEг*/ localCiId = GetSystemParaLocalCiId(); dwCurCycNum = Get2oo2CurCycleNum(); @@ -1793,20 +1792,13 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) phySecCurMergeState = GetPhySecCurMergeState(deviceId); if (SECTION_OCCUPY_YES == phySecCurMergeState) { - chPreUtOrCtOccFlag = GetPhySecPreOccState(deviceId); /*ȡ֮ǰCTUTռ״̬*/ + utOrCtOccFlag = GetPhySecPreOccState(deviceId); /*ȡ֮ǰCTUTռ״̬*/ dwSecUtOrCtOccuCyc = GetSecUtOrCtOccuStartCycNum(deviceId); - /*ʱУγռ״̬仯ҽѿʼʱ֮ǰʱ*/ - if ((chPreUtOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) - { - if (LOGICSECTION_OCCUPY_NO != curUtOrCtOccFlag) - { - /*UTCTռÿʼʱ*/ - SetSecUtOrCtOccuStartCycNum(deviceId, dwCurCycNum); - } - else - { - /*߼ξУδںϿУݲ*/ - } + /*ʱУγռ״̬仯ҽѿʼʱ*/ + if ((utOrCtOccFlag != curUtOrCtOccFlag) && (0u != dwSecUtOrCtOccuCyc)) + { + /*UTCTռÿʼʱ*/ + SetSecUtOrCtOccuStartCycNum(deviceId, dwCurCycNum); } else if (LOGICSECTION_OCCUPY_UT == curUtOrCtOccFlag) { @@ -1924,11 +1916,6 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) SetSignalRelayDetainFlag(deviceId, dataBuf[ii++]); /*źŻά޵״̬*/ SetSignalMaintainState(deviceId, dataBuf[ii++]); - /*źŻӦ˿־*/ - SetNearCISignalCurDsFlag(deviceId, dataBuf[ii++]); - /*źŻ۳·ť״̬*/ - SetDetCutBtnState(deviceId, dataBuf[ii]); - ii++; } } } @@ -1954,10 +1941,6 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) (void)SetPsdState(deviceId, dataBuf[ii++]); /*ſ״̬״̬*/ (void)SetPsdMutualLockRemoveState(deviceId,dataBuf[ii++]); /*Ż״̬״̬*/ - - deviceInfo = dataBuf[ii]; /*PSD쳣״̬*/ - ii++; - SetPsdExceptOpenState(deviceId, deviceInfo); } } } @@ -2866,38 +2849,10 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) ClearCiRecvAreaSnowInfo((UINT8)sourceId); /*͸ѩϢ*/ for (kk = 0U; kk < cCiRecvAreaSnowNum; kk++) { - wAreaId = ShortFromChar(&dataBuf[ii]); /*ID*/ - ii += 2U; - cAreaSnowLevel = dataBuf[ii]; /*ʪ켶*/ - ii++; + dwPlatFormHlhtId = LongFromChar(&dataBuf[ii]); /*վ̨ͨID*/ + ii += 4U; - AddCiRecvAreaSnowInfo((UINT8)sourceId, localCiId, wAreaId, cAreaSnowLevel); /*洢DZѩϢ*/ - } - } - else - { - reVal = CI_ERROR; - } - } - else - { - /**/ - } - - /*ITEг*/ - if (CI_SUCCESS == reVal) - { - cCiRecvAreaIteCutNum = dataBuf[ii]; - ii++; - if (CI_TO_CI_AREA_SNOW_SUM_MAX >= cCiRecvAreaIteCutNum) - { - ClearCiRecvAreaIteCutInfo((UINT8)sourceId); /*͸ITEгϢ*/ - for (kk = 0U; kk < cCiRecvAreaIteCutNum; kk++) - { - wAreaId = ShortFromChar(&dataBuf[ii]); /*ID*/ - ii += 2U; - - AddCiRecvAreaIteCutInfo((UINT8)sourceId, localCiId, wAreaId); /*洢DZID*/ + AddCiRecvAreaSnowInfo((UINT8)sourceId, localCiId, dwPlatFormHlhtId); /*洢DZѩվ̨ID*/ } } else @@ -2942,36 +2897,30 @@ UINT8 ParseCiToCiDataFrame(UINT8* dataBuf, UINT16 dataLength) ii += 2U; for (jj = 0u; jj < deviceSum; jj++) { - routeId = ShortFromChar(&dataBuf[ii]); - belongCiId = GetRouteBelongCiId(routeId); + deviceId = ShortFromChar(&dataBuf[ii]); + belongCiId = GetRouteBelongCiId(deviceId); if (belongCiId == localCiId) { ii += 2U; - chRouteState = GetRouteState(routeId); - chRouteStateFlag = GetRouteStateFlag(routeId); + chRouteState = GetRouteState(deviceId); + chRouteStateFlag = GetRouteStateFlag(deviceId); if ((ROUTE_STATE_XUANPAI == chRouteState) || (((ROUTE_STATE_AUTO_UNLOCK == chRouteState) || (ROUTE_STATE_AUTO_UNLOCKERR == chRouteState)) && (ROUTE_STATE_FLAG_YES == chRouteStateFlag)) || (ROUTE_STATE_LEAD_XUANPAI == chRouteState)) { /*ͨ첽ֻн··״̬Ÿڿ״̬ãֹĬϣ첽˳ɹʧܽĬ޸*/ - SetRouteApplySwitchCheckFlag(routeId, dataBuf[ii++]); - deviceId = ShortFromChar(&dataBuf[ii]); - ii += 2U; - deviceFlag = dataBuf[ii++];/**/ - deviceInfo = dataBuf[ii++];/*״̬*/ - chErrorType = dataBuf[ii++];/**/ - SetRouteApplySwitchCheckErrorData(routeId, deviceId, deviceFlag, deviceInfo, chErrorType); + SetRouteApplySwitchCheckFlag(deviceId, dataBuf[ii++]); } else { - ii+=6U; + ii++; } } else { - ii += 8U;/*ڱĽ·*/ + ii += 3U;/*ڱĽ·*/ } } } @@ -3886,12 +3835,6 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt UINT16 wSwPLockOverlapIndex = 0U; UINT8 cSwPLockOverlapNum = 0U; UINT8 cLogLockBelLogRouteSum = 0U; - UINT16 wCiSendAreaIteCutIndex = 0U; - ToCiAreaIteCutStruct* pCiSendAreaIteCut = NULL; - UINT8 cCiSendAreaIteCutNum = 0U; /*͸ITEг*/ - UINT8 devType = 0U; /*豸*/ - UINT8 devState = 0U; /*豸״̬*/ - UINT8 chErrorType = 0U;/*ʧ*/ localCi = GetSystemParaLocalCiId(); startLockFlag = GetStartLockFlag(); @@ -4077,6 +4020,7 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt belongCiId = GetSignalBelongCiId(deviceId); if (localCi == belongCiId) {/*ڱ*/ + ShortToChar(deviceId, &dataFrame[ii]);/*źŻID*/ ii += 2u; dataFrame[ii++] = GetSignalFLockState(deviceId);/*źŻ״̬*/ @@ -4086,10 +4030,6 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt dataFrame[ii++] = GetSignalSoftDetainFlag(deviceId);/*źŻ۳״̬*/ dataFrame[ii++] = GetSignalRelayDetainFlag(deviceId);/*źŻӲ߿۳״̬*/ dataFrame[ii++] = GetSignalMaintainState(deviceId);/*źŻά޵״̬*/ - dataFrame[ii++] = GetSignalCurBreakFlag(deviceId); /*źŻ˿״̬*/ - deviceState = GetDetCutBtnState(deviceId); /*źŻ۳·ť״̬*/ - dataFrame[ii] = deviceState; - ii++; deviceSum++; } else @@ -4109,16 +4049,12 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt deviceId = pTmpCiTransInfo->psdIdBuf[jj];/*ȡID*/ belongCiId = GetPsdBelongCiId(deviceId); if (localCi == belongCiId) - { - /*ڱ*/ + {/*ڱ*/ + ShortToChar(deviceId, &dataFrame[ii]);/*ID*/ ii += 2u; dataFrame[ii++] = GetPsdState(deviceId);/*״̬*/ dataFrame[ii++] = GetPsdMutualLockRemoveState(deviceId);/*Ż״̬*/ - - deviceState = GePsdExceptOpenState(deviceId); /*PSD쳣״̬*/ - dataFrame[ii] = deviceState; - ii++; deviceSum++; } else @@ -4300,13 +4236,13 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt deviceSum = 0u;/*SPKS*/ deviceSumIndex = ii;/*SPKSαλ*/ ii += 2u; - for (jj = 0u; jj < pTmpCiTransInfo->spksNum; jj++) + for (jj = 0u;jj < pTmpCiTransInfo->spksNum;jj++) { deviceId = pTmpCiTransInfo->spksIdBuff[jj]; - belongCiId = GetSpksBelongCiId(deviceId); + belongCiId = GetSpksBelongCiId(deviceId); if (localCi == belongCiId) {/*ڱ*/ - ShortToChar(deviceId, &dataFrame[ii]); + ShortToChar(deviceId,&dataFrame[ii]); ii += 2u; dataFrame[ii++] = GetSpksState(deviceId); dataFrame[ii++] = GetSpksCutState(deviceId); @@ -4699,11 +4635,8 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt { for (m = 0U; m < pCiSendAreaSnow->cPlatFormNum; m++) { - ShortToChar(pCiSendAreaSnow->szPlatFormInfo[m].wAreaId, &dataFrame[ii]); /*ID*/ - ii +=2U; - dataFrame[ii] = pCiSendAreaSnow->szPlatFormInfo[m].cAreaSnowLevel; /*ʪ켶*/ - ii++; - + LongToChar(pCiSendAreaSnow->dwPlatFormId[m], &dataFrame[ii]); /*վ̨ͨID*/ + ii += 4U; cCiSendAreaSnowNum++; } } @@ -4713,25 +4646,6 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt } dataFrame[cCiSendAreaSnowIndex] = cCiSendAreaSnowNum; /*ѩ*/ - /*ITEгϢ*/ - wCiSendAreaIteCutIndex = ii; /*ITEг*/ - ii++; - pCiSendAreaIteCut = GetCiSendAreaIteCutInfo(dstCiId); - if (NULL != pCiSendAreaIteCut) - { - for (m = 0U; m < pCiSendAreaIteCut->cAreaIteCutNum; m++) - { - ShortToChar(pCiSendAreaIteCut->wAreaIteCutId[m], &dataFrame[ii]); /*ID*/ - ii += 2U; - cCiSendAreaIteCutNum++; - } - } - else - { - cCiSendAreaIteCutNum = 0U; /*δ鵽ĿITEгϢITEгΪ0*/ - } - dataFrame[wCiSendAreaIteCutIndex] = cCiSendAreaIteCutNum; /*ITEг*/ - /*·һȥ߼ABLгϢ*/ deviceSum = 0u;/*ȥ߼*/ deviceSumIndex = ii;/*ȥαλ*/ @@ -4771,19 +4685,12 @@ void PackCiToCiDataFrameUseCfg(UINT8 dstCiId,UINT8* dataFrame, UINT16* dataLengt for (jj = 0u; jj < pTmpCiTransInfo->wNeedCheckSwitchStateRouteSum; jj++) { chRouteApplySwitchCheckFlag = GetRouteApplySwitchCheckFlag(pTmpCiTransInfo->szNeedCheckSwStateRouteBuf[jj]); - deviceId = GetRouteApplySwitchCheckErrorData(pTmpCiTransInfo->szNeedCheckSwStateRouteBuf[jj], &devType, &devState, &chErrorType); if ((ROUTE_APPLY_SWITCH_CHECK_NO == chRouteApplySwitchCheckFlag) || (ROUTE_APPLY_SWITCH_CHECK_YES == chRouteApplySwitchCheckFlag)) { ;/*·־dzɹʧҪ·*/ ShortToChar(pTmpCiTransInfo->szNeedCheckSwStateRouteBuf[jj], &dataFrame[ii]);/*·ID 2B*/ ii += 2U; dataFrame[ii++] = chRouteApplySwitchCheckFlag; - /*Ӽʧ豸ID(2) 豸(1) 豸״̬(1) (1)*/ - ShortToChar(deviceId, &dataFrame[ii]);/*豸ID 2B*/ - ii += 2U; - dataFrame[ii++] = devType; - dataFrame[ii++] = devState; - dataFrame[ii++] = chErrorType; deviceSum++; } else @@ -5168,8 +5075,6 @@ UINT8 ParseCiToCiDataFrameHLHT(UINT8* dataBuf, const UINT16 dataLength, const UI UINT8 startLockState = 0u; UINT8 chTransmitRecvDataCycResult = 0U;/*ͨ״̬½*/ UINT8 ch2oo2SheBeiType = 0U;/*豸*/ - UINT32 dwBadEnsureTime = 0U; /*ͨжж*/ - UINT32 dwAppCycleTime = 0U; /*CIӦ*/ srcCiName = (CI_SYSTEM_TYPE_CI) * 256U + systemId; localCiName = (CI_SYSTEM_TYPE_CI) * 256U + localCiId; @@ -5204,9 +5109,7 @@ UINT8 ParseCiToCiDataFrameHLHT(UINT8* dataBuf, const UINT16 dataLength, const UI if (HLHT_HEAD_SUCCESS == headRet) { /*ϢʱЧ*/ - dwBadEnsureTime = GetCiAndCiTransmitBadEnsureTime(); - dwAppCycleTime = GetSystemParaAppCycleTime(); - vobcInfoRemainValidiy = HLHTCommonMsgRemainingValidity(dwBadEnsureTime, curntCycleNo, dwAppCycleTime, hlhtGalHead.recvOppMsgSN, hlhtGalHead.crntOwnMsgSN, hlhtGalHead.preOwnMsgSN, hlhtGalHead.comPeriod); + vobcInfoRemainValidiy = HLHTCommonMsgRemainingValidity(GetCiAndVobcTransBadEnsureTime(), curntCycleNo, GetSystemParaAppCycleTime(), hlhtGalHead.recvOppMsgSN, hlhtGalHead.crntOwnMsgSN, hlhtGalHead.preOwnMsgSN, hlhtGalHead.comPeriod); if (vobcInfoRemainValidiy > 0) { @@ -5252,7 +5155,6 @@ UINT8 ParseCiToCiDataFrameHLHT(UINT8* dataBuf, const UINT16 dataLength, const UI } else { - debug_infor_printf((const)"\nParseCiToCiDataFrameHLHT: Msg Validity Error"); retVal = CI_ERROR; } } @@ -8288,6 +8190,36 @@ static UINT8 PackCityDefPacket(UINT8 *pInputData, UINT16 *pItemLen) return CI_SUCCESS; } +/* +: +Զݰ +: +const UINT8 *pInputData ָ +: +UINT16 *pItemLen еij +ֵ: +CI_SUCCESS,ɹ;CI_ERROR,ʧ. +*/ +static UINT8 ParseManufacDefPacket(const UINT8 *pInputData, UINT16 *pItemLen) +{ + return CI_SUCCESS; +} + +/* +: +Զݰ +: +UINT8 *pInputData ָ +: +UINT16 *pItemLen еij +ֵ: +CI_SUCCESS,ɹ;CI_ERROR,ʧ. +*/ +static UINT8 PackManufacDefPacket(UINT8 *pInputData, UINT16 *pItemLen) +{ + return CI_SUCCESS; +} + /* : 컥ͨӦ @@ -8318,6 +8250,7 @@ static UINT8 PackCiPacketCont(UINT8 *pInputData, UINT16 *pOverallLen, const UINT if ((NULL == pTmpCiTransInfo) || (NULL == pInputData) || (NULL == pOverallLen)) { retVal = CI_ERROR; + *pOverallLen = 0u; } else { @@ -8436,7 +8369,7 @@ static UINT8 PackCiPacketCont(UINT8 *pInputData, UINT16 *pOverallLen, const UINT dataIsAvail = CI_FALSE; break; case MANUFAC_DEF_STATUS_PACKET: - dataIsAvail = CI_TRUE; + dataIsAvail = CI_FALSE; break; default: dataIsAvail = CI_FALSE; @@ -8500,8 +8433,6 @@ static UINT8 PackCiPacketCont(UINT8 *pInputData, UINT16 *pOverallLen, const UINT case CITY_DEF_STATUS_PACKET: break; case MANUFAC_DEF_STATUS_PACKET: - retVal &= PackManufacDefPacket(pInputData + packedLen, &itemLen, dstCiId); /*鳧Զ֡*/ - packedLen += itemLen; break; default: /*ɴ֧*/ @@ -8629,7 +8560,7 @@ static UINT8 ParseCiPacketCont(const UINT8 *pInputData, const UINT16 overallLen, parsedLen += itemLen; break; case MANUFAC_DEF_STATUS_PACKET: - cRetVal &= ParseManufacDefPacket(pInputData + parsedLen, &itemLen, srcId); + cRetVal &= ParseManufacDefPacket(pInputData + parsedLen, &itemLen); parsedLen += itemLen; break; default: @@ -9080,6 +9011,14 @@ static UINT16 PackCiToCiDataFrameEa(UINT8 dstCiId, UINT8* dataFrame) /* ɢг */ dwMidLine = EaGetMidLine(chEaIndex); + if (UINT32_MAX == dwMidLine) + { + chPackFlag = CI_ERROR; + } + else + { + ; + } /* ־ */ chEaBuidFlag = GetEaBuildedFlag(chEaIndex); @@ -9771,16 +9710,6 @@ UINT8 ParseCiToCiDataCheck(UINT8* dataBuf, UINT16 dataLength,UINT8 *errNo) } } - /*ITEгУ*/ - if (CI_SUCCESS == reVal) - { - reVal = CheckCiToCiAreaIteCutData(dataBuf, &ii); - if (CI_ERROR == reVal) - { - *errNo = 27U; - } - } - /*·ȥ߼У*/ if (CI_SUCCESS == reVal) { @@ -10918,11 +10847,8 @@ UINT8 CheckCiToCiSignalData(const UINT8* dataBuf, UINT16* index) UINT8 chSignalDetainFlag = 0U;/*źŻ۳״̬*/ UINT8 chSignalRelayDetainFlag = 0U;/*źŻӲ߿۳״̬*/ UINT8 chSignalMaintainState = 0U;/*źŻά޵״̬*/ - UINT8 chSignalDsState = 0U;/*źŻ˿״̬*/ - UINT8 chDsState = 0U; /*źŻ˿λУ*/ UINT8 chSignalVBLNearFlag = 0U; /*źŻVBLгӽ־*/ UINT8 chCheckSigCurColorResult = CI_ERROR;/*źŻǰʾɫϷԼ*/ - UINT8 cCutBtnState = 0U; /*·ť״̬*/ chLocalCiId = GetSystemParaLocalCiId(); @@ -11047,60 +10973,6 @@ UINT8 CheckCiToCiSignalData(const UINT8* dataBuf, UINT16* index) debug_infor_printf((const)"CheckCiToCiSignalData wSignalId %d Is Error: chSignalMaintainState Is %d\n", wSignalId, chSignalMaintainState); } } - if (CI_SUCCESS == retVal) - { - /*źŻ˿״̬*/ - chSignalDsState = dataBuf[ii++]; - /*bit7~bit6 10 01 11ͬʱ 00޶˿ ΪϷֵУ*/ - chDsState = (chSignalDsState & SIGNAL_DS_BREAK_GREEN); - if ((SIGNAL_DS_BREAK_GREEN == chDsState) || (0U == chDsState)) - { - chDsState = (chSignalDsState & SIGNAL_DS_BREAK_YELLOW); - if ((SIGNAL_DS_BREAK_YELLOW == chDsState) || (0U == chDsState)) - { - chDsState = (chSignalDsState & SIGNAL_DS_BREAK_WHITE); - if ((SIGNAL_DS_BREAK_WHITE == chDsState) || (0U == chDsState)) - { - retVal = CI_SUCCESS; /**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiSignalData wSignalId %d Is Error: chSignalWhiteDsState Is %d\n", wSignalId, chSignalDsState); - } - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiSignalData wSignalId %d Is Error: chSignalYellowDsState Is %d\n", wSignalId, chSignalDsState); - } - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiSignalData wSignalId %d Is Error: chSignalGreenDsState Is %d\n", wSignalId, chSignalDsState); - } - } - - if (CI_SUCCESS == retVal) - { - /*źŻ۳·ť״̬*/ - cCutBtnState = dataBuf[ii]; - ii++; - if ((SIGNAL_DETAIN_CUT_VALID_NO == cCutBtnState) || (SIGNAL_DETAIN_CUT_VALID_YES == cCutBtnState)) - { - retVal = CI_SUCCESS; /**/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiSignalData wSignalId %d Is Error: SignalDetCutBtnState Is %d\n", wSignalId, cCutBtnState); - } - } - else - { - /**/ - } } } else @@ -13406,7 +13278,15 @@ UINT8 CheckCiToCiEaData(const UINT8* dataBuf, UINT16* index) { strEaTmp.dwMidLine = LongFromChar(&dataBuf[ii]); ii += 4U; - + if (UINT32_MAX > strEaTmp.dwMidLine) + { + /*У*/ + } + else + { + debug_infor_printf((const)"CheckCiToCiEaData BuildEaIndex[%d] Is Error: EaMidLine Is %d\n", jj, strEaTmp.dwMidLine); + retVal = CI_ERROR; + } } else { @@ -13930,8 +13810,6 @@ UINT8 CheckCiToCiPsdData(const UINT8* dataBuf, UINT16* index) UINT16 psdId = 0u; /*Psd豸ID*/ UINT8 doorState = 0u; /*״̬*/ UINT8 mutualLockState = 0u; /*Ż״̬*/ - UINT8 cPsdExceptOpenState = 0U; /*쳣״̬*/ - localCiId = GetSystemParaLocalCiId(); if ((NULL != dataBuf) && (NULL != index)) @@ -13987,19 +13865,6 @@ UINT8 CheckCiToCiPsdData(const UINT8* dataBuf, UINT16* index) retVal = CI_ERROR; } } - - /*쳣״̬*/ - cPsdExceptOpenState = dataBuf[ii]; - ii++; - if ((PSD_EXCEPT_OPEN_YES == cPsdExceptOpenState) || (PSD_EXCEPT_OPEN_NO == cPsdExceptOpenState)) - { - ;/*Уͨ*/ - } - else - { - debug_infor_printf((const)"CheckCiToCiPsdData PsdId %d Is Error: PsdExceptOpenState Is %d\n", psdId, cPsdExceptOpenState); - retVal = CI_ERROR; - } } } else @@ -14762,18 +14627,16 @@ UINT8 CiToCiEnvelopeCheck(const UINT8* dataBuf, UINT16* index) * ͸ѩϢ * ˵ UINT8 cSrcCiId ͷCI * UINT8 cDstCiId շCI -* UINT16 wAreaSnowId ID -* UINT8 cAreaSnowLevel ʪ켶 -* ֵ -* Modified By LQ 2025.5.28 +* UINT32 dwAreaSnowId ѩվ̨ID +* ֵ +* Created By LQ 2023.11.16 */ -void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaSnowId, UINT8 cAreaSnowLevel) +void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT32 dwAreaSnowId) { UINT16 ii = 0U; UINT8 cKeepWork = CI_ERROR; - if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != wAreaSnowId) - && ((CI_SNOW_LEVEL_DEFAULT == cAreaSnowLevel) || (CI_SNOW_LEVEL_ONE == cAreaSnowLevel) || (CI_SNOW_LEVEL_TWO == cAreaSnowLevel))) + if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != dwAreaSnowId)) { for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) { @@ -14809,8 +14672,7 @@ void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaSnowId, U /*ѩϢ*/ szRecvCiAreaSnow[ii].cSourceCiId = cSrcCiId; szRecvCiAreaSnow[ii].cTargetCiId = cDstCiId; - szRecvCiAreaSnow[ii].szPlatFormInfo[szRecvCiAreaSnow[ii].cPlatFormNum].wAreaId = wAreaSnowId; - szRecvCiAreaSnow[ii].szPlatFormInfo[szRecvCiAreaSnow[ii].cPlatFormNum].cAreaSnowLevel = cAreaSnowLevel; + szRecvCiAreaSnow[ii].dwPlatFormId[szRecvCiAreaSnow[ii].cPlatFormNum] = dwAreaSnowId; szRecvCiAreaSnow[ii].cPlatFormNum++; } else @@ -14833,19 +14695,16 @@ void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaSnowId, U * ӱ͸ָIDѩϢ * ˵ UINT8 cSrcCiId ͷCI * UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* UINT8 cAreaSnowLevel ʪȼ -* ֵ -* Modified By LQ 2025.05.28 +* UINT32 dwAreaSnowId ѩվ̨ID +* ֵ */ -void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId, UINT8 cAreaSnowLevel) +void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT32 dwAreaSnowId) { UINT16 ii = 0U; UINT8 cKeepWork = CI_ERROR; UINT8 jj = 0U; - if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != wAreaId) - && ((CI_SNOW_LEVEL_DEFAULT == cAreaSnowLevel) || (CI_SNOW_LEVEL_ONE == cAreaSnowLevel) || (CI_SNOW_LEVEL_TWO == cAreaSnowLevel))) + if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != dwAreaSnowId)) { for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) { @@ -14881,7 +14740,7 @@ void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId, UINT8 /*by cgh ȥ*/ for (jj = 0U; jj < szSendCiAreaSnow[ii].cPlatFormNum; jj++) { - if (szSendCiAreaSnow[ii].szPlatFormInfo[jj].wAreaId == wAreaId) + if (szSendCiAreaSnow[ii].dwPlatFormId[jj] == dwAreaSnowId) { break; } @@ -14896,8 +14755,7 @@ void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId, UINT8 /*ѩϢ*/ szSendCiAreaSnow[ii].cSourceCiId = cSrcCiId; szSendCiAreaSnow[ii].cTargetCiId = cDstCiId; - szSendCiAreaSnow[ii].szPlatFormInfo[szSendCiAreaSnow[ii].cPlatFormNum].wAreaId = wAreaId; - szSendCiAreaSnow[ii].szPlatFormInfo[szSendCiAreaSnow[ii].cPlatFormNum].cAreaSnowLevel = cAreaSnowLevel; + szSendCiAreaSnow[ii].dwPlatFormId[szSendCiAreaSnow[ii].cPlatFormNum] = dwAreaSnowId; szSendCiAreaSnow[ii].cPlatFormNum++; } else @@ -15021,10 +14879,9 @@ UINT8 CheckCiToCiAreaSnowData(const UINT8* dataBuf, UINT16* index) UINT16 ii = 0U; UINT8 jj = 0U; UINT8 cAreaSnowNum = 0U; /**/ - UINT16 wPlatFormId = 0U; /*ѩվ̨ID*/ + UINT32 dwPlatFormId = 0U; /*ѩվ̨ID*/ UINT8 cPlatFormBelongCiId = 0U; /*վ̨*/ UINT8 localCiId = 0U; /*ID*/ - UINT8 cAreaSnowLevel = 0U; /*ʪȼ*/ if ((NULL != dataBuf) && (NULL != index)) { @@ -15038,13 +14895,13 @@ UINT8 CheckCiToCiAreaSnowData(const UINT8* dataBuf, UINT16* index) { for (jj = 0U; jj < cAreaSnowNum; jj++) { - /*УID*/ - wPlatFormId = ShortFromChar(&dataBuf[ii]); - ii += 2U; + /*Уѩվ̨ID*/ + dwPlatFormId = LongFromChar(&dataBuf[ii]); + ii += 4U; - if ((0U < wPlatFormId) && (UINT16_MAX > wPlatFormId)) + if ((0U != dwPlatFormId) && (UINT32_MAX > dwPlatFormId)) { - cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(wPlatFormId); /*ȡѩվ̨*/ + cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId((UINT16)dwPlatFormId); /*ȡѩվ̨*/ if ((localCiId != cPlatFormBelongCiId) && (0U != cPlatFormBelongCiId) && (0U != localCiId)) { @@ -15059,30 +14916,10 @@ UINT8 CheckCiToCiAreaSnowData(const UINT8* dataBuf, UINT16* index) } else { - debug_infor_printf((const)"CheckCiToCiAreaSnowData Is Error: wPlatFormId Is %d\n", wPlatFormId); + debug_infor_printf((const)"CheckCiToCiAreaSnowData Is Error: dwPlatFormId Is %d\n", dwPlatFormId); retVal = CI_ERROR; } - if (CI_SUCCESS == retVal) - { - cAreaSnowLevel = dataBuf[ii]; /*ʪȼ*/ - ii++; - - if ((CI_SNOW_LEVEL_DEFAULT == cAreaSnowLevel) || (CI_SNOW_LEVEL_ONE == cAreaSnowLevel) || (CI_SNOW_LEVEL_TWO == cAreaSnowLevel)) - { - /*Уͨ*/ - } - else - { - debug_infor_printf((const)"CheckCiToCiAreaSnowData Is Error: AreaSnowLevel Is %d\n", cAreaSnowLevel); - retVal = CI_ERROR; - } - } - else - { - /*ѽʧܣ*/ - } - if (CI_SUCCESS != retVal) { break; @@ -15670,10 +15507,6 @@ UINT8 CheckCiToCiNeedCheckSwRouteData(const UINT8* dataBuf, UINT16* index) UINT16 wNeedCheckRouteSum = 0U; /*Ҫ·Ŀ*/ UINT32 wNeedCheckRouteId = 0U; /*Ҫ·ID*/ UINT8 chRouteApplySwitchCheckFlag = 0U;/*·־*/ - UINT16 wErrorDevID = 0U; - UINT8 chErrorDevType = 0U; - UINT8 chErrorDevState = 0U; - UINT8 chErrorCodeType = 0U; if ((NULL != dataBuf) && (NULL != index)) { @@ -15696,99 +15529,12 @@ UINT8 CheckCiToCiNeedCheckSwRouteData(const UINT8* dataBuf, UINT16* index) ii++; if ((ROUTE_APPLY_SWITCH_CHECK_NO == chRouteApplySwitchCheckFlag) || (ROUTE_APPLY_SWITCH_CHECK_YES == chRouteApplySwitchCheckFlag)) { - /*豸ID 2 豸1 豸״̬1 1*/ - wErrorDevID = ShortFromChar(&dataBuf[ii]); - ii += 2U; - chErrorDevType = dataBuf[ii++]; - chErrorDevState = dataBuf[ii++]; - chErrorCodeType = dataBuf[ii++]; - if (0U == wErrorDevID) - { - ;/*͡״̬ʹͼ*/ - } - else - { - switch (chErrorDevType) - { - case CI_DEVICE_TYPE_SWITCH: - if (SWITCH_SUM_MAX > wErrorDevID) - { - if ((ETYPE_SWT_POSTION_STATE == chErrorCodeType) - || (ETYPE_SWT_YLOCK_STATE == chErrorCodeType) - || (ETYPE_SWT_LOCK_STATUS == chErrorCodeType)) - { - ;/*ͨ*/ - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: Switchid: chErrorCodeType Is %d\n", chErrorCodeType); - } - } - else - { - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: Switchid: wErrorDevID Is %d\n", wErrorDevID); - retVal = CI_ERROR; - } - break; - case CI_DEVICE_TYPE_ROUTE: - if ((wNeedCheckRouteId != wErrorDevID) || (ETYPE_ROUTE_APPLY_SWITCH_MOVE != chErrorCodeType)) - { - retVal = CI_ERROR;/**/ - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: Route: wErrorDevID Is %d\n", wErrorDevID); - } - break; - case CI_DEVICE_TYPE_LOGICSEC: - if (LOGIC_SECTION_SUM_MAX > wErrorDevID) - { - if (ETYPE_LOGSEC_LOCK_STATE == chErrorCodeType) - { - ;/*ͨ*/ - } - else - { - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: Logsec: chErrorDevState Is %d\n", chErrorCodeType); - retVal = CI_ERROR; - } - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: LogSec: wErrorDevID Is %d\n", wErrorDevID); - } - break; - case CI_DEVICE_TYPE_PHYSEC: - if (PHYSICAL_SECTION_SUM_MAX > wErrorDevID) - { - if ((ETYPE_PS_LOCK_STATE == chErrorCodeType) - ||(ETYPE_PS_JUMP_LOCK == chErrorCodeType) - ||(ETYPE_PS_MERGY_OCU_STATE == chErrorCodeType) - ||(ETYPE_PS_FLOCK_STATE == chErrorCodeType)) - { - ;/*ͨ*/ - } - else - { - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: PhySec: chErrorCodeType Is %d\n", chErrorCodeType); - retVal = CI_ERROR; - } - } - else - { - retVal = CI_ERROR; - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: PhySec: wErrorDevID Is %d\n", wErrorDevID); - } - break; - default: - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: chErrorDevType Is %d\n", chErrorDevType); - retVal = CI_ERROR;/**/ - } - } + ; } else { /*ʧ*/ - debug_infor_printf((const)"CheckCiToCiNeedCheckSwRouteData Is Error: chRouteApplySwitchCheckFlag Is %d\n", chRouteApplySwitchCheckFlag); + debug_infor_printf((const)"CheckCiToCiLeaveLogSecData Is Error: chRouteApplySwitchCheckFlag Is %d\n", chRouteApplySwitchCheckFlag); retVal = CI_ERROR; } } @@ -16334,1519 +16080,5 @@ UINT8 InitNeedOlapUsingOtherCiProSw(void) } } - return cRetVal; -} - -/* -* ͸ITEгϢ -* ˵const UINT8 cSrcCiId ͷCI -* ֵ -* Created By LQ 2025.04.14 -*/ -void ClearCiRecvAreaIteCutInfo(const UINT8 cSrcCiId) -{ - UINT16 ii = 0U; - - if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId)) - { - for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) - { - if (szRecvCiAreaIteCut[ii].cSourceCiId == cSrcCiId) - { - (void)CommonMemSet(&szRecvCiAreaIteCut[ii], (UINT32)sizeof(ToCiAreaIteCutStruct), 0U, (UINT32)sizeof(ToCiAreaIteCutStruct)); - break; - } - else - { - /**/ - } - } - } - else - { - /*ηǷ*/ - } -} - -/* -* ͸ITEгϢ -* ˵ -* ֵ -* Created By LQ 2025.04.14 -*/ -void ClearCiSendAreaIteCutInfo(void) -{ - (void)CommonMemSet(szSendCiAreaIteCut, (UINT32)(CI_COM_CI_MAX_NUM * sizeof(ToCiAreaIteCutStruct)), 0U, (UINT32)(CI_COM_CI_MAX_NUM * sizeof(ToCiAreaIteCutStruct))); -} - -/* -* ȡ͸ITEгϢ -* ˵ -* ֵ ITEгϢ -* Created By LQ 2025.04.14 -*/ -ToCiAreaIteCutStruct* GetCiRecvAreaIteCutInfo(void) -{ - return szRecvCiAreaIteCut; -} - -/* -* ȡ͸ָIDITEгϢ -* ˵const UINT8 cTargetCiId Ŀ -* ֵ͸ITEгϢ -* Created By LQ 2023.11.16 -*/ -ToCiAreaIteCutStruct* GetCiSendAreaIteCutInfo(const UINT8 cTargetCiId) -{ - ToCiAreaIteCutStruct* retVal = NULL; - UINT16 ii = 0U; - - if ((0U != cTargetCiId) && (CI_SUM_MAX > cTargetCiId)) - { - for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) - { - if (szSendCiAreaIteCut[ii].cTargetCiId == cTargetCiId) - { - retVal = &szSendCiAreaIteCut[ii]; - } - else - { - /**/ - } - } - } - else - { - /*ηǷNULL*/ - } - - return retVal; -} - -/* -* ͸ITEгϢ -* ˵UINT8 cSrcCiId ͷCI -* UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* ֵ -* Created By LQ 2025.04.14 -*/ -void AddCiRecvAreaIteCutInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId) -{ - UINT16 ii = 0U; - UINT8 cKeepWork = CI_ERROR; - UINT8 cLocalAreaIteCutNum = 0U; - UINT16* pLocalAreaIteCutId = NULL; - UINT8 jj = 0U; - UINT8 cAddFlag = CI_SUCCESS; - - if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != wAreaId) && (UINT16_MAX > wAreaId)) - { - /*IDǷѰڱ*/ - cLocalAreaIteCutNum = GetLocalAreaIteCutNum(); - pLocalAreaIteCutId = GetLocalAreaIteCutId(); - - if ((0U < cLocalAreaIteCutNum) && (NULL != pLocalAreaIteCutId)) - { - for (jj = 0U; jj < cLocalAreaIteCutNum; jj++) - { - if (wAreaId == pLocalAreaIteCutId[jj]) - { - cAddFlag = CI_ERROR; - break; - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - if (CI_SUCCESS == cAddFlag) - { - for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) - { - /*ѰĿCI*/ - if ((cSrcCiId == szRecvCiAreaIteCut[ii].cSourceCiId) && (cDstCiId == szRecvCiAreaIteCut[ii].cTargetCiId)) - { - cKeepWork = CI_SUCCESS; - } - else if ((0U == szRecvCiAreaIteCut[ii].cSourceCiId) && (0U == szRecvCiAreaIteCut[ii].cTargetCiId)) - { - cKeepWork = CI_SUCCESS; - } - else - { - /*ĿCI*/ - } - - if (CI_SUCCESS == cKeepWork) - { - - break; - } - else - { - /**/ - } - } - - if (CI_SUCCESS == cKeepWork) - { - if (CI_TO_CI_AREA_SNOW_SUM_MAX > szRecvCiAreaIteCut[ii].cAreaIteCutNum) - { - /*ITEгϢ*/ - szRecvCiAreaIteCut[ii].cSourceCiId = cSrcCiId; - szRecvCiAreaIteCut[ii].cTargetCiId = cDstCiId; - szRecvCiAreaIteCut[ii].wAreaIteCutId[szRecvCiAreaIteCut[ii].cAreaIteCutNum] = wAreaId; - szRecvCiAreaIteCut[ii].cAreaIteCutNum++; - } - else - { - debug_infor_printf((const)"AddCiRecvAreaIteCutInfo Error: Area Num Exceed Max %d!\n", CI_TO_CI_AREA_SNOW_SUM_MAX); - } - } - else - { - debug_infor_printf((const)"AddCiRecvAreaIteCutInfo Error: No TargetCi!\n"); - } - } - else - { - /**/ - } - } - else - { - debug_infor_printf((const)"AddCiRecvAreaIteCutInfo Error: Input Data Error!\n"); - } -} - -/* -* ӱ͸ָIDITEгϢ -* ˵UINT8 cSrcCiId ͷCI -* UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* ֵ -* Created By LQ 2025.04.14 -*/ -void AddCiSendAreaIteCutInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId) -{ - UINT16 ii = 0U; - UINT8 cKeepWork = CI_ERROR; - UINT8 jj = 0U; - UINT8 cCommCiNum = 0U; - UINT8* pCommCiId = NULL; - UINT8 cAddFlag = CI_ERROR; - - if ((0U != cSrcCiId) && (CI_SUM_MAX > cSrcCiId) && (0U != cDstCiId) && (CI_SUM_MAX > cDstCiId) && (0U != wAreaId) && (UINT16_MAX > wAreaId)) - { - cCommCiNum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_CI); /*ȡͨCI豸*/ - pCommCiId = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_CI); /*ȡͨCI豸ID*/ - - if ((0U < cCommCiNum) && (NULL != pCommCiId)) - { - for (jj = 0U; jj < cCommCiNum; jj++) - { - if (cDstCiId == pCommCiId[jj]) - { - cAddFlag = CI_SUCCESS; - break; - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - if (CI_SUCCESS == cAddFlag) - { - for (ii = 0U; ii < CI_COM_CI_MAX_NUM; ii++) - { - /*ѰĿCI*/ - if ((cSrcCiId == szSendCiAreaIteCut[ii].cSourceCiId) && (cDstCiId == szSendCiAreaIteCut[ii].cTargetCiId)) - { - cKeepWork = CI_SUCCESS; - } - else if ((0U == szSendCiAreaIteCut[ii].cSourceCiId) && (0U == szSendCiAreaIteCut[ii].cTargetCiId)) - { - cKeepWork = CI_SUCCESS; - } - else - { - /*ĿCI*/ - } - - if (CI_SUCCESS == cKeepWork) - { - - break; - } - else - { - /**/ - } - } - - if (CI_SUCCESS == cKeepWork) - { - if (CI_TO_CI_AREA_SNOW_SUM_MAX > szSendCiAreaIteCut[ii].cAreaIteCutNum) - { - for (jj = 0U; jj < szSendCiAreaIteCut[ii].cAreaIteCutNum; jj++) - { - /*ȥش*/ - if (szSendCiAreaIteCut[ii].wAreaIteCutId[jj] == wAreaId) - { - break; - } - else - { - ; /**/ - } - } - - if (szSendCiAreaIteCut[ii].cAreaIteCutNum == jj) - { - /*ITEгϢ*/ - szSendCiAreaIteCut[ii].cSourceCiId = cSrcCiId; - szSendCiAreaIteCut[ii].cTargetCiId = cDstCiId; - szSendCiAreaIteCut[ii].wAreaIteCutId[szSendCiAreaIteCut[ii].cAreaIteCutNum] = wAreaId; - szSendCiAreaIteCut[ii].cAreaIteCutNum++; - } - else - { - ; /*ظ*/ - } - } - else - { - debug_infor_printf((const)"AddCiSendAreaIteCutInfo Error: Area Num Exceed Max %d!\n", CI_TO_CI_AREA_SNOW_SUM_MAX); - } - } - else - { - debug_infor_printf((const)"AddCiSendAreaIteCutInfo Error: No TargetCi!\n"); - } - } - else - { - /*ĿRC/CIͨŹϵ*/ - } - } - else - { - debug_infor_printf((const)"AddCiSendAreaIteCutInfo Error: Input Data Error!\n"); - } -} - -/* -* УCI͵ĴITEг -* ˵const UINT8* dataBuf ݣ -* UINT16* index -* ֵ0 Уʧ -* 1 Уɹ -* Created By LQ 2024.04.15 -*/ -UINT8 CheckCiToCiAreaIteCutData(const UINT8* dataBuf, UINT16* index) -{ - UINT8 retVal = CI_ERROR; - UINT16 ii = 0U; - UINT8 jj = 0U; - UINT8 cAreaIteCutNum = 0U; /*ITEг*/ - UINT16 wAreaId = 0U; /*ID*/ - UINT8 cAreaBelongCiId = 0U; /**/ - UINT8 localCiId = 0U; /*ID*/ - - if ((NULL != dataBuf) && (NULL != index)) - { - retVal = CI_SUCCESS; - ii = *index; - localCiId = GetSystemParaLocalCiId(); - - cAreaIteCutNum = dataBuf[ii]; /*ITEг*/ - ii++; - if (CI_TO_CI_AREA_SNOW_SUM_MAX >= cAreaIteCutNum) - { - for (jj = 0U; jj < cAreaIteCutNum; jj++) - { - /*УID*/ - wAreaId = ShortFromChar(&dataBuf[ii]); - ii += 2U; - - if ((0U != wAreaId) && (UINT16_MAX > wAreaId)) - { - cAreaBelongCiId = GetAreaSnowPlatFormBelongCiId(wAreaId); /*ȡ*/ - - if ((localCiId != cAreaBelongCiId) && (0U != cAreaBelongCiId) && (0U != localCiId)) - { - /*Уͨ*/ - } - else - { - /*Ϊʧ*/ - debug_infor_printf((const)"CheckCiToCiAreaIteCutData Is Error: cAreaBelongCiId Is %d\n", cAreaBelongCiId); - retVal = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"CheckCiToCiAreaIteCutData Is Error: wAreaId Is %d\n", wAreaId); - retVal = CI_ERROR; - } - - if (CI_SUCCESS != retVal) - { - break; - } - else - { - /**/ - } - } - } - else - { - /*ޣʧ*/ - debug_infor_printf((const)"CheckCiToCiAreaIteCutData Is Error: cAreaIteCutNum Is %d\n", cAreaIteCutNum); - retVal = CI_ERROR; - } - *index = ii; - } - else - { - /*Уʧܣʧ*/ - retVal = CI_ERROR; - } - - return retVal; -} - -/* -* 黥ͨԶ֡ -* ˵UINT8 *pInputData ָ -* UINT16 *pItemLen еijȣΣ -* const UINT8 dstCiId ĿID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.05.23 -*/ -UINT8 PackManufacDefPacket(UINT8* pInputBuf, UINT16* pItemLen, const UINT8 dstCiId) -{ - UINT8 cRetVal = CI_ERROR; - UINT16 wPackedInfoNum = 0U; /*Ϣ*/ - UINT16 wDeviceId = 0U; /*豸ID*/ - UINT8 cDeviceState = 0U; /*豸״̬*/ - UINT16 ii = 0U; - UINT8 cTempCounter = 0U; /*ѭ*/ - UINT8 cBitOffset = 0U; /*λƫ*/ - UINT16 wPackedLen = 0U; - CiTransmitStruct* pTmpCiTransInfo = NULL; - UINT16 wSwitchRelPhySecId = 0U; /*ID*/ - UINT16 wLockedRouteId = 0U; /*·ID*/ - - pTmpCiTransInfo = GetDstCiTransInfo(dstCiId); - - if ((NULL != pInputBuf) && (NULL != pItemLen) && (NULL != pTmpCiTransInfo)) - { - /*鳧ԶϢ汾΢Ĭ0x01*/ - *(pInputBuf + wPackedLen) = MANUFAC_DEF_INFO_VER_WL; - wPackedLen++; - - /*Զ·*/ - for (ii = 0U; ii < pTmpCiTransInfo->autoRouteNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->autoRouteIdBuf[ii]; - cDeviceState = GetAutoRouteSetFlag(wDeviceId); /*ȡԶ·־*/ - if (AUTO_ROUTE_SET_YES == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*Զ·*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*δԶ·*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*ʱ*/ - for (ii = 0U; ii < pTmpCiTransInfo->logicSecNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ʱٹԤĬ鲻ڽʱ*/ - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*״̬*/ - for (ii = 0U; ii < pTmpCiTransInfo->switchNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->switchIdBuf[ii]; - cDeviceState = GetSwitchLockStatus(wDeviceId); /*ȡ״̬*/ - if ((SWITCH_LOCK_STATUS_PROTECT == cDeviceState) || (SWITCH_LOCK_STATUS_DAP == cDeviceState)) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*з*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*޷*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*״̬*/ - for (ii = 0U; ii < pTmpCiTransInfo->switchNum; ii++) - { - /*CTռ״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->switchIdBuf[ii]; - wSwitchRelPhySecId = GetSwitchPhySectionId(wDeviceId); /*ȡID*/ - cDeviceState = GetPhySecPreOccState(wSwitchRelPhySecId); /*ȡCT/UTռ״̬*/ - if ((LOGICSECTION_OCCUPY_UT == cDeviceState) || (LOGICSECTION_OCCUPY_NO == cDeviceState)) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /**/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*CTռ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - - /*UTռ״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - cDeviceState = GetPhySecPreOccState(wSwitchRelPhySecId); /*ȡCT/UTռ״̬*/ - if ((LOGICSECTION_OCCUPY_CT == cDeviceState) || (LOGICSECTION_OCCUPY_NO == cDeviceState)) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /**/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*UTռ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - - /*ν·״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - cDeviceState = GetPhySecLockState(wSwitchRelPhySecId); /*ȡ״̬*/ - wLockedRouteId = GetPhySecRLockBelongRouteId(wSwitchRelPhySecId); /*ȡν··ID*/ - if (((PHYSICAL_SECTION_LOCK_NORMAL == cDeviceState) || (PHYSICAL_SECTION_LOCK_DELAY == cDeviceState)) && (0U != wLockedRouteId)) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ڽ·*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*ڽ·*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - - /*η״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - cDeviceState = GetPhySecFLockState(wSwitchRelPhySecId); /*ȡη״̬*/ - if (PHYSICAL_SECTION_FLOCK_NO == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*δ*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - - /*쳣״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - cDeviceState = GetPhySecLockState(wSwitchRelPhySecId); /*ȡ״̬*/ - wLockedRouteId = GetPhySecRLockBelongRouteId(wSwitchRelPhySecId); /*ȡν··ID*/ - if ((PHYSICAL_SECTION_LOCK_EXCEPT == cDeviceState) && (0U != wLockedRouteId)) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ڹ*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*ڹ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*ͣ׼ͣ״̬*/ - for (ii = 0U; ii < pTmpCiTransInfo->phySecNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->phySecIdBuf[ii]; - cDeviceState = GetPhySecStopSteadyFlag(wDeviceId); /*ȡͣ׼ͣ״̬*/ - - if (PHYSICAL_SECTION_STOPSTEADY_YES == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ͣ׼ͣ*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*δͣ׼ͣ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*μԤλ״̬Ϊλ*/ - for (ii = 0U; ii < pTmpCiTransInfo->phySecNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->phySecIdBuf[ii]; - cDeviceState = GetPhySecPreResetState(wDeviceId); /*ȡμԤλ״̬*/ - - if (PHYSICAL_SECTION_PRE_RESET_YES == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*Ԥλ״̵̬*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*Ԥλ״̵̬*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*źŻƶ˿״̬*/ - for (ii = 0U; ii < pTmpCiTransInfo->signalNum; ii++) - { - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->signalIdBuf[ii]; - cDeviceState = GetSignalBlueDsBreakFlag(wDeviceId); /*ȡźŻƶ˿״̬*/ - - if (SIGNAL_DS_BREAK_NO == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*δ˿*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*ƶ˿*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - /*źŻ۳״̬Ŀ۳ͳվ۳*/ - for (ii = 0U; ii < pTmpCiTransInfo->signalNum; ii++) - { - /*źŻĿ۳״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDeviceId = pTmpCiTransInfo->signalIdBuf[ii]; - cDeviceState = GetSignalATSDetainFlag(wDeviceId); /*ȡźŻĿ۳״̬*/ - if (SIGNAL_ATS_DETAIN_NO == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ڿ۳*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*ڿ۳*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - - /*źŻվ۳״̬*/ - cTempCounter = (UINT8)(wPackedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽڿɴ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - cDeviceState = GetSignalLocalDetainFlag(wDeviceId); /*ȡźŻվ۳״̬*/ - if (SIGNAL_XIANDI_DETAIN_NO == cDeviceState) - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000010B << cBitOffset); /*ڿ۳*/ - } - else - { - *(pInputBuf + wPackedLen) = *(pInputBuf + wPackedLen) | (BIT_VAL_00000001B << cBitOffset); /*ڿ۳*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wPackedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wPackedInfoNum++; /*һϢ1*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) != cTempCounter) - { - wPackedLen++; /*һֽδ4ϢҪ1*/ - } - else - { - /**/ - } - - *pItemLen = wPackedLen; - cRetVal = CI_SUCCESS; - } - else - { - cRetVal = CI_ERROR; /*ηǷʧ*/ - } - - return cRetVal; -} - -/* -* ͨԶ֡ -* ˵const UINT8 *pInputData ָ -* UINT16 *pItemLen еij -* const UINT8 srcCiId ԴID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.05.26 -*/ -UINT8 ParseManufacDefPacket(const UINT8* pInputData, UINT16* pItemLen, const UINT8 srcCiId) -{ - UINT8 cRetVal = CI_ERROR; - UINT8 cLocalCiId = 0U; - const CiTransmitStruct* pCiRecptStru = NULL; - AutoRouteDataStruct* pstrAutoRouteData = NULL; /*Զ·̬ݽṹָ*/ - LogicSectionDataStruct* pstrLogSecData = NULL; /*߼ζ̬ݽṹָ*/ - SwitchDataStruct* pstrSwitchData = NULL; /*̬ݽṹָ*/ - PhysicalSectionDataStruct* pstrPhySecData = NULL; /*ζ̬ݽṹָ*/ - SignalDataStruct* pstrSignalData = NULL; /*źŻ̬ݽṹָ*/ - UINT8 cInfoVer = 0U; /*Ϣ汾*/ - UINT16 wParsedLen = 0U; /*ָƫ*/ - UINT16 ii = 0U; - UINT16 wParsedInfoNum = 0U; /*ѽϢ*/ - UINT8 cTempCounter = 0U; /*ѭ*/ - UINT8 cBitOffset = 0U; /*λƫ*/ - UINT16 wDevId = 0U; /*豸ID*/ - UINT8 cDevBelongCiId = 0U; /*豸*/ - UINT16 wDevIndex = 0U; /*豸ID*/ - UINT8 cDevInfo = 0U; /*豸Ϣ*/ - UINT8 cDevState = 0U; /*豸״̬*/ - UINT8 cPhySecCtOcc = 0U; /*CTռ״̬*/ - UINT8 cPhySecUtOcc = 0U; /*UTռ״̬*/ - UINT8 cPhySecCtOrUtOcc = 0U; /*CT/UTռ״̬*/ - UINT8 cPhySecRouteLockState = 0U; /*ν·״̬*/ - UINT8 cPhySecExceptLockState = 0U; /*ι״̬*/ - UINT8 cPhySecLockState = 0U; /*״̬*/ - UINT8 cPhySecFLockState = 0U; /*η״̬*/ - UINT16 wPhySecId = 0U; /*ID*/ - UINT8 cSignalAtsDetainFlag = 0U; /*źŻĿ۳־*/ - UINT8 cSignalXiandiDetainFlag = 0U; /*źŻվ۳־*/ - - cLocalCiId = GetSystemParaLocalCiId(); - pCiRecptStru = GetSrcCiTransInfo(srcCiId); /*ȡԴӦĽṹ*/ - pstrAutoRouteData = GetAutoRouteDataStr(); /*ȡԶ·̬ݽṹ*/ - pstrLogSecData = GetLogicSecData(); /*ȡ߼ζ̬ݽṹ*/ - pstrSwitchData = GetSwitchData(); /*ȡ̬ݽṹ*/ - pstrPhySecData = GetPhySecData(); /*ȡζ̬ݽṹ*/ - pstrSignalData = GetSignalData(); /*ȡźŻ̬ݽṹ*/ - - if ((NULL !=pInputData) && (NULL != pItemLen) && (NULL != pCiRecptStru) && (0U != cLocalCiId) && (NULL != pstrAutoRouteData) - && (NULL != pstrLogSecData) && (NULL != pstrSwitchData) && (NULL != pstrPhySecData) && (NULL != pstrSignalData)) - { - cInfoVer = *(pInputData + wParsedLen); - wParsedLen++; - - if (MANUFAC_DEF_INFO_VER_WL == cInfoVer) - { - cRetVal = CI_SUCCESS; - - /*Զ·Ϣ*/ - for (ii = 0U; ii < pCiRecptStru->autoRouteNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->autoRouteIdBuf[ii]; - cDevBelongCiId = GetAutoRouteBelongCiId(wDevId); /*ȡԶ·*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetAutoRouteBufIndex(wDevId); - pstrAutoRouteData[wDevIndex].AutoRouteId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢Զ·Ϣ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - SetAutoRouteSetFlag(wDevId, AUTO_ROUTE_SET_YES); /*Զ·Ѱ*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - SetAutoRouteSetFlag(wDevId, AUTO_ROUTE_SET_NO); /*Զ·δ*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: AutoRoute Id[%d] State Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - - /*ʱϢ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->logicSecNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->logicSecIdBuf[ii]; - cDevBelongCiId = GetLogSecBelongCiId(wDevId); /*ȡ߼*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetlogSectionBufIndex(wDevId); - pstrLogSecData[wDevIndex].LogicSectionId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢߼νʱϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - /*TODO: ʱٹܾ߱*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - /*TODO: ʱٹܾ߱*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: LogSec Id[%d] Urgent Tsr Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - } - else - { - cRetVal = CI_ERROR; - } - - /*Ϣ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->switchNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->switchIdBuf[ii]; - cDevBelongCiId = GetSwitchBelongCiId(wDevId); /*ȡ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetSwitchConfigBufIndex(wDevId); - pstrSwitchData[wDevIndex].SwitchId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000001B == cDevState) - { - SetHlhtCiSwitchPlockStatus(wDevId, SWITCH_LOCK_STATUS_PROTECT); /*õз*/ - } - else if (BIT_VAL_00000010B == cDevState) - { - SetHlhtCiSwitchPlockStatus(wDevId, SWITCH_LOCK_STATUS_NO); /*õ޷*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] PLock Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - } - else - { - cRetVal = CI_ERROR; - } - - /*״̬Ϣ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->switchNum; ii++) - { - /*ȷCTռ״̬*/ - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - cPhySecCtOcc = LOGICSECTION_OCCUPY_NO; /**/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cPhySecCtOcc = LOGICSECTION_OCCUPY_CT; /*CTռ*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] CT Occ Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - /*ȷUTռ״̬*/ - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - cPhySecUtOcc = LOGICSECTION_OCCUPY_NO; /**/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cPhySecUtOcc = LOGICSECTION_OCCUPY_UT; /*UTռ*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] UT Occ Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - /*ȷν·״̬*/ - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - cPhySecRouteLockState = PHYSICAL_SECTION_LOCK_NORMAL; /*·*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cPhySecRouteLockState = PHYSICAL_SECTION_LOCK_NO; /*δ·*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] RouteLock Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - /*ȷη״̬*/ - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - cPhySecFLockState = PHYSICAL_SECTION_FLOCK_NO; /*δ*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cPhySecFLockState = PHYSICAL_SECTION_FLOCK_YES; /**/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] Flock Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - /*ȷι״̬*/ - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ĵϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - cPhySecExceptLockState = PHYSICAL_SECTION_LOCK_EXCEPT; /*쳣*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cPhySecExceptLockState = PHYSICAL_SECTION_LOCK_NO; /*δ쳣*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] ExceptLock Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - /*ȷCT/UTռ״̬*/ - if ((LOGICSECTION_OCCUPY_NO == cPhySecCtOcc) && (LOGICSECTION_OCCUPY_NO == cPhySecUtOcc)) - { - cPhySecCtOrUtOcc = LOGICSECTION_OCCUPY_NO; /*CT/UTУ*/ - } - else if ((LOGICSECTION_OCCUPY_CT == cPhySecCtOcc) && (LOGICSECTION_OCCUPY_NO == cPhySecUtOcc)) - { - cPhySecCtOrUtOcc = LOGICSECTION_OCCUPY_CT; /*CTռãUTУCTռ*/ - } - else if ((LOGICSECTION_OCCUPY_NO == cPhySecCtOcc) && (LOGICSECTION_OCCUPY_UT == cPhySecUtOcc)) - { - cPhySecCtOrUtOcc = LOGICSECTION_OCCUPY_UT; /*CTУUTռãUTռ*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] CT And UT Diff", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - /*ȷ״̬*/ - if ((PHYSICAL_SECTION_LOCK_NO == cPhySecRouteLockState) && (PHYSICAL_SECTION_LOCK_NO == cPhySecExceptLockState)) - { - cPhySecLockState = PHYSICAL_SECTION_LOCK_NO; /*·պ͹վδգδ*/ - } - else if ((PHYSICAL_SECTION_LOCK_NORMAL == cPhySecRouteLockState) && (PHYSICAL_SECTION_LOCK_NO == cPhySecExceptLockState)) - { - cPhySecLockState = PHYSICAL_SECTION_LOCK_NORMAL; /*·ΪգΪδգ*/ - } - else if ((PHYSICAL_SECTION_LOCK_NO == cPhySecRouteLockState) && (PHYSICAL_SECTION_LOCK_EXCEPT == cPhySecExceptLockState)) - { - cPhySecLockState = PHYSICAL_SECTION_LOCK_EXCEPT; /*·ΪδգΪ쳣գ쳣*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Switch Id[%d] Lock Diff Error", srcCiId, pCiRecptStru->switchIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if (CI_SUCCESS == cRetVal) - { - wDevId = pCiRecptStru->switchIdBuf[ii]; - wPhySecId = GetSwitchPhySectionId(wDevId); - cDevBelongCiId = GetPhySecBelongCiId(wPhySecId); /*ȡ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetPhySecConfigBufIndex(wDevId); - pstrPhySecData[wDevIndex].PhysicalSectionId = wPhySecId; - - /*ʱԤ*/ -#if 0 - SetPhySecLockStateHlht(wPhySecId, cPhySecLockState); /*״̬*/ - SetPhySecFLockState(wPhySecId, cPhySecFLockState); /*η״̬*/ - SetHlhtPhySecCtOrUtOccState(wPhySecId, cPhySecCtOrUtOcc); /*CT/UTռ״̬*/ -#endif - } - else - { - /**/ - } - } - else - { - cRetVal = CI_ERROR; - break; - } - } - } - else - { - cRetVal = CI_ERROR; - } - - /*ͣ׼ͣϢ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->phySecNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->phySecIdBuf[ii]; - cDevBelongCiId = GetPhySecBelongCiId(wDevId); /*ȡ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetPhySecConfigBufIndex(wDevId); - pstrPhySecData[wDevIndex].PhysicalSectionId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢ͣ׼ͣϢ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - SetPhySecStopSteadyFlag(wDevId, PHYSICAL_SECTION_STOPSTEADY_YES); /*ͣ׼ͣ*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - SetPhySecStopSteadyFlag(wDevId, PHYSICAL_SECTION_STOPSTEADY_NO); /*δͣ׼ͣ*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: PhySec Id[%d] Stop Steady Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - } - else - { - cRetVal = CI_ERROR; - } - - /*μԤλ״̬Ϣ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->phySecNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->phySecIdBuf[ii]; - cDevBelongCiId = GetPhySecBelongCiId(wDevId); /*ȡ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetPhySecConfigBufIndex(wDevId); - pstrPhySecData[wDevIndex].PhysicalSectionId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢μԤλ״̬Ϣ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - SetPhySecPreResetState(wDevId, PHYSICAL_SECTION_PRE_RESET_YES); /*μԤλ״̬Ч*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - SetPhySecPreResetState(wDevId, PHYSICAL_SECTION_PRE_RESET_NO); /*μԤλ״̬Ч*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: PhySec Id[%d] PreReset Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - } - else - { - cRetVal = CI_ERROR; - } - - /*źŻƶ˿Ϣ*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->signalNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - - wDevId = pCiRecptStru->signalIdBuf[ii]; - cDevBelongCiId = GetSignalBelongCiId(wDevId); /*ȡźŻ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetSignalConfigBufIndex(wDevId); - pstrSignalData[wDevIndex].SignalId = wDevId; - - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢źŻƶ˿Ϣ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - if (BIT_VAL_00000010B == cDevState) - { - SetHlhtCiSignalBlueDsBreakFlag(wDevId, SIGNAL_DS_BREAK_NO); /*źŻδƶ˿*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - SetHlhtCiSignalBlueDsBreakFlag(wDevId, SIGNAL_DS_BREAK_YES); /*źŻƶ˿*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Signal Id[%d] BlueDengsi Error", srcCiId, wDevId); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - break; - } - } - else - { - /**/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - } - } - else - { - cRetVal = CI_ERROR; - } - - /*źŻ۳ϢĿ۳ͳվ۳*/ - if (CI_SUCCESS == cRetVal) - { - for (ii = 0U; ii < pCiRecptStru->signalNum; ii++) - { - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢źŻ۳Ϣ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - - /*ȷĿ۳״̬*/ - if (BIT_VAL_00000010B == cDevState) - { - cSignalAtsDetainFlag = SIGNAL_DETAIN_ATS_NO; /*Ŀ۳*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cSignalAtsDetainFlag = SIGNAL_DETAIN_ATS; /*Ŀ۳*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Signal Id[%d] Ats Detain Error", srcCiId, pCiRecptStru->signalIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - cTempCounter = (UINT8)(wParsedInfoNum % DEV_NUM_PER_BYTE); /*ÿ2λһϢһֽ4Ϣ*/ - cBitOffset = cTempCounter * BIT_NUM_PER_DEV; - cDevInfo = *(pInputData + wParsedLen); /*ֽڴ洢źŻ۳Ϣ*/ - cDevState = (cDevInfo >> cBitOffset) & BIT_MASK_00000011B; - - /*ȷվ۳״̬*/ - if (BIT_VAL_00000010B == cDevState) - { - cSignalXiandiDetainFlag = SIGNAL_DETAIN_XIANDI_NO; /*ڳվ۳*/ - } - else if (BIT_VAL_00000001B == cDevState) - { - cSignalXiandiDetainFlag = SIGNAL_DETAIN_XIANDI; /*ڳվ۳*/ - } - else - { - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse ManufacDef Error: Signal Id[%d] Xiandi Detain Error", srcCiId, pCiRecptStru->signalIdBuf[ii]); - cRetVal = CI_ERROR; /*Ϣ쳣ʧ*/ - } - - if ((DEV_NUM_PER_BYTE - 1U) == cTempCounter) - { - wParsedLen++; /*һֽڣȼ1*/ - } - else - { - /**/ - } - wParsedInfoNum++; /*һϢ1*/ - - if (CI_SUCCESS == cRetVal) - { - wDevId = pCiRecptStru->signalIdBuf[ii]; - cDevBelongCiId = GetSignalBelongCiId(wDevId); /*ȡźŻ*/ - if ((cLocalCiId != cDevBelongCiId) && (0U != cDevBelongCiId)) - { - /*洢DZ豸״̬*/ - wDevIndex = GetSignalConfigBufIndex(wDevId); - pstrSignalData[wDevIndex].SignalId = wDevId; - SetSignalDetainFlag(wDevId, cSignalAtsDetainFlag); /*źŻĿ۳*/ - SetSignalDetainFlag(wDevId, cSignalXiandiDetainFlag); /*źŻĿ۳*/ - } - else - { - /**/ - } - } - else - { - cRetVal = CI_ERROR; - break; - } - } - } - else - { - cRetVal = CI_ERROR; - } - - if (CI_SUCCESS == cRetVal) - { - if ((DEV_NUM_PER_BYTE - 1U) != cTempCounter) - { - wParsedLen++; /*һֽδ4ϢҪ1*/ - } - else - { - /**/ - } - - *pItemLen = wParsedLen; - } - else - { - cRetVal = CI_ERROR; - } - } - else - { - /*ԶϢ汾һ£ʧ*/ - cRetVal = CI_ERROR; - debug_infor_printf((const)"\nHlht Ci Id[%d] Parse Error: ManufacDef Info Ver Is Diff.", srcCiId); - } - } - else - { - cRetVal = CI_ERROR; /*ηǷȡʧܣʧ*/ - } - return cRetVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.h index 929eb1b..c19955d 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackCiData.h @@ -58,8 +58,6 @@ #define MANUFAC_DEF_STATUS_PACKET ((UINT16)0x020c) /*ԶϢ*/ -#define MANUFAC_DEF_INFO_VER_WL ((UINT8)0x01) /*ԶϢ汾΢*/ - #define PSD_NUM_PER_BYTE ((UINT8)2) /*PSDֽڳ*/ #define BIT_NUM_PER_PSD ((UINT8)(8U / PSD_NUM_PER_BYTE)) /*PSDֽڳ*/ #define ESB_NUM_PER_BYTE ((UINT8)4) /*ͣťֽڳ*/ @@ -71,9 +69,6 @@ #define TSR_NUM_PER_BYTE ((UINT8)4) /*TSRťֽڳ*/ #define BIT_NUM_PER_TSR ((UINT8)(8U / TSR_NUM_PER_BYTE)) /*TSRֽڳ*/ -#define DEV_NUM_PER_BYTE ((UINT8)4U) /*ÿһֽڰ豸Ŀ*/ -#define BIT_NUM_PER_DEV ((UINT8)(8U / DEV_NUM_PER_BYTE)) /*ÿһ豸ռλĿ*/ - #define PACKET_LENGTH_LEN ((UINT8)2) /*ܳ*/ #define PACKET_TYPE_LEN ((UINT8)2) /*ͳ*/ @@ -100,13 +95,13 @@ #define PHYSEC_LOCKDIRECTION_OPPST_YES ((UINT8)0xAA) /*ȡ*/ #define PHYSEC_LOCKDIRECTION_OPPST_DEFAULT ((UINT8)0xFF) /*Ĭֵ*/ -#define CICI_VERSION ((UINT16)29) /*ciciӿڰ汾ţÿ޸ĽӿҪ汾šLast Modified On 2025.09.22*/ +#define CICI_VERSION ((UINT16)23) /*ciciӿڰ汾ţÿ޸ĽӿҪ汾šLast Modified On 2025.03.10*/ #define CICI_BEGIN_TO_STATION_LEN ((UINT16)16) /*ӿʼվֹ cgh4ֽCI-CIУϢ*/ #define CICI_ONE_SWITCH_LEN ((UINT16)13) /*һݳ*/ #define CICI_ONE_PHYSEC_LEN ((UINT16)23U)/*һݳ*/ #define CICI_ONE_LOGSEC_LEN ((UINT16)10)/*һ߼ݳ*/ -#define CICI_ONE_SIGNAL_LEN ((UINT16)11)/*һźŻݳ*/ -#define CICI_ONE_PSD_LEN ((UINT16)5)/*һݳ*/ +#define CICI_ONE_SIGNAL_LEN ((UINT16)9)/*һźŻݳ*/ +#define CICI_ONE_PSD_LEN ((UINT16)4)/*һݳ*/ #define CICI_ONE_ESB_LEN ((UINT16)4)/*һESBݳ*/ #define CICI_ONE_ROUTE_LEN ((UINT16)12)/*һ·ݳ*/ #define CICI_ONE_PHYSEC_LOCKSTATE_LEN ((UINT16)10)/*һ״̬ݳ*/ @@ -238,18 +233,9 @@ extern "C" { UINT8 cSourceCiId; /*ͷID*/ UINT8 cTargetCiId; /*շID*/ UINT8 cPlatFormNum; /*ѩվ̨*/ - AreaSnowInfoStruct szPlatFormInfo[CI_TO_CI_AREA_SNOW_SUM_MAX]; /*ѩϢ*/ + UINT32 dwPlatFormId[CI_TO_CI_AREA_SNOW_SUM_MAX]; /*ѩվ̨ͨID*/ } ToCiAreaSnowStruct; - /*RCITEгϢ*/ - typedef struct S_ToCiAreaIteCutStruct - { - UINT8 cSourceCiId; /*ͷID*/ - UINT8 cTargetCiId; /*շID*/ - UINT8 cAreaIteCutNum; /*ITEг*/ - UINT16 wAreaIteCutId[CI_TO_CI_AREA_SNOW_SUM_MAX]; /*ID*/ - } ToCiAreaIteCutStruct; - /*******************************ȫֱ*******************************/ extern ToCiCommandDataStruct RecvCiCmdDataStru[RECVCI_CMD_DATA_STRU_SUM_MAX]; extern UINT16 RecvCiCmdDataStruCurSum; @@ -266,8 +252,6 @@ extern "C" { extern UINT8 SendCiDrCmdSum; extern ToCiAreaSnowStruct szRecvCiAreaSnow[CI_COM_CI_MAX_NUM]; extern ToCiAreaSnowStruct szSendCiAreaSnow[CI_COM_CI_MAX_NUM]; - extern ToCiAreaIteCutStruct szRecvCiAreaIteCut[CI_COM_CI_MAX_NUM]; - extern ToCiAreaIteCutStruct szSendCiAreaIteCut[CI_COM_CI_MAX_NUM]; /* * CI @@ -737,23 +721,21 @@ UINT8 CiToCiEnvelopeCheck(const UINT8* dataBuf, UINT16* index); * ͸ѩϢ * ˵ UINT8 cSrcCiId ͷCI * UINT8 cDstCiId շCI -* UINT16 wAreaSnowId ID -* UINT8 cAreaSnowLevel ʪ켶 -* ֵ -* Modified By LQ 2025.5.28 +* UINT32 dwAreaSnowId ѩվ̨ID +* ֵ +* Created By LQ 2023.11.16 */ -void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaSnowId, UINT8 cAreaSnowLevel); +void AddCiRecvAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT32 dwAreaSnowId); /* * ӱ͸ָIDѩϢ * ˵ UINT8 cSrcCiId ͷCI * UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* UINT8 cAreaSnowLevel ʪȼ -* ֵ -* Modified By LQ 2025.05.28 +* UINT32 dwAreaSnowId ѩվ̨ID +* ֵ +* Created By LQ 2023.11.16 */ -void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId, UINT8 cAreaSnowLevel); +void AddCiSendAreaSnowInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT32 dwAreaSnowId); /* * ȡ͸ѩϢ @@ -927,90 +909,6 @@ UINT8 PackHlhtPacketHeadPha1(UINT8 dstCiId, UINT8 * pInputData, UINT16 * pHeadDa */ UINT8 InitNeedOlapUsingOtherCiProSw(void); -/* -* ͸ITEгϢ -* ˵const UINT8 cSrcCiId ͷCI -* ֵ -* Created By LQ 2025.04.14 -*/ -void ClearCiRecvAreaIteCutInfo(const UINT8 cSrcCiId); - -/* -* ͸ITEгϢ -* ˵ -* ֵ -* Created By LQ 2025.04.14 -*/ -void ClearCiSendAreaIteCutInfo(void); - -/* -* ȡ͸ITEгϢ -* ˵ -* ֵ ITEгϢ -* Created By LQ 2025.04.14 -*/ -ToCiAreaIteCutStruct* GetCiRecvAreaIteCutInfo(void); - -/* -* ȡ͸ָIDITEгϢ -* ˵const UINT8 cTargetCiId Ŀ -* ֵ͸ITEгϢ -* Created By LQ 2023.11.16 -*/ -ToCiAreaIteCutStruct* GetCiSendAreaIteCutInfo(const UINT8 cTargetCiId); - -/* -* ͸ITEгϢ -* ˵UINT8 cSrcCiId ͷCI -* UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* ֵ -* Created By LQ 2025.04.14 -*/ -void AddCiRecvAreaIteCutInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId); - -/* -* ӱ͸ָIDITEгϢ -* ˵UINT8 cSrcCiId ͷCI -* UINT8 cDstCiId շCI -* UINT16 wAreaId ID -* ֵ -* Created By LQ 2025.04.14 -*/ -void AddCiSendAreaIteCutInfo(UINT8 cSrcCiId, UINT8 cDstCiId, UINT16 wAreaId); - -/* -* УCI͵ĴITEг -* ˵const UINT8* dataBuf ݣ -* UINT16* index -* ֵ0 Уʧ -* 1 Уɹ -* Created By LQ 2024.04.15 -*/ -UINT8 CheckCiToCiAreaIteCutData(const UINT8* dataBuf, UINT16* index); - -/* -* 黥ͨԶ֡ -* ˵UINT8 *pInputData ָ -* UINT16 *pItemLen еijȣΣ -* const UINT8 dstCiId ĿID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.05.23 -*/ -UINT8 PackManufacDefPacket(UINT8* pInputBuf, UINT16* pItemLen, const UINT8 dstCiId); - -/* -* ͨԶ֡ -* ˵const UINT8 *pInputData ָ -* UINT16 *pItemLen еij -* const UINT8 srcCiId ԴID -* ֵCI_SUCCESS 1 ɹ -* CI_ERROR 0 ʧ -* Created By LQ 2025.05.26 -*/ -UINT8 ParseManufacDefPacket(const UINT8* pInputData, UINT16* pItemLen, const UINT8 srcCiId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.c index 0b4c017..7d9949c 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.c @@ -31,7 +31,6 @@ PlatHeartDataStruct RecvHeartDataStru = { 0U }; /*ƽ̨֡ݽṹ*/ PlatGPIODataStruct RecvPlatDataStruGPIO = { 0U };/*ƽ̨0x2D֡ݽṹ GPIOɼ״̬*/ -PlatGPIOToleranceDataStruct gPlatDataGPIOTolercance = { 0U };/*ƽ̨Ӳɼ̼¼*/ /* * źŻλ @@ -62,13 +61,7 @@ UINT8 SignalMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* da UINT8 detainBtnErrFlag = SIGNAL_ZFS_BTN_ERR_FLAG_NO; /*۳ťϱ־*/ UINT8 SignalCrossState = 0U; UINT8 SigVobcCrossInPhyOccSta = 0U; - UINT8 chDsFlag = SIGNAL_DS_BREAK_YES; - UINT8 CiPattern = 0u; - UINT8 chDsnLinSwitch = 0U; - UINT8 cDevState = 0U; - chDsnLinSwitch = GetCiFunctionSwitchConfig(FUNC_DSN_LINE_SWITCH); - CiPattern = GetLocalCiPattern(); switch (MaskType) { case MASK_TYPE_SIGNAL_RED:/*λ*/ @@ -287,70 +280,9 @@ UINT8 SignalMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* da } break; case MASK_TYPE_SIGNAL_BREAK:/*źŻ˿λ*/ - if ((CI_PATTERN_FULL_ELECTRONIC == CiPattern) && (FUNC_SWITCH_OFF == chDsnLinSwitch))/*ȫ*/ + if (SIGNAL_SHOWCOLOUR_REDBREAK == GetSignalCurColor(DeviceId)) { - getState = GetSignalCurColor(DeviceId); /*OCͨжδö˿־źŻɫΪ*/ - chDsFlag = GetSignalDsBreakFlag(DeviceId); - if ((SIGNAL_DS_BREAK_YES == chDsFlag)||(SIGNAL_SHOWCOLOUR_REDBREAK == getState)) - { - ; /*0Ϊ˿*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - } - else - { - getState = GetSignalCurColor(DeviceId); - if (SIGNAL_SHOWCOLOUR_REDBREAK == getState) - { - ; /*0˿*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - } - break; - case MASK_TYPE_SIGNAL_GREENBREAK:/*źŻ˿λ*/ - chDsFlag = GetSignalGreenDsBreakFlag(DeviceId); - if (SIGNAL_DS_BREAK_YES== chDsFlag) - { - ; /*0Ϊ˿*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - break; - case MASK_TYPE_SIGNAL_YELLOWBREAK:/*źŻ˿λ*/ - chDsFlag = GetSignalYellowDsBreakFlag(DeviceId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - ; /*0Ϊ˿*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - break; - case MASK_TYPE_SIGNAL_WHITEBREAK:/*źŻ˿λ*/ - chDsFlag = GetSignalWhiteDsBreakFlag(DeviceId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - ; /*0Ϊ˿*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - break; - case MASK_TYPE_SIGNAL_BLUEBREAK:/*źŻ˿λ*/ - chDsFlag = GetSignalBlueDsBreakFlag(DeviceId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - ; /*0Ϊ˿*/ + } else { @@ -470,28 +402,6 @@ UINT8 SignalMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* da /*λֵ0*/ } break; - case MASK_TYPE_SIGNAL_DET_CUT_VALID: - cDevState = GetDetCutBtnState(DeviceId); - if (SIGNAL_DETAIN_CUT_VALID_YES == cDevState) - { - SetMaskValue(MaskId, dataBuf); /*۳·ťЧλֵ1*/ - } - else - { - /*۳·ťЧλֵ0*/ - } - break; - case MASK_TYPE_SIGNAL_DET_CUT_ERR: - cDevState = GetSignalDetCutBtnErrFlag(DeviceId); - if (SIGNAL_ZFS_BTN_ERR_FLAG_YES == cDevState) - { - SetMaskValue(MaskId, dataBuf); /*۳·ťϣλֵ1*/ - } - else - { - /*۳·ťδϣλֵ0*/ - } - break; default: returnValue = CI_ERROR; break; @@ -738,18 +648,6 @@ UINT8 SwitchMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* da SetMaskValue(MaskId, dataBuf); } break; - case MASK_TYPE_SWITCH_JICHA: - /*̬̬λ: 28.0.0.14ݽṹʹ*/ - switchCurPosition = GetSwitchJichaState(DeviceId); - if ((SWITCH_POSITION_SUDDEN_JICHA == switchCurPosition)|| (SWITCH_POSITION_DYNAMIC_JICHA == switchCurPosition)) - { - ; /*ЧֵΪ0*/ - } - else - { - SetMaskValue(MaskId, dataBuf); - } - break; default: returnValue = CI_ERROR; break; @@ -1558,7 +1456,6 @@ UINT8 RouteMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* dat UINT8 firstLogicOccuState = GetLogSecCurOccupyState(GetRouteInFirstLogSecId(DeviceId)); UINT8 dcQState = GetRouteDCQState(DeviceId);/*·״̬*/ UINT8 dcTState = GetRouteDCTYState(DeviceId);/*·ͬ״̬*/ - UINT8 chDCAgreeBtnErrState = GetRouteDcAgreeButtonErrState(DeviceId);/*·ͬⰴť״̬*/ UINT8 RouteCiId = 0u; /*·*/ UINT8 CiTypeOfRoute = 0u; /*ǰ·*/ UINT8 ciTrainTestState = 0u; /*Գ״̬*/ @@ -1759,20 +1656,6 @@ UINT8 RouteMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* dat } break; - case MASK_TYPE_ROUTE_DC_AGREE_ERR:/*ͬⰴťλ*/ - { - if (ROUTE_DC_AGREE_BUTTON_OK == chDCAgreeBtnErrState) - { - /*ͬⰴťδϣ1*/ - SetMaskValue(MaskId, dataBuf); - } - else - { - /*ͬⰴťϣ0*/ - } - } - break; - case MASK_TYPE_AUTOROUTE_STATE:/*Զͨ·״̬λ*/ if (AUTO_ROUTE_SET_YES == GetAutoRouteSetFlag(DeviceId)) {/*Զͨ·־*/ @@ -1878,9 +1761,6 @@ UINT8 PlatMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* data UINT8 chPsdVideoQkDriveState = 0U;/*ȷƵ״̬*/ UINT8 chRtnIndicatorDevId = 0U;/*۷豸ID*/ UINT8 chNonRrnAdhesionState = 0U;/*۷ťճ״̬*/ - UINT8 cEsbCutErrFlag = ESB_ERROR_FLAG_NO; /*ر·ťϱ־*/ - UINT16 wEsbCollRelayId = 0U; /*ESBɼ̵ID*/ - UINT8 cPsdExceptOpenState = 0U; /*쳣״̬*/ chRtnIndicatorDevId = GetIndicatorRelNonReturnId(DeviceId); virtualZDZFBelongCiId = GetVirtualZDZFBelongCiId(); @@ -1992,29 +1872,6 @@ UINT8 PlatMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* data /*λֵ0*/ } break; - case MASK_TYPE_CUT_ESP_FAULT: - cEsbCutErrFlag = GetEsbCutErrFlag(DeviceId); - if (ESB_ERROR_FLAG_YES == cEsbCutErrFlag) - { - SetMaskValue(MaskId, dataBuf); - } - else - { - /*λֵ0*/ - } - break; - case MASK_TYPE_ESP_PRESS_STATE: - wEsbCollRelayId = GetEsbRelayId(DeviceId); /*ȡESBɼ̵*/ - RelayCollState = GetRelayCollState(wEsbCollRelayId); /*ȡESBɼ̵״̬*/ - if (RELAY_STATE_UP == RelayCollState) - { - SetMaskValue(MaskId, dataBuf); /*ESBδ£1*/ - } - else - { - /*ESB£0*/ - } - break; case MASK_TYPE_PSD_STATE_ATS:/*վ̨״̬λ;ATS*/ /*ȡŻ״̬״̬*/ mutualLockState = GetPsdMutualLockRemoveState(DeviceId); @@ -2232,17 +2089,6 @@ UINT8 PlatMaskManage(UINT8 MaskType, UINT16 DeviceId, UINT16 MaskId, UINT8* data /*Ƶ״̬Ϊ˻ЧλЧ*/ } break; - case MASK_TYPE_PSD_EXCEPT_OPEN: /*վ̨쳣״̬λ-ZC/ATS*/ - cPsdExceptOpenState = GePsdExceptOpenState(DeviceId); - if (PSD_EXCEPT_OPEN_NO == cPsdExceptOpenState) - { - SetMaskValue(MaskId, dataBuf); /*PSDδ쳣򿪣λ1*/ - } - else - { - /*PSD쳣򿪣λ0*/ - } - break; default: returnValue = CI_ERROR; break; @@ -2792,10 +2638,10 @@ UINT8 OverlapValidMaskCheck(const UINT16 rtOverlapLockedId) /*߼һ£ռѹ*/ || (SECTION_OCCUPY_YES == GetPhySecCurMergeState(overlapContainPhySecIdBuf[ii]))) -#endif - { - returnValue = CI_ERROR; - break; +#endif + { + returnValue = CI_ERROR; + break; } } @@ -2899,22 +2745,6 @@ UINT8 OverlapValidMaskCheck(const UINT16 rtOverlapLockedId) returnValue = CI_ERROR; } } - - /*ղ̵״̬*/ - if (CI_SUCCESS == returnValue) - { - returnValue = OverlapZhaoChaRelayCheck(rtOverlapLockedId, ESEND_LEVEL_ZERO); - - if (CI_SUCCESS == returnValue) - { - returnValue = CI_SUCCESS; - } - else - { - /*ȴղ̵»Զ˼鲻ʧ*/ - returnValue = CI_ERROR; - } - } } else { @@ -2934,29 +2764,18 @@ UINT8 OverlapValidMaskCheck(const UINT16 rtOverlapLockedId) void PackCiToCimCommData(void) { /*ʼ*/ - UINT16 i = 0U; - UINT8 j = 0U; - UINT8 ciToCimDataBuffer[CI_TO_CIM_DATA_LEN_MAX] = { 0U }; + UINT16 i = 0u; + UINT8 j = 0u; + UINT8 ciToCimDataBuffer[CI_TO_CIM_DATA_LEN_MAX] = { 0u }; UINT8 deviceSum = 0u; /*ͨ豸*/ UINT8* pDeviceIdBuf = NULL; /*豸ID*/ UINT8 transmitState = 0u; /*ͨ״̬*/ UINT8 transmitDevSum = 0U; UINT16 transmitDevIndex = 0U; - UINT8 cLocalWorkMode = 0U; /*ģʽ*/ - UINT8 cLocalCiId = 0U; /*ID*/ - UINT32 dwCurCycNum = 0U; /*ǰں*/ - UINT32 dwRecvCycNum = 0U; /*յԷʱں*/ - UINT16 wTempCommVobcNumIndex = 0U; /*ͨųλ*/ - UINT8 cCommVobcNum = 0U; /*ͨų*/ - UINT8 cVobcToCiDataSum = 0U; - VobcToCiDataStruct* pstrVobcToCiData = NULL; - UINT32 dwCommBadCycCount = 0U; - cLocalWorkMode = GetLocalRcWorkMode(); - cLocalCiId = GetSystemParaLocalCiId(); - dwCurCycNum = Get2oo2CurCycleNum(); - ciToCimDataBuffer[i++] = cLocalWorkMode; - ciToCimDataBuffer[i++] = cLocalCiId; + + ciToCimDataBuffer[i++] = GetLocalRcWorkMode(); + ciToCimDataBuffer[i++] =GetSystemParaLocalCiId (); transmitDevIndex = i; i++; @@ -2969,19 +2788,7 @@ void PackCiToCimCommData(void) transmitState = Get2oo2CiAndOtherSysCommState(CI_SYSTEM_TYPE_ZC, 0U); ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_ZC; ciToCimDataBuffer[i++] = pDeviceIdBuf[0]; - - /*ZCͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_ZC, pDeviceIdBuf[0]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + ciToCimDataBuffer[i++] = 0U; if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3006,19 +2813,7 @@ void PackCiToCimCommData(void) transmitDevSum++; ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_TMC; ciToCimDataBuffer[i++] = pDeviceIdBuf[0]; - - /*TMCͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_TMC, pDeviceIdBuf[0]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + ciToCimDataBuffer[i++] = 0U; if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3045,19 +2840,8 @@ void PackCiToCimCommData(void) transmitDevSum++; ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_OC; ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - - /*OCͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_OC, pDeviceIdBuf[j]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + /*ͨ*/ + ciToCimDataBuffer[i++] = 0U; if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3089,19 +2873,8 @@ void PackCiToCimCommData(void) ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_PSC; /*ID*/ ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - - /*PSCͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_PSC, pDeviceIdBuf[j]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + /*ͨ*/ + ciToCimDataBuffer[i++] = 0U; if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3132,19 +2905,8 @@ void PackCiToCimCommData(void) transmitDevSum++; ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_AXIS; ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - - /*ͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_AXIS, pDeviceIdBuf[j]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + /*ͨ*/ + ciToCimDataBuffer[i++] = 0U; if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3177,18 +2939,8 @@ void PackCiToCimCommData(void) ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_CI; ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - /*RC/CIͨ*/ - dwRecvCycNum = GetCiTransmitRecvDataCycNum(cLocalCiId, CI_SYSTEM_TYPE_CI, pDeviceIdBuf[j]); - if ((0U != dwRecvCycNum) && (UINT8_MAX > (dwCurCycNum - dwRecvCycNum))) - { - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - dwRecvCycNum); /*ͨ豸*/ - } - else - { - ciToCimDataBuffer[i] = (UINT8)UINT8_MAX; /*ͨ豸*/ - } - i++; - + ciToCimDataBuffer[i++] = 0U; + /*ͨ*/ if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { ciToCimDataBuffer[i++] = CI_AND_OTHER_TRANSMIT_GOOD; @@ -3219,7 +2971,7 @@ void PackCiToCimCommData(void) ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_XIANDI; ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - ciToCimDataBuffer[i++] = (UINT8)UINT8_MAX; + ciToCimDataBuffer[i++] = 0U; /*ͨ*/ if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { @@ -3252,7 +3004,7 @@ void PackCiToCimCommData(void) ciToCimDataBuffer[i++] = CI_SYSTEM_TYPE_ATS; ciToCimDataBuffer[i++] = pDeviceIdBuf[j]; - ciToCimDataBuffer[i++] = (UINT8)UINT8_MAX; + ciToCimDataBuffer[i++] = 0U; /*ͨ*/ if (TRANSMIT_2OO2_STATE_GOOD == transmitState) { @@ -3271,42 +3023,6 @@ void PackCiToCimCommData(void) } ciToCimDataBuffer[transmitDevIndex] =transmitDevSum; - - /*ͨųͨ*/ - wTempCommVobcNumIndex = i; /*ͨųλ*/ - i++; - - cVobcToCiDataSum = GetVobcToCiSum(); - pstrVobcToCiData = GetVobcToCiDataStru(); - - if ((0U < cVobcToCiDataSum) && (VOBC_TO_CI_SUM_MAX > cVobcToCiDataSum) && (NULL != pstrVobcToCiData)) - { - dwCommBadCycCount = GetCiAndVobcTransBadEnsureCnt(); - for (j = 0U; j < cVobcToCiDataSum; j++) - { - if (dwCommBadCycCount >= (dwCurCycNum - pstrVobcToCiData[j].ComStartCycle)) - { - ciToCimDataBuffer[i] = (UINT8)pstrVobcToCiData[j].VobcId; /*ͨųID*/ - i++; - ciToCimDataBuffer[i] = (UINT8)(dwCurCycNum - pstrVobcToCiData[j].ComStartCycle); /*ͨų*/ - i++; - cCommVobcNum++; - } - else - { - /*ͨųʱһгͨ*/ - } - } - } - else - { - cCommVobcNum = 0U; - } - - ciToCimDataBuffer[wTempCommVobcNumIndex] = cCommVobcNum; /*ͨų*/ - - debug_infor_printf((const)"\nCIM_SEND_COMM:%d", i); - debug_out_array(0xAA, ciToCimDataBuffer, i); /*CIM*/ (void)DarkInfoPack(CIM_INFO_COMM_STATE, ciToCimDataBuffer, i); @@ -3907,13 +3623,13 @@ void PackCiToCimVerData(void) ciToCimDataBuffer[i++] = (UINT8)((pTiocFsVersion[2] << 4U) + pTiocFsVersion[3]); /*汾*/ ciToCimDataBuffer[i++] = VER_SOFT_PRODUCT; - ciToCimDataBuffer[i++] = VER_SOFT_MODUAL_APP; - ciToCimDataBuffer[i++] = VER_SOFT_MIANVERSION; + ciToCimDataBuffer[i++] = VER_SOFT_MODUAL_APP >> 2U; + ciToCimDataBuffer[i++] = (VER_SOFT_MODUAL_APP << 6U) + (VER_SOFT_MIANVERSION & (UINT8)0x3F); ciToCimDataBuffer[i++] = VER_SOFT_SUBVERSION; /*鼯ɰ汾*/ ciToCimDataBuffer[i++] = VER_INTE_PROJECT; ciToCimDataBuffer[i++] = VER_INTE_PRODUCT; - ciToCimDataBuffer[i++] = VER_INTE_EXE; + ciToCimDataBuffer[i++] = (UINT8)((UINT8)VER_INTE_EXE << 1U) + ((UINT8)VER_INTE_TIME >> 7U); ciToCimDataBuffer[i++] = VER_INTE_TIME; /*CIM*/ (void)DarkInfoPack(CIM_INFO_VER_INFO, ciToCimDataBuffer, i); @@ -3946,15 +3662,11 @@ void PackCiToCimDeviceData(void) FloodGateDataStruct* pFloodGateData = NULL; UINT8 cRcWorkMode = GetLocalRcWorkMode(); UINT8 chSwitchJichaState = 0U; - UINT8 chSwitchCurPos = 0U; - UINT32 switchCollTolerateCycNum = 0U; - UINT8 chSwitchBDState = SEND_CIM_COLLTOLERATE_NO; - UINT8 chSignalDsState = 0xFFU; /*͵*/ pSwitchData = GetSwitchData(); deviceNum = GetSwitchCurSum(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/**/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++)/*͸ĵĿ*/ { @@ -3968,8 +3680,8 @@ void PackCiToCimDeviceData(void) ShortToChar(pSwitchData[deviceId].SwitchId, &ciToCimDataBuffer[ii]);/*ID*/ ii += 2u; + chSwitchJichaState = GetSwitchJichaState(deviceId); - chSwitchCurPos = GetSingleSwitchCurPosition(pSwitchData[deviceId].SwitchId);/*״̬*/ if (SWITCH_POSITION_DYNAMIC_JICHA == chSwitchJichaState) { ciToCimDataBuffer[ii++] = 0x20U;/*̬*/ @@ -3981,7 +3693,7 @@ void PackCiToCimDeviceData(void) } else { - ciToCimDataBuffer[ii++] = chSwitchCurPos;/*ǰλ*/ + ciToCimDataBuffer[ii++] = pSwitchData[deviceId].SingleSwitchCurPosition;/*ǰλ*/ } @@ -3990,35 +3702,13 @@ void PackCiToCimDeviceData(void) ciToCimDataBuffer[ii++] = pSwitchData[deviceId].SwitchByPassState; /*·״̬*/ ciToCimDataBuffer[ii++] = pSwitchData[deviceId].ConnetSwitchDsState; /*ߵ״̬*/ - - switchCollTolerateCycNum = GetSwitchCollTolerateCycNum(pSwitchData[deviceId].SwitchId); - if (0u < switchCollTolerateCycNum) - { - if (SWITCH_POSITION_DINGWEI == chSwitchCurPos) - { - chSwitchBDState = SEND_CIM_COLLTOLERATE_DW;/*̺λ*/ - } - else if (SWITCH_POSITION_FANWEI == chSwitchCurPos) - { - chSwitchBDState = SEND_CIM_COLLTOLERATE_FW;/*̺λ*/ - } - else - { - chSwitchBDState = SEND_CIM_COLLTOLERATE_NO; - } - } - else - { - chSwitchBDState = SEND_CIM_COLLTOLERATE_NO;/*޲*/ - } - ciToCimDataBuffer[ii++] = chSwitchBDState; /*״̬*/ } /*źŻ*/ deviceNum = GetSignalCurSum(); pSignalData = GetSignalData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*źŻ*/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++)/*͸źŻĿ*/ { @@ -4032,15 +3722,14 @@ void PackCiToCimDeviceData(void) ciToCimDataBuffer[ii++] = pSignalData[deviceId].CancelDetainBtnErrFlag;/*ȡ۳ťϱ־*/ ciToCimDataBuffer[ii++] = pSignalData[deviceId].DetainBtnErrFlag;/*۳ťϱ־*/ ciToCimDataBuffer[ii++] = pSignalData[deviceId].RealyDetainFlag;/*Ӳ߿۳־*/ - chSignalDsState = GetSignalCurBreakFlag(pSignalData[deviceId].SignalId);/*˿˿־״̬*/ - ciToCimDataBuffer[ii++] = chSignalDsState; + ciToCimDataBuffer[ii++] = pSignalData[deviceId].DsBreakFlag;/*˿˿־״̬*/ } /*************************************PSD״̬********************************************/ /*״̬*/ deviceNum = GetPsdSum(); pPsdData = GetPsdData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD*/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++)/*͸PsdĿ*/ { @@ -4077,15 +3766,13 @@ void PackCiToCimDeviceData(void) ciToCimDataBuffer[ii++] = pPsdData[deviceId].chVideoQkDriveState; /*Ƶ״̬*/ ShortToChar(pPsdData[deviceId].wVideoQkRelateVobcId, &ciToCimDataBuffer[ii]);/*ƵͶӦгID*/ ii += 2u; - ciToCimDataBuffer[ii] = pPsdData[deviceId].cPsdExceptOpenState; /*쳣״̬0x55-쳣򿪣0xAA-δ쳣*/ - ii++; } /*״̬*/ deviceNum = GetEsbSum(); pEsbData = GetEsbData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*ESB*/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++)/*͸PsdĿ*/ { @@ -4109,7 +3796,7 @@ void PackCiToCimDeviceData(void) /*״̬*/ deviceNum = GetSpksSum(); pSpksData = GetSpksData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*SPKS*/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++)/*͸PsdĿ*/ { @@ -4153,7 +3840,7 @@ void PackCiToCimDeviceData(void) /*ӡϴ*/ pWashMachineData = GetWashMachineData(); deviceNum = GetWashMachineSum(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*ϴ*/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++) { @@ -4194,7 +3881,7 @@ void PackCiToCimDeviceData(void) /*ӡ*/ deviceNum = GetGaragedoorSum(); pGrageDoorData = GetGaragedoorData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/**/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++) { @@ -4227,7 +3914,7 @@ void PackCiToCimDeviceData(void) /*ӡ*/ deviceNum = GetFloodGateCurSum(); pFloodGateData = GetFloodGateData(); - ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/**/ + ShortToChar(deviceNum, &ciToCimDataBuffer[ii]);/*PSD ID*/ ii += 2u; for (jj = 0u; jj < deviceNum; jj++) { @@ -4261,8 +3948,6 @@ void PackCiToCimDeviceData(void) } /*CIM*/ - debug_infor_printf((const)"\nCIM_SEND_DEVSTATE:%d", ii); - debug_out_array(0xAA, ciToCimDataBuffer, ii); (void)DarkInfoPack(CIM_INFO_DEVICE_STATE, ciToCimDataBuffer, ii); } @@ -5089,56 +4774,3 @@ void PackCiToCimFlyProtectData(void) } -/* -* CIM˫ϵIOɼһϢ -* ˵ void -* ֵ -*/ -void PackCiToCimCollDiffData(void) -{ - /*ʼ*/ - UINT8 ciToCimDataBuffer[CI_TO_CIM_DATA_LEN_MAX] = { 0U }; - UINT16 ii = 0u; - UINT8 jj = 0u; - UINT8 kk = 0u; - UINT8 diffPointSum = 0u;/*ÿOCIJһµλ*/ - IODiffDataStruct* tempDiffData = NULL; - - tempDiffData = GetIODiffData();/*ȡȽϲһµ*/ - - ciToCimDataBuffer[ii++] = gDiffDataOcNum; - - if (NULL != tempDiffData) - { - for (jj = 0u; jj < OC_SUM_MAX; jj++) - {/*ÿOC*/ - diffPointSum = tempDiffData[jj].DiffPointNum;/*һµĵλ*/ - if (0u < diffPointSum) - { - ciToCimDataBuffer[ii++] = tempDiffData[jj].OcId;/*OC id*/ - - ciToCimDataBuffer[ii++] = diffPointSum; - - for (kk = 0u; kk < diffPointSum; kk++) - {/*һµĵλ*/ - ciToCimDataBuffer[ii++] = tempDiffData[jj].LocalBoardAdd[kk]; /*һµλӦİ忨ַ*/ - ciToCimDataBuffer[ii++] = tempDiffData[jj].OtherBoardAdd[kk]; /*ϵİ忨ַ*/ - ciToCimDataBuffer[ii++] = tempDiffData[jj].TheDiffPoint[kk]; /*λ*/ - } - } - else - {/*ûвһµλ*/ - } - - } - } - else - {/**/ - } - - debug_infor_printf((const)"IO Compare Diff OCnum = %d\n", gDiffDataOcNum); - debug_out_array(0xAA, ciToCimDataBuffer, ii); - - /*ά*/ - (void)DarkInfoPack(CIM_INFO_IO_COLL_DIFF_ALARM, ciToCimDataBuffer, ii); -} \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.h index 1d00ae4..db381a3 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackCommon.h @@ -45,6 +45,7 @@ #include "../DataManage/PlatDataManage.h" #include "../IO/DeviceRelayDataProcess.h" + #ifdef __cplusplus extern "C" { #endif @@ -60,7 +61,7 @@ extern "C" { extern PlatHeartDataStruct RecvHeartDataStru; extern PlatGPIODataStruct RecvPlatDataStruGPIO; - extern PlatGPIOToleranceDataStruct gPlatDataGPIOTolercance; + /* * źŻλ * ˵ UINT8 MaskType, λ @@ -379,13 +380,6 @@ void ParasePlantIOData(UINT8* dataBuf); */ void PackCiToCimFlyProtectData(void); -/* -* CIM˫ϵIOɼһϢ -* ˵ void -* ֵ -*/ -void PackCiToCimCollDiffData(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackDefine.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackDefine.h index 0e21919..645a2b0 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackDefine.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackDefine.h @@ -38,7 +38,7 @@ /*CI CI*/ #define RECVCI_CMD_DATA_STRU_SUM_MAX ((UINT16)100) /*CIݽṹֵ*/ #define SENDCI_CMD_DATA_STRU_SUM_MAX ((UINT16)100) /*CI͵ݽṹֵ*/ -#define CI_TO_CI_DATA_LEN_MAX ((UINT16)5700) /*CIֵ*/ +#define CI_TO_CI_DATA_LEN_MAX ((UINT16)5000) /*CIֵ*/ #define CI_TO_CI_AREA_SNOW_SUM_MAX ((UINT8)4) /*RC䷢͵ѩֵ*/ #define CI_TO_CI_LEAVE_LOGSEC_ROUTE_NUM ((UINT16)100) /*RC䷢͵ȥ߼μֵ*/ @@ -103,7 +103,6 @@ #define CIM_INFO_SIGNAL_DRIVOUT ((UINT16)0x2010) /*CIMźŻʱϢ*/ #define CIM_INFO_UNIT_ALARM ((UINT16)0x2011) /*CIMִеԪ*/ #define CIM_INFO_FLYPROTECT_ALARM ((UINT16)0x2012) /*CIMɳ崻*/ -#define CIM_INFO_IO_COLL_DIFF_ALARM ((UINT16)0x2013) /*CIM IO˫ϵɼһ±*/ #define CI_AND_OTHER_TRANSMIT_GOOD ((UINT8)0x55) /*CIϵͳ˫ͨ*/ #define CI_AND_OTHER_TRANSMIT_LINK ((UINT8)0x5A) /*CIϵͳͨ*/ diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.c index a9fadef..5379e6d 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.c @@ -26,11 +26,6 @@ AtsMsgCfmStru g_strAtsDaCfmFst = { 0u }; /*ȡ AtsDaMsgStru g_strAtsDaMsgSnd = { 0u }; /*ȡѹٴϢ*/ AtsMsgCfmStru g_strAtsDaCfmSnd = { 0u }; /*ȡѹٴȷ*/ -AtsMsgCfmStru g_strSndAtsCfmFst = { 0U }; /*ڶATSԶɸѡ״ȷ*/ -AtsMsgCfmStru g_strSndAtsEaCfmFst = { 0U }; /*ڶATSȡɢ״ȷ*/ -AtsMsgCfmStru g_strSndAtsWlbCfmFst = { 0U }; /*ڶATS/ȡȫгƶ״ȷ*/ -AtsMsgCfmStru g_strSndAtsDaCfmFst = { 0U }; /*ڶATSȡѹ״ȷ*/ - /** * @brief ֡ * @param const UINT8* dataBuf, ݻ @@ -45,27 +40,12 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) UINT32 dwPrtclMsg = 0u; UINT8 chMsgId = 0u; UINT16 ii = 0u; - UINT16 jj = 0U; UINT32 dwDataVerLocal = 0u; UINT8 chMsgIndex = 0u; UINT8 chLocalId = 0u; UINT8 chTrainIndex = 0u; UINT16 wMsgLen = 0U; UINT16 wMsgLenCount = 0U; - UINT8 cAtsId = 0U; - UINT8 cStation = 0U; - UINT16 wIndex = 0U; - UINT8 cAtsSendRcId = 0U; - UINT32 dwTime = 0U; - UINT8 cTrainNum = 0U; - AtsScreenTrainInfoStru strTrainInfo[TRAIN_SUM_MAX] = { 0U }; - UINT32 dwTrainHlhtId = 0U; /*гͨID*/ - UINT8 cCmdType = 0U; /**/ - UINT8 cLineAttr = 0U; /*·*/ - UINT8 cDevType = 0U; /*豸*/ - UINT8 cDevNum = 0U; - UINT16 wDevId = 0U; - UINT8 szCrcTmp[1024] = { 0U }; if ((NULL != dataBuf) && (0u < dataLength)) { @@ -125,13 +105,22 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) { case MSG_TYPE_REQUEST_FIRST:/* Զɸѡ״Ϣ */ { - wIndex = ShortFromChar(&dataBuf[ii + 2U]); - if ((FLAG_SET != g_strAtsMsgFst.chFlag) || (g_strAtsMsgFst.wIndex == wIndex)) + g_strAtsMsgFst.dwCycle = Get2oo2CurCycleNum(); + g_strAtsMsgFst.chAtsId = dataBuf[ii++]; + if (0U < g_strAtsMsgFst.chAtsId) { - /*δյظյͬһATSһʱһATS·Զɸѡ״Ϣ*/ - g_strAtsMsgFst.dwCycle = Get2oo2CurCycleNum(); - g_strAtsMsgFst.chAtsId = dataBuf[ii++]; - if (0U < g_strAtsMsgFst.chAtsId) + ; + } + else + { + chRtn = CI_ERROR; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsMsgFst.chStation = dataBuf[ii++]; + g_strAtsMsgFst.chIndex = dataBuf[ii++]; + if (0U < g_strAtsMsgFst.chIndex) { ; } @@ -139,228 +128,97 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) { chRtn = CI_ERROR; } - - if (CI_SUCCESS == chRtn) + } + else + { + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsMsgFst.chTiocId = dataBuf[ii++]; + if (g_strAtsMsgFst.chTiocId == chLocalId) { - g_strAtsMsgFst.chStation = dataBuf[ii++]; - g_strAtsMsgFst.wIndex = ShortFromChar(&dataBuf[ii]); - ii += 2U; - if (0U < g_strAtsMsgFst.wIndex) - { - ; - } - else - { - chRtn = CI_ERROR; - } + ; } else { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsMsgFst.chTiocId = dataBuf[ii++]; - if (g_strAtsMsgFst.chTiocId == chLocalId) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsMsgFst.dwTime = LongFromChar(&dataBuf[ii]); - ii += 4u; - - g_strAtsMsgFst.chTrainNum = dataBuf[ii++]; - if ((0U < g_strAtsMsgFst.chTrainNum) && (ATS_GATEWAY_CI_TRAIN_MAX > g_strAtsMsgFst.chTrainNum)) - { - for (chTrainIndex = 0u; chTrainIndex < g_strAtsMsgFst.chTrainNum; chTrainIndex++) - { - g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId = LongFromChar(&dataBuf[ii]); - ii += 4u; - if ((0U == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId) - || (UINT32_MAX == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId)) - { - chRtn = CI_ERROR; - } - else - { - ; /*DO NOTHING*/ - } - - g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId = ShortFromChar(&dataBuf[ii]); - ii += 2u; - - if ((0U == g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId) - || (UINT16_MAX == g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId)) - { - chRtn = CI_ERROR; - } - else - { - ; /*DO NOTHING*/ - } - - if (CI_SUCCESS == chRtn) - { - ; /**/ - } - else - { - break; - } - } - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsMsgFst.chFlag = FLAG_SET; - } - else - { - ; /*DO NOTHING*/ + chRtn = CI_ERROR; } } else { - /*ڶATS·Զɸѡ״Ϣ*/ - cAtsId = dataBuf[ii]; /*ATS ID*/ - ii++; - if (0U < cAtsId) + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsMsgFst.dwTime = LongFromChar(&dataBuf[ii]); + ii += 4u; + + g_strAtsMsgFst.chTrainNum = dataBuf[ii++]; + if ((0U < g_strAtsMsgFst.chTrainNum) && (ATS_GATEWAY_CI_TRAIN_MAX > g_strAtsMsgFst.chTrainNum)) { - cStation = dataBuf[ii]; /*վ*/ - ii++; - - wIndex = ShortFromChar(&dataBuf[ii]); /*б*/ - ii += 2U; - - if (0U < wIndex) + for (chTrainIndex = 0u; chTrainIndex < g_strAtsMsgFst.chTrainNum; chTrainIndex++) { - cAtsSendRcId = dataBuf[ii]; /*RC ID*/ - ii++; - if (cAtsSendRcId == chLocalId) + g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId = LongFromChar(&dataBuf[ii]); + ii += 4u; + if ((0U == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId) + || (UINT32_MAX == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId)) { - dwTime = LongFromChar(&dataBuf[ii]); /*һʱ*/ - ii += 4U; - - cTrainNum = dataBuf[ii]; - ii++; - if ((0U < cTrainNum) && (ATS_GATEWAY_CI_TRAIN_MAX > cTrainNum)) - { - for (chTrainIndex = 0U; chTrainIndex < cTrainNum; chTrainIndex++) - { - strTrainInfo[chTrainIndex].dwTrainId = LongFromChar(&dataBuf[ii]); - ii += 4U; - if ((0U == strTrainInfo[chTrainIndex].dwTrainId) - || (UINT32_MAX == strTrainInfo[chTrainIndex].dwTrainId)) - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Train Id[%d] Error\n", MSG_TYPE_REQUEST_FIRST, strTrainInfo[chTrainIndex].dwTrainId); - chRtn = CI_ERROR; - } - else - { - ; /*DO NOTHING*/ - } - - strTrainInfo[chTrainIndex].wLgcId = ShortFromChar(&dataBuf[ii]); - ii += 2U; - - if ((0U == strTrainInfo[chTrainIndex].wLgcId) - || (UINT16_MAX == strTrainInfo[chTrainIndex].wLgcId)) - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse LogSec Id[%d] Error\n", MSG_TYPE_REQUEST_FIRST, strTrainInfo[chTrainIndex].wLgcId); - chRtn = CI_ERROR; - } - else - { - ; /*DO NOTHING*/ - } - - if (CI_SUCCESS == chRtn) - { - ; /**/ - } - else - { - break; - } - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Train Num[%d] Error\n", MSG_TYPE_REQUEST_FIRST, cTrainNum); - chRtn = CI_ERROR; - } + chRtn = CI_ERROR; + } + g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId = ShortFromChar(&dataBuf[ii]); + ii += 2u; + if ((0U == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId) + || (UINT32_MAX == g_strAtsMsgFst.strTrainInfo[chTrainIndex].dwTrainId)) + { + chRtn = CI_ERROR; } else { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Rc Id[%d] Error\n", MSG_TYPE_REQUEST_FIRST, cAtsSendRcId); + ; /*DO NOTHING*/ + } + + if ((0U == g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId) + || (UINT16_MAX == g_strAtsMsgFst.strTrainInfo[chTrainIndex].wLgcId)) + { chRtn = CI_ERROR; } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse WorkStation Id[%d] Error\n", MSG_TYPE_REQUEST_FIRST, wIndex); - chRtn = CI_ERROR; + else + { + ; /*DO NOTHING*/ + } + + if (CI_SUCCESS == chRtn) + { + ; /**/ + } + else + { + break; + } } } else { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Ats Id[%d] Error\n", MSG_TYPE_REQUEST_FIRST, cAtsId); chRtn = CI_ERROR; } - - if (CI_SUCCESS == chRtn) - { - g_strSndAtsCfmFst.chFlag = FLAG_SET; - g_strSndAtsCfmFst.chTiocId = cAtsSendRcId; - g_strSndAtsCfmFst.chStation = cStation; - g_strSndAtsCfmFst.wIndex = wIndex; - g_strSndAtsCfmFst.dwTime = dwTime; - g_strSndAtsCfmFst.chOpStatus = CONFIRM_FIRST_OTHER_DEV_OP; /*վվ*/ - - /*CRC*/ - szCrcTmp[jj] = cAtsId; - jj++; - LongToChar(dwTime, &szCrcTmp[jj]); - jj += 4U; - szCrcTmp[jj] = cTrainNum; - jj++; - for (chTrainIndex = 0U; chTrainIndex < cTrainNum; chTrainIndex++) - { - LongToChar(strTrainInfo[chTrainIndex].dwTrainId, &szCrcTmp[jj]); - jj += 4U; - ShortToChar(strTrainInfo[chTrainIndex].wLgcId, &szCrcTmp[jj]); - jj += 2U; - } - g_strSndAtsCfmFst.dwCrc32 = Tioc_CommonCrc32(szCrcTmp, jj); - } - else - { - ; /*DO NOTHING*/ - } + } + else + { + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsMsgFst.chFlag = FLAG_SET; + } + else + { + ; /*DO NOTHING*/ } break; } case MSG_TYPE_REQUEST_SECOND:/* ԶɸѡϢ */ { - g_strAtsMsgSnd.dwCycle = Get2oo2CurCycleNum(); g_strAtsMsgSnd.chAtsId = dataBuf[ii++]; if (0U < g_strAtsMsgSnd.chAtsId) @@ -375,9 +233,8 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) if (CI_SUCCESS==chRtn) { g_strAtsMsgSnd.chStation = dataBuf[ii++]; - g_strAtsMsgSnd.wIndex = ShortFromChar(&dataBuf[ii]); - ii += 2U; - if (0U < g_strAtsMsgSnd.wIndex) + g_strAtsMsgSnd.chIndex = dataBuf[ii++]; + if (0U < g_strAtsMsgSnd.chIndex) { ; } @@ -473,13 +330,22 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) } case MSG_TYPE_EA_CANCLE_FIRST:/* ɢȡ״Ϣ */ { - wIndex = ShortFromChar(&dataBuf[ii + 2U]); - if ((FLAG_SET != g_strAtsEaMsgFst.chFlag) || (g_strAtsEaMsgFst.wIndex == wIndex)) + g_strAtsEaMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȡɢϢں */ + g_strAtsEaMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ + if (0U < g_strAtsEaMsgFst.chAtsId) { - /*δյظյͬһATSһʱһATS·ȡɢ״Ϣ*/ - g_strAtsEaMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȡɢϢں */ - g_strAtsEaMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ - if (0U < g_strAtsEaMsgFst.chAtsId) + ; + } + else + { + chRtn = CI_ERROR; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsEaMsgFst.chStation = dataBuf[ii++]; /* վ */ + g_strAtsEaMsgFst.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsEaMsgFst.chIndex) { ; } @@ -487,202 +353,86 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) { chRtn = CI_ERROR; } - - if (CI_SUCCESS == chRtn) - { - g_strAtsEaMsgFst.chStation = dataBuf[ii++]; /* վ */ - g_strAtsEaMsgFst.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsEaMsgFst.wIndex) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsEaMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ - if (g_strAtsEaMsgFst.chTiocId == chLocalId) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsEaMsgFst.dwEaTrainId = LongFromChar(&dataBuf[ii]); /* ɢгͨ */ - ii += 4u; - if ((0u < g_strAtsEaMsgFst.dwEaTrainId) && (UINT32_MAX > g_strAtsEaMsgFst.dwEaTrainId)) - { - ; - } - else - { - chRtn = CI_ERROR; - } - - } - else - { - ; /*DO NOTHING*/ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsEaMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4u; - - g_strAtsEaMsgFst.chType = dataBuf[ii];/* */ - ii++; - - if (ATS_EA_CMD_TYPE_CANCEL == g_strAtsEaMsgFst.chType) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsEaMsgFst.chLine = dataBuf[ii];/* */ - ii++; - if ((EA_AREA_ALL == g_strAtsEaMsgFst.chLine) || (EA_AREA_UP == g_strAtsEaMsgFst.chLine) || (EA_AREA_DOWN == g_strAtsEaMsgFst.chLine)) - { - g_strAtsEaMsgFst.chFlag = FLAG_SET; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; - } } else { - /*ڶATS·ȡɢ״Ϣ*/ - cAtsId = dataBuf[ii]; /* ATS */ - ii++; - if (0U < cAtsId) - { - cStation = dataBuf[ii]; /* վ */ - ii++; - - wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < wIndex) - { - cAtsSendRcId = dataBuf[ii]; /* TIOC */ - ii++; - if (cAtsSendRcId == chLocalId) - { - dwTrainHlhtId = LongFromChar(&dataBuf[ii]); /* ɢгͨ */ - ii += 4U; - if ((0U < dwTrainHlhtId) && (UINT32_MAX > dwTrainHlhtId)) - { - dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4U; - - cCmdType = dataBuf[ii]; /* */ - ii++; - if (ATS_EA_CMD_TYPE_CANCEL == cCmdType) - { - cLineAttr = dataBuf[ii];/* · */ - ii++; - if ((EA_AREA_ALL == cLineAttr) || (EA_AREA_UP == cLineAttr) || (EA_AREA_DOWN == cLineAttr)) - { - ; - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Line Attr[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, cLineAttr); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Cmd Type[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, cCmdType); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Train Id[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, dwTrainHlhtId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Rc Id[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, cAtsSendRcId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse WorkStation Id[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, wIndex); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Ats Id[%d] Error\n", MSG_TYPE_EA_CANCLE_FIRST, cAtsId); - chRtn = CI_ERROR; - } - - if (CI_SUCCESS == chRtn) - { - g_strSndAtsEaCfmFst.chFlag = FLAG_SET; - g_strSndAtsEaCfmFst.chTiocId = cAtsSendRcId; - g_strSndAtsEaCfmFst.chStation = cStation; - g_strSndAtsEaCfmFst.wIndex = wIndex; - g_strSndAtsEaCfmFst.dwTime = dwTime; - g_strSndAtsEaCfmFst.chOpStatus = CONFIRM_FIRST_OTHER_DEV_OP; /*վվ*/ - - /*CRC*/ - szCrcTmp[jj] = cAtsId; - jj++; - szCrcTmp[jj] = cStation; - jj++; - ShortToChar(wIndex, &szCrcTmp[jj]); - jj += 2U; - LongToChar(dwTrainHlhtId, &szCrcTmp[jj]); - jj += 4U; - LongToChar(dwTime, &szCrcTmp[jj]); - jj += 4U; - szCrcTmp[jj] = cCmdType; - jj++; - szCrcTmp[jj] = cLineAttr; - jj++; - g_strSndAtsEaCfmFst.dwCrc32 = Tioc_CommonCrc32(szCrcTmp, jj); - } - else + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsEaMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ + if (g_strAtsEaMsgFst.chTiocId == chLocalId) { ; } + else + { + chRtn = CI_ERROR; + } } + else + { + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsEaMsgFst.dwEaTrainId = LongFromChar(&dataBuf[ii]); /* ɢгͨ */ + ii += 4u; + if ((0u < g_strAtsEaMsgFst.dwEaTrainId) && (UINT32_MAX > g_strAtsEaMsgFst.dwEaTrainId)) + { + ; + } + else + { + chRtn = CI_ERROR; + } + + } + else + { + ; /*DO NOTHING*/ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsEaMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ + ii += 4u; + + g_strAtsEaMsgFst.chType = dataBuf[ii];/* */ + ii++; + + if (ATS_EA_CMD_TYPE_CANCEL == g_strAtsEaMsgFst.chType) + { + ; + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsEaMsgFst.chLine = dataBuf[ii];/* */ + ii++; + if ((EA_AREA_ALL == g_strAtsEaMsgFst.chLine) || (EA_AREA_UP == g_strAtsEaMsgFst.chLine) || (EA_AREA_DOWN == g_strAtsEaMsgFst.chLine)) + { + g_strAtsEaMsgFst.chFlag = FLAG_SET; + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; + } + break; } case MSG_TYPE_EA_CANCLE_SECOND:/* ɢȡϢ */ @@ -701,9 +451,8 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) if (CI_SUCCESS == chRtn) { g_strAtsEaMsgSnd.chStation = dataBuf[ii++]; /* վ */ - g_strAtsEaMsgSnd.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsEaMsgSnd.wIndex) + g_strAtsEaMsgSnd.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsEaMsgSnd.chIndex) { ; } @@ -806,13 +555,22 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) } case MSG_TYPE_WLB_SET_FIRST: /* ȫгƶһ */ { - wIndex = ShortFromChar(&dataBuf[ii + 2U]); - if ((FLAG_SET != g_strAtsWlbMsgFst.chFlag) || (g_strAtsWlbMsgFst.wIndex == wIndex)) + g_strAtsWlbMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȫгƶں */ + g_strAtsWlbMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ + if (0U < g_strAtsWlbMsgFst.chAtsId) { - /*δյظյͬһATSһʱһATS·ȫ߽ƶ״Ϣ*/ - g_strAtsWlbMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȫгƶں */ - g_strAtsWlbMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ - if (0U < g_strAtsWlbMsgFst.chAtsId) + ; + } + else + { + chRtn = CI_ERROR; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.chStation = dataBuf[ii++]; /* վ */ + g_strAtsWlbMsgFst.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsWlbMsgFst.chIndex) { ; } @@ -820,226 +578,96 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) { chRtn = CI_ERROR; } - - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.chStation = dataBuf[ii++]; /* վ */ - g_strAtsWlbMsgFst.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsWlbMsgFst.wIndex) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ - if (g_strAtsWlbMsgFst.chTiocId == chLocalId) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.chBrakeType = dataBuf[ii++]; /* ƶͣƶƶ */ - if ((WLB_TYPE_RC == g_strAtsWlbMsgFst.chBrakeType) || (WLB_TYPE_PHYSEC == g_strAtsWlbMsgFst.chBrakeType)) - { - ; /* ƶͺϷ */ - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /* DO NOTHING */ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.chBrakeCount = dataBuf[ii++]; /* */ - if (1u == g_strAtsWlbMsgFst.chBrakeCount) - { - ; /* Ϸ,Ϊ1 */ - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /* DO NOTHING */ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.wBrakeIndex = ShortFromChar(&dataBuf[ii]); /* ID */ - ii += 2u; - - chRtn = WlbUrgentIdCheck(g_strAtsWlbMsgFst.chBrakeType, g_strAtsWlbMsgFst.wBrakeIndex); /*УIDǷϷ*/ - } - else - { - ; /* DO NOTHING */ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsWlbMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4u; - - g_strAtsWlbMsgFst.chType = dataBuf[ii];/* */ - ii++; - - if ((MSG_TYPE_WLB_SET == g_strAtsWlbMsgFst.chType) || (MSG_TYPE_WLB_CANCEL == g_strAtsWlbMsgFst.chType)) - { - g_strAtsWlbMsgFst.chFlag = FLAG_SET; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; - } } else { - /*ڶATS·ȫ߽ƶ״Ϣ*/ - cAtsId = dataBuf[ii]; /* ATS */ - ii++; - if (0U < cAtsId) - { - cStation = dataBuf[ii]; /* վ */ - ii++; - - wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < wIndex) - { - cAtsSendRcId = dataBuf[ii]; /* TIOC */ - ii++; - if (cAtsSendRcId == chLocalId) - { - cDevType = dataBuf[ii]; /* ƶͣƶƶ */ - ii++; - if ((WLB_TYPE_RC == cDevType) || (WLB_TYPE_PHYSEC == cDevType)) - { - cDevNum = dataBuf[ii]; /* */ - ii++; - if (1U == cDevNum) - { - wDevId = ShortFromChar(&dataBuf[ii]); /* ID */ - ii += 2U; - - chRtn = WlbUrgentIdCheck(cDevType, wDevId); /*УIDǷϷ*/ - if (CI_SUCCESS == chRtn) - { - dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4U; - - cCmdType = dataBuf[ii]; /* */ - ii++; - if ((MSG_TYPE_WLB_SET == cCmdType) || (MSG_TYPE_WLB_CANCEL == cCmdType)) - { - ; - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Cmd Type[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, cCmdType); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Dev Id[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, wDevId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Dev Num[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, cDevNum); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Dev Type[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, cDevType); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Rc Id[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, cAtsSendRcId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse WorkStation Id[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, wIndex); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Ats Id[%d] Error\n", MSG_TYPE_WLB_SET_FIRST, cAtsId); - chRtn = CI_ERROR; - } - - if (CI_SUCCESS == chRtn) - { - g_strSndAtsWlbCfmFst.chFlag = FLAG_SET; - g_strSndAtsWlbCfmFst.chTiocId = cAtsSendRcId; - g_strSndAtsWlbCfmFst.chStation = cStation; - g_strSndAtsWlbCfmFst.wIndex = wIndex; - g_strSndAtsWlbCfmFst.dwTime = dwTime; - g_strSndAtsWlbCfmFst.chOpStatus = CONFIRM_FIRST_OTHER_DEV_OP; /*վվ*/ - - /*CRC*/ - szCrcTmp[jj] = cAtsId; - jj++; - szCrcTmp[jj] = cStation; - jj++; - ShortToChar(wIndex, &szCrcTmp[jj]); - jj += 2U; - szCrcTmp[jj] = cDevType; - jj++; - szCrcTmp[jj] = cDevNum; - jj++; - ShortToChar(wDevId, &szCrcTmp[jj]); - jj += 2U; - LongToChar(dwTime, &szCrcTmp[jj]); - jj += 4U; - szCrcTmp[jj] = cCmdType; - jj++; - g_strSndAtsWlbCfmFst.dwCrc32 = Tioc_CommonCrc32(szCrcTmp, jj); - } - else + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ + if (g_strAtsWlbMsgFst.chTiocId == chLocalId) { ; } + else + { + chRtn = CI_ERROR; + } } + else + { + ; /*DO NOTHING*/ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.chBrakeType = dataBuf[ii++]; /* ƶͣƶƶ */ + if ((WLB_TYPE_RC == g_strAtsWlbMsgFst.chBrakeType) || (WLB_TYPE_PHYSEC == g_strAtsWlbMsgFst.chBrakeType)) + { + ; /* ƶͺϷ */ + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; /* DO NOTHING */ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.chBrakeCount = dataBuf[ii++]; /* */ + if (1u == g_strAtsWlbMsgFst.chBrakeCount) + { + ; /* Ϸ,Ϊ1 */ + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; /* DO NOTHING */ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.wBrakeIndex = ShortFromChar(&dataBuf[ii]); /* ID */ + ii += 2u; + + chRtn = WlbUrgentIdCheck(g_strAtsWlbMsgFst.chBrakeType, g_strAtsWlbMsgFst.wBrakeIndex); /*УIDǷϷ*/ + } + else + { + ; /* DO NOTHING */ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsWlbMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ + ii += 4u; + + g_strAtsWlbMsgFst.chType = dataBuf[ii];/* */ + ii++; + + if ((MSG_TYPE_WLB_SET == g_strAtsWlbMsgFst.chType) || (MSG_TYPE_WLB_CANCEL == g_strAtsWlbMsgFst.chType)) + { + g_strAtsWlbMsgFst.chFlag = FLAG_SET; + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; + } + break; } case MSG_TYPE_WLB_SET_SECOND: /* ȫгƶ */ @@ -1058,9 +686,8 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) if (CI_SUCCESS == chRtn) { g_strAtsWlbMsgSnd.chStation = dataBuf[ii++]; /* վ */ - g_strAtsWlbMsgSnd.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsWlbMsgSnd.wIndex) + g_strAtsWlbMsgSnd.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsWlbMsgSnd.chIndex) { ; } @@ -1174,13 +801,22 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) } case MSG_TYPE_DA_CANCLE_FIRST:/* ѹȡ״Ϣ */ { - wIndex = ShortFromChar(&dataBuf[ii + 2U]); - if ((FLAG_SET != g_strAtsDaMsgFst.chFlag) || (g_strAtsDaMsgFst.wIndex == wIndex)) + g_strAtsDaMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȡѹϢں */ + g_strAtsDaMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ + if (0U < g_strAtsDaMsgFst.chAtsId) { - /*δյظյͬһATSһʱһATS·ȡѹ״Ϣ*/ - g_strAtsDaMsgFst.dwCycle = Get2oo2CurCycleNum(); /* յȡѹϢں */ - g_strAtsDaMsgFst.chAtsId = dataBuf[ii++]; /* ATS */ - if (0U < g_strAtsDaMsgFst.chAtsId) + ; + } + else + { + chRtn = CI_ERROR; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsDaMsgFst.chStation = dataBuf[ii++]; /* վ */ + g_strAtsDaMsgFst.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsDaMsgFst.chIndex) { ; } @@ -1188,202 +824,86 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) { chRtn = CI_ERROR; } - - if (CI_SUCCESS == chRtn) - { - g_strAtsDaMsgFst.chStation = dataBuf[ii++]; /* վ */ - g_strAtsDaMsgFst.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsDaMsgFst.wIndex) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsDaMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ - if (g_strAtsDaMsgFst.chTiocId == chLocalId) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; /*DO NOTHING*/ - } - if (CI_SUCCESS == chRtn) - { - g_strAtsDaMsgFst.dwDaTrainId = LongFromChar(&dataBuf[ii]); /* ѹгͨ */ - ii += 4u; - if ((0u < g_strAtsDaMsgFst.dwDaTrainId) && (UINT32_MAX > g_strAtsDaMsgFst.dwDaTrainId)) - { - ; - } - else - { - chRtn = CI_ERROR; - } - - } - else - { - ; /*DO NOTHING*/ - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsDaMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4u; - - g_strAtsDaMsgFst.chType = dataBuf[ii];/* */ - ii++; - - if (ATS_DA_CMD_TYPE_CANCEL == g_strAtsDaMsgFst.chType) - { - ; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; - } - - if (CI_SUCCESS == chRtn) - { - g_strAtsDaMsgFst.chLine = dataBuf[ii];/* */ - ii++; - if ((DA_AREA_ALL == g_strAtsDaMsgFst.chLine) || (DA_AREA_UP == g_strAtsDaMsgFst.chLine) || (DA_AREA_DOWN == g_strAtsDaMsgFst.chLine)) - { - g_strAtsDaMsgFst.chFlag = FLAG_SET; - } - else - { - chRtn = CI_ERROR; - } - } - else - { - ; - } } else { - /*ڶATS·ȡѹ״Ϣ*/ - cAtsId = dataBuf[ii]; /* ATS */ - ii++; - if (0U < cAtsId) - { - cStation = dataBuf[ii]; /* վ */ - ii++; - - wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < wIndex) - { - cAtsSendRcId = dataBuf[ii]; /* TIOC */ - ii++; - if (cAtsSendRcId == chLocalId) - { - dwTrainHlhtId = LongFromChar(&dataBuf[ii]); /* ѹгͨ */ - ii += 4U; - if ((0U < dwTrainHlhtId) && (UINT32_MAX > dwTrainHlhtId)) - { - dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ - ii += 4U; - - cCmdType = dataBuf[ii]; /* */ - ii++; - if (ATS_DA_CMD_TYPE_CANCEL == cCmdType) - { - cLineAttr = dataBuf[ii]; /* · */ - ii++; - if ((DA_AREA_ALL == cLineAttr) || (DA_AREA_UP == cLineAttr) || (DA_AREA_DOWN == cLineAttr)) - { - ; - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Line Attr[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, cLineAttr); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Cmd Type[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, cCmdType); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Train Id[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, dwTrainHlhtId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Rc Id[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, cAtsSendRcId); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse WorkStation Id[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, wIndex); - chRtn = CI_ERROR; - } - } - else - { - debug_infor_printf((const)"ParseGateWayToCiDataFrame: Cmd Id[%d] Parse Ats Id[%d] Error\n", MSG_TYPE_DA_CANCLE_FIRST, cAtsId); - chRtn = CI_ERROR; - } - - if (CI_SUCCESS == chRtn) - { - g_strSndAtsDaCfmFst.chFlag = FLAG_SET; - g_strSndAtsDaCfmFst.chTiocId = cAtsSendRcId; - g_strSndAtsDaCfmFst.chStation = cStation; - g_strSndAtsDaCfmFst.wIndex = wIndex; - g_strSndAtsDaCfmFst.dwTime = dwTime; - g_strSndAtsDaCfmFst.chOpStatus = CONFIRM_FIRST_OTHER_DEV_OP; /*վվ*/ - - /*CRC*/ - szCrcTmp[jj] = cAtsId; - jj++; - szCrcTmp[jj] = cStation; - jj++; - ShortToChar(wIndex, &szCrcTmp[jj]); - jj += 2U; - LongToChar(dwTrainHlhtId, &szCrcTmp[jj]); - jj += 4U; - LongToChar(dwTime, &szCrcTmp[jj]); - jj += 4U; - szCrcTmp[jj] = cCmdType; - jj++; - szCrcTmp[jj] = cLineAttr; - jj++; - g_strSndAtsDaCfmFst.dwCrc32 = Tioc_CommonCrc32(szCrcTmp, jj); - } - else + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsDaMsgFst.chTiocId = dataBuf[ii++]; /* TIOC */ + if (g_strAtsDaMsgFst.chTiocId == chLocalId) { ; } + else + { + chRtn = CI_ERROR; + } } + else + { + ; /*DO NOTHING*/ + } + if (CI_SUCCESS == chRtn) + { + g_strAtsDaMsgFst.dwDaTrainId = LongFromChar(&dataBuf[ii]); /* ѹгͨ */ + ii += 4u; + if ((0u < g_strAtsDaMsgFst.dwDaTrainId) && (UINT32_MAX > g_strAtsDaMsgFst.dwDaTrainId)) + { + ; + } + else + { + chRtn = CI_ERROR; + } + + } + else + { + ; /*DO NOTHING*/ + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsDaMsgFst.dwTime = LongFromChar(&dataBuf[ii]); /* ·Ϣʱ */ + ii += 4u; + + g_strAtsDaMsgFst.chType = dataBuf[ii];/* */ + ii++; + + if (ATS_DA_CMD_TYPE_CANCEL == g_strAtsDaMsgFst.chType) + { + ; + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; + } + + if (CI_SUCCESS == chRtn) + { + g_strAtsDaMsgFst.chLine = dataBuf[ii];/* */ + ii++; + if ((DA_AREA_ALL == g_strAtsDaMsgFst.chLine) || (DA_AREA_UP == g_strAtsDaMsgFst.chLine) || (DA_AREA_DOWN == g_strAtsDaMsgFst.chLine)) + { + g_strAtsDaMsgFst.chFlag = FLAG_SET; + } + else + { + chRtn = CI_ERROR; + } + } + else + { + ; + } + break; } case MSG_TYPE_DA_CANCLE_SECOND:/* ѹȡϢ */ @@ -1402,9 +922,8 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) if (CI_SUCCESS == chRtn) { g_strAtsDaMsgSnd.chStation = dataBuf[ii++]; /* վ */ - g_strAtsDaMsgSnd.wIndex = ShortFromChar(&dataBuf[ii]); /* վ */ - ii += 2U; - if (0U < g_strAtsDaMsgSnd.wIndex) + g_strAtsDaMsgSnd.chIndex = dataBuf[ii++]; /* վ */ + if (0U < g_strAtsDaMsgSnd.chIndex) { ; } @@ -1553,12 +1072,7 @@ UINT8 ParseGateWayToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength) ClearAtsWlbMsgSecond(); ClearAtsDaMsgFirst(); ClearAtsDaMsgSecond(); - ClearSndAtsScreenFstCfmMsg(); - ClearSndAtsEaFstCfmMsg(); - ClearSndAtsWlbFstCfmMsg(); - ClearSndAtsDaFstCfmMsg(); } - return chRtn; } @@ -1946,8 +1460,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_CONFIRM_FIRST; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsCfmFst.chStation; /* վ */ - ShortToChar(g_strAtsCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsCfmFst.chIndex; /* վ */ LongToChar(g_strAtsCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsCfmFst.chOpStatus; /* ȷϽ */ @@ -1968,46 +1481,6 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) ; } - if (CI_SUCCESS == chRtn) - { - /*ڶATSԶɸѡ״ȷϢ*/ - if (FLAG_SET == g_strSndAtsCfmFst.chFlag) - { - szToGateWayDataBuf[ii] = MSG_TYPE_CONFIRM_FIRST; /* ֡ */ - ii++; - wMsgLenIndex = ii; /* ¼֡ȴ± */ - ii += 2U; - szToGateWayDataBuf[ii] = MSG_TYPE_CONFIRM_FIRST; - ii++; - szToGateWayDataBuf[ii] = chLocalId; /* TIOC */ - ii++; - szToGateWayDataBuf[ii] = g_strSndAtsCfmFst.chStation; /* վ */ - ii++; - ShortToChar(g_strSndAtsCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; - LongToChar(g_strSndAtsCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ - ii += 4U; - szToGateWayDataBuf[ii] = g_strSndAtsCfmFst.chOpStatus; /* ȷϽ */ - ii++; - LongToChar(g_strSndAtsCfmFst.dwCrc32, &szToGateWayDataBuf[ii]); /* CRC */ - ii += 4U; - wMsgLen = (ii - wMsgLenIndex - 2U); - ShortToChar(wMsgLen, &szToGateWayDataBuf[wMsgLenIndex]); /* ֡ */ - chMsgNum++; /* Ϣ */ - - /*ڶATSȷϢ*/ - ClearSndAtsScreenFstCfmMsg(); - } - else - { - ; - } - } - else - { - ; - } - if (CI_SUCCESS == chRtn) { if (FLAG_SET == g_strAtsCfmSnd.chFlag) @@ -2018,8 +1491,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_CONFIRM_SECOND; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsCfmSnd.chStation; /* վ */ - ShortToChar(g_strAtsCfmSnd.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsCfmSnd.chIndex; /* վ */ LongToChar(g_strAtsCfmSnd.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsCfmSnd.chOpStatus; /* ȷϽ */ @@ -2129,8 +1601,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_EA_CONFIRM_FIRST; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsEaCfmFst.chStation; /* վ */ - ShortToChar(g_strAtsEaCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsEaCfmFst.chIndex; /* վ */ LongToChar(g_strAtsEaCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsEaCfmFst.chOpStatus; /* ȷϽ */ @@ -2151,46 +1622,6 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) ; } - if (CI_SUCCESS == chRtn) - { - /*ڶATSȡɢ״ȷϢ*/ - if (FLAG_SET == g_strSndAtsEaCfmFst.chFlag) - { - szToGateWayDataBuf[ii] = MSG_TYPE_EA_CONFIRM_FIRST; /* ֡ */ - ii++; - wMsgLenIndex = ii; /* ¼֡ȴ± */ - ii += 2U; - szToGateWayDataBuf[ii] = MSG_TYPE_EA_CONFIRM_FIRST; - ii++; - szToGateWayDataBuf[ii] = chLocalId; /* TIOC */ - ii++; - szToGateWayDataBuf[ii] = g_strSndAtsEaCfmFst.chStation; /* վ */ - ii++; - ShortToChar(g_strSndAtsEaCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; - LongToChar(g_strSndAtsEaCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ - ii += 4U; - szToGateWayDataBuf[ii] = g_strSndAtsEaCfmFst.chOpStatus; /* ȷϽ */ - ii++; - LongToChar(g_strSndAtsEaCfmFst.dwCrc32, &szToGateWayDataBuf[ii]); /* CRC */ - ii += 4U; - wMsgLen = (ii - wMsgLenIndex - 2U); - ShortToChar(wMsgLen, &szToGateWayDataBuf[wMsgLenIndex]); /* ֡ */ - chMsgNum++; /* Ϣ */ - - /*ڶATSȷϢ*/ - ClearSndAtsEaFstCfmMsg(); - } - else - { - ; - } - } - else - { - ; - } - if (CI_SUCCESS == chRtn) { if (FLAG_SET == g_strAtsEaCfmSnd.chFlag) @@ -2201,8 +1632,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_EA_CONFIRM_SECOND; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsEaCfmSnd.chStation; /* վ */ - ShortToChar(g_strAtsEaCfmSnd.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsEaCfmSnd.chIndex; /* վ */ LongToChar(g_strAtsEaCfmSnd.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsEaCfmSnd.chOpStatus; /* ȷϽ */ @@ -2290,8 +1720,8 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_WLB_CONFIRM_FIRST; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsWlbCfmFst.chStation; /* վ */ - ShortToChar(g_strAtsWlbCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsWlbCfmFst.chIndex; /* վ */ + LongToChar(g_strAtsWlbCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsWlbCfmFst.chOpStatus; /* ȷϽ */ @@ -2312,46 +1742,6 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) ; } - if (CI_SUCCESS == chRtn) - { - /*ڶATSȫ߽ƶ״ȷϢ*/ - if (FLAG_SET == g_strSndAtsWlbCfmFst.chFlag) - { - szToGateWayDataBuf[ii] = MSG_TYPE_WLB_CONFIRM_FIRST; /* ֡ */ - ii++; - wMsgLenIndex = ii; /* ¼֡ȴ± */ - ii += 2U; - szToGateWayDataBuf[ii] = MSG_TYPE_WLB_CONFIRM_FIRST; - ii++; - szToGateWayDataBuf[ii] = chLocalId; /* TIOC */ - ii++; - szToGateWayDataBuf[ii] = g_strSndAtsWlbCfmFst.chStation; /* վ */ - ii++; - ShortToChar(g_strSndAtsWlbCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; - LongToChar(g_strSndAtsWlbCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ - ii += 4U; - szToGateWayDataBuf[ii] = g_strSndAtsWlbCfmFst.chOpStatus; /* ȷϽ */ - ii++; - LongToChar(g_strSndAtsWlbCfmFst.dwCrc32, &szToGateWayDataBuf[ii]); /* CRC */ - ii += 4U; - wMsgLen = (ii - wMsgLenIndex - 2U); - ShortToChar(wMsgLen, &szToGateWayDataBuf[wMsgLenIndex]); /* ֡ */ - chMsgNum++; /* Ϣ */ - - /*ڶATSȷϢ*/ - ClearSndAtsWlbFstCfmMsg(); - } - else - { - ; - } - } - else - { - ; - } - if (CI_SUCCESS == chRtn) { if (FLAG_SET == g_strAtsWlbCfmSnd.chFlag) @@ -2362,8 +1752,8 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_WLB_CONFIRM_SECOND; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsWlbCfmSnd.chStation; /* վ */ - ShortToChar(g_strAtsWlbCfmSnd.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsWlbCfmSnd.chIndex; /* վ */ + LongToChar(g_strAtsWlbCfmSnd.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsWlbCfmSnd.chOpStatus; /* ȷϽ */ @@ -2469,8 +1859,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_DA_CONFIRM_FIRST; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsDaCfmFst.chStation; /* վ */ - ShortToChar(g_strAtsDaCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsDaCfmFst.chIndex; /* վ */ LongToChar(g_strAtsDaCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsDaCfmFst.chOpStatus; /* ȷϽ */ @@ -2491,46 +1880,6 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) ; } - if (CI_SUCCESS == chRtn) - { - /*ڶATSȡ״ȷϢ*/ - if (FLAG_SET == g_strSndAtsDaCfmFst.chFlag) - { - szToGateWayDataBuf[ii] = MSG_TYPE_DA_CONFIRM_FIRST; /* ֡ */ - ii++; - wMsgLenIndex = ii; /* ¼֡ȴ± */ - ii += 2U; - szToGateWayDataBuf[ii] = MSG_TYPE_DA_CONFIRM_FIRST; - ii++; - szToGateWayDataBuf[ii] = chLocalId; /* TIOC */ - ii++; - szToGateWayDataBuf[ii] = g_strSndAtsDaCfmFst.chStation; /* վ */ - ii++; - ShortToChar(g_strSndAtsDaCfmFst.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; - LongToChar(g_strSndAtsDaCfmFst.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ - ii += 4U; - szToGateWayDataBuf[ii] = g_strSndAtsDaCfmFst.chOpStatus; /* ȷϽ */ - ii++; - LongToChar(g_strSndAtsDaCfmFst.dwCrc32, &szToGateWayDataBuf[ii]); /* CRC */ - ii += 4U; - wMsgLen = (ii - wMsgLenIndex - 2U); - ShortToChar(wMsgLen, &szToGateWayDataBuf[wMsgLenIndex]); /* ֡ */ - chMsgNum++; /* Ϣ */ - - /*ڶATSȷϢ*/ - ClearSndAtsDaFstCfmMsg(); - } - else - { - ; - } - } - else - { - ; - } - if (CI_SUCCESS == chRtn) { if (FLAG_SET == g_strAtsDaCfmSnd.chFlag) @@ -2541,8 +1890,7 @@ UINT8 PackTiocToGateWayData(const UINT8 deviceId, const UINT8 targetDevType) szToGateWayDataBuf[ii++] = MSG_TYPE_DA_CONFIRM_SECOND; szToGateWayDataBuf[ii++] = chLocalId; /* TIOC */ szToGateWayDataBuf[ii++] = g_strAtsDaCfmSnd.chStation; /* վ */ - ShortToChar(g_strAtsDaCfmSnd.wIndex, &szToGateWayDataBuf[ii]); /* վ */ - ii += 2U; + szToGateWayDataBuf[ii++] = g_strAtsDaCfmSnd.chIndex; /* վ */ LongToChar(g_strAtsDaCfmSnd.dwTime, &szToGateWayDataBuf[ii]); /* ʱ */ ii += 4u; szToGateWayDataBuf[ii++] = g_strAtsDaCfmSnd.chOpStatus; /* ȷϽ */ @@ -2733,48 +2081,4 @@ UINT8 WlbUrgentIdCheck(const UINT8 cDeviceType, const UINT16 wDeviceId) } return retVal; -} - -/** -* @brief ڶATSԶɸѡһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsScreenFstCfmMsg(void) -{ - (void)CommonMemSet((void*)&g_strSndAtsCfmFst, (UINT32)sizeof(AtsMsgCfmStru), (UINT8)0U, (UINT32)sizeof(AtsMsgCfmStru)); -} - -/** -* @brief ڶATSȡɢһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsEaFstCfmMsg(void) -{ - (void)CommonMemSet((void*)&g_strSndAtsEaCfmFst, (UINT32)sizeof(AtsMsgCfmStru), (UINT8)0U, (UINT32)sizeof(AtsMsgCfmStru)); -} - -/** -* @brief ڶATSȫ߽ƶһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsWlbFstCfmMsg(void) -{ - (void)CommonMemSet((void*)&g_strSndAtsWlbCfmFst, (UINT32)sizeof(AtsMsgCfmStru), (UINT8)0U, (UINT32)sizeof(AtsMsgCfmStru)); -} - -/** -* @brief ڶATSȡѹһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsDaFstCfmMsg(void) -{ - (void)CommonMemSet((void*)&g_strSndAtsDaCfmFst, (UINT32)sizeof(AtsMsgCfmStru), (UINT8)0U, (UINT32)sizeof(AtsMsgCfmStru)); } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.h index 3ab0acb..4825614 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackGateWayData.h @@ -33,24 +33,22 @@ #define CONFIRM_FIRST_REPEAT ((UINT8)2u) /*ظȷ*/ #define CONFIRM_FIRST_TRAINID ((UINT8)3u) /*ˢг*/ #define CONFIRM_FIRST_LGCID ((UINT8)4u) /*ȷ߼*/ -#define CONFIRM_FIRST_OTHER_DEV_OP ((UINT8)14U) /*վڲ*/ #define CONFIRM_SECOND_SUCCESS ((UINT8)1u) /*ȷϳɹ*/ -#define CONFIRM_SECOND_CRC ((UINT8)2u) /*Ϣ֡Уʧ*/ +#define CONFIRM_SECOND_CRC ((UINT8)2u) /*CRCУʧ*/ #define CONFIRM_SECOND_TRAINID ((UINT8)3u) /*ˢг*/ #define CONFIRM_SECOND_LGCID ((UINT8)4u) /*ȷ߼*/ #define CONFIRM_SECOND_FIRST ((UINT8)5u) /*״ɸѡȷʧ*/ #define CONFIRM_SECOND_DIFF ((UINT8)6u) /*Ϣһβһ*/ #define CONFIRM_FIRST_NOT_EA ((UINT8)7u) /*гδɢ*/ -#define CONFIRM_TRAIN_IN_EA ((UINT8)9u) /*гɢ*/ +#define CONFIRM_FIRST_EING ((UINT8)9u) /*гɢ*/ -#define CONFIRM_EA_SECOND_CRC ((UINT8)3u) /*Ϣ֡Уʧ*/ +#define CONFIRM_EA_SECOND_CRC ((UINT8)3u) /*CRCʧ*/ #define CONFIRM_EA_SECOND_FIRST ((UINT8)4u) /*δִһ*/ #define CONFIRM_SECOND_NOT_EA ((UINT8)5u) /*гδɢ*/ #define CONFIRM_SECOND_EA_TRAINID ((UINT8)8u) /*״гŲһ*/ #define CONFIRM_SECOND_TIOC ((UINT8)10u) /*ڿͨж*/ #define CONFIRM_EALINE_DIFFERENT ((UINT8)11U) /*ȡѽԲһ*/ -#define CONFIRM_EA_SND_LINE_DIFF ((UINT8)11U) /*ȡɢһ·Բһ*/ #define MSG_TYPE_WLB_SET ((UINT8)0xaau) /*ȫгƶ*/ #define MSG_TYPE_WLB_CANCEL ((UINT8)0x55u) /*ȫгƶȡ*/ @@ -65,9 +63,8 @@ #define CONFIRM_WLB_SND_UNKNOWN ((UINT8)0u) /*λظδ֪*/ #define CONFIRM_WLB_SND_SUCCESS ((UINT8)1u) /*λظɹ*/ -#define CONFIRM_WLB_SND_CRC ((UINT8)3u) /*Ϣ֡Уʧ*/ +#define CONFIRM_WLB_SND_CRC ((UINT8)3u) /*λظCRCʧ*/ #define CONFIRM_WLB_SND_FIRST ((UINT8)4u) /*λظδִ״ȷ*/ -#define CONFIRM_WLB_SND_INFO_DIFF ((UINT8)8u) /*һϢһ*/ #define CONFIRM_DA_FST_UNKNOWN ((UINT8)0u) /*ȡѹ״λظδ֪*/ #define CONFIRM_DA_FST_SUCCESS ((UINT8)1u) /*ȡѹ״λظɹ*/ @@ -76,11 +73,10 @@ #define CONFIRM_DA_SND_UNKNOWN ((UINT8)0u) /*ȡѹٴλظδ֪*/ #define CONFIRM_DA_SND_SUCCESS ((UINT8)1u) /*ȡѹٴλظɹ*/ -#define CONFIRM_DA_SND_CRC ((UINT8)3u) /*ȡѹٴλظϢ֡Уʧ*/ +#define CONFIRM_DA_SND_CRC ((UINT8)3u) /*ȡѹٴλظCRCʧ*/ #define CONFIRM_DA_SND_FIRST ((UINT8)4u) /*ȡѹٴλظδִ״*/ #define CONFIRM_DA_SND_DIFF ((UINT8)8u) /*ȡѹٴλظгIDһβһ*/ #define CONFIRM_DA_SND_DERAIL ((UINT8)9u) /*ȡѹٴλظгǰѹ״̬*/ -#define CONFIRM_DA_SND_LINE_DIFF ((UINT8)11U) /*ȡѹһ·Բһ*/ #define DA_AREA_UP ((UINT8)0x55u) /* */ #define DA_AREA_DOWN ((UINT8)0xaau) /* */ @@ -114,7 +110,7 @@ typedef struct UINT32 dwCycle; /*״Ϣں*/ UINT8 chAtsId; /*ATS*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT8 chTiocId; /*TIOC*/ UINT32 dwTime; /*ʱ*/ UINT8 chTrainNum; /*г*/ @@ -127,7 +123,7 @@ typedef struct UINT8 chFlag; /*ϢЧ*/ UINT8 chTiocId; /*TIOC*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT32 dwTime; /*ʱ*/ UINT8 chOpStatus; /**/ UINT32 dwCrc32; /*CRC*/ @@ -140,7 +136,7 @@ typedef struct UINT32 dwCycle; /*״Ϣں*/ UINT8 chAtsId; /*ATS*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT8 chTiocId; /*TIOC*/ UINT32 dwTime; /*ʱ*/ UINT8 chTrainNum; /*г*/ @@ -155,7 +151,7 @@ typedef struct UINT32 dwCycle; /*Ϣں*/ UINT8 chAtsId; /*ATS*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT8 chTiocId; /*TIOC*/ UINT32 dwEaTrainId; /*гͨ*/ UINT32 dwTime; /*ʱ*/ @@ -171,7 +167,7 @@ typedef struct UINT32 dwCycle; /*Ϣں*/ UINT8 chAtsId; /*ATS*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT8 chTiocId; /*TIOC*/ UINT32 dwTime; /*ʱ*/ UINT8 chType; /*/ȡ*/ @@ -188,7 +184,7 @@ typedef struct UINT32 dwCycle; /*Ϣں*/ UINT8 chAtsId; /*ATS*/ UINT8 chStation; /*վ*/ - UINT16 wIndex; /*վ*/ + UINT8 chIndex; /*վ*/ UINT8 chTiocId; /*TIOC*/ UINT32 dwDaTrainId; /*гͨ*/ UINT32 dwTime; /*ʱ*/ @@ -218,11 +214,6 @@ extern AtsMsgCfmStru g_strAtsDaCfmFst; extern AtsDaMsgStru g_strAtsDaMsgSnd; extern AtsMsgCfmStru g_strAtsDaCfmSnd; -extern AtsMsgCfmStru g_strSndAtsCfmFst; /*ڶATSԶɸѡ״ȷ*/ -extern AtsMsgCfmStru g_strSndAtsEaCfmFst; /*ڶATSȡɢ״ȷ*/ -extern AtsMsgCfmStru g_strSndAtsWlbCfmFst; /*ڶATS/ȡȫгƶ״ȷ*/ -extern AtsMsgCfmStru g_strSndAtsDaCfmFst; /*ڶATSȡѹ״ȷ*/ - /** * @brief ȡԶɸѡATS״Ϣ @@ -417,36 +408,4 @@ void ClearAtsDaMsgSecond(void); */ UINT8 WlbUrgentIdCheck(const UINT8 cDeviceType, const UINT16 wDeviceId); -/** -* @brief ڶATSԶɸѡһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsScreenFstCfmMsg(void); - -/** -* @brief ڶATSȡɢһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsEaFstCfmMsg(void); - -/** -* @brief ڶATSȫ߽ƶһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsWlbFstCfmMsg(void); - -/** -* @brief ڶATSȡѹһȷϢ -* @param -* @return -* @note Created By LQ 2025.05.29 -*/ -void ClearSndAtsDaFstCfmMsg(void); - #endif \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackITEData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackITEData.c index cccfbee..de46f75 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackITEData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackITEData.c @@ -68,24 +68,24 @@ UINT8 ParseIteToCiData(const UINT8* dataBuf, const UINT16 dataLength, const UINT UINT8 ii = 0U; UINT8 retVal = CI_ERROR; UINT8 cGalHeadSavedFlag = CI_ERROR; - IteToCiDataStruct parseCheckIte = { 0 }; - UINT8 chFind = CI_ERROR; if (IteToCiSum < ITE_TO_CI_SUM_MAX) { - retVal = ParseIteToCiDataFrame(dataBuf, dataLength, systemId, &parseCheckIte, &cGalHeadSavedFlag, logId); + (void)CommonMemSet(&(IteToCiDataStru[IteToCiSum]), (UINT32)sizeof(IteToCiDataStruct), 0U, (UINT32)sizeof(IteToCiDataStruct)); /*ڴ棬ֹ*/ + + retVal = ParseIteToCiDataFrame(dataBuf, dataLength, systemId, &(IteToCiDataStru[IteToCiSum]), &cGalHeadSavedFlag, logId); if (CI_SUCCESS == retVal) { + IteToCiSum++; /*ͨŵITEITEͨŽṹǷѴڵǰITE*/ - for (ii = 0u; ii < IteToCiSum; ii++) + for (ii = 0u; ii < (IteToCiSum - 1U); ii++) { - if ((IteToCiDataStru[ii].wIteId == parseCheckIte.wIteId) && (IteToCiDataStru[ii].wIteLogId == parseCheckIte.wIteLogId)) + if ((IteToCiDataStru[ii].wIteId == IteToCiDataStru[IteToCiSum - 1U].wIteId) && (IteToCiDataStru[ii].wIteLogId == IteToCiDataStru[IteToCiSum - 1U].wIteLogId)) { /*ĿITEѴͨŽṹУݿ֮ǰ洢ĵַ*/ - (void)CommonMemSet(&(IteToCiDataStru[ii]), (UINT32)sizeof(IteToCiDataStruct), 0U, (UINT32)sizeof(IteToCiDataStruct)); /*ڴ棬ֹ*/ - (void)CommonMemCpy(&(IteToCiDataStru[ii]), (UINT32)sizeof(IteToCiDataStruct), &parseCheckIte, (UINT32)sizeof(IteToCiDataStruct)); - chFind = CI_SUCCESS; + (void)CommonMemCpy(&(IteToCiDataStru[ii]), (UINT32)sizeof(IteToCiDataStruct), &(IteToCiDataStru[IteToCiSum - 1U]), (UINT32)sizeof(IteToCiDataStruct)); + IteToCiSum--; break; } else @@ -93,16 +93,6 @@ UINT8 ParseIteToCiData(const UINT8* dataBuf, const UINT16 dataLength, const UINT /**/ } } - if (CI_ERROR == chFind) - { - /*δҵ ½ͨ д洢*/ - (void)CommonMemCpy(&(IteToCiDataStru[IteToCiSum]), (UINT32)sizeof(IteToCiDataStruct), &parseCheckIte, (UINT32)sizeof(IteToCiDataStruct)); - IteToCiSum++; - } - else - { - ; /*Ѵڲ*/ - } } else { diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackManage.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackManage.c index 64c9048..828e6b0 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackManage.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackManage.c @@ -237,7 +237,11 @@ UINT8 ParseOtherSysToCiData(void) if (ocId == chLocalCiId)/*oc idci idΪid*/ { oc2ciParseResult = ParseOcToCiDataFrame(data, (UINT16)dataLen, devId); - if (CI_CHECK_LEN_ERROR == oc2ciParseResult) + if (CI_ERROR == oc2ciParseResult) + { + /*OCݴѾ10ڣͨжϣȫ*/ + } + else if (CI_CHECK_LEN_ERROR == oc2ciParseResult) { /*УѴOCԭʼ豸״̬ȫ*/ /* Уʧܴ @@ -257,11 +261,7 @@ UINT8 ParseOtherSysToCiData(void) } else { - /*ֵ*/ - ResetOcOriginalState(devId); - ConvertOcOriginDataToPtData();/*ѽOC忨תΪOCλ*/ - ConvertOcOriginDataToOcSigSwDev();/*ѽOC豸תΪOC źŻ OC 豸ݺOC*/ - debug_infor_printf((const)"OC Id %d parse ERROR.", devId); + /*ֵʲôҲ*/ } } else @@ -1008,18 +1008,11 @@ UINT8 PackCiToOtherSysData(void) ; /*do nothing*/ } } - else - { - /**/ - } - - /*ɳؿر*/ - PackCiToVobcFlyProtectData(); - #ifdef APPCI_MAINTAIN_DEBUG #ifdef PLATFORM_2OO2 /*cgh-ϲCID-2349-1*/ /*͸ά豸ͨ״̬*/ + debug_infor_printf((const)"\nCIM_SEND_COMM\n"); PackCiToCimCommData(); /*͸άźŻ˿״̬*/ debug_infor_printf((const)"\nCIM_SEND_DS\n"); @@ -1038,8 +1031,6 @@ UINT8 PackCiToOtherSysData(void) PackCiToCimDeviceData(); /*άɳ*/ PackCiToCimFlyProtectData(); - /*άIO˫ϵɼһ±*/ - PackCiToCimCollDiffData(); /*͸AIM˳ӪϢ*/ AIMOutput(); /*͸άִеԪϢ*/ diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.c index e9a37f7..cc2ff0d 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.c @@ -93,7 +93,6 @@ UINT16 ConvertSigDrvColorToSigDrvCmd(const UINT16 signalId, const UINT8 drvColor UINT16 retDrvCmd = 0u; UINT8 ocHasBlue = 0u; UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ - UINT8 funSwitchALLCloseUseBlue = GetCiFunctionSwitchConfig(FUNC_SWITCH_ZX_ALLCLOSE_USEBLUE);/*ƾתƹܿ*/ UINT8 ciType = GetLocalCiType(); switch (drvColor) { @@ -119,7 +118,7 @@ UINT16 ConvertSigDrvColorToSigDrvCmd(const UINT16 signalId, const UINT8 drvColor retDrvCmd = OC_SIGNAL_DRIVECOLOR_GREEN; break; case SIGNAL_DRIVECOLOUR_YELLOWCLOSE:/**/ - if ((FUNC_SWITCH_ON == funSwitchGreenYellow)||(FUNC_SWITCH_ON == funSwitchALLCloseUseBlue)) + if (FUNC_SWITCH_ON == funSwitchGreenYellow) { retDrvCmd = OC_SIGNAL_DRIVECOLOR_BLUE; } @@ -129,17 +128,10 @@ UINT16 ConvertSigDrvColorToSigDrvCmd(const UINT16 signalId, const UINT8 drvColor } break; case SIGNAL_DRIVECOLOUR_REDCLOSE:/**/ - if (FUNC_SWITCH_ON == funSwitchALLCloseUseBlue) - { - retDrvCmd = OC_SIGNAL_DRIVECOLOR_BLUE;/*º*/ - } - else - { - retDrvCmd = OC_SIGNAL_DRIVECOLOR_CLOSE; - } + retDrvCmd = OC_SIGNAL_DRIVECOLOR_CLOSE; break; case SIGNAL_DRIVECOLOUR_GREENCLOSE:/**/ - if ((FUNC_SWITCH_ON == funSwitchGreenYellow) || (FUNC_SWITCH_ON == funSwitchALLCloseUseBlue)) + if (FUNC_SWITCH_ON == funSwitchGreenYellow) { retDrvCmd = OC_SIGNAL_DRIVECOLOR_BLUE; } @@ -248,8 +240,6 @@ UINT8 PackCiToOcData( UINT8 deviceId) UINT16 OcDevName = 0U; /*OCƣ+ID*/ UINT8 chSwitch = GetCiFunctionSwitchConfig(FUNC_OC_100_OR_200); UINT8 chLocalOcType = GetLocalOcPattern(); /*OC*/ - UINT16 deviceSum = 0u; - UINT16 kqChangeCommand = 0u;/*Ȩл*/ #if 0 QueueClear(CiToOcDataQueue); /**/ #endif @@ -303,16 +293,7 @@ UINT8 PackCiToOcData( UINT8 deviceId) ii += 2u; ii += 2u;/*Ԥ2ֽ*/ - if (OC_HAVE_YJK == pOcData->chHaveYjk) - { - deviceSum = pOcData->OcDeviceNum + 1u; /*豸+Ȩл*/ - } - else - { - deviceSum = pOcData->OcDeviceNum; - } - - ShortToChar(deviceSum, &Ci2OcDataBuffer[ii]);/*豸*/ + ShortToChar(pOcData->OcDeviceNum, &Ci2OcDataBuffer[ii]);/*豸*/ ii += 2u; for (kk = 0u; kk < pOcData->OcDeviceNum; kk++)/*豸*/ { @@ -355,21 +336,6 @@ UINT8 PackCiToOcData( UINT8 deviceId) } } }/*Ϊoc豸*/ - - if (OC_HAVE_YJK == pOcData->chHaveYjk) - { - Ci2OcDataBuffer[ii++] = CI_SYSTEM_TYPE_OC;/*Ȩл*/ - ShortToChar(pOcData->OcId, &Ci2OcDataBuffer[ii]);/*豸ID*/ - ii += 2u; - - kqChangeCommand = GetKqChangeCommand(); - ShortToChar(kqChangeCommand, &Ci2OcDataBuffer[ii]);/*Ȩл*/ - ii += 2u; - } - else - {/**/ - } - pBoardNumStartIndex = ii;/*ֵ*/ ii += 2u;/*ֵ*/ @@ -612,7 +578,7 @@ UINT8 PackCiToOcData( UINT8 deviceId) (void)CommonMemCpy(&Ci2OcDataBuffer[ii], OC_TO_CI_DATA_LEN_MAX-ii, ciSiToOc, ciSiToOcIdx); ii += ciSiToOcIdx; - if ((FUNC_SWITCH_ON == chSwitch)&&(DATA_TYPE_NEW == chLocalOcType)) + if ((FUNC_SWITCH_ON == chSwitch)&&(OC_DATA_TYPE_NEW == chLocalOcType)) { /*OC200 ݽṹ25ϲ֧SOR*/ Ci2OcDataBuffer[ii] = sorBoardNum; @@ -639,7 +605,7 @@ UINT8 PackCiToOcData( UINT8 deviceId) } #endif /*OC100OCݽṹ24 ӿڱԤ20ֽ*/ - if ((FUNC_SWITCH_OFF == chSwitch) || (DATA_TYPE_OLD == chLocalOcType)) + if ((FUNC_SWITCH_OFF == chSwitch) || (OC_DATA_TYPE_OLD == chLocalOcType)) { Ci2OcDataBuffer[ii++] = 0xffu; Ci2OcDataBuffer[ii++] = 0xffu; @@ -730,7 +696,6 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) UINT8 sorBoardNumber = 0u;/*SOR忨*/ UINT16 SwapBoardNumber = 0U;/*ϵ忨*/ UINT8 chPbNumber = 0u; /*ִе*/ - UINT8 chPsdNumber = 0u; /**/ UINT16 upToGDNumber = 0u; UINT16 upToDIBoardNumber = 0u; @@ -740,10 +705,8 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) UINT16 upToSORBoardNumber = 0u; UINT16 upToPbNumer = 0u;/*ִеݸ*/ UINT16 upToSwapSysBoardNumber = 0U; - UINT16 upToPsdNumber = 0U; UINT16 tmpTotalLen = 0u;/*ʱܳ*/ UINT8 chSwitch = 0u; - UINT8 ocInterfaceFlag = 0u;/*OCӿڱʶ*/ UINT8 ii = 0U;/*豸ѭ*/ UINT16 wDevInfoIndex = LEN_OC_UP_TO_DEV_NO-1U;/*ת޻ oc200ʹ*/ UINT16 wZzjStateNumber = 0U;/*ת޻״̬ռֽ*/ @@ -754,7 +717,6 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) { retVal = CI_SUCCESS; chSwitch = GetCiFunctionSwitchConfig(FUNC_OC_100_OR_200); - ocInterfaceFlag = GetCiFunctionSwitchConfig(FUNC_OC_INTERFACE_CONF); if (totalLength < LEN_OC_UP_TO_DEV_NO) {/*УOCݴӿʼ豸ֹ豸*/ retVal = CI_CHECK_LEN_ERROR; @@ -772,7 +734,7 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) if (CI_SUCCESS == retVal) {/*УOCݴӿͷݽֹ*/ - if (DATA_TYPE_NEW == chLocalOcType) + if (OC_DATA_TYPE_NEW == chLocalOcType) { /*ݳ*/ switchNum = dataBuf[LEN_OC_UP_TO_DEV_NO - 2U]; @@ -797,8 +759,8 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) for (ii = 0U; ii < devNumber; ii++) { wSwitchIncludeZzjIndex += 4U; - wZzjStateNumber = wZzjStateNumber +(UINT16)(dataBuf[wSwitchIncludeZzjIndex] * 1U); - wSwitchIncludeZzjIndex += 1U + (UINT16)(dataBuf[wSwitchIncludeZzjIndex] * 1U) + 4U; + wZzjStateNumber = wZzjStateNumber + (dataBuf[wSwitchIncludeZzjIndex] * 1U); + wSwitchIncludeZzjIndex += 1U + dataBuf[wSwitchIncludeZzjIndex] * 1U + 4U; } upToGDNumber = LEN_OC_UP_TO_GD_NO_200_2(devNumber, wZzjStateNumber); wDevInfoIndex = upToGDNumber; @@ -870,7 +832,7 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) soBoardNumber = ShortFromChar(&dataBuf[upToSOBoardNumber - 2U]); } } - if (DATA_TYPE_NEW == chLocalOcType) + if (OC_DATA_TYPE_NEW == chLocalOcType) { wOffSet = 0U; if (CI_SUCCESS == retVal) @@ -910,7 +872,7 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) if (CI_SUCCESS == retVal) {/*УOCݴӿͷϵ忨ݽֹϵ忨*/ - upToSwapSysBoardNumber = LEN_OC_UP_TO_SWAPSYSBOARD_NO_200(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, (UINT16)chPbNumber); + upToSwapSysBoardNumber = LEN_OC_UP_TO_SWAPSYSBOARD_NO_200(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, chPbNumber); upToSwapSysBoardNumber -= wOffSet; if (totalLength < upToSwapSysBoardNumber) { @@ -924,87 +886,18 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength) } if (CI_SUCCESS == retVal) - {/*УOCݴӿͷݽ*/ - upToPsdNumber = LEN_OC_UP_TO_END_200(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, (UINT16)chPbNumber, SwapBoardNumber); - upToPsdNumber -= wOffSet; - if (totalLength < upToPsdNumber) + {/*Уݳ*/ + tmpTotalLen = LEN_OC_UP_TO_END_200(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, chPbNumber, SwapBoardNumber); + tmpTotalLen -= wOffSet; + if (totalLength == tmpTotalLen) { - retVal = CI_CHECK_LEN_ERROR; - } - else if (totalLength == upToPsdNumber) - {/*Ѿȣû*/ - if (CI_SUCCESS == retVal) - {/*Уݳ*/ - tmpTotalLen = LEN_OC_UP_TO_END_200(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, (UINT16)chPbNumber, SwapBoardNumber); - tmpTotalLen -= wOffSet; - if (totalLength == tmpTotalLen) - { - retVal = CI_SUCCESS; - } - else - { - retVal = CI_CHECK_LEN_ERROR; - } - } + retVal = CI_SUCCESS; } else { - /*滹ݣOC-200 3.3OC-300 1.0.1*/ - if (OC200_VER3_2_AFTER == ocInterfaceFlag) - {/*OC-200 3.2֮İ汾Ӧ*/ - if (OC_HAVE_YJK == dataBuf[upToPsdNumber]) - {/*߱Ӧ*/ - tmpTotalLen = upToPsdNumber + 3u; - } - else - {/*߱Ӧ*/ - tmpTotalLen = upToPsdNumber + 1u; - } - - if (totalLength == tmpTotalLen) - { - retVal = CI_SUCCESS; - } - else - { - retVal = CI_CHECK_LEN_ERROR; - } - } - else if (OC300_VER1_0_1_ANDAFTER == ocInterfaceFlag) - {/*OC-300 1.0.1֮İ汾ݺӦ*/ - chPsdNumber = dataBuf[upToPsdNumber]; - - if (CI_SUCCESS == retVal) - {/*Уݳ*/ - tmpTotalLen = LEN_OC_UP_TO_END_300(wDevInfoIndex, gdBoardNumber, diBoardNumber, doBoardNumber, siBoardNumber, soBoardNumber, (UINT16)sorBoardNumber, (UINT16)chPbNumber, SwapBoardNumber, (UINT16)chPsdNumber); - tmpTotalLen -= wOffSet; - - /*Ӧһ*/ - if (OC_HAVE_YJK == dataBuf[tmpTotalLen]) - {/*߱Ӧ*/ - tmpTotalLen += 3u; - } - else - {/*߱Ӧ*/ - tmpTotalLen += 1u; - } - - if (totalLength == tmpTotalLen) - { - retVal = CI_SUCCESS; - } - else - { - retVal = CI_CHECK_LEN_ERROR; - } - } - } - else - { - } + retVal = CI_CHECK_LEN_ERROR; } } - } else if (FUNC_SWITCH_OFF == chSwitch) { @@ -1192,24 +1085,6 @@ void ResetOcOriginalState(const UINT8 ocId) pDIBoard->BoardCollData[jj] = 0xaau;/*SOR忨̵ȫ*/ } } - - SetOcToCiDefaultDataStru(toFindIndex);/*ϢΪȫ*/ - - m_OcToCiOrginDataArr[toFindIndex].PowerAState = (UINT8)0xff; - m_OcToCiOrginDataArr[toFindIndex].PowerBState = (UINT8)0xff; - m_OcToCiOrginDataArr[toFindIndex].OCDevFaultState = (UINT8)0xff; - m_OcToCiOrginDataArr[toFindIndex].FanState = (UINT8)0xff; - - for (ii = 0u; ii < m_OcToCiOrginDataArr[toFindIndex].OCBoardSwapSysNum; ii++) - { - m_OcToCiOrginDataArr[toFindIndex].SwapSysBoardId[ii] = 0U; - } - m_OcToCiOrginDataArr[toFindIndex].OCBoardSwapSysNum = 0U; - - CommonMemSet(m_OcToCiOrginDataArr[toFindIndex].szPlusBox, (UINT32)(MAX_OC_PLUS_BOX_NUM)*(sizeof(OcPlusBox)), 0U, (UINT32)(MAX_OC_PLUS_BOX_NUM*(sizeof(OcPlusBox)))); - m_OcToCiOrginDataArr[toFindIndex].chPbNum = 0U; - - SetAllCleFarePCBButKeepSta(m_OcToCiOrginDataArr[toFindIndex].OcId, QK_PSD_BUTTON_STATE_UP); } } @@ -1257,17 +1132,11 @@ UINT8 ParseOcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength,const U UINT16 tmpGdId = 0u;/*ʱʱId*/ UINT16 curBoardNum = 0u; /*ǰ*/ UINT16 curBoardSwapSysNum = 0U;/*ϵ忨*/ - UINT8 curPsdNum = 0u; /*PSD*/ - UINT32 psdId = 0u; /*PSD */ - UINT16 psdIndexId = 0u; /*PSD ID*/ - UINT8 funcRet = 0u; /*PSDŲѯidֵ*/ - UINT32 galOcDataVer = 0U; UINT8 chPbIndex = 0u; UINT8 chSwitch = 0u; UINT8 chZzjStateIndex = 0u;/*Ӧת޻״̬*/ UINT8 chOcType = GetLocalOcPattern(); /*ȡOCݽṹ*/ - UINT8 ocInterfaceFlag = 0u; /*OCӿڱʶ*/ for (j=0u;jOcId = systemId; /*oc idֵ*/ + pTmpOcToCiData->ComStartCycle = Get2oo2CurCycleNum();/*յOCʱͨſʼ*/ + + debug_infor_printf((const)"\nId:%d OC_COM:%d\n",pTmpOcToCiData->OcId,pTmpOcToCiData->ComStartCycle); + if (OC_CI_STATE_INFO == appInfoType)/*OCCI״̬Ϣ 0x8802*/ { /*by cgh 20230831 ת޻״̬ӿ*/ /*fan 20241120 4ǣ OC3.0 ӿ ֧OCݽṹнݽṹ*/ - if ((FUNC_SWITCH_ON == chSwitch)&&(DATA_TYPE_NEW == chOcType)) + if ((FUNC_SWITCH_ON == chSwitch)&&(OC_DATA_TYPE_NEW == chOcType)) { /*************豸[]***********/ tmpDeviceType = CI_DEVICE_TYPE_SWITCH; @@ -1696,7 +1568,7 @@ UINT8 ParseOcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength,const U } /*************SOR忨 OC-200ҽOC***********/ - if ((CI_SUCCESS == retVal) && (FUNC_SWITCH_ON == chSwitch)&& (DATA_TYPE_NEW == chOcType)) + if ((CI_SUCCESS == retVal) && (FUNC_SWITCH_ON == chSwitch)&& (OC_DATA_TYPE_NEW == chOcType)) { pTmpOcToCiData->OcSORBoardNum = dataBuf[ii++];/*Sor忨*/ if (MAX_OC_SOR_BOARD_NUM >= pTmpOcToCiData->OcSORBoardNum) @@ -1787,121 +1659,6 @@ UINT8 ParseOcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength,const U debug_infor_printf((const)"OcSwapSysBoardNum'index %d exceed macro %d.\n", curBoardSwapSysNum, MAX_OC_DEVICE_NUM); } } - - if (OC200_VER3_2 == ocInterfaceFlag) - {/*OC200 3.2,Ӧ*/ - /**/ - } - else if (OC200_VER3_2_AFTER == ocInterfaceFlag) - {/*OC200 3.2֮İ汾ֻӦ*/ - /*************OCӦ״̬Ϣ***********/ - if (CI_SUCCESS == retVal) - { - pTmpOcToCiData->chHaveYjk = dataBuf[ii++]; - if (OC_HAVE_YJK == pTmpOcToCiData->chHaveYjk) - {/*߱Ӧ*/ - pTmpOcToCiData->chControlMode = dataBuf[ii++]; - pTmpOcToCiData->chOcYjpComm = dataBuf[ii++]; - } - else - {/*߱Ӧ*/ - } - } - } - else if (OC300_VER1_0_1_ANDAFTER == ocInterfaceFlag) - {/*OC300 1.0.1֮İ汾źӦ*/ - if (CI_SUCCESS == retVal) - { - /*************Ϣ***********/ - /**/ - pTmpOcToCiData->OCPsdNum = dataBuf[ii++]; - curPsdNum = pTmpOcToCiData->OCPsdNum; - if (0u != curPsdNum) - { - /*Դ״̬*/ - pTmpOcToCiData->DrvPowerState = dataBuf[ii++]; - /*ƵԴ״̬*/ - pTmpOcToCiData->CtlPowerState = dataBuf[ii++]; - /*Ե1״̬*/ - pTmpOcToCiData->EdgeCtllerState1 = dataBuf[ii++]; - /*Ե2״̬*/ - pTmpOcToCiData->EdgeCtllerState2 = dataBuf[ii++]; - - - - if (PSD_SUM_MAX >= curPsdNum) - { - for (j = 0u; j < curPsdNum; j++) - { - psdId = LongFromChar(&dataBuf[ii]); /*ȡID*/ - ii += 4u; - /*PSD*/ - funcRet = dquQueryInDevIndex(QFUN_IDMAP_PSD_ID, psdId, &psdIndexId); - if (CI_SUCCESS == funcRet) - { - pTmpOcToCiData->PsdInfo[j].wPsdId = psdIndexId; - /*Ź״̬*/ - pTmpOcToCiData->PsdInfo[j].OpenErrState = dataBuf[ii++]; - /*Ź״̬*/ - pTmpOcToCiData->PsdInfo[j].CloseErrState = dataBuf[ii++]; - /*״̬*/ - pTmpOcToCiData->PsdInfo[j].OpenOrCloseState = dataBuf[ii++]; - /*״̬*/ - pTmpOcToCiData->PsdInfo[j].InterlockRelState = dataBuf[ii++]; - /*ŹϸϢλ*/ - pTmpOcToCiData->PsdInfo[j].psdFaultQStataOne = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*ŹϸϢλ*/ - pTmpOcToCiData->PsdInfo[j].psdFaultQStataTwo = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*ſ״̬λ*/ - pTmpOcToCiData->PsdInfo[j].psdDoorsStateOne = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*ſ״̬λ*/ - pTmpOcToCiData->PsdInfo[j].psdDoorsStateTwo = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*űϢλ*/ - pTmpOcToCiData->PsdInfo[j].psdDoorIStateOne = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*űϢλ*/ - pTmpOcToCiData->PsdInfo[j].psdDoorIStateTwo = LongFromChar(&dataBuf[ii]); - ii += 4u; - /*ϰﱨ״̬*/ - pTmpOcToCiData->PsdInfo[j].psdAlarmState = dataBuf[ii++]; - } - else - { - /*Ž*/ - ii += 29u; - retVal = CI_ERROR; - break; - } - } - } - else - { - /*ԾϢ*/ - retVal = CI_ERROR; - debug_infor_printf((const)"OcPscNum'index %d exceed macro %d.\n", curPsdNum, PSD_SUM_MAX); - } - } - - } - /*************OCӦ״̬Ϣ***********/ - if (CI_SUCCESS == retVal) - { - pTmpOcToCiData->chHaveYjk = dataBuf[ii++]; - if (OC_HAVE_YJK == pTmpOcToCiData->chHaveYjk) - {/*߱Ӧ*/ - pTmpOcToCiData->chControlMode = dataBuf[ii++]; - pTmpOcToCiData->chOcYjpComm = dataBuf[ii++]; - } - else - {/*߱Ӧ*/ - } - } - } - #endif #if 0 (void)memcpy(pTmpOcToCiData->OcSystemState,&dataBuf[ii],16);/*OCϵͳ״̬*/ @@ -1929,10 +1686,6 @@ UINT8 ParseOcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength,const U SetHLHTHeadCtxSrcOppSN(CI_SYSTEM_TYPE_OC, systemId, hlhtGalHead.recvOppMsgSN); SetHLHTHeadCtxSrcOwnSN(CI_SYSTEM_TYPE_OC, systemId, hlhtGalHead.preOwnMsgSN); SetHLHTHeadCtxCiRcvSN(CI_SYSTEM_TYPE_OC, systemId, curntCycleNo); - - /*ͨ ͨ*/ - pTmpOcToCiData->ComStartCycle = Get2oo2CurCycleNum();/*յOCʱͨſʼ*/ - debug_infor_printf((const)"\nId:%d OC_COM:%d\n", pTmpOcToCiData->OcId, pTmpOcToCiData->ComStartCycle); if(findFlag ==0u) /*ҪµocûҵΪµoc,Ҫoc*/ { @@ -2525,16 +2278,6 @@ UINT8 InitOcsBoardsIsScatter(void) UINT16 boardId = 0u; /*忨ID*/ UINT16 ocId = 0u; /*OC ID*/ UINT8 boardType = 0u; /*忨*/ - UINT16 jj = 0U; - UINT8 cLocalCiId = 0U; - UINT8 cOcBelongCiId = 0U; - UINT16 wRelayCurSum = 0U; - UINT16 wRelayId = 0U; - UINT16 wRelayBelongOCId = 0U; - UINT16 wRelayAForeBoardId = 0U; /*Aϵǰɰ忨ID*/ - UINT16 wRelayABackBoardId = 0U; /*Aϵɰ忨ID*/ - UINT16 wRelayBForeBoardId = 0U; /*Aϵǰɰ忨ID*/ - UINT16 wRelayBBackBoardId = 0U; /*Aϵɰ忨ID*/ readRtn = dquGetConfigData((const)DataPath, OC_DATA_TYPE, OC_IN_OUT_TYPE_ID, &pData, &dataLen); if (1u == readRtn) /*ȡɹ*/ @@ -2544,8 +2287,6 @@ UINT8 InitOcsBoardsIsScatter(void) rowNum = dataLen / OC_IN_OUT_TYPE_LEN; /*ݵĸ*/ if ((BOARD_SUM_MAX*OC_SUM_MAX) >= rowNum) { - cLocalCiId = GetSystemParaLocalCiId(); - wRelayCurSum = GetRelayCurSum(); for (i = 0u; i < rowNum; i++) { boardId = ShortFromChar(&pData[offset]); /*忨ID*/ @@ -2571,40 +2312,6 @@ UINT8 InitOcsBoardsIsScatter(void) { rtn = 0U; } - - cOcBelongCiId = (UINT8)GetCiIdByOcId(ocId); - - if (cOcBelongCiId == cLocalCiId) - { - for (jj = 0U; jj < wRelayCurSum; jj++) - { - wRelayId = GetRelayId(jj); - wRelayBelongOCId = GetRelayBelongOCId(wRelayId); - if (wRelayBelongOCId == ocId) - { - wRelayAForeBoardId = GetRelayForeNodeCollAddrA(wRelayId); - wRelayABackBoardId = GetRelayBackNodeCollAddrA(wRelayId); - wRelayBForeBoardId = GetRelayForeNodeCollAddrB(wRelayId); - wRelayBBackBoardId = GetRelayBackNodeCollAddrB(wRelayId); - if ((boardId == wRelayAForeBoardId) || (boardId == wRelayABackBoardId) || (boardId == wRelayBForeBoardId) || (boardId == wRelayBBackBoardId)) - { - SetRelayBoardType(wRelayId, boardType); - } - else - { - /**/ - } - } - else - { - /**/ - } - } - } - else - { - /**/ - } } if (offset == dataLen) /*ȷ*/ { @@ -2618,128 +2325,17 @@ UINT8 InitOcsBoardsIsScatter(void) } -/* -* ΪָOC->CIĽṹȱʡֵ(ȫֵ) -* ˵ index , OC idӦ± -* ֵ -*/ -void SetOcToCiDefaultDataStru(UINT8 index) -{ - UINT8 curPsdNum = 0U;/*OC->CI*/ - UINT8 j = 0u; - - if (OC_SUM_MAX <= index) - { - /**/ - } - else - { - curPsdNum = m_OcToCiOrginDataArr[index].OCPsdNum; - m_OcToCiOrginDataArr[index].DrvPowerState = PSD_DRIVE_POWER_ERROR;/*Դ״̬*/ - m_OcToCiOrginDataArr[index].CtlPowerState = PSD_CONTROL_POWER_ERROR;/*ƵԴ״̬*/ - m_OcToCiOrginDataArr[index].EdgeCtllerState1 = PSD_EDGE_CONTROLLER_ERROR;/*Ե1״̬*/ - m_OcToCiOrginDataArr[index].EdgeCtllerState2 = PSD_EDGE_CONTROLLER_ERROR;/*Ե2״̬*/ - for (j = 0U; j < curPsdNum; j++) - { - m_OcToCiOrginDataArr[index].PsdInfo[j].OpenErrState = PSD_OPEN_CLOSE_ERROR;/*Ź״̬*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].CloseErrState = PSD_OPEN_CLOSE_ERROR;/*Ź״̬*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].OpenOrCloseState = PSD_STATE_OPEN_VIETNAM;/*״̬*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].InterlockRelState = PSD_MUTUALLOCK_REMOVE_NO;/*״̬*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].psdFaultQStataOne = UINT32_MAX;/*ŹϸϢ*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].psdFaultQStataTwo = UINT32_MAX; - m_OcToCiOrginDataArr[index].PsdInfo[j].psdDoorsStateOne = UINT32_MAX;/*ſ״̬*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].psdDoorsStateTwo = UINT32_MAX; - m_OcToCiOrginDataArr[index].PsdInfo[j].psdDoorIStateOne = UINT32_MAX;/*űϢ*/ - m_OcToCiOrginDataArr[index].PsdInfo[j].psdDoorIStateTwo = UINT32_MAX; - m_OcToCiOrginDataArr[index].PsdInfo[j].psdAlarmState = PSD_ALARM_OBS_YES;/*ϰﱨ״̬*/ - } - } - -} - -/* -* ȡҪ͸OCĿȨл -* ˵ -* ֵ Ȩл -*/ -UINT16 GetKqChangeCommand(void) -{ - UINT16 ii = 0u; - UINT16 command = CHANGE_NO_COMMAND; - - for (ii = 0u; ii < m_OcToCiOrginDataNum; ii++) - { - if (OC_CTLMODE_YJK == m_OcToCiOrginDataArr[ii].chControlMode) - { - /*ӦصOC*/ - if (CI_AND_OTHER_TRANSMIT_BAD == m_OcToCiOrginDataArr[ii].chOcYjpComm) - { - /*OCӦͨж*/ - } - else - { - break; - } - } - else - { - /*ǻ,*/ - } - } - - if((0 != ii)&& (ii == m_OcToCiOrginDataNum)) - {/*дӦصOCӦжϣOCǻ*/ - command = CHANGE_JK_COMMAND; - } - else - { - /**/ - } - - return command; -} - - -/* -* ȡλɼʼ -* ˵ const UINT16 ocId, OC ID -* const UINT8 boardNum, 忨ID -* const UINT8 pointNumλID -* ֵ UINT32 ɼʼ -*/ -UINT32 GetPointTolerateCycNum(const UINT16 ocId, const UINT8 boardNum, const UINT8 pointNum) -{ - UINT32 retVal = CI_ERROR; - - if ((OC_SUM_MAX > ocId) && (Oc_Max_Board_Num > boardNum) && (OC_COLL_BOARD_POS_NUM > pointNum)) - { - retVal = m_OcConvertedPtDataArr[ocId].BoardDatas[boardNum].TolerateCycNum[pointNum]; - } - else - {/**/ - } - - return retVal; -} - -/* -* õɼʼ -* ˵ const UINT16 ocId, OC ID -* const UINT8 boardNum, 忨ID -* const UINT8 pointNumλID -* const UINT32 cycNum ں -* ֵ -*/ -void SetPointTolerateCycNum(const UINT16 ocId, const UINT8 boardNum, const UINT8 pointNum, const UINT32 cycNum) -{ - if ((OC_SUM_MAX > ocId) && (Oc_Max_Board_Num > boardNum) && (OC_COLL_BOARD_POS_NUM > pointNum)) - { - m_OcConvertedPtDataArr[ocId].BoardDatas[boardNum].TolerateCycNum[pointNum] = cycNum; - } - else - {/**/ - } -} + + + + + + + + + + + diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.h index a63cf8d..b2fbffc 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackOcData.h @@ -69,15 +69,6 @@ #define OC_BOARD_STATE_NORMAL ((UINT8)0) /*oc忨״̬*/ -#define OC_HAVE_YJK ((UINT8)0x55) /*OC߱Ӧ*/ -#define OC_NOT_YJK ((UINT8)0xAA) /*OC߱Ӧ*/ - -#define OC_CTLMODE_YJK ((UINT8)0x55) /*OC״̬Ӧ*/ -#define OC_CTLMODE_JK ((UINT8)0xAA) /*OC״̬ǻ*/ - -#define CHANGE_JK_COMMAND ((UINT16)0x00AA) /*л*/ -#define CHANGE_NO_COMMAND ((UINT16)0x00FF) /*л*/ - typedef struct s_OcDevState { UINT16 OcId;/*oc id*/ @@ -126,23 +117,6 @@ typedef struct s_PlusBox UINT8 chAsState; /*տ״̬ λʾ1տ״̬λʾ2տ״̬0x50xaϣźŻ䣬ֻһտλЧת޻ߡλЧ*/ }OcPlusBox; -typedef struct s_PsdInfo -{ - UINT16 wPsdId; /**/ - UINT8 OpenErrState; /*Ź״̬*/ - UINT8 CloseErrState; /*Ź״̬*/ - UINT8 OpenOrCloseState; /*״̬*/ - UINT8 InterlockRelState; /*״̬*/ - UINT32 psdFaultQStataOne; /*ϸϢĸֽ*/ - UINT32 psdFaultQStataTwo; /*ϸϢĸֽ*/ - UINT32 psdDoorsStateOne; /*ÿŵĿ״̬ĸֽ*/ - UINT32 psdDoorsStateTwo; /*ÿŵĿ״̬ĸֽ*/ - UINT32 psdDoorIStateOne; /*ÿŵıϢĸֽ*/ - UINT32 psdDoorIStateTwo; /*ÿŵıϢĸֽ*/ - UINT8 psdAlarmState; /*ϰﱨ״̬*/ - -}OcToCiPsdInfo; - typedef struct S_OcToCiDataStruct { UINT16 OcId; /*OC*/ @@ -173,17 +147,6 @@ typedef struct S_OcToCiDataStruct UINT16 OCBoardSwapSysNum;/*OCϵ忨*/ UINT8 SwapSysBoardId[MAX_OC_DEVICE_NUM];/*OCϵ忨ID*/ - UINT8 OCPsdNum;/**/ - UINT8 DrvPowerState;/*Դ״̬*/ - UINT8 CtlPowerState;/*ƵԴ״̬*/ - UINT8 EdgeCtllerState1;/*Ե1״̬*/ - UINT8 EdgeCtllerState2;/*Ե2״̬*/ - OcToCiPsdInfo PsdInfo[PSD_SUM_MAX];/*Ϣ*/ - - UINT8 chHaveYjk; /*Ƿ߱Ӧ*/ - UINT8 chControlMode; /*״̬*/ - UINT8 chOcYjpComm; /*OCYJPͨ״̬*/ - UINT32 ComStartCycle; /*ͨſʼڣʹøжOCCIж*/ UINT16 RecvErrorDevTypeCycle; /*յ豸*/ @@ -196,7 +159,6 @@ typedef struct S_OcBoardDataStruct1 UINT8 BoardAddress; /*ӵַ*/ UINT8 BoardState; /*忨״̬0x550xaa*/ UINT8 PosValueBuf[OC_COLL_BOARD_POS_NUM]; /*Ӹλ*/ - UINT32 TolerateCycNum[OC_COLL_BOARD_POS_NUM];/*Ӹλ*/ }CollBoardData; typedef struct S_OcCollBoardDataStruct @@ -304,14 +266,6 @@ extern OcFaultStateStruct m_OcFaultState[OC_SUM_MAX];/*CI #define LEN_OC_UP_TO_END_200(startIndex,gdBoardNo,diBoardNo,doBoardNo,siBoardNo,soBoardNo,sorBoardNo,pbNo,swapSysBoardNo) LEN_OC_UP_TO_SWAPSYSBOARD_NO_200((startIndex),(gdBoardNo),(diBoardNo),(doBoardNo),(siBoardNo),(soBoardNo),(sorBoardNo),(pbNo))+(swapSysBoardNo) -/*OC-300ӿʹ*/ -/*OCӿʼdevNo:豸gdBoardNo, diBoardNodi doBoardNodo siBoardNo:si soBoardNo:so sorBoardNo:sor pbNo:ִе swapSysBoardNo:ϵ忨*/ -#define LEN_OC_UP_TO_PSD_NO_300(startIndex,gdBoardNo,diBoardNo,doBoardNo,siBoardNo,soBoardNo, sorBoardNo,pbNo, swapSysBoardNo) LEN_OC_UP_TO_SWAPSYSBOARD_NO_200((startIndex),(gdBoardNo),(diBoardNo),(doBoardNo),(siBoardNo),(soBoardNo),(sorBoardNo), (pbNo))+(swapSysBoardNo)+1U - -/*OCӿʼdevNo:豸gdBoardNo, diBoardNodi doBoardNodo siBoardNo:si soBoardNo:so sorBoardNo:sor pbNo:ִе swapSysBoardNo:ϵ忨 psdNo:*/ -#define LEN_OC_UP_TO_END_300(startIndex,gdBoardNo,diBoardNo,doBoardNo,siBoardNo,soBoardNo,sorBoardNo,pbNo,swapSysBoardNo, psdNo) LEN_OC_UP_TO_PSD_NO_300((startIndex),(gdBoardNo),(diBoardNo),(doBoardNo),(siBoardNo),(soBoardNo),(sorBoardNo),(pbNo), swapSysBoardNo)+33*(psdNo) + (0u == psdNo?0u:4u) - - #ifdef __cplusplus extern "C" { @@ -446,38 +400,6 @@ UINT8 CheckOc2CiDataLenValid(const UINT8* dataBuf, const UINT16 totalLength); */ void ResetOcOriginalState(const UINT8 ocId); -/* -* ΪָOC->CIĽṹȱʡֵ(ȫֵ) -* ˵ index:OC idӦ± -* ֵ 0:ʧ -* 1:ɹ -*/ -void SetOcToCiDefaultDataStru(UINT8 index); - -/* -* ȡҪ͸OCĿȨл -* ˵ -* ֵ Ȩл -*/ -UINT16 GetKqChangeCommand(void); - -/* -* ȡλɼʼ -* ˵ const UINT16 switchId, ID -* ֵ UINT32 ɼʼ -*/ -UINT32 GetPointTolerateCycNum(const UINT16 ocId, const UINT8 boardNum, const UINT8 pointNum); - -/* -* õɼʼ -* ˵ const UINT16 ocId, OC ID -* const UINT8 boardNum, 忨ID -* const UINT8 pointNumλID -* const UINT32 cycNum ں -* ֵ -*/ -void SetPointTolerateCycNum(const UINT16 ocId, const UINT8 boardNum, const UINT8 pointNum, const UINT32 cycNum); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.c index 3a2896b..5e54dc7 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.c @@ -75,23 +75,23 @@ static UINT8 ParseSnowData(UINT8* dataBuf, UINT16 dataLen); static UINT8 ParseWLSData(UINT8* dataBuf, UINT16 dataLen); /* -* ITEгϢ +* ITEȫгϢ * ˵const UINT8* dataBuf, ݻ * const UINT16 dataLength, ݳ * ֵCI_ERROR 0 ݽʧ * CI_SUCCESS 1 ݽɹ * Created By LQ 2024.07.12 */ -static UINT8 ParseIteCutData(UINT8* dataBuf, UINT16 dataLen); +static UINT8 ParseIteLineCutData(UINT8* dataBuf, UINT16 dataLen); /* -* ITEгϢ +* ITEȫгϢ * ˵UINT8* TiocToTmcDataBuffer ݵַ * ֵ0 ʧ * ݳ * Created By LQ 2024.07.12 */ -static UINT16 PackToTmcIteCutData(UINT8* TiocToTmcDataBuffer); +static UINT16 PackToTmcIteLineCutData(UINT8* TiocToTmcDataBuffer); /* * ȫͨųϢ @@ -253,9 +253,9 @@ UINT8 ParseTmcToTiocDataFrame(UINT8* dataBuf, UINT16 dataLength, UINT8 systemId) break; case TMC_TO_TIOC_ITELINECUT_MSG: /* ITEȫгϢ */ - retVal = ParseIteCutData(&dataBuf[ii], wMsgCheckLen); + retVal = ParseIteLineCutData(&dataBuf[ii], wMsgCheckLen); dwParseStep |= 0x00010U; - debug_infor_printf((const)"\n ParseIteCutData:%d", retVal); + debug_infor_printf((const)"\n ParseIteLineCutData:%d", retVal); break; case TMC_TO_TIOC_LINECT_MSG: /* ȫͨųϢ */ @@ -652,12 +652,11 @@ static UINT8 ParseSnowData(UINT8* dataBuf, UINT16 dataLen) UINT8 cRetVal = CI_ERROR; UINT16 ii = 0u; UINT8 jj = 0U; - UINT16 wPlatFormId = 0U; /*վ̨ͨID*/ + UINT32 dwPlatFormId = 0U; /*վ̨ͨID*/ UINT8 cPlatFormNum = 0U; /*վ̨*/ UINT8 cTmepNum = 0U; UINT8 cPlatFormBelongCiId = 0U; /*վ̨LinkCI*/ UINT8 cLocalCiId = 0U; - UINT8 cSnowLevel = 0U; /*ʪȼ*/ if (NULL == dataBuf) { @@ -668,23 +667,14 @@ static UINT8 ParseSnowData(UINT8* dataBuf, UINT16 dataLen) cRetVal = CI_SUCCESS; } - /*ȫѩ/ʪϢ*/ + /*ȫѩģʽЧ־λ */ if (CI_SUCCESS == cRetVal) { - g_TmcToTiocDataStru.cSnowValidFlag = dataBuf[ii]; /*ȫѩ/ʪģʽ*/ + g_TmcToTiocDataStru.cSnowValidFlag = dataBuf[ii]; ii++; if ((CI_ALL_SNOW_VALID == g_TmcToTiocDataStru.cSnowValidFlag) || (CI_ALL_SNOW_UNVALID == g_TmcToTiocDataStru.cSnowValidFlag)) { - cSnowLevel = dataBuf[ii]; /*ȫʪȼ*/ - ii++; - if ((CI_SNOW_LEVEL_DEFAULT == cSnowLevel) || (CI_SNOW_LEVEL_ONE == cSnowLevel) || (CI_SNOW_LEVEL_TWO == cSnowLevel)) - { - g_TmcToTiocDataStru.cSnowLevel = cSnowLevel; - } - else - { - cRetVal = CI_ERROR; - } + cRetVal = CI_SUCCESS; } else { @@ -703,21 +693,17 @@ static UINT8 ParseSnowData(UINT8* dataBuf, UINT16 dataLen) cLocalCiId = GetSystemParaLocalCiId(); for (jj = 0U; jj < cPlatFormNum; jj++) { - wPlatFormId = ShortFromChar(&dataBuf[ii]); /*ѩվ̨ID*/ - ii += 2U; - cSnowLevel = dataBuf[ii]; /*ʪȼ*/ - ii++; + dwPlatFormId = LongFromChar(&dataBuf[ii]); /*ѩվ̨ID*/ + ii += 4U; - if ((0U < wPlatFormId) && (UINT16_MAX > wPlatFormId) - && (CI_SNOW_LEVEL_DEFAULT == cSnowLevel) || (CI_SNOW_LEVEL_ONE == cSnowLevel) || (CI_SNOW_LEVEL_TWO == cSnowLevel)) + cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId((UINT16)dwPlatFormId); /*ȡѩվ̨*/ + if (0U < dwPlatFormId) { - cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(wPlatFormId); /*ȡѩվ̨*/ if ((cLocalCiId == cPlatFormBelongCiId) && (0U != cLocalCiId)) { if (LOCAL_AREA_SNOW_SUM_MAX > cTmepNum) { - g_TmcToTiocDataStru.szAreaSnowInfo[cTmepNum].wAreaId = wPlatFormId; - g_TmcToTiocDataStru.szAreaSnowInfo[cTmepNum].cAreaSnowLevel = cSnowLevel; + g_TmcToTiocDataStru.szAreaSnowPlatFormId[cTmepNum] = dwPlatFormId; cTmepNum++; } else @@ -733,7 +719,7 @@ static UINT8 ParseSnowData(UINT8* dataBuf, UINT16 dataLen) } else { - /*ѩģʽIDǷʪȼǷʧ*/ + /*ѩģʽIDǷ*/ cRetVal = CI_ERROR; } } @@ -922,7 +908,7 @@ UINT8 PackTiocToTmcData( UINT8 deviceId) wMagLen = PackToTmcWLScreenData(&TiocToTmcDataBuffer[ii]); break; case 3u: - wMagLen = PackToTmcIteCutData(&TiocToTmcDataBuffer[ii]); + wMagLen = PackToTmcIteLineCutData(&TiocToTmcDataBuffer[ii]); break; case 4U: wMagLen = PackToTmcLineCTData(&TiocToTmcDataBuffer[ii]); @@ -1183,8 +1169,7 @@ static UINT16 PackToTmcSnowData(UINT8* TiocToTmcDataBuffer) UINT8 snowModelFlag = 0u; /*ȫѩģʽ־*/ UINT8 cFunRetVal = CI_ERROR; UINT8 cAreaSnowNum = 0U; /*ѩվ̨*/ - AreaSnowInfoStruct* pAreaSnowData = NULL; /*ѩϢ*/ - UINT8 cSnowLevel = 0U; /*ʪ켶*/ + UINT32* pAreaSnowId = NULL; /*ѩվ̨ID*/ snowModelFlag = GetAllSnowModel(); @@ -1206,30 +1191,14 @@ static UINT16 PackToTmcSnowData(UINT8* TiocToTmcDataBuffer) { TiocToTmcDataBuffer[ii++] = 0x55u; /* ȫѩģʽЧ */ } - else if (CI_ALL_SNOW_UNVALID == snowModelFlag) + else { TiocToTmcDataBuffer[ii++] = 0xAAu; /* ȫѩģʽЧ */ } - else - { - cFunRetVal = CI_ERROR; /*ȫʪ״̬󣬷ʧ*/ - } - - cSnowLevel = GetAllSnowLevel(); - if ((CI_SNOW_LEVEL_DEFAULT == cSnowLevel) || (CI_SNOW_LEVEL_ONE == cSnowLevel)|| (CI_SNOW_LEVEL_TWO == cSnowLevel)) - { - TiocToTmcDataBuffer[ii] = cSnowLevel; /*ȫʪ켶*/ - ii++; - } - else - { - cFunRetVal = CI_ERROR; /*ȫʪ켶󣬷ʧ*/ - } - /*ѩ״̬Ϣ*/ cAreaSnowNum = GetLocalAreaSnowNum(); - pAreaSnowData = GetLocalAreaSnow(); + pAreaSnowId = GetLocalAreaSnowId(); if (LOCAL_AREA_SNOW_SUM_MAX >= cAreaSnowNum) { @@ -1238,19 +1207,8 @@ static UINT16 PackToTmcSnowData(UINT8* TiocToTmcDataBuffer) for (jj = 0U; jj < cAreaSnowNum; jj++) { - if ((0U < pAreaSnowData[jj].wAreaId) && (UINT16_MAX > pAreaSnowData[jj].wAreaId) - && ((CI_SNOW_LEVEL_DEFAULT == pAreaSnowData[jj].cAreaSnowLevel) || (CI_SNOW_LEVEL_ONE == pAreaSnowData[jj].cAreaSnowLevel) || (CI_SNOW_LEVEL_TWO == pAreaSnowData[jj].cAreaSnowLevel))) - { - ShortToChar(pAreaSnowData[jj].wAreaId, &TiocToTmcDataBuffer[ii]); /*ID*/ - ii += 2U; - TiocToTmcDataBuffer[ii] = pAreaSnowData[jj].cAreaSnowLevel; /*ʪ켶*/ - ii++; - } - else - { - cFunRetVal = CI_ERROR; /*ϢǷʧ*/ - break; - } + LongToChar(pAreaSnowId[jj], &TiocToTmcDataBuffer[ii]); /*ѩվ̨ID*/ + ii += 4U; } } else @@ -1370,28 +1328,21 @@ static UINT16 PackToTmcWLScreenData(UINT8* TiocToTmcDataBuffer) } /* -* ITEгϢ +* ITEȫгϢ * ˵const UINT8* dataBuf, ݻ * const UINT16 dataLength, ݳ * ֵCI_ERROR 0 ݽʧ * CI_SUCCESS 1 ݽɹ * Created By LQ 2024.07.12 */ -static UINT8 ParseIteCutData(UINT8* dataBuf, UINT16 dataLen) +static UINT8 ParseIteLineCutData(UINT8* dataBuf, UINT16 dataLen) { UINT8 cRetVal = CI_ERROR; UINT8 cIteLineCutState = 0U; /*ITEȫг״̬*/ - UINT16 ii = 0U; - UINT8 jj = 0U; - UINT16 wPlatFormId = 0U; /*վ̨ID*/ - UINT8 cPlatFormNum = 0U; /*վ̨*/ - UINT8 cTmepNum = 0U; - UINT8 cPlatFormBelongCiId = 0U; /*վ̨LinkCI*/ - UINT8 cLocalCiId = 0U; + UINT16 ii = 0u; if (NULL != dataBuf) { - cRetVal = CI_SUCCESS; cIteLineCutState = dataBuf[ii]; ii++; @@ -1399,83 +1350,20 @@ static UINT8 ParseIteCutData(UINT8* dataBuf, UINT16 dataLen) { g_TmcToTiocDataStru.cIteLineCutState = cIteLineCutState; /*洢ITEȫг״̬*/ - /*ITEгϢ*/ - cPlatFormNum = dataBuf[ii]; /*ITEг*/ - ii++; - - if (ALL_AREA_SNOW_SUM_MAX >= cPlatFormNum) - { - cLocalCiId = GetSystemParaLocalCiId(); - for (jj = 0U; jj < cPlatFormNum; jj++) - { - wPlatFormId = ShortFromChar(&dataBuf[ii]); /*ID*/ - ii += 2U; - if ((0U < wPlatFormId) && (UINT16_MAX > wPlatFormId)) - { - cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(wPlatFormId); /*ȡ*/ - if ((cLocalCiId == cPlatFormBelongCiId) && (0U != cLocalCiId)) - { - if (LOCAL_AREA_SNOW_SUM_MAX > cTmepNum) - { - g_TmcToTiocDataStru.szAreaIteCutId[cTmepNum] = wPlatFormId; - cTmepNum++; - } - else - { - debug_infor_printf((const)"ParseIteCutData: Local AreaIteCutNum Exceed Max\n"); - cRetVal = CI_ERROR; /*ITEгޣֹͣʧ*/ - } - } - else - { - /*DZ*/ - } - } - else - { - debug_infor_printf((const)"ParseIteCutData: Area Id Error\n"); - cRetVal = CI_ERROR; /*IDǷ*/ - } - - if (CI_SUCCESS != cRetVal) - { - break; /*ʧܣֹͣ*/ - } - else - { - /**/ - } - } - - g_TmcToTiocDataStru.cAreaIteCutNum = cTmepNum; - - if (CI_SUCCESS == cRetVal) - { - if (dataLen == ii) - { - /*ɹ*/ - } - else - { - debug_infor_printf((const)"ParseIteCutData: MsgLen Is Error\n"); - cRetVal = CI_ERROR; /*Ȳһ£ʧ*/ - } - } - else - { - /**/ - } + if (dataLen == ii) + { + cRetVal = CI_SUCCESS; } else { - debug_infor_printf((const)"ParseIteCutData: TMC AreaIteCutNum Exceed Max\n"); - cRetVal = CI_ERROR; /*ITEгޣʧ*/ + debug_infor_printf((const)"ParseIteLineCutData Error: MsgLen Is Error\n"); + cRetVal = CI_ERROR; /*Ȳһ£ʧ*/ } } else { cRetVal = CI_ERROR; /*״̬Ƿʧ*/ - debug_infor_printf((const)"ParseIteCutData: IteLineCutState[0x%2x] Is Invalid\n", cIteLineCutState); + debug_infor_printf((const)"ParseIteLineCutData Error: IteLineCutState[0x%2x] Is Invalid\n", cIteLineCutState); } } else @@ -1487,27 +1375,22 @@ static UINT8 ParseIteCutData(UINT8* dataBuf, UINT16 dataLen) } /* -* ITEгϢ +* ITEȫгϢ * ˵UINT8* TiocToTmcDataBuffer ݵַ * ֵ0 ʧ * ݳ * Created By LQ 2024.07.12 */ -static UINT16 PackToTmcIteCutData(UINT8* TiocToTmcDataBuffer) +static UINT16 PackToTmcIteLineCutData(UINT8* TiocToTmcDataBuffer) { UINT16 ii = 0U; UINT16 wMagLen = 0U; UINT16 wMagLenIndex = 0U; UINT16 wRetVal = 0U; UINT8 cIteLineCutState = 0U; /*ITEȫг״̬*/ - UINT8 cAreaIteCutNum = 0U; /*ITEг*/ - UINT16* pAreaIteCutId = NULL; /*ITEгID*/ - UINT8 jj = 0U; - UINT8 cFunRetVal = CI_ERROR; if (NULL != TiocToTmcDataBuffer) { - cFunRetVal = CI_SUCCESS; wMagLenIndex = ii; ii += 2U; @@ -1527,42 +1410,15 @@ static UINT16 PackToTmcIteCutData(UINT8* TiocToTmcDataBuffer) { TiocToTmcDataBuffer[ii] = CI_ITE_LINE_CUT_DEFAULT; /* Ĭֵ */ } + ii++; - /*ITEгϢ*/ - cAreaIteCutNum = GetLocalAreaIteCutNum(); - pAreaIteCutId = GetLocalAreaIteCutId(); + /* дݳ */ + wMagLen = ii - wMagLenIndex; + wRetVal = wMagLen; + wMagLen -= 2U; - if ((LOCAL_AREA_SNOW_SUM_MAX >= cAreaIteCutNum) && (NULL != pAreaIteCutId)) - { - TiocToTmcDataBuffer[ii] = cAreaIteCutNum; /*ITEг*/ - ii++; - - for (jj = 0U; jj < cAreaIteCutNum; jj++) - { - ShortToChar(pAreaIteCutId[jj], &TiocToTmcDataBuffer[ii]); /*ID*/ - ii += 2U; - } - } - else - { - debug_infor_printf((const)"PackToTmcIteCutData: Local AreaIteCutNum Exceed Max\n"); - cFunRetVal = CI_ERROR; /*ITEгޣʧ*/ - } - - if (CI_SUCCESS == cFunRetVal) - { - /* дݳ */ - wMagLen = ii - wMagLenIndex; - wRetVal = wMagLen; - wMagLen -= 2U; - - ShortToChar(wMagLen, &TiocToTmcDataBuffer[wMagLenIndex]); - } - else - { - /*ʧܣ0*/ - } + ShortToChar(wMagLen, &TiocToTmcDataBuffer[wMagLenIndex]); } else { diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.h index a4d3244..b6ba84f 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackTmcData.h @@ -57,17 +57,15 @@ typedef struct S_TsrInputInfoStruct TsrDataStruct szTsrInfo[TSR_MAX_SUM]; /* Ϣ */ } TsrInputInfoStruct; + /*TMC->TIOC*/ typedef struct S_TmcToTiocDataStruct { TsrInputInfoStruct tsrInputInfoStru;/* ʱϢ */ UINT8 cSnowValidFlag; /* ȫѩģʽЧ־ */ - UINT8 cSnowLevel; /*ȫʪȼ*/ UINT8 cAreaSnowPlatFormNum; /*ѩվ̨*/ - AreaSnowInfoStruct szAreaSnowInfo[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩ*/ + UINT32 szAreaSnowPlatFormId[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩվ̨ID*/ UINT8 cIteLineCutState; /* ITEȫг״̬ */ - UINT8 cAreaIteCutNum; /*ITEг*/ - UINT16 szAreaIteCutId[ALL_AREA_SNOW_SUM_MAX]; /*ITEгID*/ UINT8 cLineCtNum; /*ȫͨų*/ UINT16 szLineCtId[TRAIN_SUM_MAX]; /*ȫͨųID*/ } TmcToTiocDataStruct; diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.c index 89734f9..3b17ad6 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.c @@ -382,14 +382,14 @@ static UINT8 PackCiToVobcSigInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wT static UINT8 PackCiToVobcBackUpStateData(UINT8* pDataBuf, UINT16* wDataLength, VobcToCiDataStruct* pstVobcToCiDataStru); /* -* CiIvocITEг״̬ +* CiIvocITEȫг״̬ * ˵const UINT8* dataBuf ݻΣ * const UINT16 *dataLength ݳȣΣ * ֵCI_ERROR 0 ʧ * CI_SUCCESS 1 ɹ * Created By LQ 2024.07.12 */ -static UINT8 PackCiToIvocIteCutInfo(UINT8* pDataBuf, UINT16* wDataLength); +static UINT8 PackCiToIvocIteLineCutInfo(UINT8* pDataBuf, UINT16* wDataLength); /* @@ -449,8 +449,7 @@ UINT8 ParseVobcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons UINT8 retVal = CI_SUCCESS; UINT8 lineIdentity = 0u; /*·ʶ*/ UINT8 galHeadSaved = 0u; - VobcToCiDataStruct parseCheckVobcStruc = { 0 }; - UINT8 chFind = CI_ERROR; + lineIdentity = GetCiFunctionSwitchConfig(VOBC_INTERFACE_IDENTITY);/*ȡ·ʶ*/ /*ܴVOBCж*/ if (VobcToCiSum >= VOBC_TO_CI_SUM_MAX) @@ -460,21 +459,23 @@ UINT8 ParseVobcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons if (CI_SUCCESS==retVal) { + (void)memset(&(VobcToCiDataStru[VobcToCiSum]),0,sizeof(VobcToCiDataStruct));/*ڴ棬ֹ*/ + if (LINE_HLHT == lineIdentity)/*ͨ·*/ { - retVal = ParseVobcToCiDataFrameHLHT(dataBuf, dataLength, systemId, &parseCheckVobcStruc, &galHeadSaved,logId); + retVal = ParseVobcToCiDataFrameHLHT(dataBuf, dataLength, systemId, &(VobcToCiDataStru[VobcToCiSum]), &galHeadSaved,logId); } else if (LINE_FAO == lineIdentity)/*FAO·*/ { - retVal = ParseVobcToCiDataFrameFAO(dataBuf,dataLength,systemId,&parseCheckVobcStruc); + retVal = ParseVobcToCiDataFrameFAO(dataBuf,dataLength,systemId,&(VobcToCiDataStru[VobcToCiSum])); } else if ((LINE_FAOHLHT == lineIdentity) || (LINE_FAOHLHT_ONESELF == lineIdentity)||(LINE_FAOHLHT_ONESELFSECOND == lineIdentity))/*FAO+HLHT·*/ { - retVal = ParseVobcToCiDataFrameFAOHLHT(dataBuf, dataLength, systemId, &parseCheckVobcStruc, &galHeadSaved,logId); + retVal = ParseVobcToCiDataFrameFAOHLHT(dataBuf, dataLength, systemId, &(VobcToCiDataStru[VobcToCiSum]), &galHeadSaved,logId); } else if (LINE_CC == lineIdentity)/*·*/ { - retVal = ParseIvocToCiDataFrameCC(dataBuf, dataLength, systemId, &parseCheckVobcStruc, &galHeadSaved, logId); + retVal = ParseIvocToCiDataFrameCC(dataBuf, dataLength, systemId, &(VobcToCiDataStru[VobcToCiSum]), &galHeadSaved, logId); } else { @@ -483,25 +484,21 @@ UINT8 ParseVobcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, cons if(CI_SUCCESS == retVal) { + VobcToCiSum++; /*ȥ*/ for (ii = 0u; ii < VobcToCiSum; ii++) { - if (VobcToCiDataStru[ii].VobcId == parseCheckVobcStruc.VobcId) - {/*гӵгһ*/ - CopyVobcToCiMsg(&parseCheckVobcStruc,&(VobcToCiDataStru[ii])); - chFind = CI_SUCCESS; + /*һ*/ + if (ii == VobcToCiSum - 1u) + { break; } - } - if (CI_ERROR == chFind) - { - (void)CommonMemSet(&(VobcToCiDataStru[VobcToCiSum]), (UINT32)sizeof(VobcToCiDataStruct), 0U, (UINT32)sizeof(VobcToCiDataStruct));/*ڴ棬ֹ*/ - CopyVobcToCiMsg(&parseCheckVobcStruc, &(VobcToCiDataStru[VobcToCiSum])); - VobcToCiSum++; - } - else - { - ; /*Ѵڲ*/ + + if (VobcToCiDataStru[ii].VobcId == VobcToCiDataStru[VobcToCiSum - 1U].VobcId) + {/*гӵгһ*/ + CopyVobcToCiMsg(&(VobcToCiDataStru[VobcToCiSum-1U]),&(VobcToCiDataStru[ii])); + VobcToCiSum--; + } } } else @@ -1413,7 +1410,11 @@ static UINT8 ParseVobcToCiDataFrameHLHT(const UINT8* dataBuf, const UINT16 dataL INT32 vobcInfoRemainValidiy = 0; UINT8 headRet = HLHT_HEAD_ERROR;/*ͨ*/ UINT8 cTempPsdCmdCode = 0U; +#if 0 UINT32 signalId = 0u; /*VOBC->CIźŻID*/ + + +#endif UINT8 ci_vobcPrtclVersion = 0u; ci_vobcPrtclVersion = GetVersionOfVOBCToCI(); @@ -1561,7 +1562,7 @@ static UINT8 ParseVobcToCiDataFrameHLHT(const UINT8* dataBuf, const UINT16 dataL cmdType = dataBuf[ii];/*ȡ*/ ii += 1u; - if ((VOBCTOCI_COMMAND_TYPE_PSDOPEN == cmdType) || (VOBCTOCI_COMMAND_TYPE_PSDCLOSE == cmdType) || (VOBCTOCI_COMMAND_TYPE_PSDCHECK_FAOHLHT == cmdType)) /*ȱYF0083-6822023-07-03*/ + if ((VOBCTOCI_COMMAND_TYPE_PSDOPEN == cmdType) || (VOBCTOCI_COMMAND_TYPE_PSDCLOSE == cmdType) || (VOBCTOCI_COMMAND_TYPE_PSDCHECK == cmdType)) /*ȱYF0083-6822023-07-03*/ { vobcToCiDataStru->PsdData[jj].CmdType = cmdType; @@ -1577,13 +1578,16 @@ static UINT8 ParseVobcToCiDataFrameHLHT(const UINT8* dataBuf, const UINT16 dataL ii++; } } + + /*޸20180111޸ԭ򣺻ͨVOBC-CIӿڻˣVOBCCI4ֽźŻIDӦԽ*/ +#if 0 /*µĽӿڣźŻID1~0xFFFFFFFF,0ΪĬֵVOBCȫǰǰгзͬźŻ*/ signalId = LongFromChar(&dataBuf[ii]); /*ȡźŻID*/ ii += 4u; vobcToCiDataStru->signalID = signalId; /*źŻID浽ṹ*/ - +#endif } else { @@ -1908,23 +1912,22 @@ static UINT8 PackCiToVobcDataHLHT(VobcToCiDataStruct *vobcToCiDataStru) UINT32 ciEtcsId = 0u; UINT32 vobcEtcsId = 0u; UINT32 emapCheckVer = 0u; -#if 0 + UINT16 trackIdRelatePhySecId = 0u;/*ιID*/ + UINT8 outStationSignalSum = 0u;/*վźŻĿ*/ UINT8 sigIdx = 0u;/*źŻ*/ UINT8 sigDir = 0u;/*źŻӪ*/ - UINT16 trackIdRelatePhySecId = 0u;/*ιID*/ UINT8 outStationSignalAllowOrNotUp = CI_VOBC_SIGNAL_DEFAULT; /*źŻֹ״̬*/ UINT8 outStationSignalAllowOrNotDown = CI_VOBC_SIGNAL_DEFAULT; /*źŻֹ״̬*/ - UINT8 outStationSignalSum = 0u;/*վźŻĿ*/ -#endif UINT8 ci_vobcPrtclVersion = 0u; UINT8 mutualLockState = 0u; UINT16 dstDevId = 0u; UINT8 outnetSafeSendRtn = 0u; UINT8 chPsdBelongCiId = 0U; + ci_vobcPrtclVersion = GetVersionOfVOBCToCI(); +#if 0 UINT8 outStationSignalAllowOrNot = CI_VOBC_SIGNAL_DEFAULT; /*źŻֹ״̬*/ UINT32 signalIdInterConn = 0u; /*ͨ4ֽźŻID*/ - ci_vobcPrtclVersion = GetVersionOfVOBCToCI(); - +#endif /*ȻȡʱϢȡɹбҪ*/ if ((CI_SUCCESS == dquDevName2HlhtId((CI_SYSTEM_TYPE_CI*256U) + localCiId,0U,&ciEtcsId)) && (CI_SUCCESS == dquDevName2HlhtId((CI_SYSTEM_TYPE_VOBC*256U) + (UINT8)(vobcToCiDataStru->VobcId),vobcToCiDataStru->vobcLogId,&vobcEtcsId)) && (CI_SUCCESS == GetCiEmapCheckVer(localCiId, &emapCheckVer, CI_SYSTEM_TYPE_VOBC))) @@ -2024,7 +2027,7 @@ static UINT8 PackCiToVobcDataHLHT(VobcToCiDataStruct *vobcToCiDataStru) }/*for (kk = 0; kk < vobcToCiDataStru->PsdSum; kk++)*/ /*޸20180111޸ԭ򣺻ͨVOBC-CIӿڻˣVOBCCI4ֽźŻIDCIҲظźŻIDӦԽ*/ - +#if 0 signalIdInterConn = vobcToCiDataStru->signalID; /*ͨ4ֽźŻID*/ /*ظյźŻID,CI-VOBCV3.0ӿĵ޸*/ LongToChar(signalIdInterConn,&CiToVobcDataBuffer[ii]); @@ -2034,7 +2037,7 @@ static UINT8 PackCiToVobcDataHLHT(VobcToCiDataStruct *vobcToCiDataStru) if (CI_SUCCESS == retVal) { - startSigColour = GetSignalCurColor(sigId);/*ȡźŻǰʾɫ*/ + startSigColour = GetSignalShowColor(sigId);/*ȡźŻǰʾɫ*/ if (SIGNAL_OPEN == GetSignalOpenCloseState(startSigColour))/*ȡʼźŻ״̬*/ {/*źſ*/ @@ -2048,8 +2051,8 @@ static UINT8 PackCiToVobcDataHLHT(VobcToCiDataStruct *vobcToCiDataStru) /*CIյVOBC͵źŻID״̬*/ CiToVobcDataBuffer[ii++] = outStationSignalAllowOrNot; /*CI->VOBCźŻ״̬*/ +#endif -#if 0 /*ȲҹζӦΣȡԴΪⷽһεźŻĿ֮*/ trackIdRelatePhySecId = GetTrackToPhySectionId(vobcToCiDataStru->trackSecID); outStationSignalSum = GetPhySecAsOutFirstPhySecSigSum(trackIdRelatePhySecId);/*ȡԱΪⷽһεźŻĿ*/ @@ -2090,7 +2093,7 @@ static UINT8 PackCiToVobcDataHLHT(VobcToCiDataStruct *vobcToCiDataStru) /*CI->VOBCкгվźŻ״̬*/ CiToVobcDataBuffer[ii++] = outStationSignalAllowOrNotUp; /*CI_VOBCгվźŻ״̬*/ CiToVobcDataBuffer[ii++] = outStationSignalAllowOrNotDown; /*CI_VOBCгվźŻ״̬*/ -#endif + ShortToChar(CI_VOBC_INFO_TYPE_PSD_STATE,&CiToVobcDataBuffer[33]);/*ſƱֽͣ*/ } else if ((VOBC_CI_INFO_TYPE_HEART_FRAME == vobcToCiDataStru->appInfoType) && (curCycleNum == vobcToCiDataStru->ComStartCycle)) @@ -3324,8 +3327,6 @@ static UINT8 ParseIvocToCiDataFrameCC(const UINT8* pDataBuf, const UINT16 dataLe UINT16 wHeadTrainId = 0U;/*ǰID*/ UINT16 wTrainRelLgcId = 0U;/*гʹö*/ UINT16 wHeadSignalId = 0U;/*ǰźŻID*/ - UINT8 chJumpBackState = 0U;/*Ծ*/ - UINT32 dwJumpBackSN = 0U;/*Ծк*/ vobcName = (CI_SYSTEM_TYPE_VOBC) * 256U + systemId; ciName = (CI_SYSTEM_TYPE_CI) * 256U + localCiId; @@ -4383,39 +4384,6 @@ static UINT8 ParseIvocToCiDataFrameCC(const UINT8* pDataBuf, const UINT16 dataLe /*󲻼*/ } - /*Ծ*/ - if (CI_SUCCESS == chRetVal) - { - chJumpBackState = pDataBuf[ii]; - ii++; - if ((TRAIN_JUMP_BACK_STATE_VALID == chJumpBackState) - || (TRAIN_JUMP_BACK_STATE_INVALID == chJumpBackState)) - { - /*ͨ*/ - pstVobcToCiDataStru->chJumpBackApply = chJumpBackState; - dwJumpBackSN = LongFromChar(&pDataBuf[ii]); - ii += 4u; - if (((0U == dwJumpBackSN) && (TRAIN_JUMP_BACK_STATE_INVALID == chJumpBackState)) - || ((0U < dwJumpBackSN) && (TRAIN_JUMP_BACK_STATE_VALID == chJumpBackState))) - { - /*ͨ*/ - pstVobcToCiDataStru->dwJumpBackSn = dwJumpBackSN; - } - else - { - chRetVal = CI_ERROR; - } - } - else - { - chRetVal = CI_ERROR; - } - } - else - { - ; /*󲻼*/ - } - /*гϢ*/ if (CI_SUCCESS == chRetVal) { @@ -5088,10 +5056,10 @@ static UINT8 PackCiToIvocDataCC(VobcToCiDataStruct *pstVobcToCiDataStru) debug_infor_printf((const)"\n VOBC: %d PackCiToVobcSigInfo Error \n", pstVobcToCiDataStru->VobcId); } - /*ͨIVOCITEг״̬*/ + /*ͨIVOCITEȫг״̬*/ if (CI_SUCCESS == chRetVal) { - chRetVal = PackCiToIvocIteCutInfo(cszCiToIvocDataBuf, &ii); + chRetVal = PackCiToIvocIteLineCutInfo(cszCiToIvocDataBuf, &ii); } else { @@ -5107,8 +5075,9 @@ static UINT8 PackCiToIvocDataCC(VobcToCiDataStruct *pstVobcToCiDataStru) else { /**/ - debug_infor_printf((const)"\n VOBC: %d PackCiToIvocIteCutInfo Error \n", pstVobcToCiDataStru->VobcId); + debug_infor_printf((const)"\n VOBC: %d PackCiToIvocIteLineCutInfo Error \n", pstVobcToCiDataStru->VobcId); } + /*ͨIVOCгλüල״̬*/ if (CI_SUCCESS == chRetVal) { @@ -5120,17 +5089,6 @@ static UINT8 PackCiToIvocDataCC(VobcToCiDataStruct *pstVobcToCiDataStru) debug_infor_printf((const)"\n VOBC: %d PackCiToIvocFarNoOccuLogInfo Error \n", pstVobcToCiDataStru->VobcId); } - /*ͨIVOCԾظϢ*/ - if (CI_SUCCESS == chRetVal) - { - chRetVal = PackCiToIvocJumpBackReply(cszCiToIvocDataBuf, &ii, pstVobcToCiDataStru->VobcId); - } - else - { - /**/ - debug_infor_printf((const)"\n VOBC: %d PackCiToIvocPosMonitorInfo Error \n", pstVobcToCiDataStru->VobcId); - } - if (CI_SUCCESS == chRetVal) { /*ɹ*/ @@ -5138,11 +5096,11 @@ static UINT8 PackCiToIvocDataCC(VobcToCiDataStruct *pstVobcToCiDataStru) else { /**/ - debug_infor_printf((const)"\n VOBC: %d PackCiToIvocJumpBackReply Error \n", pstVobcToCiDataStru->VobcId); + debug_infor_printf((const)"\n VOBC: %d PackCiToIvocPosMonitorInfo Error \n", pstVobcToCiDataStru->VobcId); } /*Ԥ10ֽ*/ - ii += 5U; + ii += 10U; } else if ((IVOC_CI_INFO_TYPE_LOGOUT_ASK == pstVobcToCiDataStru->appInfoType) && (curCycleNum == pstVobcToCiDataStru->ComStartCycle)) {/*עظ֡*/ @@ -5468,7 +5426,7 @@ static UINT8 PackCiToIvocBackUpDataCC(VobcBackUpToCiDataStruct *pstVobcBackUpToC /*鱸ͨITEȫгϢ*/ if (CI_SUCCESS == chRetVal) { - chRetVal = PackCiToIvocIteCutInfo(cszCiToIvocDataBuf, &ii); + chRetVal = PackCiToIvocIteLineCutInfo(cszCiToIvocDataBuf, &ii); } else { @@ -5484,7 +5442,7 @@ static UINT8 PackCiToIvocBackUpDataCC(VobcBackUpToCiDataStruct *pstVobcBackUpToC else { /**/ - debug_infor_printf((const)"\n VOBC_BACKUP: %d PackCiToIvocIteCutInfo Error \n", pstVobcBackUpToCiDataStru->VobcId); + debug_infor_printf((const)"\n VOBC_BACKUP: %d PackCiToIvocIteLineCutInfo Error \n", pstVobcBackUpToCiDataStru->VobcId); } @@ -5498,7 +5456,7 @@ static UINT8 PackCiToIvocBackUpDataCC(VobcBackUpToCiDataStruct *pstVobcBackUpToC debug_infor_printf((const)"\n VOBC_BACKUP: %d PackCiToIvocFarNoOccuLogInfo Error \n", pstVobcBackUpToCiDataStru->VobcId); } - /*Ԥ8ֽ*/ + /*Ԥ10ֽ*/ ii += 8U; } else @@ -6515,7 +6473,6 @@ static UINT8 PackCiToIvocFLockInfo(UINT8* pDataBuf, UINT16 *wDataLength) UINT8 cAllLineTsrState = CI_ALL_LINE_TSR_UNVALID;/* ȫʱ */ UINT8 cAllLineTsrSpeed = 0U;/* ѩģʽ־ */ UINT8 chSecFLockType = 0U;/*η*/ - UINT8 cSnowLevel = 0U; /*ʪȼ*/ if ((NULL == pDataBuf) || (NULL == wDataLength)) @@ -6555,23 +6512,10 @@ static UINT8 PackCiToIvocFLockInfo(UINT8* pDataBuf, UINT16 *wDataLength) /* ѩģʽ */ cSnowModel = GetAllSnowModel(); - cSnowLevel = GetAllSnowLevel(); - if (CI_ALL_SNOW_VALID == cSnowModel) { /* ѩ */ - if (CI_SNOW_LEVEL_TWO == cSnowLevel) - { - pDataBuf[ii] = CI_SNOW_LEVEL_TWO; /*ѩģʽЧʪȼΪʱ0x02*/ - } - else if(CI_SNOW_LEVEL_ONE == cSnowLevel) - { - pDataBuf[ii] = CI_SNOW_LEVEL_ONE; /*ѩģʽЧʪȼΪһʱ0x01*/ - } - else - { - pDataBuf[ii] = CI_ALL_SNOW_VALID; /*ѩģʽЧʪȼΪĬֵʱ0x55*/ - } + pDataBuf[ii] = CI_ALL_SNOW_VALID; } else { @@ -6691,8 +6635,6 @@ static UINT8 PackCiToIvocCommTrainInfo(UINT8* pDataBuf, UINT16 *wDataLength) UINT8 chLinkLogicDirUpAndDown = 0u; UINT8 chTrainVirHeadScreenFlag = 0U;/*ǰɸ־*/ UINT8 chTrainVirTailScreenFlag = 0U;/*ɸ־*/ - UINT8 chTrainNvramFlag = 0U;/*гNVRAM־*/ - UINT8 chTrainReportState = 0U;/*г㱨״̬*/ if ((NULL == pDataBuf) || (NULL == wDataLength)) @@ -6828,18 +6770,8 @@ static UINT8 PackCiToIvocCommTrainInfo(UINT8* pDataBuf, UINT16 *wDataLength) } ii += 1U; /*гϢһֽƫ*/ - chTrainNvramFlag = GetTrainNvramPosFlag(wTrainId); - chTrainReportState = GetTrainReportState(wTrainId); /*״̬Ƿֱֵӷ*/ - if (TRAIN_NVRAM_POS_FLAG_YES == chTrainNvramFlag) - { - chTrainReportState = (UINT8)(chTrainReportState | 0X40U); - } - else - { - chTrainReportState = (UINT8)(chTrainReportState | 0X00U); - } - pDataBuf[ii] = chTrainReportState; + pDataBuf[ii] = GetTrainReportState(wTrainId); /*״̬Ƿֱֵӷ*/ ii += 1U; } @@ -9826,7 +9758,7 @@ static UINT8 PackCiToIvocSnowAndUrgentInfo(UINT8* pDataBuf, UINT16* pDataLength, UINT16 kk = 0U; UINT8 cAreaSnowTotalNum = 0U; /*ѩվ̨*/ UINT16 wAreaSnowNumIndex = 0U; - AreaSnowInfoStruct* pAreaSnowData = NULL; /*ѩϢ*/ + UINT32* pAreaSnowId = NULL; /*ѩվ̨ID*/ ToCiAreaSnowStruct* pRecvCiAreaSnow = NULL; /*͵ѩϢ*/ UINT8 cWlbState = 0U; /*ȫ߽ƶ״̬*/ UINT8 cUrgentReason = 0U; /*ԭ*/ @@ -9834,8 +9766,6 @@ static UINT8 PackCiToIvocSnowAndUrgentInfo(UINT8* pDataBuf, UINT16* pDataLength, EnvelopeStruct* strTrainEnvelope = NULL; /*гϢ*/ UINT16 wAxisRelPhySecId = 0U; /*ιID*/ UINT8 cUrgentState = 0U; /*͸IVOCĽ״̬*/ - UINT16 wSnowPlatId = 0U; - UINT8 cSnowLevel = 0U; /*ʪ켶*/ if ((NULL != pDataBuf) && (NULL != pDataLength) && (0U != wTrainId) && (LINE_MAX_TRAIN > wTrainId)) { @@ -9846,26 +9776,14 @@ static UINT8 PackCiToIvocSnowAndUrgentInfo(UINT8* pDataBuf, UINT16* pDataLength, wAreaSnowNumIndex = ii; /*ѩվ̨*/ ii++; cAreaSnowTotalNum = GetLocalAreaSnowNum(); - pAreaSnowData = GetLocalAreaSnow(); + pAreaSnowId = GetLocalAreaSnowId(); if (LOCAL_AREA_SNOW_SUM_MAX >= cAreaSnowTotalNum) { for (jj = 0U; jj < cAreaSnowTotalNum; jj++) { - wSnowPlatId = pAreaSnowData[jj].wAreaId; - cSnowLevel = pAreaSnowData[jj].cAreaSnowLevel; - if ((0U < wSnowPlatId) && (UINT16_MAX > wSnowPlatId) - && ((CI_SNOW_LEVEL_DEFAULT == cSnowLevel) || (CI_SNOW_LEVEL_ONE == cSnowLevel) || (CI_SNOW_LEVEL_TWO == cSnowLevel))) - { - ShortToChar(wSnowPlatId, &pDataBuf[ii]); /*ID*/ - ii += 2U; - pDataBuf[ii] = cSnowLevel; /*ʪ켶*/ - ii++; - } - else - { - retVal = CI_ERROR; /*ѩվ̨IdǷʧ*/ - } + LongToChar(pAreaSnowId[jj], &pDataBuf[ii]); /*ѩվ̨ID*/ + ii += 4U; } } else @@ -9884,21 +9802,9 @@ static UINT8 PackCiToIvocSnowAndUrgentInfo(UINT8* pDataBuf, UINT16* pDataLength, { if (LOCAL_AREA_SNOW_SUM_MAX > cAreaSnowTotalNum) { - wSnowPlatId = pRecvCiAreaSnow[kk].szPlatFormInfo[jj].wAreaId; - cSnowLevel = pRecvCiAreaSnow[kk].szPlatFormInfo[jj].cAreaSnowLevel; - if ((0U < wSnowPlatId) && (UINT16_MAX > wSnowPlatId) - && ((CI_SNOW_LEVEL_DEFAULT == cSnowLevel) || (CI_SNOW_LEVEL_ONE == cSnowLevel) || (CI_SNOW_LEVEL_TWO == cSnowLevel))) - { - ShortToChar(wSnowPlatId, &pDataBuf[ii]); /*ID*/ - ii += 2U; - pDataBuf[ii] = cSnowLevel; /*ʪ켶*/ - ii++; - cAreaSnowTotalNum++; - } - else - { - retVal = CI_ERROR; /*ѩվ̨IdǷʧ*/ - } + LongToChar(pRecvCiAreaSnow[kk].dwPlatFormId[jj], &pDataBuf[ii]); /*ѩվ̨ID*/ + ii += 4U; + cAreaSnowTotalNum++; } else { @@ -10889,14 +10795,14 @@ static UINT8 PackCiToIvocBackUpReqStateInfo(UINT8* pDataBuf, UINT16* wDataLength UINT16 kk = 0U; UINT8 chAreaSnowTotalNum = 0U; /*ѩվ̨*/ UINT16 wAreaSnowNumIndex = 0U; - AreaSnowInfoStruct* pAreaSnowData = NULL; /*ѩϢ*/ + UINT32* pAreaSnowId = NULL; /*ѩվ̨ID*/ ToCiAreaSnowStruct* pRecvCiAreaSnow = NULL; /*͵ѩϢ*/ UINT8 chTsrSureFlag = GetTsrSureFlag();/* ȷϱ־λ */ UINT8 chAllLineTsrState = 0U;/*ȫʱٱ־*/ UINT8 chAllLineTsrSpeed = 0U;/*ȫʱֵ*/ UINT8 chWlbState = 0U; /*ȫ߽ƶ״̬*/ UINT8 chSnowModel = 0U; /* ѩģʽ */ - UINT16 wSnowPlatId = 0U; + if ((NULL == pDataBuf) || (NULL == wDataLength)) { @@ -10974,22 +10880,14 @@ static UINT8 PackCiToIvocBackUpReqStateInfo(UINT8* pDataBuf, UINT16* wDataLength wAreaSnowNumIndex = ii; /*ѩվ̨*/ ii++; chAreaSnowTotalNum = GetLocalAreaSnowNum(); - pAreaSnowData = GetLocalAreaSnow(); + pAreaSnowId = GetLocalAreaSnowId(); if (ALL_AREA_SNOW_SUM_MAX >= chAreaSnowTotalNum) { for (jj = 0U; jj < chAreaSnowTotalNum; jj++) { - wSnowPlatId = pAreaSnowData[jj].wAreaId; - if ((0UwSnowPlatId)) - { - ShortToChar(wSnowPlatId, &pDataBuf[ii]); /*ѩվ̨ID*/ - ii += 2U; - } - else - { - chRetVal = CI_ERROR; /*ѩվ̨IDǷʧ*/ - } + LongToChar(pAreaSnowId[jj], &pDataBuf[ii]); /*ѩվ̨ID*/ + ii += 4U; } } else @@ -11008,17 +10906,9 @@ static UINT8 PackCiToIvocBackUpReqStateInfo(UINT8* pDataBuf, UINT16* wDataLength { if (ALL_AREA_SNOW_SUM_MAX > chAreaSnowTotalNum) { - wSnowPlatId = pRecvCiAreaSnow[kk].szPlatFormInfo[jj].wAreaId; - if ((0U < wSnowPlatId) && (UINT16_MAX > wSnowPlatId)) - { - ShortToChar(wSnowPlatId, &pDataBuf[ii]); /*ѩվ̨ID*/ - ii += 2U; - chAreaSnowTotalNum++; - } - else - { - chRetVal = CI_ERROR; /*ѩվ̨IdǷʧ*/ - } + LongToChar(pRecvCiAreaSnow[kk].dwPlatFormId[jj], &pDataBuf[ii]); /*ѩվ̨ID*/ + ii += 4U; + chAreaSnowTotalNum++; } else { @@ -12167,7 +12057,7 @@ static UINT8 PackCiToVobcBackUpStateData(UINT8* pDataBuf, UINT16* wDataLength,Vo /*鱸ͨITEȫгϢ*/ if (CI_SUCCESS == chRetVal) { - chRetVal = PackCiToIvocIteCutInfo(pDataBuf, &ii); + chRetVal = PackCiToIvocIteLineCutInfo(pDataBuf, &ii); } else { @@ -12183,7 +12073,7 @@ static UINT8 PackCiToVobcBackUpStateData(UINT8* pDataBuf, UINT16* wDataLength,Vo else { /**/ - debug_infor_printf((const)"\n FAOHLHTVOBC_BACKUP: %d PackCiToIvocIteCutInfo Error \n", pstVobcToCiDataStru->VobcId); + debug_infor_printf((const)"\n FAOHLHTVOBC_BACKUP: %d PackCiToIvocIteLineCutInfo Error \n", pstVobcToCiDataStru->VobcId); } if (CI_SUCCESS == chRetVal) @@ -12211,28 +12101,21 @@ static UINT8 PackCiToVobcBackUpStateData(UINT8* pDataBuf, UINT16* wDataLength,Vo } /* -* CiIvocITEг״̬ +* CiIvocITEȫг״̬ * ˵const UINT8* dataBuf ݻΣ * const UINT16 *dataLength ݳȣΣ * ֵCI_ERROR 0 ʧ * CI_SUCCESS 1 ɹ -* Modified By LQ 2025.04.15 +* Created By LQ 2024.07.12 */ -static UINT8 PackCiToIvocIteCutInfo(UINT8* pDataBuf, UINT16* wDataLength) +static UINT8 PackCiToIvocIteLineCutInfo(UINT8* pDataBuf, UINT16* wDataLength) { UINT8 chRetVal = CI_ERROR; UINT16 ii = 0U; UINT8 cIteLineCutState = CI_ITE_LINE_CUT_INVALID;/* ITEȫг״̬ */ - UINT16 wAreaIteCutNumIndex = 0U; - UINT8 cAreaIteCutNum = 0U; /*ITEг*/ - UINT16* pAreaIteCutId = NULL; /*ITEгID*/ - UINT8 jj = 0U; - ToCiAreaIteCutStruct* pRecvCiAreaIteCut = NULL; /*͵ITEгϢ*/ - UINT16 kk = 0U; if ((NULL != pDataBuf) && (NULL != wDataLength)) { - chRetVal = CI_SUCCESS; ii = *wDataLength; /* ITEȫг״̬ */ @@ -12245,82 +12128,11 @@ static UINT8 PackCiToIvocIteCutInfo(UINT8* pDataBuf, UINT16* wDataLength) { pDataBuf[ii] = CI_ITE_LINE_CUT_DEFAULT; /* Ĭֵ */ } + ii++; - /*鱾ITEгϢ*/ - wAreaIteCutNumIndex = ii; /*ITEг*/ - ii++; - cAreaIteCutNum = GetLocalAreaIteCutNum(); - pAreaIteCutId = GetLocalAreaIteCutId(); - - if ((ALL_AREA_SNOW_SUM_MAX >= cAreaIteCutNum) && (NULL != pAreaIteCutId)) - { - for (jj = 0U; jj < cAreaIteCutNum; jj++) - { - ShortToChar(pAreaIteCutId[jj], &pDataBuf[ii]); /*ID*/ - ii += 2U; - } - } - else - { - chRetVal = CI_ERROR; /*ITEгޣʧ*/ - debug_infor_printf((const)"\n PackCiToIvocIteCutInfo: LocalAreaIteCutInfo Error\n"); - } - - /*͵ITEгϢ*/ - pRecvCiAreaIteCut = GetCiRecvAreaIteCutInfo(); - if (NULL != pRecvCiAreaIteCut) - { - for (kk = 0U; kk < CI_COM_CI_MAX_NUM; kk++) - { - if (0U != pRecvCiAreaIteCut[kk].cAreaIteCutNum) - { - for (jj = 0U; jj < pRecvCiAreaIteCut[kk].cAreaIteCutNum; jj++) - { - if (ALL_AREA_SNOW_SUM_MAX > cAreaIteCutNum) - { - ShortToChar(pRecvCiAreaIteCut[kk].wAreaIteCutId[jj], &pDataBuf[ii]); /*ID*/ - ii += 2U; - cAreaIteCutNum++; - } - else - { - debug_infor_printf((const)"\n PackCiToIvocIteCutInfo: LocalAreaIteCutNum Error\n"); - chRetVal = CI_ERROR; /*ITEгޣʧ*/ - break; - } - } - } - else - { - /**/ - } - - if (CI_SUCCESS != chRetVal) - { - break; /*ʧܣֹͣ*/ - } - else - { - /**/ - } - } - } - else - { - debug_infor_printf((const)"\n PackCiToIvocIteCutInfo: CiRecvAreaIteCutInfo Error\n"); - chRetVal = CI_ERROR; /*ȡʧܣʧ*/ - } - - if (CI_SUCCESS == chRetVal) - { - pDataBuf[wAreaIteCutNumIndex] = cAreaIteCutNum; /*ITEг*/ - *wDataLength = ii; /*ݳ*/ - } - else - { - chRetVal = CI_ERROR; /*ʧܣʧ*/ - } + *wDataLength = ii; /*ݳ*/ + chRetVal = CI_SUCCESS; } else { @@ -12437,244 +12249,4 @@ static UINT8 PackCiToIvocPosMonitorInfo(UINT8* pDataBuf, UINT16* wDataLength, co } return chRetVal; -} - -/* -* طɳ崻 -* ˵ -* ֵ -* by cgh 20250630 -*/ -void PackCiToVobcFlyProtectData(void) -{ - UINT8 jj = 0U; - UINT8 chLineIdentity = GetCiFunctionSwitchConfig(VOBC_INTERFACE_IDENTITY); - UINT8 chFlyProtectTrainNum = GetFlyProtectNum(); /*ɳ崻Ŀ*/ - TrainFlyProtectStru* pFlyData = NULL; /*ɳ崻*/ - UINT8 cNvramFlyProtectNum = 0U; /*ʹNVRAMλüලЧķɳ*/ - UINT16* pNvramFlyProtectId = NULL; /*ʹNVRAMλüලЧķɳID*/ - - cNvramFlyProtectNum = GetNvramFlyProtectNum(); /*ȡʹNVRAMλüලЧķɳ*/ - pNvramFlyProtectId = GetNvramFlyProtectId(); /*ȡʹNVRAMλüලЧķɳID*/ - if ((LINE_CC == chLineIdentity) - && (SHUT_DOWN_TRAIN_NUMMAX > chFlyProtectTrainNum) - && (SHUT_DOWN_TRAIN_NUMMAX > cNvramFlyProtectNum) && (NULL != pNvramFlyProtectId)) - { - /*ɳ崻ķɳؿر*/ - for (jj = 0U; jj < chFlyProtectTrainNum; jj++) - { - pFlyData = GetFlyProtectData(jj); - if (NULL != pFlyData) - { - PackCiToVobcFlyProtectInfo(pFlyData->wTrainId); - } - else - { - ; /**/ - } - } - - /*ɳ崻ķɳؿر*/ - for (jj = 0U; jj < cNvramFlyProtectNum; jj++) - { - PackCiToVobcFlyProtectInfo(pNvramFlyProtectId[jj]); - } - } - else - { - ; /*ӿ޴֡*/ - } -} - -/* -* RCطɳ崻Ϣ -* ˵const UINT16 wTrainId гID -* ֵ -* Created By LQ 2025.09.15 -*/ -void PackCiToVobcFlyProtectInfo(const UINT16 wTrainId) -{ - UINT16 wBufIndex = 0U; - UINT8 ii = 0U; - UINT8 cszCiToIvocDataBuf[VOBC_TO_CI_DATA_LEN_MAX] = { 0U };/*CIVOBC֡*/ - UINT16 wDataIndex = 0U; /**/ - UINT8 chLocalCiId = 0U; /*ID*/ - UINT32 dwCiEtcsId = 0U; /*ͨ*/ - UINT32 dwVobcEtcsId = 0U; /*ػͨID*/ - UINT32 dwEmapCheckVer = 0U; /*ӵͼݰ汾*/ - UINT8 chTempResult = 0U;/*ʱ*/ - UINT32 dwCurCycleNum = 0U; /*ǰں*/ - UINT32 dwAppCycleTime = 0U; - UINT32 dwSrcCrntSN = 0U; - UINT32 dwCiRcvSN = 0U; - UINT16 wDstDevId = 0U; /*Ŀ豸ID*/ - - wBufIndex = GetTrainBufIndex(wTrainId); - chLocalCiId = GetSystemParaLocalCiId(); /*ID*/ - if ((TRAIN_SUM_MAX > wBufIndex) && (0U != chLocalCiId)) - { - dwCurCycleNum = Get2oo2CurCycleNum(); /*ǰں*/ - dwAppCycleTime = GetSystemParaAppCycleTime(); - for (ii = 0U; ii < VobcToCiSum; ii++) - { - if (VobcToCiDataStru[ii].VobcId == wTrainId) - { - break; - } - else - { - /*Ƚ*/ - } - } - - if (ii == VobcToCiSum) - { - ; /*ûҵǰ͸óͨţ*/ - } - else - { - /*ʼ*/ - chTempResult = dquDevName2HlhtId((CI_SYSTEM_TYPE_CI * 256U) + chLocalCiId, 0U, &dwCiEtcsId); - chTempResult &= dquDevName2HlhtId((CI_SYSTEM_TYPE_VOBC * 256U) + (UINT8)(VobcToCiDataStru[ii].VobcId), VobcToCiDataStru[ii].vobcLogId, &dwVobcEtcsId); - chTempResult &= GetCiEmapCheckVer(chLocalCiId, &dwEmapCheckVer, CI_SYSTEM_TYPE_VOBC); - - if (CI_SUCCESS == chTempResult) - { - dwSrcCrntSN = GetHLHTHeadCtxSrcCrntSN(CI_SYSTEM_TYPE_VOBC, (UINT8)(VobcToCiDataStru[ii].VobcId)); - dwCiRcvSN = GetHLHTHeadCtxCiRcvSN(CI_SYSTEM_TYPE_VOBC, (UINT8)(VobcToCiDataStru[ii].VobcId)); - wDataIndex = 0U; - - ShortToChar(IVOC_CI_INTERFACE_INFOTYPE, &cszCiToIvocDataBuf[wDataIndex]);/*ӿϢ*/ - wDataIndex += 2U; - LongToChar(dwCiEtcsId, &cszCiToIvocDataBuf[wDataIndex]);/*ͷʶϢ*/ - wDataIndex += 4U; - LongToChar(dwVobcEtcsId, &cszCiToIvocDataBuf[wDataIndex]);/*շʶϢ*/ - wDataIndex += 4U; - LongToChar(dwEmapCheckVer, &cszCiToIvocDataBuf[wDataIndex]);/*ӵͼ汾УϢ*/ - wDataIndex += 4U; - LongToChar(dwCurCycleNum, &cszCiToIvocDataBuf[wDataIndex]);/*Ϣк*/ - wDataIndex += 4U; - ShortToChar((UINT16)dwAppCycleTime, &cszCiToIvocDataBuf[wDataIndex]);/*豸ͨѶ*/ - wDataIndex += 2U; - LongToChar(dwSrcCrntSN, &cszCiToIvocDataBuf[wDataIndex]);/*ԷϢкţrecvOppMsgSN¼յԷһϢеĶԷϢк*/ - wDataIndex += 4U; - LongToChar(dwCiRcvSN, &cszCiToIvocDataBuf[wDataIndex]);/*յһϢʱк*/ - wDataIndex += 4U; - cszCiToIvocDataBuf[wDataIndex] = CI_VOBC_PRTCL_VER;/*HLHT+FAO_CI_VOBCӿЭ汾*/ - wDataIndex++; - - wDataIndex += 2U;/*ͨñͷеӦò㱨ܳ*/ - /*ΪӦò*/ - wDataIndex += 2U;/*ij*/ - ShortToChar(CI_IVOC_INFO_TYPE_SPECIAL_CONTROL, &cszCiToIvocDataBuf[wDataIndex]); - wDataIndex += 2U;/*Ӧñ*/ - wDataIndex += 2U;/*Ԥֽ*/ - - /*ؿر*/ - cszCiToIvocDataBuf[wDataIndex] = CI_IVOC_LOST_POSITION; - wDataIndex++; - - /*Ӧòݵıij */ - cszCiToIvocDataBuf[31U] = (UINT8)((UINT8)((wDataIndex - 33U) >> 8U) & 0xFFU); - cszCiToIvocDataBuf[32U] = (UINT8)((wDataIndex - 33U) & 0xFFU); - - /*ͨñͷӦò㱨ܳ*/ - cszCiToIvocDataBuf[29U] = (UINT8)((UINT8)((wDataIndex - 31U) >> 8U) & 0xFFU); - cszCiToIvocDataBuf[30U] = (UINT8)((wDataIndex - 31U) & 0xFFU); - - wDstDevId = ((UINT16)(CI_SYSTEM_TYPE_VOBC << 8U) | VobcToCiDataStru[ii].VobcId); - chTempResult = OutnetSafeSend(wDstDevId, (VobcToCiDataStru[ii].vobcLogId), &cszCiToIvocDataBuf[0], wDataIndex); - - if (1U == chTempResult) - { /*дгɹ*/ -#ifdef LOGPRINT/*־ӡ*/ -#ifdef PLATFORM_2OO2/*2oo2ƽ̨ӡ*/ - debug_infor_printf((const)"\nVOBCFLYPROTECT_SEND:%d vobc:%d", wDataIndex, VobcToCiDataStru[ii].VobcId); - debug_out_array(0xAA, cszCiToIvocDataBuf, wDataIndex); -#endif/*ƽ̨ӡ*/ -#endif - } - else - { - debug_infor_printf((const)"\nWrite VOBC %d FLYPROTECT Error, Len = %d\n", VobcToCiDataStru[ii].VobcId, wDataIndex); - } - } - else - { - /**/ - debug_infor_printf((const)"\nvobc %d PackCiToVobcFlyProtectInfo errordwCiEtcsId%d dwVobcEtcsId%d dwEmapCheckVer%d \n", VobcToCiDataStru[ii].VobcId, dwCiEtcsId, dwVobcEtcsId, dwEmapCheckVer); - } - } - } - else - { - ; /*ӿ޴֡*/ - } - -} - -/* -* CiIvocԾظ -* ˵ UINT8* dataBuf, ݻ -* UINT16 *dataLength, ݳ -* UINT16 wTrainId гID -* ֵCI_ERROR 0 ʧ -* CI_SUCCESS 1 ɹ -* Create fan 20250725 -*/ -UINT8 PackCiToIvocJumpBackReply(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId) -{ - UINT8 chRetVal = CI_ERROR; - UINT16 ii = 0U; - UINT8 chJumpBackReplyState = 0U; - UINT32 dwJumpBackSn = 0U; - - if ((NULL == pDataBuf) || (NULL == wDataLength)) - { - chRetVal = CI_ERROR; - } - else - { - - ii = *wDataLength; - chRetVal = CI_SUCCESS; - - - chJumpBackReplyState = GetTrainJumpBackReplyState(wTrainId); - if ((TRAIN_JUMP_BACK_STATE_NONE == chJumpBackReplyState) - || (TRAIN_JUMP_BACK_STATE_VALID == chJumpBackReplyState) || (TRAIN_JUMP_BACK_STATE_INVALID == chJumpBackReplyState)) - { - pDataBuf[ii] = chJumpBackReplyState; - ii++; - - if (TRAIN_JUMP_BACK_STATE_NONE == chJumpBackReplyState) - { - LongToChar(0U, &pDataBuf[ii]); - ii += 4U; - } - else - { - /*ظк*/ - dwJumpBackSn = GetTrainJumpBackApplySN(wTrainId); - LongToChar(dwJumpBackSn, &pDataBuf[ii]); - ii += 4U; - } - } - else - { - chRetVal = CI_ERROR; - } - } - - if (CI_SUCCESS == chRetVal) - { - *wDataLength = ii; - } - else - { - chRetVal = CI_ERROR; - } - - return chRetVal; - } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.h index f554a8e..124cb4e 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackVobcData.h @@ -102,7 +102,6 @@ #define CI_IVOC_INFO_TYPE_LOGOUT_ACK ((UINT16)0x0204U) /*OC->IVOCעظ֡*/ #define IVOC_CI_INFO_TYPE_HEART_FRAME ((UINT16)0x0205U) /*IVOC->OC֡*/ #define CI_IVOC_INFO_TYPE_HEART_FRAME ((UINT16)0x0206U) /*OC->IVOC֡*/ -#define CI_IVOC_INFO_TYPE_SPECIAL_CONTROL ((UINT16)0x0208U) /*rc->IVOCؿر֡*/ #define CI_IVOC_PRTCL_VER ((UINT8)0x01U) /*CI_VOBCЭ汾*/ #define CI_IVOC_BACKUP_PRTCL_VER ((UINT8)0x066) /*CI_VOBCͨЭ汾*/ @@ -223,8 +222,6 @@ #define CI_VOBC_BACKUP_SEND_ROUTE_SUM ((UINT8)5U) /*CIغͨ·ֵ*/ -#define CI_IVOC_LOST_POSITION ((UINT8)0x55U) /*CIؿر λ*/ - #ifdef __cplusplus extern "C" { #endif @@ -356,8 +353,6 @@ typedef struct S_VobcToCiDataStruct UINT8 chNvramPosFlag; /*NVNAMλñʶ 0x55гʹNVRAMλ 0xaaгδʹNVRAMλ*/ UINT16 wHeadSigId; /*ǰźŻID*/ UINT16 wHeadVobcId; /*ǰID*/ - UINT8 chJumpBackApply; /*Ծ*/ - UINT32 dwJumpBackSn; /*Ծк*/ } VobcToCiDataStruct; /*ʹúģʽͨŵVobcϢ*/ @@ -688,32 +683,6 @@ UINT8 ParseFAOHLHTOtherTypeData(const UINT16 appInfoType, UINT8* dataBuf, UINT16 */ UINT8 ParseFAOHLHTBackUpControlData(UINT8* dataBuf, UINT16 dataLen, VobcToCiDataStruct* vobcToCiDataStru); -/* -* طɳ崻 -* ˵ -* ֵ -* by cgh 20250630 -*/ -void PackCiToVobcFlyProtectData(void); - -/* -* RCطɳ崻Ϣ -* ˵const UINT16 wTrainId гID -* ֵ -* Created By LQ 2025.09.15 -*/ -void PackCiToVobcFlyProtectInfo(const UINT16 wTrainId); - -/* -* CiIvocԾظ -* ˵ UINT8* dataBuf, ݻ -* UINT16 *dataLength, ݳ -* UINT16 wTrainId гID -* ֵCI_ERROR 0 ʧ -* CI_SUCCESS 1 ɹ -* Create fan 20250725 -*/ -UINT8 PackCiToIvocJumpBackReply(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId); #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.c b/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.c index f7bec68..bed6509 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.c +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.c @@ -58,9 +58,6 @@ UINT8 ParseZcToCiDataFrame(UINT8* dataBuf, UINT16 dataLength, UINT8 systemId) UINT16 wMsgLen = 0u; /*ӦϢȼ¼*/ UINT16 wMsgType = 0u; /*ӦϢ*/ UINT16 wMsgCheckLen = 0u; /* ڽУݳ */ - UINT8 funRet = 0U; - UINT32 dwCurCyc = 0U; - UINT8 chDataType = 0U; lineIdentity = GetCiFunctionSwitchConfig(VOBC_INTERFACE_IDENTITY);/*ȡ·ʶ*/ @@ -69,7 +66,7 @@ UINT8 ParseZcToCiDataFrame(UINT8* dataBuf, UINT16 dataLength, UINT8 systemId) zcName = (CI_SYSTEM_TYPE_ZC)*256U + systemId; ciName = (CI_SYSTEM_TYPE_CI)*256U + localCiId; curntCycleNo = Get2oo2CurCycleNum(); - chDataType = GetLocalPublicDataType(); /*28.0.0.14·zcӿ*/ + if ((NULL != dataBuf) && (dataLength > 0u)) { sourceId = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_ZC);/*ȡ뱾ͨŵZCIDĿǰһֻһZCͨ*/ @@ -131,121 +128,102 @@ UINT8 ParseZcToCiDataFrame(UINT8* dataBuf, UINT16 dataLength, UINT8 systemId) /*Ч*/ retVal = CI_SUCCESS; { - if (DATA_TYPE_NEW == chDataType) + while (wTmpDataLen < hlhtGalHead.totalDataLen) { - while (wTmpDataLen < hlhtGalHead.totalDataLen) + /* һӦݳ */ + wMsgLen = ShortFromChar(&dataBuf[ii]); + + ii += 2u; + wTmpDataLen += 2U; + wTmpDataLen += wMsgLen; + + if (0u == wMsgLen) { - /* һӦݳ */ - wMsgLen = ShortFromChar(&dataBuf[ii]); - - ii += 2u; - wTmpDataLen += 2U; - wTmpDataLen += wMsgLen; - - if (0u == wMsgLen) - { - ; /* ޴һ */ - } - else if (5u > wMsgLen) - { - /* Ȳ */ - retVal = CI_ERROR; - debug_infor_printf((const)"ParseZcToCiDataFrame_Error wMsgLen\n"); - } - else - { - /* ȡ */ - wMsgType = ShortFromChar(&dataBuf[ii]); - ii += 2u; - - /* Ԥ */ - ii += 2u; - - wMsgCheckLen = wMsgLen - 4u;/*ӦñĽȣɾԤ22ֽ*/ - switch (wMsgType) - { - case ZC_TO_TIOC_MASK_MSG: - /* ZC-CIλϢ */ - retVal = ParseMaskData(&dataBuf[ii], wMsgCheckLen); - dwStep |= 0x10000U; - break; - case ZC_TO_TIOC_TSR_MSG: - /* ʱϢ */ - retVal = ParseZcTsrData(&dataBuf[ii], wMsgCheckLen); - dwStep |= 0x01000U; - break; - case ZC_TO_TIOC_WLB_MSG: - /* ƶϢ */ - retVal = ParseZcEbData(&dataBuf[ii], wMsgCheckLen); - dwStep |= 0x00100U; - break; - case ZC_TO_TIOC_SNOW_MSG: - /*ZC-CIѩģʽϢ*/ - retVal = ParseZcSnowData(&dataBuf[ii], wMsgCheckLen); - dwStep |= 0x00010U; - break; - case ZC_TO_TIOC_ITELINECUT_MSG: - /*ZC-CIITEгϢ*/ - retVal = ParseZcIteCutData(&dataBuf[ii], wMsgCheckLen); - dwStep |= 0x00001U; - break; - default: - retVal = CI_ERROR; - break; - } - - if (CI_SUCCESS == retVal) - { - /* ɹݰ */ - ii += wMsgCheckLen; - } - else - { - debug_infor_printf((const)"ParseZcToCiDataFrame_Error Step: 0x%5x\n", dwStep); - ClearZcData(); /*ⲽûͨ*/ - } - } - - if (CI_ERROR == retVal) /*ʧ*/ - { - break; - } - else - { - ; /*do nothing*/ - } + ; /* ޴һ */ } - if (CI_SUCCESS == retVal) + else if (5u > wMsgLen) { - /*Уݳ*/ - if (ii > dataLength) - { - retVal = CI_ERROR; - } - } - } - else - { - /*ޱ͡ͳȺԤ߱λ0201*/ - wMsgCheckLen = hlhtGalHead.totalDataLen; - retVal = ParseMaskData(&dataBuf[ii], wMsgCheckLen); - if (CI_ERROR == retVal) - { - debug_infor_printf((const)"\nParseZcToCiDataFrame_Error MaskOnly\n"); - ClearZcData(); /*ûͨ*/ + /* Ȳ */ + retVal = CI_ERROR; + debug_infor_printf((const)"ParseZcToCiDataFrame_Error wMsgLen\n"); } else { - ; /**/ + /* ȡ */ + wMsgType = ShortFromChar(&dataBuf[ii]); + ii += 2u; + + /* Ԥ */ + ii += 2u; + + wMsgCheckLen = wMsgLen - 4u;/*ӦñĽȣɾԤ22ֽ*/ + switch (wMsgType) + { + case ZC_TO_TIOC_MASK_MSG: + /* ZC-CIλϢ */ + retVal = ParseMaskData(&dataBuf[ii], wMsgCheckLen); + dwStep |= 0x10000U; + break; + case ZC_TO_TIOC_TSR_MSG: + /* ʱϢ */ + retVal = ParseZcTsrData(&dataBuf[ii], wMsgCheckLen); + dwStep |= 0x01000U; + break; + case ZC_TO_TIOC_WLB_MSG: + /* ƶϢ */ + retVal = ParseZcEbData(&dataBuf[ii], wMsgCheckLen); + dwStep |= 0x00100U; + break; + case ZC_TO_TIOC_SNOW_MSG: + /*ZC-CIѩģʽϢ*/ + retVal = ParseZcSnowData(&dataBuf[ii], wMsgCheckLen); + dwStep |= 0x00010U; + break; + case ZC_TO_TIOC_ITELINECUT_MSG: + /*ZC-CIITEгϢ*/ + retVal = ParseZcIteLineCutData(&dataBuf[ii], wMsgCheckLen); + dwStep |= 0x00001U; + break; + default: + retVal = CI_ERROR; + break; + } + + if (CI_SUCCESS == retVal) + { + /* ɹݰ */ + ii += wMsgCheckLen; + } + else + { + debug_infor_printf((const)"ParseZcToCiDataFrame_Error Step: 0x%5x\n", dwStep); + ClearZcData(); /*ⲽûͨ*/ + } + } + + if (CI_ERROR == retVal) /*ʧ*/ + { + break; + } + else + { + ; /*do nothing*/ + } + } + + if (CI_SUCCESS == retVal) + { + /*Уݳ*/ + if (ii > dataLength) + { + retVal = CI_ERROR; } } if (CI_SUCCESS == retVal) { /*ͨ*/ - dwCurCyc = Get2oo2CurCycleNum(); - funRet = SetCiTransmitRecvDataCycNum(localCiId, CI_SYSTEM_TYPE_ZC, sourceId[0], dwCurCyc); - if (CI_ERROR == funRet) + if (SetCiTransmitRecvDataCycNum(GetSystemParaLocalCiId(), CI_SYSTEM_TYPE_ZC, sourceId[0], Get2oo2CurCycleNum()) == CI_ERROR) {/*ʧ*/ } @@ -253,8 +231,7 @@ UINT8 ParseZcToCiDataFrame(UINT8* dataBuf, UINT16 dataLength, UINT8 systemId) {/*ڳɹ*/ /*ZCͨ״̬жZCǷͨж*/ - funRet = UpdateCiTransmitState(localCiId, CI_SYSTEM_TYPE_ZC, sourceId[0]); - if (CI_ERROR == funRet) + if (UpdateCiTransmitState(GetSystemParaLocalCiId(), CI_SYSTEM_TYPE_ZC, sourceId[0]) == CI_ERROR) { /*ͨ״̬ʧ*/ } @@ -911,13 +888,12 @@ UINT8 ParseZcSnowData(UINT8* dataBuf, UINT16 dataLen) UINT8 cRetVal = CI_ERROR; UINT16 ii = 0u; UINT8 jj = 0U; - UINT16 wPlatFormId = 0U; /*վ̨ͨID*/ + UINT16 dwPlatFormId = 0U; /*վ̨ͨID*/ UINT8 cPlatFormNum = 0U; /*ZCѩվ̨*/ UINT8 cTmepNum = 0U;/*ѩվ̨*/ UINT8 cPlatFormBelongCiId = 0U; /*վ̨LinkCI*/ UINT8 cLocalCiId = 0U; UINT8 chLocalSnowValidFlag = 0U; /*ѩЧ־*/ - UINT8 cAllLineSnowLevel = 0U; /*ȫʪ켶*/ if (NULL == dataBuf) { @@ -964,18 +940,17 @@ UINT8 ParseZcSnowData(UINT8* dataBuf, UINT16 dataLen) cLocalCiId = GetSystemParaLocalCiId(); for (jj = 0U; jj < cPlatFormNum; jj++) { - wPlatFormId = ShortFromChar(&dataBuf[ii]); /*ѩվ̨ID*/ + dwPlatFormId = ShortFromChar(&dataBuf[ii]); /*ѩվ̨ID*/ ii += 2U; - cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(wPlatFormId); /*ȡѩվ̨*/ - if ((0U < wPlatFormId)&& (UINT16_MAX > wPlatFormId)) + cPlatFormBelongCiId = GetAreaSnowPlatFormBelongCiId(dwPlatFormId); /*ȡѩվ̨*/ + if (0U != dwPlatFormId) { if (cLocalCiId == cPlatFormBelongCiId) { /*վ̨ڱ*/ if (LOCAL_AREA_SNOW_SUM_MAX > cTmepNum) { - ZcToCiDataStru.szAreaSnowInfo[cTmepNum].wAreaId = wPlatFormId; - ZcToCiDataStru.szAreaSnowInfo[cTmepNum].cAreaSnowLevel = CI_SNOW_LEVEL_DEFAULT; /*CIģʽʪȼΪĬֵ(TMC)*/ + ZcToCiDataStru.szAreaSnowPlatFormId[cTmepNum] = (UINT32)dwPlatFormId; cTmepNum++; } else @@ -993,7 +968,7 @@ UINT8 ParseZcSnowData(UINT8* dataBuf, UINT16 dataLen) else { cRetVal = CI_ERROR; /*ѩվ̨IdǷʧ*/ - debug_infor_printf((const)"ParseZcToCiSNOW_Error wPlatFormId\n"); + debug_infor_printf((const)"ParseZcToCiSNOW_Error dwPlatFormId\n"); } } @@ -1068,7 +1043,6 @@ UINT8 PackCiToZcData( UINT8 deviceId) UINT32 dwHlhtHSrcSN = 0u; UINT32 dwHlhtHRcvSN = 0u; UINT16 totallenIndex = 0U; - UINT8 chDataType = 0U; localCi = GetSystemParaLocalCiId(); /*ȡID*/ ci_zcPrtclVersion = GetVersionOfZCToCI(); @@ -1078,7 +1052,6 @@ UINT8 PackCiToZcData( UINT8 deviceId) dwHlhtHSrcSN = GetHLHTHeadCtxSrcCrntSN(CI_SYSTEM_TYPE_ZC, deviceId); dwHlhtHRcvSN = GetHLHTHeadCtxCiRcvSN(CI_SYSTEM_TYPE_ZC, deviceId); CiEmapCheckVer = GetCiEmapCheckVer(localCi, &emapCheckVer, CI_SYSTEM_TYPE_ZC); - chDataType = GetLocalPublicDataType(); if ((CI_SUCCESS == CIName2HlhtId) && (CI_SUCCESS == ZCName2HlhtId) && (CI_SUCCESS == CiEmapCheckVer)) { retVal = CI_SUCCESS; @@ -1147,19 +1120,13 @@ UINT8 PackCiToZcData( UINT8 deviceId) totallenIndex = ii; ii += 2u;/*ͨñͷеӦò㱨ܳ*/ - if (DATA_TYPE_NEW == chDataType) - { - ii += 2u;/*ͨñͷеӦò㱨ij(0x202ij)*/ - ShortToChar(TIOC_TO_ZC_MASK_MSG, &CiToZcDataBuffer[ii]);/*ӿϢ*/ - ii += 2u; + ii += 2u;/*ͨñͷеӦò㱨ij(0x202ij)*/ - ii += 2u; /*Ԥ*/ - } - else - { - ;/*·0x202ijȡͼԤ*/ - } + ShortToChar(TIOC_TO_ZC_MASK_MSG, &CiToZcDataBuffer[ii]);/*ӿϢ*/ + ii += 2u; + + ii += 2u; /*Ԥ*/ /*λϢ*/ (void)MaskPack(CI_SYSTEM_TYPE_ZC,&CiToZcDataBuffer[ii]); @@ -1167,12 +1134,11 @@ UINT8 PackCiToZcData( UINT8 deviceId) /*ͨñͷӦò㱨ܳ*/ ShortToChar(ii - totallenIndex - 2U, &CiToZcDataBuffer[totallenIndex]); - if (DATA_TYPE_NEW == chDataType) - { - /*ͨӦò㱨ij(0x202ij)*/ - totallenIndex += 2U; - ShortToChar(ii - totallenIndex - 2U, &CiToZcDataBuffer[totallenIndex]); - } + + /*ͨӦò㱨ܳ*/ + totallenIndex += 2U; + ShortToChar(ii - totallenIndex - 2U, &CiToZcDataBuffer[totallenIndex]); + /*ZC*/ ClearZcData(); @@ -1356,25 +1322,21 @@ ZcToCiDataStruct* GetZcToCiDataStru(void) } /* -* ZCCIITEг״̬ +* ZCCIITEȫг״̬ * ˵INT8* dataBuf ݻ * UINT16 dataLength ݳ * ֵCI_ERROR 0 ݽʧ * CI_SUCCESS 1 ݽɹ -* Edit By LQ 2025.04.15 +* Created By LQ 2024.07.12 */ -UINT8 ParseZcIteCutData(UINT8* dataBuf, UINT16 dataLen) +UINT8 ParseZcIteLineCutData(UINT8* dataBuf, UINT16 dataLen) { UINT8 cRetVal = CI_ERROR; UINT8 cIteLineCutState = CI_ITE_LINE_CUT_INVALID; /*ZC͵ITEȫг״̬*/ UINT16 ii = 0U; - UINT8 jj = 0U; - UINT16 wPlatFormId = 0U; /*վ̨ID*/ - UINT8 cPlatFormNum = 0U; /*ZCITEг*/ if (NULL != dataBuf) { - cRetVal = CI_SUCCESS; /*ZC͵ITEȫг״̬*/ cIteLineCutState = dataBuf[ii]; ii++; @@ -1383,56 +1345,19 @@ UINT8 ParseZcIteCutData(UINT8* dataBuf, UINT16 dataLen) { ZcToCiDataStru.cIteLineCutState = cIteLineCutState; - cPlatFormNum = dataBuf[ii]; /*ITEг*/ - ii++; - - if (ALL_AREA_SNOW_SUM_MAX >= cPlatFormNum) + if (dataLen == ii) { - ZcToCiDataStru.cAreaIteCutNum = cPlatFormNum; - - for (jj = 0U; jj < cPlatFormNum; jj++) - { - wPlatFormId = ShortFromChar(&dataBuf[ii]); /*ID*/ - ii += 2U; - - if ((0U < wPlatFormId) && (UINT16_MAX > wPlatFormId)) - { - ZcToCiDataStru.szAreaIteCutId[jj] = wPlatFormId; - } - else - { - debug_infor_printf((const)"ParseZcIteCutData: PlatFormId Error\n"); - cRetVal = CI_ERROR; /*IDǷʧ*/ - break; - } - } - - if (CI_SUCCESS == cRetVal) - { - if (dataLen != ii) - { - debug_infor_printf((const)"ParseZcIteCutData: Msg Len Error\n"); - cRetVal = CI_ERROR; - } - else - { - /**/ - } - } - else - { - /**/ - } + cRetVal = CI_SUCCESS; } else { - debug_infor_printf((const)"ParseZcIteCutData: ZC AreaIteCutNum Error\n"); - cRetVal = CI_ERROR; /*ZCITEгޣʧ*/ + debug_infor_printf((const)"ParseZcIteLineCutData Error: MsgLen Is Error\n"); + cRetVal = CI_ERROR; /*Ȳһ£ʧ*/ } } else { - debug_infor_printf((const)"ParseZcIteCutData Error: IteLineCutState Error\n"); + debug_infor_printf((const)"ParseZcIteLineCutData Error: IteLineCutState Is Invalid\n"); cRetVal = CI_ERROR; /*״̬Ƿʧ*/ } } diff --git a/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.h b/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.h index ff0f396..6bec290 100644 --- a/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.h +++ b/TSCP/src/APP/ciapp/ParsePack/ParsePackZcData.h @@ -33,7 +33,7 @@ #define ZC_TO_TIOC_TSR_MSG ((UINT16)0x0203u) /*ZCTIOCʱϢ*/ #define ZC_TO_TIOC_WLB_MSG ((UINT16)0x0204u) /*ZCTIOCƶϢ*/ #define ZC_TO_TIOC_SNOW_MSG ((UINT16)0x0205u) /*ZCTIOCѩģʽϢ*/ -#define ZC_TO_TIOC_ITELINECUT_MSG ((UINT16)0x0206U) /*ZCTIOCȫITEг״̬Ϣ*/ +#define ZC_TO_TIOC_ITELINECUT_MSG ((UINT16)0x0206U) /*ZCTIOCITEг״̬Ϣ*/ #define ZC_TSR_VALID ((UINT8)0x55U) /*ZCʱЧ*/ #ifdef __cplusplus @@ -59,11 +59,9 @@ typedef struct S_ZcToCiDataStruct EbInputInfoStruct esbInputInfoStruct; /*ƶϢ*/ UINT8 cSnowValidFlag; /* ȫѩģʽЧ־ */ UINT8 cAreaSnowPlatFormNum; /*ѩվ̨*/ - AreaSnowInfoStruct szAreaSnowInfo[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩ*/ + UINT32 szAreaSnowPlatFormId[LOCAL_AREA_SNOW_SUM_MAX]; /*ѩվ̨ID*/ UINT8 chLocalSnowValidFlag; /* ѩģʽЧ־ */ UINT8 cIteLineCutState; /* ITEȫг״̬ */ - UINT8 cAreaIteCutNum; /*ITEг*/ - UINT16 szAreaIteCutId[ALL_AREA_SNOW_SUM_MAX]; /*ITEгID*/ } ZcToCiDataStruct; /*ͨųλϢ*/ @@ -198,14 +196,14 @@ UINT8 ParseZcSnowData(UINT8* dataBuf, UINT16 dataLen); ZcToCiDataStruct* GetZcToCiDataStru(void); /* -* ZCCIITEг״̬ +* ZCCIITEȫг״̬ * ˵INT8* dataBuf ݻ * UINT16 dataLength ݳ * ֵCI_ERROR 0 ݽʧ * CI_SUCCESS 1 ݽɹ * Created By LQ 2024.07.12 */ -UINT8 ParseZcIteCutData(UINT8* dataBuf, UINT16 dataLen); +UINT8 ParseZcIteLineCutData(UINT8* dataBuf, UINT16 dataLen); #ifdef __cplusplus } diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.c b/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.c index 8cb8ad0..cb49b3a 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.c @@ -102,16 +102,6 @@ static UINT8 NonAutoReturnStructInit(CHAR* FSName); *********************************************/ static UINT8 NonReturnStruFromDquStr(DSU_AR_STRU* pNonReturn, NonAutoReturnConfigDataStruct* pNonReturnCfgDtStr); -/* -*: ʼLINK -*: CHAR * FSName ļָ -*: -*ֵ: 0 ʧ -* 1 ɹ -* by cgh 20250818 -*/ -static UINT8 LinkSpecialEaDataInit(CHAR* FSName); - /********************************************* *ܣʼ̵еĽṹ壬ʼϵͳݡͨݣ * ʼվźŻ߼/ݡʼ豸̵ݡʼ/߼ݡ @@ -165,7 +155,7 @@ UINT8 RelayInit(CHAR* FSName) if (CI_PATTERN_FULL_ELECTRONIC == localCiPattern) { /*ʼOC ñ*/ - if (DATA_TYPE_OLD == chLocalOc) + if (OC_DATA_TYPE_OLD == chLocalOc) { funcRtn *= OCSwitchConfigDataStructInit_OLD(FSName); } @@ -486,15 +476,6 @@ UINT8 RelayInit(CHAR* FSName) { debug_infor_printf((const)"GroupAutoRouteCfgDtStructInit fail.\r\n"); } - - /*ʼLINK----ṹ*/ - funcRtn *= LinkSpecialEaDataInit(FSName); - - if (0u == funcRtn) - { - debug_infor_printf((const)"LinkSpecialEaDataInit fail.\r\n"); - } - return funcRtn; } @@ -1021,30 +1002,15 @@ UINT8 AxisSectionConfigDataStructInit(CHAR * FSName) dquCICfgDtStr.AxisSctCfgDtStrLen = dsuDataLenStru.wAxleSgmtLen; for(i=0u;i i) - { - rtnvalue = AxisSecCfgDtStruFromDquSgmtStr(dsuStaticHeadStru.pAxleSgmtStru + i, &dquCICfgDtStr.AxisSctCfgDtStr[i]); - } - else - { - rtnvalue = 0U; - } - - if (0U == rtnvalue) + if (i >= AXIS_SECTION_SUM_MAX) { + rtnvalue = 0u; break; } - else - { - ; /*ִ*/ - } + (void)AxisSecCfgDtStruFromDquSgmtStr(dsuStaticHeadStru.pAxleSgmtStru+i,&dquCICfgDtStr.AxisSctCfgDtStr[i]); } } - else - { - ; - } - + return rtnvalue; } @@ -2040,7 +2006,7 @@ UINT8 PhySgmtCfgDtStruFromDquSgmtStr(DSU_PHYSICAL_SGMT_STRU* pPhysicalSgmt, Phys { } } - if ((0u < dquCICfgDtStr.OCPhySecCfgStrLen) || (AXIS_TYPE_YONGLIE == acFty) || (AXIS_TYPE_KEANDA == acFty) || (AXIS_TYPE_FUHAOSHENG == acFty)) + if ((0u < dquCICfgDtStr.OCPhySecCfgStrLen) || ((AXIS_TYPE_YONGLIE == acFty) || (AXIS_TYPE_KEANDA == acFty))) { rtnvalue = 1u; /*ȫӼܸλ*/ @@ -2270,8 +2236,6 @@ UINT8 AxisSecCfgDtStruFromDquSgmtStr(DSU_AXLE_SGMT_STRU* pAxleSgmt, AxisSectionC UINT16 wlinkNum = 0u; UINT16 szLinkIdBuf[100u] = { 0u }; UINT32 dwLen = UINT32_MAX; - DSU_LINK_STRU* pAcIncLinkStru = NULL; /*ΰlinkṹ*/ - UINT8 kk = 0U; /*ڲ*/ if ((NULL == pAxleSgmt) || (NULL == pAxScCfgDtStr)) @@ -2326,30 +2290,6 @@ UINT8 AxisSecCfgDtStruFromDquSgmtStr(DSU_AXLE_SGMT_STRU* pAxleSgmt, AxisSectionC pAxScCfgDtStr->dwAxisTotalLen = dwLen; } - pAxScCfgDtStr->cAcCbtcAttr = AXIS_SEC_CBTC_PROPERTY_NO; /*ʼβCBTC*/ - - /*ΰlinkȷεCBTC*/ - for (kk = 0U; kk < pAxScCfgDtStr->chLinkNum; kk++) - { - pAcIncLinkStru = dsuStaticHeadStru.pLinkStru + dsuLinkIndex[pAxScCfgDtStr->szLinkIdBuff[kk]]; - if (0x55U != pAcIncLinkStru->cCbtcProperty) - { - break; /*linkCBTCԣֹͣ*/ - } - else - { - /*linkCBTCԣ*/ - } - } - - if ((kk == pAxScCfgDtStr->chLinkNum) && (0U != kk)) - { - pAxScCfgDtStr->cAcCbtcAttr = AXIS_SEC_CBTC_PROPERTY_YES; /*linkCBTCԣξCBTC*/ - } - else - { - /*linkCBTCԣβCBTC*/ - } /*ԭΪߵļᣬlinkؽߵģֻҪȡһlinkУԼ*/ @@ -3225,8 +3165,6 @@ UINT8 OverlapCfgDtStruFromDquStr(DSU_PROTECT_LINK_STRU * pProtectLink, OverlapCo pOvlpCfgDtStr->InvOppOverlapSum = 0u; pOvlpCfgDtStr->FloodGateIdSum = 0u; pOvlpCfgDtStr->AxisSecFarId = 0u; - pOvlpCfgDtStr->wOverlapThisZhaoChaRelayId = 0U; - pOvlpCfgDtStr->wOverlapThatZhaoChaRelayId = 0U; for(k = 0u; k < LSDataLen.LSOverlapLockCondStruLen; k++) { @@ -3298,10 +3236,6 @@ UINT8 OverlapCfgDtStruFromDquStr(DSU_PROTECT_LINK_STRU * pProtectLink, OverlapCo pOvlpCfgDtStr->FloodGateIdSum++; } } - - pOvlpCfgDtStr->wOverlapThisZhaoChaRelayId = LSData.pLSOverlapLockCondStru[k].wOverlapThisZhaoChaRelayId; - pOvlpCfgDtStr->wOverlapThatZhaoChaRelayId = LSData.pLSOverlapLockCondStru[k].wOverlapThatZhaoChaRelayId; - break; } @@ -3595,114 +3529,97 @@ UINT8 PsdCfgDtStruFromDquEmergStr(DSU_SCREEN_STRU * pScreen,PsdConfigDataStruct* if((NULL == pScreen) || (NULL == pPsdCfgDtStr)) { /*ʧ*/ - rtnvalue = 0U; + return 0u; } - else + + pPsdCfgDtStr->PsdId = pScreen->wId; + rtnvalue = GetDsuLinkIndexNum(pScreen->wRelatLkId,&linkindex); + if(CI_SUCCESS == rtnvalue) { - pPsdCfgDtStr->PsdId = pScreen->wId; - rtnvalue = GetDsuLinkIndexNum(pScreen->wRelatLkId, &linkindex); - if (CI_SUCCESS == rtnvalue) + pPsdCfgDtStr->BelongCiId = (UINT8)dsuStaticHeadStru.pLinkStru[linkindex].wManagePhysicalCI; + pPsdCfgDtStr->BelongVirCIid = (UINT8)dsuStaticHeadStru.pLinkStru[linkindex].wBelongVirtualCI; + if ((UINT16_MAX != pScreen->wLocalPlatformId) && (0U != pScreen->wLocalPlatformId)) { - pPsdCfgDtStr->BelongCiId = (UINT8)dsuStaticHeadStru.pLinkStru[linkindex].wManagePhysicalCI; - pPsdCfgDtStr->BelongVirCIid = (UINT8)dsuStaticHeadStru.pLinkStru[linkindex].wBelongVirtualCI; - pPsdCfgDtStr->wPsdFstProLinkId = pScreen->wFstProLinkId; - pPsdCfgDtStr->wPsdSndProLinkId = pScreen->wSndProLinkId; - pPsdCfgDtStr->wPsdTrdProLinkId = pScreen->wTrdProLinkId; - - /*Ƚ̵ʼΪ0Ϊ豸*/ - pPsdCfgDtStr->CloseDriveRelayId = 0u; - pPsdCfgDtStr->DoorStateRelayId = 0u; - pPsdCfgDtStr->MutualLockRelayId = 0u; - pPsdCfgDtStr->OpenFourEditGroupDriveRelayId = 0u; - pPsdCfgDtStr->OpenSixEditGroupDriveRelayId = 0u; - pPsdCfgDtStr->OpenEightEditGroupDriveRelayId = 0u; - pPsdCfgDtStr->wRelayDoorButtonId = 0u; - pPsdCfgDtStr->doorReopenRelayId = 0u; - pPsdCfgDtStr->departureConfirmRelayId = 0u; - pPsdCfgDtStr->detectStartRelayId = 0u; - pPsdCfgDtStr->detectStopRelayId = 0u; - pPsdCfgDtStr->obstacleRelayId = 0u; - pPsdCfgDtStr->gapDetMuLockRelayId = 0u; - pPsdCfgDtStr->closeStateRelayId = 0u; - pPsdCfgDtStr->ClearPasseSteadyLightRelayId = 0u; - pPsdCfgDtStr->ClearPasseFlashLightRelayId = 0u; - pPsdCfgDtStr->ClearPassengerButtonRelayId = 0u; - pPsdCfgDtStr->wCleFarePCBButtonRelayId = 0U; - pPsdCfgDtStr->wCleFarePDBFlaLigRelayId = 0U; - pPsdCfgDtStr->wPobIndicatorRelayId = 0U; - pPsdCfgDtStr->wPcbIndicatorRelayId = 0U; - pPsdCfgDtStr->VirtualAttribute = PSD_VIRTUAL_ATTR_YES; /*ʼΪ*/ - pPsdCfgDtStr->chPsdControlType = PSD_CONTROL_TYPE_RCI; /*ʼΪRCI*/ - - if ((UINT16_MAX != pScreen->wLocalPlatformId) && (0U != pScreen->wLocalPlatformId)) - { - stationId = dsuStaticHeadStru.pStationStru[dsuStationIndex[pScreen->wLocalPlatformId]].wStationID; - pPsdCfgDtStr->BelongStationId = (UINT8)(stationId & 0x00FFu);/*ǵվŲᳬ255Ϊ˺PSDϵͳIDͳһֻȡֽ*/ - } - else - { - pPsdCfgDtStr->BelongStationId = 0U; - } - - pPsdCfgDtStr->RelatedOutStationRouteSum = 0u; - (void)memset(pPsdCfgDtStr->RelatedOutStationRouteIdBuf, 0, sizeof(UINT16) * RALATED_OUT_STATION_ROUTE_SUM_MAX); - for (i = 0u; i < dsuDataLenStru.wStationLen; i++) - { - for (j = 0u; j < 2u; j++) - { - if (pPsdCfgDtStr->PsdId == (dsuStaticHeadStru.pStationStru + i)->wScreenId[j]) - { - pPsdCfgDtStr->BelongPlatformId = (dsuStaticHeadStru.pStationStru + i)->wATSStationId; - break; - } - } - } - - for (i = 0u; i < RelayDataLen.RelayScreenStrLen; i++) - { - if (pScreen->wId == (RelayData.pRelayScreenStr + i)->wScreenId) - { - pPsdCfgDtStr->CloseDriveRelayId = (RelayData.pRelayScreenStr + i)->wRelayCloseDoorId; - pPsdCfgDtStr->DoorStateRelayId = (RelayData.pRelayScreenStr + i)->wRelayDoorClosedId; - pPsdCfgDtStr->wDoorStateRelayId2 = (RelayData.pRelayScreenStr + i)->wRelayDoorClosedId2; - pPsdCfgDtStr->MutualLockRelayId = (RelayData.pRelayScreenStr + i)->wRelayRelatedId; - pPsdCfgDtStr->wMutualLockRelayId2 = (RelayData.pRelayScreenStr + i)->wRelayRelatedId2; - pPsdCfgDtStr->OpenFourEditGroupDriveRelayId = (RelayData.pRelayScreenStr + i)->wRelayFourEditGroupOpenDoorId; - pPsdCfgDtStr->OpenSixEditGroupDriveRelayId = (RelayData.pRelayScreenStr + i)->wRelaySixEditGroupOpenDoorId; - pPsdCfgDtStr->OpenEightEditGroupDriveRelayId = (RelayData.pRelayScreenStr + i)->wRelayEightEditGroupOpenDoorId; - pPsdCfgDtStr->wRelayDoorButtonId = (RelayData.pRelayScreenStr + i)->wRelayDoorButtonId; - pPsdCfgDtStr->doorReopenRelayId = (RelayData.pRelayScreenStr + i)->doorReopenRelayId; - pPsdCfgDtStr->departureConfirmRelayId = (RelayData.pRelayScreenStr + i)->departureConfirmRelayId; - pPsdCfgDtStr->detectStartRelayId = (RelayData.pRelayScreenStr + i)->detectStartRelayId; - pPsdCfgDtStr->detectStopRelayId = (RelayData.pRelayScreenStr + i)->detectStopRelayId; - pPsdCfgDtStr->obstacleRelayId = (RelayData.pRelayScreenStr + i)->obstacleRelayId; - pPsdCfgDtStr->gapDetMuLockRelayId = (RelayData.pRelayScreenStr + i)->gapDetMuLockRelayId; - pPsdCfgDtStr->closeStateRelayId = (RelayData.pRelayScreenStr + i)->closeStateRelayId; - pPsdCfgDtStr->ClearPasseSteadyLightRelayId = (RelayData.pRelayScreenStr + i)->wClearPasseSteadyLightRelayId; - pPsdCfgDtStr->ClearPasseFlashLightRelayId = (RelayData.pRelayScreenStr + i)->wClearPasseFlashLightRelayId; - pPsdCfgDtStr->ClearPassengerButtonRelayId = (RelayData.pRelayScreenStr + i)->wClearPassengerButtonRelayId; - pPsdCfgDtStr->wCleFarePCBButtonRelayId = (RelayData.pRelayScreenStr + i)->wCleFarePCBButtonRelayId; - pPsdCfgDtStr->wCleFarePDBFlaLigRelayId = (RelayData.pRelayScreenStr + i)->wCleFarePDBFlaLigRelayId; - pPsdCfgDtStr->wPobIndicatorRelayId = (RelayData.pRelayScreenStr + i)->wPobBsdRelayId; - pPsdCfgDtStr->wPcbIndicatorRelayId = (RelayData.pRelayScreenStr + i)->wPcbBsdRelayId; - pPsdCfgDtStr->wVideoQkLight1RelayId = (RelayData.pRelayScreenStr + i)->wVideoQkLight1RelayId; - pPsdCfgDtStr->wVideoQkLight2RelayId = (RelayData.pRelayScreenStr + i)->wVideoQkLight2RelayId; - pPsdCfgDtStr->VirtualAttribute = PSD_VIRTUAL_ATTR_NO;/*ʼΪ*/ - pPsdCfgDtStr->chPsdControlType = (RelayData.pRelayScreenStr + i)->chControlType; - break; /*ż̵ҵţֹͣ*/ - } - else - { - /*ʼ*/ - } - } + stationId = dsuStaticHeadStru.pStationStru[dsuStationIndex[pScreen->wLocalPlatformId]].wStationID; + pPsdCfgDtStr->BelongStationId = (UINT8)(stationId & 0x00FFu);/*ǵվŲᳬ255Ϊ˺PSDϵͳIDͳһֻȡֽ*/ } else - { - rtnvalue = 0U; /*PSDlinkЧ0ʧ*/ + { + pPsdCfgDtStr->BelongStationId = 0U; + } + pPsdCfgDtStr->RelatedOutStationRouteSum = 0u; + (void)memset(pPsdCfgDtStr->RelatedOutStationRouteIdBuf,0,sizeof(UINT16) * RALATED_OUT_STATION_ROUTE_SUM_MAX); + for (i = 0u; i < dsuDataLenStru.wStationLen; i++) + { + for (j = 0u; j < 2u; j++) + { + if (pPsdCfgDtStr->PsdId == (dsuStaticHeadStru.pStationStru + i)->wScreenId[j]) + { + pPsdCfgDtStr->BelongPlatformId = (dsuStaticHeadStru.pStationStru + i)->wATSStationId; + break; + } + } + } + for(i=0u;iwId == (RelayData.pRelayScreenStr+i)->wScreenId) + { + pPsdCfgDtStr->CloseDriveRelayId = (RelayData.pRelayScreenStr+i)->wRelayCloseDoorId; + pPsdCfgDtStr->DoorStateRelayId = (RelayData.pRelayScreenStr+i)->wRelayDoorClosedId; + pPsdCfgDtStr->wDoorStateRelayId2 = (RelayData.pRelayScreenStr + i)->wRelayDoorClosedId2; + pPsdCfgDtStr->MutualLockRelayId = (RelayData.pRelayScreenStr+i)->wRelayRelatedId; + pPsdCfgDtStr->wMutualLockRelayId2 = (RelayData.pRelayScreenStr + i)->wRelayRelatedId2; + pPsdCfgDtStr->OpenFourEditGroupDriveRelayId = (RelayData.pRelayScreenStr+i)->wRelayFourEditGroupOpenDoorId; + pPsdCfgDtStr->OpenSixEditGroupDriveRelayId = (RelayData.pRelayScreenStr+i)->wRelaySixEditGroupOpenDoorId; + pPsdCfgDtStr->OpenEightEditGroupDriveRelayId = (RelayData.pRelayScreenStr+i)->wRelayEightEditGroupOpenDoorId; + pPsdCfgDtStr->wRelayDoorButtonId = (RelayData.pRelayScreenStr+i)->wRelayDoorButtonId; + pPsdCfgDtStr->doorReopenRelayId = (RelayData.pRelayScreenStr+i)->doorReopenRelayId; + pPsdCfgDtStr->departureConfirmRelayId = (RelayData.pRelayScreenStr+i)->departureConfirmRelayId; + pPsdCfgDtStr->detectStartRelayId = (RelayData.pRelayScreenStr+i)->detectStartRelayId; + pPsdCfgDtStr->detectStopRelayId = (RelayData.pRelayScreenStr+i)->detectStopRelayId; + pPsdCfgDtStr->obstacleRelayId = (RelayData.pRelayScreenStr+i)->obstacleRelayId; + pPsdCfgDtStr->gapDetMuLockRelayId = (RelayData.pRelayScreenStr+i)->gapDetMuLockRelayId; + pPsdCfgDtStr->closeStateRelayId = (RelayData.pRelayScreenStr+i)->closeStateRelayId; + pPsdCfgDtStr->ClearPasseSteadyLightRelayId = (RelayData.pRelayScreenStr + i)->wClearPasseSteadyLightRelayId; + pPsdCfgDtStr->ClearPasseFlashLightRelayId = (RelayData.pRelayScreenStr + i)->wClearPasseFlashLightRelayId; + pPsdCfgDtStr->ClearPassengerButtonRelayId = (RelayData.pRelayScreenStr + i)->wClearPassengerButtonRelayId; + pPsdCfgDtStr->wCleFarePCBButtonRelayId = (RelayData.pRelayScreenStr + i)->wCleFarePCBButtonRelayId; + pPsdCfgDtStr->wCleFarePDBFlaLigRelayId = (RelayData.pRelayScreenStr + i)->wCleFarePDBFlaLigRelayId; + pPsdCfgDtStr->wPobIndicatorRelayId = (RelayData.pRelayScreenStr + i)->wPobBsdRelayId; + pPsdCfgDtStr->wPcbIndicatorRelayId = (RelayData.pRelayScreenStr + i)->wPcbBsdRelayId; + pPsdCfgDtStr->wVideoQkLight1RelayId = (RelayData.pRelayScreenStr + i)->wVideoQkLight1RelayId; + pPsdCfgDtStr->wVideoQkLight2RelayId = (RelayData.pRelayScreenStr + i)->wVideoQkLight2RelayId; + pPsdCfgDtStr->VirtualAttribute = PSD_VIRTUAL_ATTR_NO;/*ʼΪ*/ + rtnvalue = 1u; + return rtnvalue; + + } } } - + + pPsdCfgDtStr->CloseDriveRelayId = 0u; + pPsdCfgDtStr->DoorStateRelayId = 0u; + pPsdCfgDtStr->MutualLockRelayId = 0u; + pPsdCfgDtStr->OpenFourEditGroupDriveRelayId = 0u; + pPsdCfgDtStr->OpenSixEditGroupDriveRelayId = 0u; + pPsdCfgDtStr->OpenEightEditGroupDriveRelayId = 0u; + pPsdCfgDtStr->wRelayDoorButtonId = 0u; + pPsdCfgDtStr->doorReopenRelayId = 0u; + pPsdCfgDtStr->departureConfirmRelayId = 0u; + pPsdCfgDtStr->detectStartRelayId = 0u; + pPsdCfgDtStr->detectStopRelayId = 0u; + pPsdCfgDtStr->obstacleRelayId = 0u; + pPsdCfgDtStr->gapDetMuLockRelayId = 0u; + pPsdCfgDtStr->closeStateRelayId = 0u; + pPsdCfgDtStr->ClearPasseSteadyLightRelayId = 0u; + pPsdCfgDtStr->ClearPasseFlashLightRelayId = 0u; + pPsdCfgDtStr->ClearPassengerButtonRelayId = 0u; + pPsdCfgDtStr->wCleFarePCBButtonRelayId = 0U; + pPsdCfgDtStr->wCleFarePDBFlaLigRelayId = 0U; + pPsdCfgDtStr->wPobIndicatorRelayId = 0U; + pPsdCfgDtStr->wPcbIndicatorRelayId = 0U; + pPsdCfgDtStr->VirtualAttribute = PSD_VIRTUAL_ATTR_NO;/*ʼΪ*/ + rtnvalue = 0u; return rtnvalue; } @@ -3714,6 +3631,7 @@ UINT8 PsdCfgDtStruFromDquEmergStr(DSU_SCREEN_STRU * pScreen,PsdConfigDataStruct* *********************************************/ UINT8 PsdConfigDataStructInit(CHAR * FSName) { + UINT8 rtnvalue = 0u; UINT8 callFun = 0u; UINT16 i = 0u; @@ -3723,6 +3641,7 @@ UINT8 PsdConfigDataStructInit(CHAR * FSName) UINT16 startAxisSectionWId = 0u; /*ʼ˼link*/ UINT16 endAxisSectionWId = 0u; /*ն˼link*/ UINT16 linkId = 0u; + UINT8 flagBreak = 0u;/*жѭ־*/ callFun = dfsEmapInit (FSName); callFun *= InitRelay_ScreenStru (FSName); @@ -3735,7 +3654,10 @@ UINT8 PsdConfigDataStructInit(CHAR * FSName) else { rtnvalue = 1u; - + } + + if (1u == rtnvalue) + { dquCICfgDtStr.PsdCfgDtStrLen =dsuDataLenStru.wScreenLen; for(i=0u;i= PSD_SUM_MAX) { rtnvalue = 0u; + break; } - else - { - rtnvalue = PsdCfgDtStruFromDquEmergStr(dsuStaticHeadStru.pScreenStru + i, &dquCICfgDtStr.PsdCfgDtStr[i]); - if (1U == rtnvalue) - { - for (j = 0u; j < dsuDataLenStru.wRouteLen; j++) - {/*н·*/ - startSignalId = dsuStaticHeadStru.pRouteStru[j].wStartSignalId;/*ȡ·ʼźŻID*/ - linkId = (dsuStaticHeadStru.pSignalStru + dsuSignalIndex[startSignalId])->wLkId;/*ȡʼźŻLinkID*/ + (void)PsdCfgDtStruFromDquEmergStr(dsuStaticHeadStru.pScreenStru+i,&dquCICfgDtStr.PsdCfgDtStr[i]); + for(j = 0u;j < dsuDataLenStru.wRouteLen;j++) + {/*н·*/ + flagBreak = 0u; + startSignalId = dsuStaticHeadStru.pRouteStru[j].wStartSignalId;/*ȡ·ʼźŻID*/ + linkId = (dsuStaticHeadStru.pSignalStru + dsuSignalIndex[startSignalId])->wLkId;/*ȡʼźŻLinkID*/ - if (linkId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId) - {/*ʼźŻLinkID == LinkID*/ - sumTemp = dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum; - dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteIdBuf[sumTemp] = dsuStaticHeadStru.pRouteStru[j].wId; - dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum++; + if(linkId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId) + {/*ʼźŻLinkID == LinkID*/ + sumTemp = dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum; + dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteIdBuf[sumTemp] = dsuStaticHeadStru.pRouteStru[j].wId; + dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum++; - if (dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum >= RALATED_OUT_STATION_ROUTE_SUM_MAX) - { - rtnvalue = 0u; - break; - } - } - } - - if (1u == rtnvalue) + if(dquCICfgDtStr.PsdCfgDtStr[i].RelatedOutStationRouteSum >= RALATED_OUT_STATION_ROUTE_SUM_MAX) { - for (j = 0u; j < dsuDataLenStru.wAxleSgmtLen; j++) - {/*мĿ*/ - startAxisSectionWId = dsuStaticHeadStru.pAxleSgmtStru[j].wOrgnLkId; /*ȡʼlink*/ - endAxisSectionWId = dsuStaticHeadStru.pAxleSgmtStru[j].wTmnlLkId; /*ȡնlink*/ - /*ʼ˼LinkID == ն˼LinkID*/ - if ((startAxisSectionWId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId) && (endAxisSectionWId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId)) - { - /*ҵεID*/ - dquCICfgDtStr.PsdCfgDtStr[i].PsdRelationPhySecId = dsuStaticHeadStru.pAxleSgmtStru[j].wRelatePhysicalSgmtId; - break; - } - - } + flagBreak = 1u; + break; } } } + if (1u== flagBreak) + { + rtnvalue =0u; + break; + } + if (1u == rtnvalue) + { + for(j = 0u;j < dsuDataLenStru.wAxleSgmtLen; j++ ) + {/*мĿ*/ + startAxisSectionWId = dsuStaticHeadStru.pAxleSgmtStru[j].wOrgnLkId; /*ȡʼlink*/ + endAxisSectionWId = dsuStaticHeadStru.pAxleSgmtStru[j].wTmnlLkId; /*ȡնlink*/ + /*ʼ˼LinkID == ն˼LinkID*/ + if((startAxisSectionWId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId) && (endAxisSectionWId == dsuStaticHeadStru.pScreenStru[i].wRelatLkId)) + { + /*ҵεID*/ + dquCICfgDtStr.PsdCfgDtStr[i].PsdRelationPhySecId = dsuStaticHeadStru.pAxleSgmtStru[j].wRelatePhysicalSgmtId; + break; + } + + } + } if ((0u == rtnvalue) || (j == dsuDataLenStru.wAxleSgmtLen)) { break; } + } if(1u==rtnvalue) { @@ -4742,8 +4665,6 @@ UINT8 RouteCfgDtStruFrmLSRouteStr( LS_RouteStruct * pLSRouteStr,RouteConfigDataS UINT8 chCheckLogIdSameFlag = 0U; UINT8 isEachInvFlag = 0U; UINT16 wLgcSecIndex = 0U; /*߼*/ - UINT8 chLocalCiPattern = 0u; /*CIģʽ*/ - lineIdentity = GetCiFunctionSwitchConfig(LINE_RAILWAY_TYPE_CONF);/*??????:0x55:????;0xAA:????*/ /*ڲ*/ @@ -5871,6 +5792,9 @@ UINT8 RouteCfgDtStruFrmLSRouteStr( LS_RouteStruct * pLSRouteStr,RouteConfigDataS pRouteCfgDtStr->RelayBenDuanZcIdOnRelayIntrf = RelayData.pRelayZhaoChaStr[i].wRelayBenDuanZcIdOnRelayInterface; pRouteCfgDtStr->RelayDuiDuanZcIdOnRelayIntrf = RelayData.pRelayZhaoChaStr[i].wRelayDuiDuanZcIdOnRelayInterface; + pRouteCfgDtStr->wCbtcThatZhaoChaRelayId = RelayData.pRelayZhaoChaStr[i].wCbtcRelayDuiDuanZcId; + pRouteCfgDtStr->wCbtcThisZhaoChaRelayId = RelayData.pRelayZhaoChaStr[i].wCbtcRelayBenDuanZcId; + pRouteCfgDtStr->wCbtccancelZhaochaRelayId = RelayData.pRelayZhaoChaStr[i].wCbtcCancelRelayId; /*ͳЧղID*/ zhaoChaPhySecNum = 0u; @@ -6454,94 +6378,24 @@ UINT8 RouteCfgDtStruFrmLSRouteStr( LS_RouteStruct * pLSRouteStr,RouteConfigDataS pRouteCfgDtStr->RouteNeedDelayUnlock = pLSRouteStr->wNeedDelayUnlock; /*̵ͬID (ֶ)*/ - pRouteCfgDtStr->DCRouteDCQJId = 0U; - pRouteCfgDtStr->DCRouteDCQJTwoId = 0U; - pRouteCfgDtStr->DCRouteTAJId = 0U; - for(i=0u;iDCRouteDCQJId = 0u; + pRouteCfgDtStr->DCRouteTAJId = 0u; + if(RelayData.pRelayDCAgreeStr[i].wRouteId == pLSRouteStr->wRouteId) { pRouteCfgDtStr->DCRouteDCQJId = RelayData.pRelayDCAgreeStr[i].DCRouteDCQJId; pRouteCfgDtStr->DCRouteTAJId = RelayData.pRelayDCAgreeStr[i].DCRouteTAJId; - pRouteCfgDtStr->DCRouteDCQJTwoId = RelayData.pRelayDCAgreeStr[i].DCRouteDCQJTwoId; break; } else { } } - - chLocalCiPattern = GetLocalCiPattern(); - - if (CI_PATTERN_FULL_ELECTRONIC == chLocalCiPattern) - { - if (0U != pRouteCfgDtStr->DCRouteDCQJId) - { - if ((0U == pRouteCfgDtStr->DCRouteTAJId) || (0U == pRouteCfgDtStr->DCRouteDCQJTwoId)) - { - /*˵̵1Чδõͬ⼰̵2ݳʼʧ*/ - rtnvalue = CI_ERROR; - debug_infor_printf((const)"error: pRouteCfgDtStr->DCRouteTAJId is 0 or pRouteCfgDtStr->DCRouteDCQJTwoId is 0"); - } - else - { - - } - } - else - { - if ((0U != pRouteCfgDtStr->DCRouteTAJId) || (0U != pRouteCfgDtStr->DCRouteDCQJTwoId)) - { - /*˵̵ЧõͬЧݳʼʧ*/ - rtnvalue = CI_ERROR; - debug_infor_printf((const)"error: pRouteCfgDtStr->DCRouteDCQJId is 0"); - } - else - { - - } - } - } - else if (CI_PATTERN_TRADITIONAL == chLocalCiPattern) - { - /*̵ûе̵2*/ - if (0U != pRouteCfgDtStr->DCRouteDCQJId) - { - if (0U == pRouteCfgDtStr->DCRouteTAJId) - { - /*˵̵ЧδõͬЧݳʼʧ*/ - rtnvalue = CI_ERROR; - debug_infor_printf((const)"error: pRouteCfgDtStr->DCRouteTAJId is 0"); - } - else - { - - } - } - else - { - if (0U != pRouteCfgDtStr->DCRouteTAJId) - { - /*˵̵ЧõͬЧݳʼʧ*/ - rtnvalue = CI_ERROR; - debug_infor_printf((const)"error: pRouteCfgDtStr->DCRouteDCQJId is 0"); - } - else - { - - } - } - } - else - { - rtnvalue = CI_ERROR; - } - } else { - } if(CI_SUCCESS == rtnvalue) { @@ -6946,8 +6800,11 @@ UINT8 RouteConfigDataStructInit(CHAR * FSName) UINT8 callFun = 0u; UINT16 i=0u; UINT8 execRet = 0u; - UINT8 chDataType = DATA_TYPE_NEW; - chDataType = GetLocalPublicDataType();/*28.0.0.14߼ι·ʼ*/ + + UINT8 lineIdentity = CI_TRADITION_RAILWAY; + + lineIdentity = GetCiFunctionSwitchConfig(LINE_RAILWAY_TYPE_CONF);/*??????:0x55:????;0xAA:????*/ + callFun = dfsEmapInit(FSName); callFun *= InitLS_RouteStruct(FSName); callFun *= InitLS_AutoRtnRouteStru(FSName); @@ -7035,7 +6892,7 @@ UINT8 RouteConfigDataStructInit(CHAR * FSName) {/*úʧܣ0*/ rtnvalue = 0u; } - + if (1U == rtnvalue) { @@ -7120,31 +6977,22 @@ UINT8 RouteConfigDataStructInit(CHAR * FSName) /*߼ι·*/ if (1u == rtnvalue) { - if (DATA_TYPE_NEW == chDataType) + for (i = 0u; i < dquCICfgDtStr.lgcSctCfgDtStrLen; i++) { - for (i = 0u; i < dquCICfgDtStr.lgcSctCfgDtStrLen; i++) + execRet = LogRelateRouteDataInit(dquCICfgDtStr.RouteCfgDtStr, &(dquCICfgDtStr.lgcSctCfgDtStr[i]));/*߼ι·*/ + execRet *= LogRelateProSwDataInit(dquCICfgDtStr.RouteCfgDtStr, &(dquCICfgDtStr.lgcSctCfgDtStr[i]));/*߼ι*/ + if (execRet > 0u) { - execRet = LogRelateRouteDataInit(dquCICfgDtStr.RouteCfgDtStr, &(dquCICfgDtStr.lgcSctCfgDtStr[i]));/*߼ι·*/ - execRet *= LogRelateProSwDataInit(dquCICfgDtStr.RouteCfgDtStr, &(dquCICfgDtStr.lgcSctCfgDtStr[i]));/*߼ι*/ - if (execRet > 0u) - { - } - else - {/*úʧܣ0*/ - rtnvalue = 0u; - } - if (1U != rtnvalue) - { - break; - } } - } - else - { - /*28.0.0.14ݽṹݲ֧߼ι·*/ - /*Ӱ칦ܣ߼· ֽ· ߼Դ*/ - rtnvalue = 1U; + else + {/*úʧܣ0*/ + rtnvalue = 0u; + } + if (1U != rtnvalue) + { + break; + } } } @@ -7382,80 +7230,58 @@ UINT8 TransmitRelationDataStructInit(CHAR* FSName) UINT8 RouteOpposedConfigDataInite(RouteConfigDataStruct * RouteCfgDtStr,RouteConfigDataStruct * pRouteCfgDtStr) { UINT16 i=0u,j=0u,k=0u,n=0u; - UINT8 index=0u;/*еִ·*/ + UINT8 index=0u; UINT8 rtnvalue = 1u; UINT8 Flag = 0u; - UINT8 chRouteCitype = 0U; - chRouteCitype = (UINT8)(dsuStaticHeadStru.pCIStruStru[dsuCIIndex[pRouteCfgDtStr->BelongCiId]].wType); /*·*/ /*ִ·ID (ֶ)*/ pRouteCfgDtStr->OpposedRouteSum = 0u; - if ((CI_TYPE_CLD != chRouteCitype)&&(CI_TYPE_TCC != chRouteCitype)) - { - for (i = 0u; i < pRouteCfgDtStr->RoutePhySecSum; i++) - {/*·*/ + for(i=0u; iRoutePhySecSum; i++) + {/*·*/ - for (j = 0u; j < LSDataLen.LSRouteStrLen; j++) - {/*н·*/ - if (pRouteCfgDtStr->RouteId == RouteCfgDtStr[j].RouteId) - { - /*ȥ·*/ - } - else - { - for (k = 0u; k < RouteCfgDtStr[j].RoutePhySecSum; k++) - {/*ý·*/ + for(j=0u; jRouteId == RouteCfgDtStr[j].RouteId) + { + /*ȥ·*/ + } + else + { + for (k = 0u; k < RouteCfgDtStr[j].RoutePhySecSum; k++) + {/*ý·*/ - if (pRouteCfgDtStr->RoutePhySectionStru[i].PhysicalSectionId == RouteCfgDtStr[j].RoutePhySectionStru[k].PhysicalSectionId) - {/*ͬ*/ + if (pRouteCfgDtStr->RoutePhySectionStru[i].PhysicalSectionId == RouteCfgDtStr[j].RoutePhySectionStru[k].PhysicalSectionId) + {/*ͬ*/ - Flag = 0u; - for (n = 0u; n < index; n++) - {/*ִ·飬ǷѾӸõִ·*/ + Flag = 0u; + for (n = 0u; n < ROUTE_OPPOSED_ROUTE_SUM_MAX; n++) + {/*ִ·飬ǷѾӸõִ·*/ - if (pRouteCfgDtStr->OpposedRouteIdBuf[n] == RouteCfgDtStr[j].RouteId) - { - Flag = 1u; - break; - /*Ѿ*/ - } - } - if (Flag == 1u) + if (pRouteCfgDtStr->OpposedRouteIdBuf[n] == RouteCfgDtStr[j].RouteId) { - /*Ѿڣ*/ + Flag = 1u; + break; + /*Ѿ*/ } - else - { - if (ROUTE_OPPOSED_ROUTE_SUM_MAX > index) - { - /*ӵִ·*/ - pRouteCfgDtStr->OpposedRouteIdBuf[index] = RouteCfgDtStr[j].RouteId;/*ִ*/ - index++; - } - else - { - rtnvalue = 0U; - break; - } - } - } - } - if (0U == rtnvalue) - { - break; - } + if (Flag == 1u) + { + /*Ѿڣ*/ + } + else + { + /*ӵִ·*/ + pRouteCfgDtStr->OpposedRouteIdBuf[index] = RouteCfgDtStr[j].RouteId;/*ִ*/ + index++; + } + } } + } } + } - pRouteCfgDtStr->OpposedRouteSum = index; - } - else - { - /*ԶԽ·*/ - rtnvalue = 1u; - } + pRouteCfgDtStr->OpposedRouteSum = index; return rtnvalue; } @@ -8512,151 +8338,103 @@ UINT8 ReadDquCiTransmitInfoToConfig(DquCiTransmitStruct *pDquCiTransmitStr) switch (pDquCiTransmitStr->devType) { case CI_DEVICE_TYPE_SWITCH: /* */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SWITCH_SUM_MAX) && (pTmpCiTransConfig->switchNum < SWITCH_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SWITCH_SUM_MAX)) { pTmpCiTransConfig->switchIdBuf[pTmpCiTransConfig->switchNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->switchNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Switch Error\n"); - } break; case CI_DEVICE_TYPE_SIGNAL: /* źŻ */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SIGNAL_SUM_MAX) && (pTmpCiTransConfig->signalNum < SIGNAL_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SIGNAL_SUM_MAX)) { pTmpCiTransConfig->signalIdBuf[pTmpCiTransConfig->signalNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->signalNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Signal Error\n"); - } break; case CI_DEVICE_TYPE_PHYSEC: /* */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < PHYSICAL_SECTION_SUM_MAX) && (pTmpCiTransConfig->phySecNum < PHYSICAL_SECTION_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < PHYSICAL_SECTION_SUM_MAX)) { pTmpCiTransConfig->phySecIdBuf[pTmpCiTransConfig->phySecNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->phySecIdLockDirFlag[pTmpCiTransConfig->phySecNum] = pDquCiTransmitStr->phyLockDirOppOrNot;/*շǷȡ־*/ pTmpCiTransConfig->phySecNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read PhySec Error\n"); - } break; case CI_DEVICE_TYPE_LOGICSEC: /* ߼ */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < LOGIC_SECTION_SUM_MAX) && (pTmpCiTransConfig->logicSecNum < LOGIC_SECTION_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < LOGIC_SECTION_SUM_MAX)) { pTmpCiTransConfig->logicSecIdBuf[pTmpCiTransConfig->logicSecNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->logicSecNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read LogSec Error\n"); - } break; case CI_DEVICE_TYPE_ESB: /* ESB */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < ESB_SUM_MAX) && (pTmpCiTransConfig->esbNum < ESB_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < ESB_SUM_MAX)) { pTmpCiTransConfig->esbIdBuf[pTmpCiTransConfig->esbNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->esbNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read ESB Error\n"); - } break; case CI_DEVICE_TYPE_PSD: /* PSD */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < PSD_SUM_MAX) && (pTmpCiTransConfig->psdNum < PSD_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < PSD_SUM_MAX)) { pTmpCiTransConfig->psdIdBuf[pTmpCiTransConfig->psdNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->psdNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read PSD Error\n"); - } break; case CI_DEVICE_TYPE_ROUTE: /* · */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < ROUTE_SUM_MAX) && (pTmpCiTransConfig->routeNum < ROUTE_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < ROUTE_SUM_MAX)) { pTmpCiTransConfig->routeIdBuf[pTmpCiTransConfig->routeNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->routeNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Route Error\n"); - } break; case CI_DEVICE_TYPE_OVERLAP: /* */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < OVERLAP_SUM_MAX) && (pTmpCiTransConfig->overlapNum < OVERLAP_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < OVERLAP_SUM_MAX)) { pTmpCiTransConfig->overlapIdBuf[pTmpCiTransConfig->overlapNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->overlapNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Overlap Error\n"); - } break; case CI_DEVICE_TYPE_SPKS: /* SPKS */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SPKS_SUM_MAX) && (pTmpCiTransConfig->spksNum < SPKS_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < SPKS_SUM_MAX)) { pTmpCiTransConfig->spksIdBuff[pTmpCiTransConfig->spksNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->spksNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read SPKS Error\n"); - } break; case CI_DEVICE_TYPE_FLOODGATE:/**/ { - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < FLOOD_GATE_SUM_MAX) && (pTmpCiTransConfig->floodGateNum < FLOOD_GATE_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < FLOOD_GATE_SUM_MAX)) { pTmpCiTransConfig->floodGateIdBuf[pTmpCiTransConfig->floodGateNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->floodGateNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read FloodGate Error\n"); - } } break; case CI_DEVICE_TYPE_RELAY: /* ղ̵ */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < RELAY_SUM_MAX) && (pTmpCiTransConfig->zcjNum < ZCJ_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < RELAY_SUM_MAX)) { pTmpCiTransConfig->zcjIdBuf[pTmpCiTransConfig->zcjNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->zcjNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Zcj Error\n"); - } break; case CI_DEVICE_TYPE_CUTOFF_POINT: /* ֽ */ - if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < CUTOFF_POINT_SUM_MAX) && (pTmpCiTransConfig->wCutoffPointNum < CUTOFF_POINT_SUM_MAX)) + if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < RELAY_SUM_MAX)) { pTmpCiTransConfig->wCutoffPointBuf[pTmpCiTransConfig->wCutoffPointNum] = pDquCiTransmitStr->devId; pTmpCiTransConfig->wCutoffPointNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read Cfp Error\n"); - } break; case CI_DEVICE_TYPE_AUTOROUTE:/* cgh-ϲCID-2539-7Զͨ */ if ((pDquCiTransmitStr->devId > 0u) && (pDquCiTransmitStr->devId < AUTO_ROUTE_SUM_MAX) && @@ -8666,10 +8444,6 @@ UINT8 ReadDquCiTransmitInfoToConfig(DquCiTransmitStruct *pDquCiTransmitStr) pTmpCiTransConfig->autoRouteNum++; rtnValue = 1u; } - else - { - debug_infor_printf((const)"ReadDquCiTransmitInfoToConfig: Read AutoRoute Error\n"); - } break; default: rtnValue = 0u; @@ -10583,7 +10357,6 @@ UINT8 LinkCfgDtStruFromDquLinkStr(DSU_LINK_STRU* pLink, LinkDataConfigStru* pLin pLinkScCfgDtStr->chLogicLineRelation = pLink->wLinkLogicDirUpAndDown; pLinkScCfgDtStr->chLogicDirChanged = pLink->wLogicDirChanged; pLinkScCfgDtStr->chRelPhySecIsAGorBG = LINK_REL_PHYSEC_IS_DEFAULT; /*ȳʼΪAGBG*/ - pLinkScCfgDtStr->wLinkSpecialEa = 0U; /*LINK*/ for (i = 0u; i < dsuDataLenStru.wStationLen; i++) { @@ -11369,14 +11142,13 @@ UINT8 RouteMainProConfigDataInit(RouteConfigDataStruct* RouteCfgDtStr, RouteConf UINT16 wMaybeSubIdBuf[ROUTE_SUB_INCLUDE_SUM_MAX] = { 0U };/*·ӽ·ID*/ UINT8 chMaybeSubIdIndex = 0U;/*·ӽ·ID*/ UINT8 chMainIncSubIndex = 0U;/*·ӽ·ID*/ - UINT16 wMaybeMainIdBuf[ROUTE_MAYBE_BELONG_SUM_MAX] = { 0U };/*ӽ··ID*/ + UINT16 wMaybeMainIdBuf[ROUTE_SUB_INCLUDE_SUM_MAX] = { 0U };/*ӽ··ID*/ UINT8 chMaybeMainIdIndex = 0U;/*ӽ··ID*/ UINT8 chSubBelMainIndex = 0U;/*ӽ··ID*/ LOD_STRU strCurRouteSigPoint = { 0U };/*ǰ·ڷһLINK*/ LOD_STRU strFindRouteSigPoint = { 0U };/*·ڷһLINK*/ UINT8 chDirChangeNum = 0U;/*·ڷһLINK͵ǰ·ڷһLINK֮䷽仯Ŀ*/ DSU_ROUTE_STRU* pDsuRouteStr = NULL; - UINT8 chMaxCheckFail = CI_SUCCESS; /*·ӽ·Ŀӽ··ĿʼΪ0*/ pRouteCfgDtStr->MainOrSubData.RouteBelMainSum = 0U; @@ -11422,27 +11194,13 @@ UINT8 RouteMainProConfigDataInit(RouteConfigDataStruct* RouteCfgDtStr, RouteConf շһµ·ڷڷ仯㣨2·ڷһLINK֮䷽仯ĿΪ1ųǷֶν·ϵ*/ if ((pRouteCfgDtStr->RouteInLogTrackSum) > (RouteCfgDtStr[i].RouteInLogTrackSum)) {/*ǰ··߼Σǰ·Ϊ·ԣһҪһֱͨ۷*/ - if (ROUTE_SUB_INCLUDE_SUM_MAX > chMaybeSubIdIndex) - { - wMaybeSubIdBuf[chMaybeSubIdIndex] = RouteCfgDtStr[i].RouteId; - chMaybeSubIdIndex++; - } - else - { - chMaxCheckFail = CI_ERROR;/*ֹͣ ֹ*/ - } + wMaybeSubIdBuf[chMaybeSubIdIndex] = RouteCfgDtStr[i].RouteId; + chMaybeSubIdIndex++; } else if ((pRouteCfgDtStr->RouteInLogTrackSum) < (RouteCfgDtStr[i].RouteInLogTrackSum)) - {/*ǰ·߼αĽ·ǰ·Ϊӽ·ԣһҪһֱͨ۷*/ - if (ROUTE_MAYBE_BELONG_SUM_MAX > chMaybeMainIdIndex) - { - wMaybeMainIdBuf[chMaybeMainIdIndex] = RouteCfgDtStr[i].RouteId; - chMaybeMainIdIndex++; - } - else - { - chMaxCheckFail = CI_ERROR;/*ֹͣ ֹ*/ - } + {/*ǰ·߼αĽ·ǰ·Ϊӽ·ԣһҪһֱͨ۷*/ + wMaybeMainIdBuf[chMaybeMainIdIndex] = RouteCfgDtStr[i].RouteId; + chMaybeMainIdIndex++; } else { @@ -11456,149 +11214,99 @@ UINT8 RouteMainProConfigDataInit(RouteConfigDataStruct* RouteCfgDtStr, RouteConf } chMainIncSubLogSum = 0U; } - if (CI_SUCCESS == chMaxCheckFail) + + /*۵ǰ··ӽ·ʼźŻһǷֶ*/ + for (i = 0U; i < chMaybeSubIdIndex; i++) { - /*۵ǰ··ӽ·ʼźŻһǷֶ*/ - for (i = 0U; i < chMaybeSubIdIndex; i++) + /*ӿ·ӽ·ɸѡӽ·*/ + if (pRouteCfgDtStr->StartSignalId == RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId) { - /*ӿ·ӽ·ɸѡӽ·*/ - if (pRouteCfgDtStr->StartSignalId == RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId) + /*·Ӧĵһӽ·ʼźŻͬ*/ + if (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].EndSignalId]].signalFenDuanAttr) { - /*·Ӧĵһӽ·ʼźŻͬ*/ - if (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].EndSignalId]].signalFenDuanAttr) - { - if (ROUTE_SUB_INCLUDE_SUM_MAX > chMainIncSubIndex) - { - /*һӽ·նźŻΪֶ*/ - pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; - chMainIncSubIndex++; - } - else - { - chMaxCheckFail = CI_ERROR; - } - } - else - { - ; /**/ - } + /*һӽ·նźŻΪֶ*/ + pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; + chMainIncSubIndex++; + } + else + { + ; /**/ } - else if (pRouteCfgDtStr->EndSignalId != RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].EndSignalId) + } + else if (pRouteCfgDtStr->EndSignalId != RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].EndSignalId) + { + /*·Ӧķһӽ·:ӽ·նźŻ·նźŻһ*/ + if (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId]].signalFenDuanAttr) { - /*·Ӧķһӽ·:ӽ·նźŻ·նźŻһ*/ - if (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId]].signalFenDuanAttr) - { - if (ROUTE_SUB_INCLUDE_SUM_MAX > chMainIncSubIndex) - { - /*ȷӽ·ʼźŻΪֶԣΪ·ȷһӽ·*/ - pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; - chMainIncSubIndex++; - } - else - { - chMaxCheckFail = CI_ERROR; - } - } - else - { - ; /**/ - } + /*ȷӽ·ʼźŻΪֶԣΪ·ȷһӽ·*/ + pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; + chMainIncSubIndex++; } else { - /*·Ӧһӽ·:ӽ·նźŻ·նźŻһ*/ - /*ȷӽ·ʺ··һ Ҵȷӽ·ʼźűΪֶԼΪյӽ·*/ - if ((pRouteCfgDtStr->ConfigRouteType == RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].ConfigRouteType) - && (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId]].signalFenDuanAttr)) - { - if (ROUTE_SUB_INCLUDE_SUM_MAX > chMainIncSubIndex) - { - pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; - chMainIncSubIndex++; - } - else - { - chMaxCheckFail = CI_ERROR; - } - } - else - { - ; /*·Ҳͬʵӽ·*/ - } + ; /**/ } - if (0U < chMainIncSubIndex) - { - pRouteCfgDtStr->MainOrSubData.MainRouteProperty = ROUTE_MAIN_PROPERTY; - } - if (CI_ERROR == chMaxCheckFail) - { - break; - } - } - - for (i = 0U; i < chMaybeMainIdIndex; i++) - { - if ((SIGNAL_FENDUAN_NO == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].StartSignalId]].signalFenDuanAttr) - && (SIGNAL_FENDUAN_NO == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].EndSignalId]].signalFenDuanAttr) - && ((SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[pRouteCfgDtStr->StartSignalId]].signalFenDuanAttr) - || (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[pRouteCfgDtStr->EndSignalId]].signalFenDuanAttr))) - { - /*·ʼնźŻֶ߱ԣӿӽ··ɸѡ·*/ - if (pRouteCfgDtStr->EndSignalId != RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].EndSignalId) - {/*ȷ·նźŻӽ·նźŻһ£Ϊӽ·ȷһ·*/ - if (ROUTE_MAIN_BELONG_SUM_MAX > chSubBelMainIndex) - { - pRouteCfgDtStr->MainOrSubData.RouteBelMainIdBuf[chSubBelMainIndex] = wMaybeMainIdBuf[i]; - chSubBelMainIndex++; - } - else - { - chMaxCheckFail = CI_ERROR; - } - } - else - {/*ȷ·նźŻӽ·նźŻһ£ӽ··ѡ·һµĴȷ·Ϊյ·*/ - if (RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].ConfigRouteType == pRouteCfgDtStr->ConfigRouteType) - { - if (ROUTE_MAIN_BELONG_SUM_MAX > chSubBelMainIndex) - { - pRouteCfgDtStr->MainOrSubData.RouteBelMainIdBuf[chSubBelMainIndex] = wMaybeMainIdBuf[i]; - chSubBelMainIndex++; - } - else - { - chMaxCheckFail = CI_ERROR; - } - } - } - } - if (0U < chSubBelMainIndex) - { - pRouteCfgDtStr->MainOrSubData.MainRouteProperty = ROUTE_SUB_PROPERTY; - } - if (CI_ERROR == chMaxCheckFail) - { - break; - } - } - - if (CI_ERROR == chMaxCheckFail) - { - rtnvalue = 0U; - debug_infor_printf((const)"\n RouteMainProConfigDataInit Error: Routeid:%d Sub or Main Route Over Max \n", pRouteCfgDtStr->RouteId); } else { - pRouteCfgDtStr->MainOrSubData.RouteSubSum = chMainIncSubIndex; - pRouteCfgDtStr->MainOrSubData.RouteBelMainSum = chSubBelMainIndex; - rtnvalue = 1U; + /*·Ӧһӽ·:ӽ·նźŻ·նźŻһ*/ + /*ȷӽ·ʺ··һ Ҵȷӽ·ʼźűΪֶԼΪյӽ·*/ + if ((pRouteCfgDtStr->ConfigRouteType == RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].ConfigRouteType) + && (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeSubIdBuf[i]]].StartSignalId]].signalFenDuanAttr)) + { + pRouteCfgDtStr->MainOrSubData.RouteSubIdBuf[chMainIncSubIndex] = wMaybeSubIdBuf[i]; + chMainIncSubIndex++; + } + else + { + ; /*·Ҳͬʵӽ·*/ + } } + if (0U < chMainIncSubIndex) + { + pRouteCfgDtStr->MainOrSubData.MainRouteProperty = ROUTE_MAIN_PROPERTY; + } + } + + for (i = 0U; i < chMaybeMainIdIndex; i++) + { + if ((SIGNAL_FENDUAN_NO == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].StartSignalId]].signalFenDuanAttr) + && (SIGNAL_FENDUAN_NO == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].EndSignalId]].signalFenDuanAttr) + && ((SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[pRouteCfgDtStr->StartSignalId]].signalFenDuanAttr) + || (SIGNAL_FENDUAN_YES == dquCICfgDtStr.SgnlCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuSignalIndex[pRouteCfgDtStr->EndSignalId]].signalFenDuanAttr))) + { + /*·ʼնźŻֶ߱ԣӿӽ··ɸѡ·*/ + if (pRouteCfgDtStr->EndSignalId != RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].EndSignalId) + {/*ȷ·նźŻӽ·նźŻһ£Ϊӽ·ȷһ·*/ + pRouteCfgDtStr->MainOrSubData.RouteBelMainIdBuf[chSubBelMainIndex] = wMaybeMainIdBuf[i]; + chSubBelMainIndex++; + } + else + {/*ȷ·նźŻӽ·նźŻһ£ӽ··ѡ·һµĴȷ·Ϊյ·*/ + if (RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[wMaybeMainIdBuf[i]]].ConfigRouteType == pRouteCfgDtStr->ConfigRouteType) + { + pRouteCfgDtStr->MainOrSubData.RouteBelMainIdBuf[chSubBelMainIndex] = wMaybeMainIdBuf[i]; + chSubBelMainIndex++; + } + } + } + if (0U < chSubBelMainIndex) + { + pRouteCfgDtStr->MainOrSubData.MainRouteProperty = ROUTE_SUB_PROPERTY; + } + } + + if ((ROUTE_SUB_INCLUDE_SUM_MAX < chMainIncSubIndex) && (ROUTE_SUB_INCLUDE_SUM_MAX < chSubBelMainIndex)) + { + rtnvalue = 0U; } else { - rtnvalue = 0U; - debug_infor_printf((const)"\n RouteMainProConfigDataInit Error: Routeid:%d _Maybe Sub or Main Route Over Max \n", pRouteCfgDtStr->RouteId); + pRouteCfgDtStr->MainOrSubData.RouteSubSum = chMainIncSubIndex; + pRouteCfgDtStr->MainOrSubData.RouteBelMainSum = chSubBelMainIndex; + rtnvalue = 1U; } + return rtnvalue; } @@ -11612,7 +11320,6 @@ UINT8 LogRelateRouteDataInit(RouteConfigDataStruct* RouteCfgDtStr, LogicSectionC UINT16 i = 0U; UINT16 j = 0U; UINT8 rtnvalue = 0U; - UINT8 chMaxCheck = CI_SUCCESS; /*߼ΰ·ĿʼΪ0*/ pLogCfgDtStr->chRelateRouteSum = 0U; @@ -11622,34 +11329,19 @@ UINT8 LogRelateRouteDataInit(RouteConfigDataStruct* RouteCfgDtStr, LogicSectionC { if (RouteCfgDtStr[i].RouteInLogTrackIdBuf[j] == pLogCfgDtStr->LogicSectionId) { - if (LOGSEC_RELATE_ROUTE_SUM_MAX > pLogCfgDtStr->chRelateRouteSum) - { - pLogCfgDtStr->wRelateRouteId[pLogCfgDtStr->chRelateRouteSum] = RouteCfgDtStr[i].RouteId; - (pLogCfgDtStr->chRelateRouteSum)++; - } - else - { - chMaxCheck = CI_ERROR; - } + pLogCfgDtStr->wRelateRouteId[pLogCfgDtStr->chRelateRouteSum] = RouteCfgDtStr[i].RouteId; + (pLogCfgDtStr->chRelateRouteSum)++; break; } - if (CI_ERROR == chMaxCheck) - { - break; - } - } - if (CI_ERROR == chMaxCheck) - { - break; } } - if (CI_ERROR == chMaxCheck) + if (LOGSEC_RELATE_ROUTE_SUM_MAX >= pLogCfgDtStr->chRelateRouteSum) { - rtnvalue = 0U; + rtnvalue = 1U; } else { - rtnvalue = 1U; + rtnvalue = 0U; } return rtnvalue; } @@ -11670,7 +11362,7 @@ UINT8 LogRelateProSwDataInit(RouteConfigDataStruct* RouteCfgDtStr, LogicSectionC UINT16 wProtectSwSum = 0U;/*߼ι*/ UINT16 wProtectSwId = 0U;/*߼ιIDɱ*/ UINT8 chProtectSwFlag = 0U;/*߼ιȥر־*/ - UINT8 chMaxCheck = CI_SUCCESS; + /*߼ι*/ pLgScCfgDtStr->chRelateProSwSum = 0U; for (ii = 0; ii < pLgScCfgDtStr->chLogsecSwitchSum; ii++) @@ -11697,43 +11389,20 @@ UINT8 LogRelateProSwDataInit(RouteConfigDataStruct* RouteCfgDtStr, LogicSectionC } if (1U != chProtectSwFlag) {/*ǰвIDŽ*/ - if (LOGSEC_RELATE_PRO_SW_SUM_MAX > pLgScCfgDtStr->chRelateProSwSum) - { - pLgScCfgDtStr->wRelateProSwId[pLgScCfgDtStr->chRelateProSwSum].SwitchId = dquCICfgDtStr.RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[pLgScCfgDtStr->wRelateRouteId[kk]]].RouteProtectSwitchStru[hh].ProtectSwitchId; - pLgScCfgDtStr->wRelateProSwId[pLgScCfgDtStr->chRelateProSwSum].SwitchPosition = dquCICfgDtStr.RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[pLgScCfgDtStr->wRelateRouteId[kk]]].RouteProtectSwitchStru[hh].ProtectPosition; - (pLgScCfgDtStr->chRelateProSwSum)++; - } - else - { - chMaxCheck = CI_ERROR; - } + pLgScCfgDtStr->wRelateProSwId[pLgScCfgDtStr->chRelateProSwSum].SwitchId = dquCICfgDtStr.RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[pLgScCfgDtStr->wRelateRouteId[kk]]].RouteProtectSwitchStru[hh].ProtectSwitchId; + pLgScCfgDtStr->wRelateProSwId[pLgScCfgDtStr->chRelateProSwSum].SwitchPosition = dquCICfgDtStr.RouteCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuRouteIndex[pLgScCfgDtStr->wRelateRouteId[kk]]].RouteProtectSwitchStru[hh].ProtectPosition; + (pLgScCfgDtStr->chRelateProSwSum)++; break; } } } - if (CI_ERROR == chMaxCheck) - { - break; - } } - if (CI_ERROR == chMaxCheck) - { - break; - } - } - if (CI_ERROR == chMaxCheck) - { - break; } } - if (CI_ERROR == chMaxCheck) + if (LOGSEC_RELATE_PRO_SW_SUM_MAX < pLgScCfgDtStr->chRelateProSwSum) { rtnvalue = 0U; } - else - { - rtnvalue = 1U; - } return rtnvalue; } @@ -12715,41 +12384,4 @@ static UINT8 NonReturnStruFromDquStr(DSU_AR_STRU* pNonReturn, NonAutoReturnConfi return rtnvalue; -} - -/* -*: ʼLINK -*: CHAR * FSName ļָ -*: -*ֵ: 0 ʧ -* 1 ɹ -* by cgh 20250818 -*/ -static UINT8 LinkSpecialEaDataInit(CHAR* FSName) -{ - UINT16 ii = 0U; - UINT8 retVal = 0U; /*ֵ*/ - UINT16 jj = 0U; - - retVal = dquCbtcConfigDataInit(FSName); /*ʼϵͳ*/ - - if (0U != retVal) - { - for (ii = 0U; ii < cbtcConfigDataStru.BoundarySpecialEaInfoLen; ii++) - { - for (jj = 0U; jj < cbtcConfigDataStru.cbtcSpecialEaInfo[ii].wLinkSum; jj++) - { - dquCICfgDtStr.LinkCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuLinkIndex[cbtcConfigDataStru.cbtcSpecialEaInfo[ii].szLinkId[jj]]].wLinkSpecialEa = cbtcConfigDataStru.cbtcSpecialEaInfo[ii].wIndex; - dquCICfgDtStr.LinkCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuLinkIndex[cbtcConfigDataStru.cbtcSpecialEaInfo[ii].szLinkId[jj]]].dwFrontDis = cbtcConfigDataStru.cbtcSpecialEaInfo[ii].dwFrontDis; - dquCICfgDtStr.LinkCfgDtStr[g_dsuEmapStru->dsuEmapIndexStru->dsuLinkIndex[cbtcConfigDataStru.cbtcSpecialEaInfo[ii].szLinkId[jj]]].dwBehindDis = cbtcConfigDataStru.cbtcSpecialEaInfo[ii].dwBehindDis; - } - } - } - else - { - /*ϵͳݳʼʧܣ0*/ - } - - return retVal; -} - +} \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.h b/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.h index 8ed5e4f..08a6680 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIInit.h @@ -32,7 +32,6 @@ #include "NonAutoReturnConfigDataManage.h" #include "../SGBJ/SGBJConfigDataManage.h" #include "../Section/AxisSectionConfigDataManage.h" -#include "../System/SystemParameterManage.h" #define ORIGIN_TO_TERMINAL ((UINT8)0x55) /*㵽յ*/ #define TERMINAL_TO_ORIGIN ((UINT8)0xAA) /*յ㵽*/ @@ -59,9 +58,8 @@ /*dquCICfgDtStr.OCPhySecCfgStrгԱ*/ #define OC_PHYSEC_CFG_STR_MEMBER_NUM ((UINT8)6) -#define AXIS_TYPE_YONGLIE ((UINT8)(0x01)) /**/ -#define AXIS_TYPE_KEANDA ((UINT8)(0x02)) /*ư*/ -#define AXIS_TYPE_FUHAOSHENG ((UINT8)(0x03)) /*ʢ*/ +#define AXIS_TYPE_YONGLIE ((UINT8)(0x01)) /**/ +#define AXIS_TYPE_KEANDA ((UINT8)(0x02)) /*ư*/ #define INDICATOR_MAX_SIZE ((UINT16)2000) /*С*/ @@ -84,10 +82,6 @@ #define LINK_LINXIAN_YES ((UINT8)0x55) /*Link*/ #define LINK_LINXIAN_NO ((UINT8)0xFF) /*Link*/ -/**/ -#define LINK_SPECOAL_EA_YES ((UINT8)0x55) /*Link*/ -#define LINK_SPECOAL_EA_NO ((UINT8)0xAA) /*Link*/ - typedef struct { RelayConfigDataStruct RelayCfgDtStr[RELAY_SUM_MAX]; /*̵*/ diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.c b/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.c index 4a09db6..d3be220 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.c @@ -4560,75 +4560,3 @@ UINT8 EnsureNearAxleStorageLineAtrr(const UINT16 wAxleId) return cRetVal; } -/* -* ȡڼе -* ˵const UINT8 chLocalCiId ID -* PhysicalSectionConfigDataStruct* pPhysicalSectionConfigDataStru νṹ -* ֵ CI_SUCCESS,ɹ -* CI_ERROR,ʧ -* BY CGH 20250418 -*/ -UINT8 ReadPhySecIndexInAxle(const UINT8 chLocalCiId, PhysicalSectionConfigDataStruct* pPhysicalSectionConfigDataStru) -{ - UINT8 chReval = CI_ERROR; - UINT8 chDevSum = 0U; /*豸Ŀ*/ - UINT8* szDevIdBuf = NULL; /*豸ID*/ - UINT8 ii = 0U; - UINT16 jj = 0U; - UINT16 wIndexInAxle = 0U; /*ڼϵͳе*/ - - if ((0U != chLocalCiId) && (NULL != pPhysicalSectionConfigDataStru)) - { - chReval = CI_SUCCESS; - chDevSum = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_AXIS); - szDevIdBuf = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_AXIS); - - for (ii = 0U; ii < chDevSum; ii++) - { - wIndexInAxle = 1U; - for (jj = 0U; jj < dquCICfgDtStr.PsclSgmtCfgDtStrLen; jj++) - { - if (dquCICfgDtStr.PsclSgmtCfgDtStr[jj].PhysicalSectionId < PHYSICAL_SECTION_SUM_MAX) - { - if (chLocalCiId == dquCICfgDtStr.PsclSgmtCfgDtStr[jj].BelongCiId) - { - if (szDevIdBuf[ii] == (UINT8)dquCICfgDtStr.PsclSgmtCfgDtStr[jj].BelongAxleSysID) - { - pPhysicalSectionConfigDataStru[dquCICfgDtStr.PsclSgmtCfgDtStr[jj].PhysicalSectionId].wIndexInAxle = wIndexInAxle; - wIndexInAxle++; - } - else - { - ; - } - } - else - { - ; - } - } - else - { - chReval = CI_ERROR; - break; - } - } - - if (CI_ERROR == chReval) - { - break; - } - else - { - ; - } - } - } - else - { - ; - } - - return chReval; -} - diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.h b/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.h index ed33cc7..2a5813f 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIInterFace.h @@ -497,16 +497,6 @@ UINT8 EnsureAxleBorderAtrr(const UINT16 wAxleId); *********************************************/ UINT8 EnsureNearAxleStorageLineAtrr(const UINT16 wAxleId); -/* -* ȡڼе -* ˵const UINT8 chLocalCiId ID -* PhysicalSectionConfigDataStruct* pPhysicalSectionConfigDataStru νṹ -* ֵ CI_SUCCESS,ɹ -* CI_ERROR,ʧ -* BY CGH 20250418 -*/ -UINT8 ReadPhySecIndexInAxle(const UINT8 chLocalCiId, PhysicalSectionConfigDataStruct* pPhysicalSectionConfigDataStru); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruFrmChar.c b/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruFrmChar.c index d53fe61..967b32c 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruFrmChar.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruFrmChar.c @@ -280,16 +280,6 @@ UINT8 R_ScreenStructFromChar(UINT8 * pDataAddr,Relay_ScreenStruct* pScrnStr, UIN pData += 2U; } - if (54U < rowLen) - { - pScrnStr->chControlType = *pData; /*ſ*/ - pData += 1U; - } - else - {/*ûһ*/ - pScrnStr->chControlType = PSD_CONTROL_TYPE_RCI; /*RCI*/ - } - rtnvalue = 1u; } @@ -639,11 +629,25 @@ UINT8 R_ZhaoChaStruFromChar(UINT8 * pDataAddr,Relay_ZhaoChaStruct* pZCStr,UINT16 index += 2u; } } + else if (CI_PATTERN_FULL_ELECTRONIC == chLocalCiPattern) + { + if ((index + 6U) <= realRowLen) + { + pZCStr->wCbtcRelayBenDuanZcId = dquCiShortFromChar(pData); /*CBTC˼̵ID*/ + pData += 2U; + index += 2U; + pZCStr->wCbtcRelayDuiDuanZcId = dquCiShortFromChar(pData); /*CBTCԶ˼̵ID*/ + pData += 2U; + index += 2U; + pZCStr->wCbtcCancelRelayId = dquCiShortFromChar(pData); /*CBTCȡղ̵ID*/ + pData += 2U; + index += 2U; + } + } else { ; /*Ƿֵ*/ } - rtnvalue = 1U; return rtnvalue; @@ -965,37 +969,23 @@ UINT8 R_FloodGateStructFromChar(UINT8 * pDataAddr,Relay_FloodGateStruct* pFloodG UINT8 R_DCAgreeStructFromChar(UINT8 * pDataAddr,Relay_DCAgreeStruct * pDCAgreeStr) { UINT8 * pData = pDataAddr; - UINT8 rtnvalue = 0U; - UINT8 chLocalCiPattern = 0u; /*CIģʽ*/ + UINT8 rtnvalue = 1u; if ((NULL == pDataAddr) || (NULL == pDCAgreeStr)) { - ; + rtnvalue = 0u; } - else + if(1u == rtnvalue) { - chLocalCiPattern = GetLocalCiPattern(); - pDCAgreeStr->wRouteId = dquCiShortFromChar(pData); /*·ID*/ - pData += 2U; + pData += 2u; pDCAgreeStr->DCRouteDCQJId = dquCiShortFromChar(pData); /*ͬ-̵ID*/ - pData += 2U; - - if (CI_PATTERN_FULL_ELECTRONIC == chLocalCiPattern) - { - pDCAgreeStr->DCRouteDCQJTwoId = dquCiShortFromChar(pData); /*ͬ-̵2ID*/ - pData += 2U; - } - else - { - pDCAgreeStr->DCRouteDCQJTwoId = 0U; - } - + pData += 2u; pDCAgreeStr->DCRouteTAJId = dquCiShortFromChar(pData); /*ͬ-ͬⰴť̵ID*/ - pData += 2U; + pData += 2u; - rtnvalue = 1U; + rtnvalue = 1u; } return rtnvalue; diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruInit.c b/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruInit.c index 987333b..1def5dd 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruInit.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIJDQStruInit.c @@ -1464,100 +1464,76 @@ UINT8 InitRelay_FloodGateStru(CHAR* CIDataName) *********************************************/ UINT8 InitRelay_DCAgreeStru(CHAR* CIDataName) { - UINT8 funcRtn = 0U; + UINT8 funcRtn = 0u; Relay_DCAgreeStruct* pDCAgreeStr = NULL; /*̵ͬ*/ - UINT8* pDataAddr = NULL; /*ݵַ*/ - UINT32 DataSize = 0U; /*ݴСֽ*/ - UINT16 j = 0U; - UINT8 rtnValue = 0U; + UINT8* pDataAddr; /*ݵַ*/ + UINT32 DataSize; /*ݴСֽ*/ + UINT16 j; + UINT8 rtnValue = 0u; UINT8 localCiPattern = 0U; - UINT32 dwExcelId = 0u; /*excel id*/ - UINT32 dwSheetId = 0u; /*sheet id*/ - UINT32 dwRowLen = 0u; /*г*/ - UINT16 wRealRowCount = 0U; /**/ - localCiPattern = GetLocalCiPattern(); - /*Ѿʼˣǵִй*/ - if(NULL != RelayData.pRelayDCAgreeStr) + /*Ѿʼˣǵִй ȫӲóʼű*/ + if((NULL != RelayData.pRelayDCAgreeStr)||(CI_PATTERN_FULL_ELECTRONIC == localCiPattern)) { - rtnValue = 1U; + rtnValue = 1u; } else { - if (CI_PATTERN_TRADITIONAL == localCiPattern) - { - dwExcelId = CI_DATA_TYPE; - dwSheetId = RELAY_DCAGREE_ID; - } - else - { - dwExcelId = OC_DATA_TYPE; - dwSheetId = OC_RELAY_DCAGREE_ID; - } - /*ȡ·̵ͬݱ*/ - funcRtn = dquGetConfigDataNew(CIDataName, dwExcelId, dwSheetId,&pDataAddr,&DataSize, &wRealRowCount); - if(0U == funcRtn) + funcRtn = dquGetConfigData(CIDataName,CI_DATA_TYPE, RELAY_DCAGREE_ID,&pDataAddr,&DataSize); + if(0u == funcRtn) { - /*ûбʼɹ*/ - rtnValue = 1U; - debug_infor_printf((const)"\nOC_DCAgree_RELAY_ID NO IN FS\n"); + /*ʧ*/ + rtnValue = 0u; } else { - rtnValue = 1U; - if ((0U != DataSize) && (0U != wRealRowCount)) + if(0u != (DataSize%LEN_RELAY_DCAGREE_ID)) + { /*øΪݴ*/ + debug_infor_printf((const)"\nCI_RELAY_DATA,RELAY_DCAGREE len %d not equal to fs",LEN_RELAY_DCAGREE_ID); + DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software,CI_DEVICE_TYPE_FS_TABLE,((UINT32)CI_DATA_TYPE<<8u)+RELAY_DCAGREE_ID,PRINT_ONCE); + rtnValue = 0u; + } + else { - if (0U != (DataSize % wRealRowCount)) - { - /*øΪݴ*/ - debug_infor_printf((const)"\nCI_RELAY_DATA,RELAY_DCAGREE len %d not equal to fs", (DataSize % wRealRowCount)); - DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software, CI_DEVICE_TYPE_FS_TABLE, ((UINT32)(dwExcelId << 8U)) + dwSheetId, PRINT_ONCE); - rtnValue = 0U; + RelayDataLen.RelayDCAgreeStrLen = (UINT16)(DataSize / LEN_RELAY_DCAGREE_ID);/*ṹ*/ + + if(LEN_RELAY_DCAGREE_ID >DataSize ) + {/*һ*/ + RelayData.pRelayDCAgreeStr = (Relay_DCAgreeStruct *) MyNew ((UINT32)sizeof(Relay_DCAgreeStruct) ); + rtnValue = 1u; } else { - RelayDataLen.RelayDCAgreeStrLen = wRealRowCount;/*ṹ*/ - dwRowLen = DataSize / wRealRowCount; /*̬ռ*/ - RelayData.pRelayDCAgreeStr = (Relay_DCAgreeStruct*)MyNew((UINT32)(sizeof(Relay_DCAgreeStruct) * RelayDataLen.RelayDCAgreeStrLen)); + RelayData.pRelayDCAgreeStr = (Relay_DCAgreeStruct *) MyNew ((UINT32)(sizeof(Relay_DCAgreeStruct) * RelayDataLen.RelayDCAgreeStrLen)); - if (NULL == RelayData.pRelayDCAgreeStr) + if(NULL == RelayData.pRelayDCAgreeStr) {/*̬ռʧ*/ - RelayDataLen.RelayDCAgreeStrLen = 0U; - rtnValue = 0U; + RelayDataLen.RelayDCAgreeStrLen = 0u; + rtnValue = 0u; } else { /*ڴΪЧ*/ - (void)memset(RelayData.pRelayDCAgreeStr, 0x00, sizeof(Relay_DCAgreeStruct) * RelayDataLen.RelayDCAgreeStrLen); - /*ݵ Ĭг ṹ */ - - for (j = 0u; j < RelayDataLen.RelayDCAgreeStrLen; j++) + (void)memset(RelayData.pRelayDCAgreeStr, 0x00,sizeof(Relay_DCAgreeStruct) * RelayDataLen.RelayDCAgreeStrLen); + /*ݵ Ĭг ṹ */ + rtnValue = 1u; + for(j = 0u;j < RelayDataLen.RelayDCAgreeStrLen;j++) { - if (1U == rtnValue) - { - pDCAgreeStr = RelayData.pRelayDCAgreeStr + j; + pDCAgreeStr = RelayData.pRelayDCAgreeStr + j; + + /*ݽṹ*/ + rtnValue &= R_DCAgreeStructFromChar(pDataAddr,pDCAgreeStr); + pDataAddr += LEN_RELAY_DCAGREE_ID; - /*ݽṹ*/ - rtnValue &= R_DCAgreeStructFromChar(pDataAddr, pDCAgreeStr); - pDataAddr += dwRowLen; - } - else - { - break; - } } } } } - else - { - ; - } } } return rtnValue; diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStru.h b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStru.h index 04de5c8..b81d3e7 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStru.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStru.h @@ -331,8 +331,6 @@ typedef struct S_OverlapLockCondStruct UINT16 szIncludeInvOppOverlapId[OVLP_LOCK_COND_MAX_INCL_INV_OPP_OVLP_NUM]; /*޵жԱ*/ UINT16 overlapLocProSwitchGroupID; /*շID*/ UINT16 szIncludeFloodGateId[ROUTE_MAX_FLOOD_GATE_NUM]; /*ID*/ - UINT16 wOverlapThisZhaoChaRelayId; /*αղ̵ID*/ - UINT16 wOverlapThatZhaoChaRelayId; /*ζԶղ̵ID*/ } LS_OveralpLockCondStru; /*·ڶ࿪ݽṹ*/ diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruFrmChar.c b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruFrmChar.c index f56bea8..beab3d9 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruFrmChar.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruFrmChar.c @@ -733,14 +733,6 @@ UINT8 LS_OverlapLockCondStruFromChar(UINT8 * pDataAddr, LS_OveralpLockCondStru * pData += LS_DATA_DUAL_BYTE_ELEM_LEN; } - /*αղ̵ID*/ - pOverlapLockCondStru->wOverlapThisZhaoChaRelayId = dquCiShortFromChar(pData); - pData += LS_DATA_DUAL_BYTE_ELEM_LEN; - - /*ζԶղ̵ID*/ - pOverlapLockCondStru->wOverlapThatZhaoChaRelayId = dquCiShortFromChar(pData); - pData += LS_DATA_DUAL_BYTE_ELEM_LEN; - rtnvalue = 1u; } return rtnvalue; diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruInit.c b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruInit.c index 2725968..04600fa 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruInit.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCILSStruInit.c @@ -1547,8 +1547,6 @@ UINT8 InitLS_OverlapLockCondStru(CHAR *LSDataName) LS_OveralpLockCondStru* pTempLSProtSecLockCondStru = NULL; /*ʱ·*/ UINT8* pDataAddr = NULL; /*ݵַ*/ UINT32 DataSize = 0u; /*ݴСֽ*/ - UINT32 rowLen = 0u; /**/ - UINT16 realRowLen = 0U; /*ʵʱһеij*/ UINT16 j = 0u; UINT8 rtnValue = 0u; @@ -1560,7 +1558,7 @@ UINT8 InitLS_OverlapLockCondStru(CHAR *LSDataName) else { /*ȡ*/ - funcRtn = dquGetConfigDataNew(LSDataName, LS_DATA_TYPE, OVERLAP_LOCK_COND_DATA_ID, &pDataAddr, &DataSize, &rowLen); + funcRtn = dquGetConfigData(LSDataName, LS_DATA_TYPE, OVERLAP_LOCK_COND_DATA_ID, &pDataAddr, &DataSize); if(funcRtn == 0u) { @@ -1570,61 +1568,55 @@ UINT8 InitLS_OverlapLockCondStru(CHAR *LSDataName) else { /*ø*/ - if ((0U != DataSize) && (0U != rowLen)) - { - if (0U != DataSize % rowLen) - { - debug_infor_printf((const)"\nCI_LS_DATA,OVERLAP_LOCK_COND len %d not equal to fs", PHYSICAL_INTRU_DATA_LEN); - DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software, CI_DEVICE_TYPE_FS_TABLE, (LS_DATA_TYPE << 8) + OVERLAP_LOCK_COND_DATA_ID, PRINT_ONCE); - rtnValue = 0u; - } - else - { - realRowLen = (UINT16)(DataSize / rowLen); - LSDataLen.LSOverlapLockCondStruLen = (UINT16)rowLen; - - if (DataSize < realRowLen) - { - rtnValue = 0U; - } - else - { - /*̬ռ*/ - LSData.pLSOverlapLockCondStru = (LS_OveralpLockCondStru*)MyNew((UINT32)(sizeof(LS_OveralpLockCondStru) * LSDataLen.LSOverlapLockCondStruLen)); - /*̬ռʧ*/ - if (NULL == LSData.pLSOverlapLockCondStru) - { - /*鳤0Խ*/ - LSDataLen.LSOverlapLockCondStruLen = 0u; - - rtnValue = 0u; - } - else - { - /*ڴΪЧ*/ - (void)memset(LSData.pLSOverlapLockCondStru, 0x00, sizeof(LS_OveralpLockCondStru) * LSDataLen.LSOverlapLockCondStruLen); - - /*ݵ Ĭг ṹ */ - rtnValue = 1u; - for (j = 0u; j < LSDataLen.LSOverlapLockCondStruLen; j++) - { - pTempLSProtSecLockCondStru = LSData.pLSOverlapLockCondStru + j; - - /*ݽṹ*/ - rtnValue &= LS_OverlapLockCondStruFromChar(pDataAddr, pTempLSProtSecLockCondStru); - - pDataAddr += realRowLen; - } - - } - } - } + if((DataSize % OVERLAP_LOCK_COND_DATA_LEN) != 0u) + { + debug_infor_printf((const)"\nCI_LS_DATA,OVERLAP_LOCK_COND len %d not equal to fs",PHYSICAL_INTRU_DATA_LEN); + DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software,CI_DEVICE_TYPE_FS_TABLE,(LS_DATA_TYPE<<8)+OVERLAP_LOCK_COND_DATA_ID,PRINT_ONCE); + rtnValue = 0u; } else { - rtnValue = 1U; - } - + + /*ȡĿ*/ + LSDataLen.LSOverlapLockCondStruLen = (UINT16)(DataSize/OVERLAP_LOCK_COND_DATA_LEN); + + if(DataSize < OVERLAP_LOCK_COND_DATA_LEN) + { + LSData.pLSOverlapLockCondStru = (LS_OveralpLockCondStru *) MyNew ((UINT32)sizeof(LS_OveralpLockCondStru)); + rtnValue = 1u; + } + else + { + /*̬ռ*/ + LSData.pLSOverlapLockCondStru = (LS_OveralpLockCondStru *) MyNew ((UINT32)(sizeof(LS_OveralpLockCondStru) * LSDataLen.LSOverlapLockCondStruLen)); + /*̬ռʧ*/ + if(NULL == LSData.pLSOverlapLockCondStru) + { + /*鳤0Խ*/ + LSDataLen.LSOverlapLockCondStruLen = 0u; + + rtnValue = 0u; + } + else + { + /*ڴΪЧ*/ + (void)memset(LSData.pLSOverlapLockCondStru, 0x00, sizeof(LS_OveralpLockCondStru) * LSDataLen.LSOverlapLockCondStruLen); + + /*ݵ Ĭг ṹ */ + rtnValue = 1u; + for(j=0u; j < LSDataLen.LSOverlapLockCondStruLen; j++) + { + pTempLSProtSecLockCondStru = LSData.pLSOverlapLockCondStru + j; + + /*ݽṹ*/ + rtnValue &=LS_OverlapLockCondStruFromChar(pDataAddr, pTempLSProtSecLockCondStru); + + pDataAddr += OVERLAP_LOCK_COND_DATA_LEN; + } + + } + } + } } } @@ -2043,7 +2035,7 @@ UINT8 InitLS_LogSecIntruStru_Each(CHAR* LSDataName) if (0u != (DataSize % realRowCount)) { debug_infor_printf((const)"\nTIOC_LS_DATA,nLGC_EACHOTHER_INTRU_TABLE len %d %d not equal to fs\n", DataSize, realRowCount); - DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software, CI_DEVICE_TYPE_FS_TABLE, (LS_DATA_TYPE << 8) + LOGIC_SEC_EACHINTRU_DATA_ID, PRINT_ONCE); + DebugPrintAppError(ERROR_fs_columns_len_not_equal_to_ci_software, CI_DEVICE_TYPE_FS_TABLE, (LS_DATA_TYPE << 8) + GROUP_AUTO_ROUTE_DATA_ID, PRINT_ONCE); rtnValue = 0u; } else @@ -2080,7 +2072,7 @@ UINT8 InitLS_LogSecIntruStru_Each(CHAR* LSDataName) } else { - debug_infor_printf((const)"\nLGC_EACHOTHER_INTRU_TABLE DataSize %d realRowCount %d\n ", DataSize, realRowCount); + debug_infor_printf((const)"\nGROUP_AUTO_ROUTE_DATA_ERR DataSize %d realRowCount %d\n ", DataSize, realRowCount); } } diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquCIPZStru.h b/TSCP/src/APP/ciapp/QueryFiles/dquCIPZStru.h index 885f82c..50331e3 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquCIPZStru.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dquCIPZStru.h @@ -59,7 +59,5 @@ #define CI_SYSTEM_SIGWITHFUSHISIG_ID ((UINT8)0x0b) /*źŻ븴ʾźŻϵ*/ #define CI_SYSTEM_SIGWITHFUSHISIG_LEN ((UINT8)12) /*źŻ븴ʾźŻϵ*/ -#define CI_SYSTEM_VERGE_KILL_ID ((UINT8)0x0F) /*ӦߵĹת*/ - #endif diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.c b/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.c index 6d1ad36..71bb91a 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.c +++ b/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.c @@ -172,15 +172,15 @@ UINT8 MaskCfgDtStruFrmCIATSSignalMask(UINT8 * FSDataName) UINT16 residue = 0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ UINT8 reVal = CI_ERROR; - UINT8 rowLenth = 0u;/*г*/ + UINT8 rowLenth = 0u;/*г*/ + UINT8 MaskType[] = { 0u,MASK_TYPE_SIGNAL_RED,MASK_TYPE_SIGNAL_YELLOW,MASK_TYPE_SIGNAL_GREEN,MASK_TYPE_SIGNAL_WHITE, - MASK_TYPE_SIGNAL_REDYELLOW,MASK_TYPE_SIGNAL_LIGHTSTATE,MASK_TYPE_SIGNAL_BREAK,MASK_TYPE_SIGNAL_FENGSUO,MASK_TYPE_SIGNAL_CENTER_DETAIN, - MASK_TYPE_SIGNAL_LOCAL_DETAIN,MASK_TYPE_SIGNAL_LINSHIXIANSU_SET,MASK_TYPE_SIGNAL_DOUBLE_GREEN,MASK_TYPE_SIGNAL_DOUBLE_YELLOW, - MASK_TYPE_SIGNAL_GREEN_YELLOW,MASK_TYPE_SIGNAL_MAINTAINSTATE,MASK_TYPE_SIGNAL_CLOSE_ABNORMAL,MASK_TYPE_SIGNAL_OC_BOARD_FAULT, - MASK_TYPE_SIGNAL_CANCEL_DET_ERR,MASK_TYPE_SIGNAL_DET_ERR,MASK_TYPE_SIGNAL_RELAY_DETAIN,MASK_TYPE_SIGNAL_AUTO_DERAIN,0U, - MASK_TYPE_SIGNAL_GREENBREAK,MASK_TYPE_SIGNAL_YELLOWBREAK,MASK_TYPE_SIGNAL_WHITEBREAK,MASK_TYPE_SIGNAL_BLUEBREAK, - MASK_TYPE_SIGNAL_DET_CUT_VALID,MASK_TYPE_SIGNAL_DET_CUT_ERR,0U }; - UINT16 BuChang = 0u; + MASK_TYPE_SIGNAL_REDYELLOW,MASK_TYPE_SIGNAL_LIGHTSTATE,MASK_TYPE_SIGNAL_BREAK,MASK_TYPE_SIGNAL_FENGSUO,MASK_TYPE_SIGNAL_CENTER_DETAIN, + MASK_TYPE_SIGNAL_LOCAL_DETAIN,MASK_TYPE_SIGNAL_LINSHIXIANSU_SET,MASK_TYPE_SIGNAL_DOUBLE_GREEN,MASK_TYPE_SIGNAL_DOUBLE_YELLOW, + MASK_TYPE_SIGNAL_GREEN_YELLOW,MASK_TYPE_SIGNAL_MAINTAINSTATE,MASK_TYPE_SIGNAL_CLOSE_ABNORMAL,MASK_TYPE_SIGNAL_OC_BOARD_FAULT, + MASK_TYPE_SIGNAL_CANCEL_DET_ERR,MASK_TYPE_SIGNAL_DET_ERR,MASK_TYPE_SIGNAL_RELAY_DETAIN,MASK_TYPE_SIGNAL_AUTO_DERAIN,0U, + 0u }; + UINT16 BuChang = 0u; #if 0 funcRtn = dquGetConfigData(FSDataName,CI_ATS_MASK_TYPE,CI_ATS_SIGNAL_MASK_ID,&pDataAddr,&DataSize); #endif @@ -294,40 +294,38 @@ UINT8 MaskCfgDtStruFrmCIATSPsdMask(UINT8* FSDataName) UINT16 DeviceID = 0u; UINT16 residue = 0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ - UINT16 realRow = 0u; - UINT16 rowLen = 0u; + UINT32 realRow = 0u; + UINT8 rowLen = 0u; #if 1 - UINT8 MaskType[] = { 0u,MASK_TYPE_PSD_STATE_ATS,MASK_TYPE_MUTUALLOCK_STATE,MASK_TYPE_REMORA_STATE, + UINT8 MaskType[] = { 0u,MASK_TYPE_PSD_STATE_ATS,MASK_TYPE_MUTUALLOCK_STATE,MASK_TYPE_REMORA_STATE, MASK_TYPE_PSD_PCB,MASK_TYPE_PSD_POB,MASK_TYPE_PSD_PSB,MASK_TYPE_PSD_PCB_INVALID, MASK_TYPE_PSD_POB_INVALID,MASK_TYPE_PSD_PSB_INVALID,MASK_TYPE_PSD_JXTC_PANGLU, MASK_TYPE_PSD_PCBPSBDPB_PANGLU_STATE,MASK_TYPE_PSD_PDB_FLASH_STATE, - MASK_TYPE_PSD_VIDEO_QK_LU,MASK_TYPE_PSD_VIDEO_QK_HONG,MASK_TYPE_PSD_EXCEPT_OPEN,0U }; + MASK_TYPE_PSD_VIDEO_QK_LU,MASK_TYPE_PSD_VIDEO_QK_HONG,0U }; #else UINT8 MaskType[] = { 0u,MASK_TYPE_PSD_STATE_ATS,MASK_TYPE_MUTUALLOCK_STATE,MASK_TYPE_REMORA_STATE, MASK_TYPE_PSD_PCB,MASK_TYPE_PSD_POB,MASK_TYPE_PSD_PSB,MASK_TYPE_PSD_PCB_INVALID,MASK_TYPE_PSD_POB_INVALID,MASK_TYPE_PSD_PSB_INVALID,0 }; #endif UINT16 BuChang = 0u; - funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_PSD_MASK_ID, &pDataAddr, &DataSize, &realRow); + funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_PSD_MASK_ID, &pDataAddr, &DataSize, &realRow); + rowLen = (UINT8)(DataSize / realRow); if (funcRtn == 0u) { funcRtn = 0u; return funcRtn; } - if (0u == DataSize) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if(0u != DataSize % realRow) + + if (DataSize % rowLen != 0u) { funcRtn = 0u; return funcRtn; } - else + if (DataSize == 0u) { - rowLen = (UINT16)(DataSize / realRow); + /**/ + funcRtn = 1u; + return funcRtn; } for (; DataSize > 0u; DataSize -= 2u) { @@ -403,33 +401,31 @@ UINT8 MaskCfgDtStruFrmCIATSEsbMask(UINT8* FSDataName) UINT16 DeviceID = 0u; UINT16 residue = 0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ - UINT16 realRow = 0u; - UINT16 rowLen = 0u; + UINT32 realRow = 0u; + UINT8 rowLen = 0u; UINT16 i = 0U; UINT8 chBreakFlag = 0U; - UINT8 MaskType[] = { 0u, MASK_TYPE_ESP_STATE, MASK_TYPE_ESS_STEADY_STATE, MASK_TYPE_ESP_FLASH_STATE, MASK_TYPE_CANCEL_ESP_FAULT, MASK_TYPE_ESP_FAULT, MASK_TYPE_CUT_ESP_FAULT, MASK_TYPE_ESP_PRESS_STATE, 0u }; + UINT8 MaskType[] = { 0u, MASK_TYPE_ESP_STATE, MASK_TYPE_ESS_STEADY_STATE, MASK_TYPE_ESP_FLASH_STATE, MASK_TYPE_CANCEL_ESP_FAULT, MASK_TYPE_ESP_FAULT, 0u }; UINT16 BuChang = 0u; funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_ESB_MASK_ID, &pDataAddr, &DataSize, &realRow); + rowLen = (UINT8)(DataSize / realRow); if (funcRtn == 0u) { funcRtn = 0u; return funcRtn; } - if (0u == DataSize) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if (0u != DataSize % realRow) + + if (DataSize % rowLen != 0u) { funcRtn = 0u; return funcRtn; } - else + if (DataSize == 0u) { - rowLen = (UINT16)(DataSize / realRow); + /**/ + funcRtn = 1u; + return funcRtn; } for (; DataSize > 0U; DataSize -= 2u) { @@ -584,39 +580,38 @@ UINT8 MaskCfgDtStruFrmCIATSLogSgmt(UINT8 * FSDataName) } } - else if(residue < (UINT16)((rowLenth/2u)-1u)) + else if(residue < rowLenth/2u-1u) { /*ȡλID*/ tempMaskId = ShortFromChar(pDataAddr); - if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) + /*00xFFFFЧλ*/ + if((CI_SUM_MAX > MaskRow)&&(CI_TO_ATS_MASK_SUM_MAX > tempMaskId)&&(0u MaskRow) && (CI_TO_ATS_MASK_SUM_MAX > tempMaskId) && (0u < tempMaskId))/*ǷΪЧλֵ*/ + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_LOGICSEC; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang%((UINT16)rowLenth/2u)]); + + + /*ͳЧλ*/ + if(ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToAtsMaskIdMax[MaskRow]) { - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_LOGICSEC; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang % ((UINT16)rowLenth / 2u)]); - - - /*ͳЧλ*/ - if (ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToAtsMaskIdMax[MaskRow]) - { - ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToAtsMaskCurSum[MaskRow]++; + ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; } else { - funcRtn = CI_ERROR; - break; + /*do nothing*/ } + + ConfigCiToAtsMaskCurSum[MaskRow]++; + } + else + { +#if 0 /* TODO */ + funcRtn = CI_ERROR; + break; +#endif } pDataAddr+=2u; @@ -720,117 +715,93 @@ UINT8 MaskCfgDtStruFrmCIATSLogSgmt(UINT8 * FSDataName) *********************************************/ UINT8 MaskCfgDtStruFrmCIATSRouteMask(UINT8* FSDataName) { - UINT8 funcRtn = CI_ERROR; - UINT8* pDataAddr = NULL; - UINT8* pDataLin = NULL; - UINT32 DataSize = 0U; - UINT16 MaskRow = 0U; - UINT16 DeviceID = 0U; - UINT16 residue = 0U; - UINT16 tempMaskId = 0U; /*λIDʱ*/ - UINT16 realRowCount = 0U; /*ʵʱݵ*/ - UINT16 rowDataLen = 0U; /*һݵֽڳ*/ - UINT8 MaskType[] = { 1U,MASK_TYPE_ROUTE_ALLLOCK, MASK_TYPE_ROUTE_XUANPAI, MASK_TYPE_ROUTE_DELAYUNLOCK, + UINT8 funcRtn = 0u; + UINT8* pDataAddr, * pDataLin; + UINT32 DataSize = 0u; + UINT16 MaskRow = 0u; + UINT16 DeviceID = 0u; + UINT16 residue = 0u; + UINT16 tempMaskId = 0u; /*λIDʱ*/ + UINT16 realRowCount = 0u; /*ʵʱݵ*/ + UINT16 rowDataLen = 0u; /*һݵֽڳ*/ + + UINT8 MaskType[] = { 1u,MASK_TYPE_ROUTE_ALLLOCK, MASK_TYPE_ROUTE_XUANPAI, MASK_TYPE_ROUTE_DELAYUNLOCK, MASK_TYPE_ROUTE_EXISTENCE, MASK_TYPE_ROUTE_NEARLOCK, MASK_TYPE_ROUTE_YINDAOLOCK, - MASK_TYPE_ROUTE_DC_QINGQIU, MASK_TYPE_ROUTE_DC_AGREE, MASK_TYPE_ROUTE_AUTO_TRIGGER,MASK_TYPE_ROUTE_DC_AGREE_ERR,1U }; - UINT16 BuChang = 0U; - + MASK_TYPE_ROUTE_DC_QINGQIU, MASK_TYPE_ROUTE_DC_AGREE, MASK_TYPE_ROUTE_AUTO_TRIGGER, 1u }; + UINT16 BuChang = 0u; funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_ROUTE_MASK_ID, &pDataAddr, &DataSize, &realRowCount); - if (0U == funcRtn) + if (funcRtn == 0u) { - funcRtn = CI_ERROR; + funcRtn = 0u; + return funcRtn; } - else + rowDataLen = (UINT16)(DataSize / realRowCount); /*һݵij*/ + if (DataSize % rowDataLen != 0u) { - funcRtn = CI_SUCCESS; - if ((0U < DataSize) && (0U < realRowCount)) + funcRtn = 0u; + return funcRtn; + } + if (DataSize == 0u) + { + /**/ + funcRtn = 1u; + return funcRtn; + } + for (; DataSize > 0u; DataSize -= 2u) + { + residue = BuChang % (rowDataLen / 2u); + if (0u == residue) { - if (0U == DataSize % realRowCount) - { - rowDataLen = (UINT16)(DataSize / realRowCount); /*һݵij*/ + DeviceID = ShortFromChar(pDataAddr); + pDataLin = pDataAddr + rowDataLen - 2u; + MaskRow = ShortFromChar(pDataLin); - for (; DataSize > 0U; DataSize -= 2U) + /*鲻Խ磬Խֱӷʧ*/ + if (MaskRow >= CI_SUM_MAX) + { + funcRtn = 0u; + return funcRtn; + } + + pDataAddr += 2u; + BuChang++; + } + else if ((residue > 0u) && (residue < ((rowDataLen / 2u) - 1u))) + { + /*ȡλID*/ + tempMaskId = ShortFromChar(pDataAddr); + + /*00xFFFFЧλ*/ + if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) + { + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_ROUTE; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; + ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang % (rowDataLen / 2u)]); + + + /*ͳЧλ*/ + if (ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToAtsMaskIdMax[MaskRow]) { - residue = BuChang % (rowDataLen / 2U); - if (0U == residue) - { - DeviceID = ShortFromChar(pDataAddr); - pDataLin = pDataAddr + rowDataLen - 2U; - MaskRow = ShortFromChar(pDataLin); - - /*鲻Խ磬Խֱӷʧ*/ - if (MaskRow < CI_SUM_MAX) - { - pDataAddr += 2U; - BuChang++; - } - else - { - funcRtn = CI_ERROR; - break; - } - } - else if ((residue > 0U) && (residue < ((rowDataLen / 2U) - 1U))) - { - /*ȡλID*/ - tempMaskId = ShortFromChar(pDataAddr); - - if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) - { - /*00xFFFFЧλ*/ - if ((CI_SUM_MAX > MaskRow) && (CI_TO_ATS_MASK_SUM_MAX > tempMaskId) && (0U < tempMaskId))/*ǷΪЧλֵ*/ - { - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_ROUTE; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang % (rowDataLen / 2U)]); - - - /*ͳЧλ*/ - if (ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToAtsMaskIdMax[MaskRow]) - { - ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToAtsMaskCurSum[MaskRow]++; - } - else - { - funcRtn = CI_ERROR; - break; - } - } - else - { - - - } - - pDataAddr += 2U; - BuChang++; - } - else - { - pDataAddr += 2U; - BuChang++; - } + ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; } + else + { + /*do nothing*/ + } + + ConfigCiToAtsMaskCurSum[MaskRow]++; } - else - { - funcRtn = CI_ERROR; - } + pDataAddr += 2u; + BuChang++; } else { - ; + pDataAddr += 2u; + BuChang++; } } - + funcRtn = 1u; return funcRtn; } /********************************************* @@ -1669,6 +1640,7 @@ UINT8 MaskCfgDtStruFrmCIZCSwitchMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -1778,6 +1750,7 @@ UINT8 MaskCfgDtStruFrmCIZCSignalMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -1922,230 +1895,6 @@ UINT8 MaskCfgDtStruFrmZCCISignalMask(UINT8 * FSDataName) } /*вzc-ciλ*/ else - { - /*ȡλID*/ - tempMaskId = ShortFromChar(pDataAddr); - - pSignalCconfigData = NULL; - - - /*00xFFFFЧλ*/ - if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) - { - ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; - ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_SIGNAL; - ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang % (CI_ZC_SIGNAL_MASK_LEN / 2u)]); - - for (ii = 0u; iiConfigZcCiSignalCrossMask = SIGNAL_CONFIG_CROSS_MASK_YES; - break; - } - - } - } - - /*ͳЧλ*/ - if (ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigZcToCiMaskIdMax[MaskRow]) - { - ConfigZcToCiMaskIdMax[MaskRow] = ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigZcToCiMaskCurSum[MaskRow]++; - } - - pDataAddr += 2u; - BuChang++; - } - } - - funcRtn = 1u; - return funcRtn; -} - -/* zt ɾش 2022-02-15 */ -/********************************************* -*ܣCI-ZCźŻλ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIZCSignalMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = 0u; - UINT8* pDataAddr,*pDataLin; - UINT32 DataSize = 0u; - UINT16 MaskRow=0u; - UINT16 DeviceID=0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - UINT8 MaskType[] = { 1u,MASK_TYPE_SIGNAL_OPENSTATE,MASK_ZC_CI_TYPE_SIGNAL_OCCUPYED,MASK_TYPE_SIGNAL_LIGHTSTATE,MASK_ZC_CI_SIG_ENGINEERV_NEAR,MASK_CI_ZC_SIG_ENGINCROSS_STE,MASK_CI_ZC_SIGNAL_OCCUPYED_REC,1u }; - UINT16 BuChang = 0u; - UINT16 residue = 0u; - UINT16 realRow = 0U; - UINT16 rowLenth = 0U; - funcRtn = dquGetConfigDataNew(FSDataName, CI_ZC_MASK_TYPE, CI_ZC_SIGNAL_MASK_ID, &pDataAddr, &DataSize, &realRow); - if(funcRtn==0u) - { - funcRtn = 0u; - return funcRtn; - } - if(DataSize == 0u) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if (DataSize%realRow != 0u) - { - funcRtn = 0u; - return funcRtn; - } - else - { - rowLenth = (UINT16)(DataSize / realRow); - } - for(;DataSize>0u;DataSize-=2u) - { - residue = (BuChang % (rowLenth / 2u)); - if (0u == residue) - { - DeviceID = ShortFromChar(pDataAddr); - pDataLin = pDataAddr + rowLenth -2u; - BuChang++; - MaskRow = ShortFromChar(pDataLin); - pDataAddr+=2u; - /*鲻Խ磬Խֱӷʧ*/ - if(MaskRow >= CI_SUM_MAX) - { - funcRtn = 0u; - return funcRtn; - } - - } - /*345 zc-ci λ ,ID,ȱ֤ */ - else if (((1u != residue) - && (5u != residue) - && (6u != residue)) - ||(residue == (rowLenth / 2u-1u )) - ) - { - pDataAddr += 2u; - BuChang++; - } - else - { - /*ȡλID*/ - tempMaskId = ShortFromChar(pDataAddr); - - /*00xFFFFЧλ*/ - if((0xFFFFu != tempMaskId)&&(0u != tempMaskId)) - { - ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; - ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_SIGNAL; - ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang%(rowLenth /2u)]); - - - /*ͳЧλ*/ - if(ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToZcMaskIdMax[MaskRow]) - { - ConfigCiToZcMaskIdMax[MaskRow] = ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToZcMaskCurSum[MaskRow]++; - } - - pDataAddr+=2u; - BuChang++; - } - } - funcRtn = 1u; - return funcRtn; -} - -/********************************************* -*ܣZC-CIźŻλ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmZCCISignalMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = 0u; - UINT8* pDataAddr,*pDataLin; - UINT32 DataSize = 0u; - UINT16 ii =0u; - UINT16 MaskRow=0u; - UINT16 DeviceID=0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - - SignalConfigDataStruct *pSignalCconfigData = NULL; - - UINT8 MaskType[] = { 1u,MASK_TYPE_SIGNAL_OPENSTATE,MASK_ZC_CI_TYPE_SIGNAL_OCCUPYED,MASK_TYPE_SIGNAL_LIGHTSTATE,MASK_ZC_CI_SIG_ENGINEERV_NEAR,MASK_CI_ZC_SIG_ENGINCROSS_STE,MASK_CI_ZC_SIGNAL_OCCUPYED_REC,1u }; - UINT16 BuChang = 0u; - UINT16 realRow = 0U; - UINT16 rowLenth = 0U; - UINT16 residue = 0U; - funcRtn = dquGetConfigDataNew(FSDataName,CI_ZC_MASK_TYPE,CI_ZC_SIGNAL_MASK_ID,&pDataAddr,&DataSize, &realRow); - if(funcRtn==0u) - { - funcRtn = 0u; - return funcRtn; - } - if (DataSize == 0u) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if (0U != DataSize%realRow) - { - funcRtn = 0u; - return funcRtn; - } - else - { - rowLenth = (UINT16)(DataSize / realRow); - } - for(;DataSize>0u;DataSize-=2u) - { - residue =BuChang % (rowLenth / 2u); - if (0u == residue) - { - DeviceID = ShortFromChar(pDataAddr); - pDataLin = pDataAddr + rowLenth -2u; - BuChang++; - MaskRow = ShortFromChar(pDataLin); - pDataAddr+=2u; - /*鲻Խ磬Խֱӷʧ*/ - if(MaskRow >= CI_SUM_MAX) - { - funcRtn = 0u; - return funcRtn; - } - } - /*ֻ3 4 5 */ - else if ((2U != residue)&& (3u != residue)&& (4u != residue)) - { - pDataAddr += 2u; - BuChang++; - } - /*Сzc-ciλ*/ - else { /*ȡλID*/ tempMaskId = ShortFromChar(pDataAddr); @@ -2159,7 +1908,7 @@ UINT8 MaskCfgDtStruFrmZCCISignalMask2(UINT8 * FSDataName) ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_SIGNAL; ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang%(rowLenth /2u)]); + ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang%(CI_ZC_SIGNAL_MASK_LEN/2u)]); for(ii=0u;ii0U;DataSize-=2u) { - wTempCount = BuChang % (CI_ZC_PSD_MASK_LEN / 2U); - if(0U == wTempCount) + if(BuChang%(CI_ZC_PSD_MASK_LEN/2u) == 0u) { DeviceID = ShortFromChar(pDataAddr); pDataLin = pDataAddr + CI_ZC_PSD_MASK_LEN -2u; @@ -2251,7 +1999,7 @@ UINT8 MaskCfgDtStruFrmCIZCPsdMask(UINT8 * FSDataName) } } - else if ((1U == wTempCount) || (2U == wTempCount)) + else if(BuChang%(CI_ZC_PSD_MASK_LEN/2u) == 1u) { /*ȡλID*/ tempMaskId = ShortFromChar(pDataAddr); @@ -2302,6 +2050,7 @@ UINT8 MaskCfgDtStruFrmCIZCEsbMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -2392,12 +2141,13 @@ UINT8 MaskCfgDtStruFrmCI2ZCLogSgmt(UINT8 * FSDataName) UINT8 funcRtn = 1u; UINT8* pDataAddr,*pDataLin; UINT32 dataSize = 0u; + UINT16 i =0u; UINT16 maskRow=0u; UINT16 deviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ const UINT8 MaskType[]={1u,MASK_TYPE_LOGICSECTION_CTOCCUPY,MASK_TYPE_LOGICSECTION_UTOCCUPY,MASK_TYPE_LOGICSECTION_TXOCCUPY,MASK_TYPE_LOGICSECTION_LINSHIXIANSU_SET, - MASK_TYPE_LOGICSECTION_LOCK,MASK_TYPE_LOGICSECTION_DIR_DOWN,MASK_TYPE_LOGICSECTION_DIR_UP,1u}; + MASK_TYPE_LOGICSECTION_LOCK,MASK_TYPE_LOGICSECTION_DIR_UP,MASK_TYPE_LOGICSECTION_DIR_DOWN,1u}; UINT16 buChang = 0u; funcRtn = dquGetConfigData(FSDataName,CI_ZC_MASK_TYPE,CI_ZC_LOGIC_SGMT_MASK_ID,&pDataAddr,&dataSize); if (funcRtn == 1u) @@ -2481,12 +2231,13 @@ UINT8 MaskCfgStruFrmZCCILogSgmtMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ UINT8 MaskType[]={1u,MASK_TYPE_LOGICSECTION_CTOCCUPY,MASK_TYPE_LOGICSECTION_UTOCCUPY,MASK_TYPE_LOGICSECTION_TXOCCUPY,MASK_TYPE_LOGICSECTION_LINSHIXIANSU_SET, - MASK_TYPE_LOGICSECTION_LOCK,MASK_TYPE_LOGICSECTION_DIR_DOWN,MASK_TYPE_LOGICSECTION_DIR_UP,1u}; + MASK_TYPE_LOGICSECTION_LOCK,MASK_TYPE_LOGICSECTION_DIR_UP,MASK_TYPE_LOGICSECTION_DIR_DOWN,1u}; UINT16 BuChang = 0u; funcRtn = dquGetConfigData(FSDataName,CI_ZC_MASK_TYPE,CI_ZC_LOGIC_SGMT_MASK_ID,&pDataAddr,&DataSize); if(0u == funcRtn) @@ -2584,6 +2335,7 @@ UINT8 MaskCfgDtStruFrmZC2CiRouteMask(UINT8 * FSDataName) UINT8 funcRtn = 1u; UINT8* pDataAddr,*pDataLin; UINT32 dataSize = 0u; + UINT16 i =0u; UINT16 maskRow=0u; UINT16 deviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -2672,6 +2424,7 @@ UINT8 MaskCfgStruFrmCIZCRouteMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -2779,6 +2532,7 @@ UINT8 MaskCfgStruFrmCIZCAxleSgmtMask(UINT8 * FSDataName) UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 residue = 0u; + UINT16 wPhysicId = 0u; UINT16 axleId = 0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -2894,125 +2648,6 @@ UINT8 MaskCfgStruFrmCIZCAxleSgmtMask(UINT8 * FSDataName) return funcRtn; } -/********************************************* -*ܣCI-ZCλ Σ-ݽṹ28.0.0.14 -*˵FSNameļָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgStruFrmCIZCAxleSgmtMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = 0u; - UINT8* pDataAddr, *pDataLin; - UINT32 DataSize = 0u; - UINT16 i = 0u; - UINT16 MaskRow = 0u; - UINT16 DeviceID = 0u; - UINT16 residue = 0u; - UINT16 axleId = 0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - - UINT8 MaskType[] = { 1u,MASK_TYPE_PHYSECTION_HEAD_STD,MASK_TYPE_PHYSECTION_HEAD_XTD,MASK_TYPE_PHYSECTION_OCCUPY, - MASK_TYPE_PHYSECTION_ROUTELOCK,MASK_TYPE_PHYSECTION_JUMPLOCK_ZC,MASK_TYPE_AXISSECTION_DETAIN_UP,MASK_TYPE_AXISSECTION_DETAIN_DOWN, - MASK_TYPE_AXISSECTION_ARB,MASK_TYPE_LIECHE_STOPSTATE, - MASK_TYPE_PHYSECTION_HEAD_STD,MASK_TYPE_PHYSECTION_HEAD_XTD,MASK_TYPE_PHYSECTION_JUMPLOCK_APPLY, - MASK_TYPE_PHYSECTION_JUMPLOCK_CANCEL,1u }; - UINT16 BuChang = 0u; - UINT16 realRow = 0U; - UINT16 rowLenth = 0U; - funcRtn = dquGetConfigDataNew(FSDataName, CI_ZC_MASK_TYPE, CI_ZC_AXLE_SGMT_MASK_ID, &pDataAddr, &DataSize, &realRow); - if (0u == funcRtn) - { - funcRtn = 0u; - return funcRtn; - } - if (0u == DataSize) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if (0u != DataSize%realRow) - { - funcRtn = 0u; - return funcRtn; - } - else - { - rowLenth = (UINT16)(DataSize / realRow); - } - for (; DataSize>0u; DataSize -= 2u) - { - residue = BuChang % (rowLenth / 2u); - - if (BuChang % (rowLenth / 2u) == 0u) - { - DeviceID = ShortFromChar(pDataAddr); - axleId = DeviceID; - pDataLin = pDataAddr + rowLenth - 2u; - BuChang++; - MaskRow = ShortFromChar(pDataLin); - pDataAddr += 2u; - /*鲻Խ磬Խֱӷʧ*/ - if (MaskRow >= CI_SUM_MAX) - { - funcRtn = 0u; - return funcRtn; - } - for (i = 0u; i ConfigCiToZcMaskIdMax[MaskRow]) - { - ConfigCiToZcMaskIdMax[MaskRow] = ConfigCiToZcMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToZcMaskCurSum[MaskRow]++; - } - - pDataAddr += 2u; - BuChang++; - - } - else - { - pDataAddr += 2u; - BuChang++; - } - } - funcRtn = 1u; - return funcRtn; -} - /********************************************* *ܣZC-CIλ *˵FSNameļָ @@ -3157,6 +2792,7 @@ UINT8 MaskCfgStruFrmZCCIAxleSgmtMask(UINT8 * FSDataName) } + /********************************************* *ܣCI-ZCλ *˵FSNameļָ @@ -3167,6 +2803,7 @@ UINT8 MaskCfgStruFrmCIZCOverLapMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -3281,6 +2918,7 @@ UINT8 MaskCfgStruFrmCIZCReturnMask(UINT8 * FSDataName) UINT8 MaskType[]={1u,MASK_TYPE_PLAT_AUTORETURNSIG_FLASH,MASK_TYPE_PLAT_AUTORETURNSIG_STEADY,MASK_TYPE_PLAT_AUTORETURNSIG_BUTTONSTAT,1u}; UINT16 BuChang = 0u; + UINT8 includeVirFlag= GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG); UINT8 findFlag = 0u; funcRtn = dquGetConfigData(FSDataName,CI_ZC_MASK_TYPE,CI_ZC_RETURN_MASK_ID,&pDataAddr,&DataSize); if(funcRtn==0u) @@ -3407,6 +3045,7 @@ UINT8 MaskCfgStruFrmZCCIRtnMask(UINT8 * FSDataName) UINT8 MaskType[]={1u,MASK_TYPE_PLAT_AUTORETURNSIG_FLASH,MASK_TYPE_PLAT_AUTORETURNSIG_STEADY,MASK_TYPE_PLAT_AUTORETURNSIG_BUTTONSTAT,1u}; UINT16 BuChang = 0u; + UINT8 includeVirFlag= GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG); funcRtn = dquGetConfigData(FSDataName,CI_ZC_MASK_TYPE,CI_ZC_RETURN_MASK_ID,&pDataAddr,&DataSize); if(funcRtn==0u) { @@ -3731,6 +3370,7 @@ UINT8 MaskCfgDtStruFrmCILEUPsdMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -3820,6 +3460,7 @@ UINT8 MaskCfgDtStruFrmCILEURouteMask(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8* pDataAddr, *pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -4144,25 +3785,11 @@ UINT8 MaskInit(UINT8 * FSDataName) UINT8 funcRtn = 0u; UINT8 ciPattern = 0U; UINT16 i = 0U; - UINT8 chPulicData = GetLocalPublicDataType(); /***** ******CIATSλ ********/ /*CI-ATSλ*/ - if (DATA_TYPE_NEW == chPulicData) - { - /*CI-ATSλ*/ - funcRtn = MaskCfgDtStruFrmCIATSSwitchMask(FSDataName); - /*CI-ATSλ*/ - funcRtn *= MaskCfgDtStruFrmCIATSPhySecMask(FSDataName); - } - else - { - /*CI-ATSλ*/ - funcRtn = MaskCfgDtStruFrmCIATSSwitchMask2(FSDataName); - /*CI-ATSλ*/ - funcRtn *= MaskCfgDtStruFrmCIATSPhySecMask2(FSDataName); - } + funcRtn = MaskCfgDtStruFrmCIATSSwitchMask(FSDataName); /*CI-ATSźŻλ*/ funcRtn *= MaskCfgDtStruFrmCIATSSignalMask(FSDataName); /*CI-ATSλ*/ @@ -4175,6 +3802,8 @@ UINT8 MaskInit(UINT8 * FSDataName) funcRtn *= MaskCfgDtStruFrmCIATSRouteMask( FSDataName); /*ci-atsԶ۷λ*/ funcRtn *= MaskCfgDtStruFrmCIATSARRtMask(FSDataName); + /*CI-ATSλ*/ + funcRtn *= MaskCfgDtStruFrmCIATSPhySecMask( FSDataName); /*CI-ATSԶͨ·λ*/ funcRtn *= MaskCfgDtStruFrmCIATSARtMask(FSDataName); /*ci-atsȫԶ۷λ*/ @@ -4207,43 +3836,30 @@ UINT8 MaskInit(UINT8 * FSDataName) { /*CI-ZCλ*/ funcRtn *= MaskCfgDtStruFrmCIZCSwitchMask( FSDataName); - if (DATA_TYPE_NEW == chPulicData) - { - /*CI-ZCźŻλ*/ - funcRtn *= MaskCfgDtStruFrmCIZCSignalMask(FSDataName); - /*ZC-CIźŻλ*/ - funcRtn *= MaskCfgDtStruFrmZCCISignalMask(FSDataName); - /*CI-ZCλ*/ - funcRtn *= MaskCfgStruFrmCIZCAxleSgmtMask(FSDataName); - /*ZC-CIλ*/ - funcRtn *= MaskCfgStruFrmZCCIAxleSgmtMask(FSDataName); - } - else - { - /*CI-ZCźŻλ*/ - funcRtn *= MaskCfgDtStruFrmCIZCSignalMask2(FSDataName); - /*ZC-CIźŻλ*/ - funcRtn *= MaskCfgDtStruFrmZCCISignalMask2(FSDataName); - /*CI-ZCλ*/ - funcRtn *= MaskCfgStruFrmCIZCAxleSgmtMask2(FSDataName); - /*ZC-CIλ*/ - funcRtn *= MaskCfgStruFrmZCCIAxleSgmtMask2(FSDataName); - } + /* zt ɾش 2022-02-15 */ + /*CI-ZCźŻλ*/ + funcRtn *= MaskCfgDtStruFrmCIZCSignalMask( FSDataName); /*CI-ZCλ*/ funcRtn *= MaskCfgDtStruFrmCIZCPsdMask( FSDataName); /*CI-ZCͣťλ*/ funcRtn *= MaskCfgDtStruFrmCIZCEsbMask( FSDataName); - /*ZC-CI߼λ*/ - funcRtn *= MaskCfgStruFrmZCCILogSgmtMask( FSDataName); /*CI-ZC߼λ*/ + funcRtn *= MaskCfgStruFrmZCCILogSgmtMask( FSDataName); + /*ZC-CI߼λ*/ funcRtn *= MaskCfgDtStruFrmCI2ZCLogSgmt(FSDataName); /*CI-ZC·λ*/ funcRtn *= MaskCfgStruFrmCIZCRouteMask( FSDataName); funcRtn *= MaskCfgDtStruFrmZC2CiRouteMask(FSDataName); + /*CI-ZCλ*/ + funcRtn *= MaskCfgStruFrmCIZCAxleSgmtMask( FSDataName); /*CI-ZCλ*/ funcRtn *= MaskCfgStruFrmCIZCOverLapMask( FSDataName); /*CI-ZC۷λ*/ funcRtn *= MaskCfgStruFrmCIZCReturnMask( FSDataName); + /*ZC-CIźŻλ*/ + funcRtn *= MaskCfgDtStruFrmZCCISignalMask(FSDataName); + /*ZC-CIλ*/ + funcRtn *= MaskCfgStruFrmZCCIAxleSgmtMask( FSDataName); /*ZC-CI۷λ*/ funcRtn *= MaskCfgStruFrmZCCIRtnMask(FSDataName); /*CI_ZC·λ*/ @@ -4420,6 +4036,7 @@ UINT8 MaskCfgStruFrmCIZCGaragedoor(UINT8 * FSDataName) UINT8 funcRtn = 1u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -4780,6 +4397,7 @@ UINT8 MaskCfgStruFrmZCCIGaragedoor(UINT8 * FSDataName) UINT8 funcRtn = 1u; UINT8* pDataAddr,*pDataLin; UINT32 DataSize = 0u; + UINT16 i =0u; UINT16 MaskRow=0u; UINT16 DeviceID=0u; UINT16 tempMaskId = 0u; /*λIDʱ*/ @@ -4868,377 +4486,3 @@ UINT8 MaskCfgStruFrmZCCIGaragedoor(UINT8 * FSDataName) return funcRtn; } - -/********************************************* -*ܣCIATSλ 28.0.0.14 -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIATSSwitchMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = CI_ERROR; - UINT8* pDataAddr, *pDataLin; - UINT32 DataSize = 0u; - UINT16 MaskRow = 0u; /*λ*/ - UINT16 DeviceID = 0u; /*豸ID*/ - UINT16 residue = 0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - UINT16 rowCount = 0u; - UINT8 rowLenth = 0u;/*ֽ*/ - - /*Ӧÿһ*/ - UINT8 MaskType[] = { 0u,MASK_TYPE_SWITCH_DINGWEI,MASK_TYPE_SWITCH_FANWEI,MASK_TYPE_SWITCH_SIKAI,MASK_TYPE_SWITCH_JICHA, - MASK_TYPE_SWITCH_MOVING,MASK_TYPE_SWITCH_DANSUO,MASK_TYPE_SWITCH_FENGSUO,MASK_TYPE_SWITCH_YINDAOSUO,MASK_TYPE_SWITCH_PROTECTLOCK,MASK_TYPE_SWITCH_BYPASS, - MASK_TYPE_SWITCH_OPEN_CAP,0u }; - UINT16 BuChang = 0u;/**/ - funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_SWITCH_MASK_ID, &pDataAddr, &DataSize, &rowCount); - if (funcRtn == 0u) - { - /**/ - } - else - { - funcRtn = CI_SUCCESS; - /*ݶȡ*/ - if ((0u < DataSize) && (0u < rowCount)) - { - if (0u == DataSize % rowCount) - { - /*һֽ*/ - rowLenth = (UINT8)(DataSize / rowCount); - for (; DataSize>0u; DataSize -= 2u) - { - residue = (UINT16)(BuChang % (rowLenth / 2u)); - /*һеģһһid*/ - if (0u == residue) - { - DeviceID = ShortFromChar(pDataAddr); - - pDataLin = pDataAddr + rowLenth - 2u; - MaskRow = ShortFromChar(pDataLin); - - /*鲻Խ磬Խֱӷʧ*/ - if (MaskRow < CI_SUM_MAX) - { - pDataAddr += 2u; - BuChang++; - } - else - { - funcRtn = CI_ERROR; - break; - } - } - /*ڶλֵ*/ - else if ((0u < residue) && (residue < ((rowLenth / 2u) - 1u))) - { - /*ȡλID*/ - tempMaskId = ShortFromChar(pDataAddr); - - /*00xFFFFЧλ*/ - if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) - { - if ((CI_SUM_MAX > MaskRow) && (CI_TO_ATS_MASK_SUM_MAX > tempMaskId) && (0u ConfigCiToAtsMaskIdMax[MaskRow]) - { - ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToAtsMaskCurSum[MaskRow]++; - } - else - { - funcRtn = CI_ERROR; - break; - } - } - - pDataAddr += 2u; - BuChang++; - } - else - { - pDataAddr += 2u; - BuChang++; - } - } - } - else - { - funcRtn = CI_ERROR; - } - } - else - { - funcRtn = CI_SUCCESS; - } - } - return funcRtn; -} - -/********************************************* -*ܣCI-ATSλ 28.0.0.14ݽṹ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIATSPhySecMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = 0u; - UINT8* pDataAddr, *pDataLin; - UINT32 DataSize = 0u; - UINT16 MaskRow = 0u; - UINT16 DeviceID = 0u; - UINT16 residue = 0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - UINT16 rowCount = 0u; - UINT16 rowLenth = 0u;/*ֽ*/ - UINT8 MaskType[] = { - 1u, - MASK_TYPE_PHYSECTION_STARTLOCK, - MASK_TYPE_PHYSECTION_FLOCK, - MASK_TYPE_PHYSECTION_PRERESET, - MASK_TYPE_PHYSEC_CENTERDETAIN_UP, - MASK_TYPE_PHYSEC_CENTERDETAIN_DOWN, - MASK_TYPE_PHYSEC_STATIONDETAIN_UP, - MASK_TYPE_PHYSEC_STATIONDETAIN_DOWN, - MASK_TYPE_PHYSEC_FLOCK_SPKS - }; - - UINT16 BuChang = 0u; - funcRtn = dquGetConfigDataNew(FSDataName, CI_ATS_MASK_TYPE, CI_ATS_PHYSEC_MASK_ID, &pDataAddr, &DataSize, &rowCount); - if (0u == funcRtn) - { - funcRtn = 0u; - return funcRtn; - } - else - { - } - - if (0u == DataSize) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - - if (0u != DataSize%rowCount) - { - funcRtn = 0u; - return funcRtn; - } - else - { - rowLenth = (UINT16)(DataSize/rowCount); - } - for (; DataSize>0u; DataSize -= CI_ATS_DATA_ELEMENT_LEN) - { - residue = BuChang % (rowLenth / CI_ATS_DATA_ELEMENT_LEN); - if (0u == residue) - { - DeviceID = ShortFromChar(pDataAddr); - pDataLin = pDataAddr + rowLenth - CI_ATS_DATA_ELEMENT_LEN; - MaskRow = ShortFromChar(pDataLin); - - /*鲻Խ磬Խֱӷʧ*/ - if (CI_SUM_MAX <= MaskRow) - { - funcRtn = 0u; - return funcRtn; - } - else - { - } - - pDataAddr += CI_ATS_DATA_ELEMENT_LEN; - BuChang++; - } - else if (residue < ((rowLenth / CI_ATS_DATA_ELEMENT_LEN) - 1u)) - { - /*ȡλID*/ - tempMaskId = ShortFromChar(pDataAddr); - - /*00xFFFFЧλ*/ - if ((0xFFFFu != tempMaskId) && (0u != tempMaskId)) - { - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceId = DeviceID; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].DeviceType = CI_DEVICE_TYPE_PHYSEC; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId = tempMaskId; - ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskType = (UINT8)(MaskType[BuChang % (rowLenth / CI_ATS_DATA_ELEMENT_LEN)]); - - - /*ͳЧλ*/ - if (ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId > ConfigCiToAtsMaskIdMax[MaskRow]) - { - ConfigCiToAtsMaskIdMax[MaskRow] = ConfigCiToAtsMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigCiToAtsMaskCurSum[MaskRow]++; - } - else - { - } - - pDataAddr += CI_ATS_DATA_ELEMENT_LEN; - BuChang++; - } - else - { - pDataAddr += CI_ATS_DATA_ELEMENT_LEN; - BuChang++; - } - } - funcRtn = 1u; - return funcRtn; -} - -/********************************************* -*ܣZC-CIλ-ݽṹ28.0.0.14 -*˵FSNameļָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgStruFrmZCCIAxleSgmtMask2(UINT8 * FSDataName) -{ - UINT8 funcRtn = 0u; - UINT8* pDataAddr, *pDataLin; - UINT32 DataSize = 0u; - UINT16 i = 0u; - UINT16 MaskRow = 0u; - UINT16 DeviceID = 0u; - UINT16 residue = 0u; - UINT16 tempMaskId = 0u; /*λIDʱ*/ - - UINT16 wPhysicId = 0u; - UINT8 MaskType[] = { 1u,MASK_TYPE_PHYSECTION_HEAD_STD,MASK_TYPE_PHYSECTION_HEAD_XTD,MASK_TYPE_PHYSECTION_OCCUPY, - MASK_TYPE_PHYSECTION_ROUTELOCK,MASK_TYPE_PHYSECTION_JUMPLOCK_ZC,MASK_TYPE_AXISSECTION_DETAIN_UP,MASK_TYPE_AXISSECTION_DETAIN_DOWN, - MASK_TYPE_AXISSECTION_ARB,MASK_TYPE_LIECHE_STOPSTATE, - MASK_TYPE_PHYSECTION_HEAD_STD,MASK_TYPE_PHYSECTION_HEAD_XTD,MASK_TYPE_PHYSECTION_JUMPLOCK_APPLY, - MASK_TYPE_PHYSECTION_JUMPLOCK_CANCEL,1u }; - UINT16 BuChang = 0u; - UINT16 realRow = 0U; - UINT16 rowLenth = 0U; - funcRtn = dquGetConfigDataNew(FSDataName, CI_ZC_MASK_TYPE, CI_ZC_AXLE_SGMT_MASK_ID, &pDataAddr, &DataSize, &realRow); - if (0U == funcRtn) - { - funcRtn = 0u; - return funcRtn; - } - if (DataSize == 0u) - { - /**/ - funcRtn = 1u; - return funcRtn; - } - if (0U != DataSize%realRow) - { - funcRtn = 0u; - return funcRtn; - } - else - { - rowLenth = (UINT16)(DataSize / realRow); - } - for (; DataSize>0u; DataSize -= 2u) - { - residue = BuChang % (rowLenth / 2u); - - if (residue == 0u) - { - DeviceID = ShortFromChar(pDataAddr); - pDataLin = pDataAddr + rowLenth - 2u; - BuChang++; - MaskRow = ShortFromChar(pDataLin); - pDataAddr += 2u; - /*鲻Խ磬Խֱӷʧ*/ - if (MaskRow >= CI_SUM_MAX) - { - funcRtn = 0u; - return funcRtn; - } - - for (i = 0u; i ConfigZcToCiMaskIdMax[MaskRow]) - { - ConfigZcToCiMaskIdMax[MaskRow] = ConfigZcToCiMaskConfigDataStru[MaskRow][tempMaskId].MaskId; - } - else - { - /*do nothing*/ - } - - ConfigZcToCiMaskCurSum[MaskRow]++; - } - pDataAddr += 2u; - BuChang++; - } - else - { - /* */ - pDataAddr += 2u; - BuChang++; - } - } - - funcRtn = 1u; - return funcRtn; - -} diff --git a/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.h b/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.h index 4d83842..61c2818 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dquMaskInit.h @@ -41,7 +41,7 @@ #define CI_ZC_SIGNAL_MASK_LEN ((UINT32)16) /*CI-ZCźŻλֽڳ--1г*/ #define CI_ZC_PSD_MASK_ID ((UINT32)3) /*CI-ZCλ*/ -#define CI_ZC_PSD_MASK_LEN ((UINT32)8) /*CI-ZCλֽڳ--1г*/ +#define CI_ZC_PSD_MASK_LEN ((UINT32)6) /*CI-ZCλֽڳ--1г*/ #define CI_ZC_ESB_MASK_ID ((UINT32)4) /*CI-ZCͣťλ*/ #define CI_ZC_ESB_MASK_LEN ((UINT32)6) /*CI-ZCͣťλֽڳ--1г*/ @@ -263,21 +263,6 @@ UINT8 MaskCfgDtStruFrmCIZCSignalMask(UINT8 * FSDataName); *********************************************/ UINT8 MaskCfgDtStruFrmZCCISignalMask(UINT8 * FSDataName); -/* 20150531-ݽṹ28.0.0.14ʵ */ -/********************************************* -*ܣCI-ZCźŻλ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIZCSignalMask2(UINT8 * FSDataName); - -/* 20150531-ݽṹ28.0.0.14ʵ */ -/********************************************* -*ܣZC-CIźŻλ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmZCCISignalMask2(UINT8 * FSDataName); /********************************************* *ܣCI-ZCλ @@ -422,31 +407,4 @@ UINT8 MaskInit(UINT8 * FSDataName); *********************************************/ UINT8 MaskCfgStruFrmCILEUSignalMask(UINT8 * FSDataName); -/********************************************* -*ܣCIATSλ 28.0.0.14 -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIATSSwitchMask2(UINT8 * FSDataName); - -/********************************************* -*ܣCI-ATSλ 28.0.0.14ݽṹ -*˵FSDataNameָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgDtStruFrmCIATSPhySecMask2(UINT8 * FSDataName); - -/********************************************* -*ܣZC-CIλ-ݽṹ28.0.0.14 -*˵FSNameļָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgStruFrmZCCIAxleSgmtMask2(UINT8 * FSDataName); -/********************************************* -*ܣCI-ZCλ Σ-ݽṹ28.0.0.14 -*˵FSNameļָ -*ֵ0ʧܣ1ɹ -*********************************************/ -UINT8 MaskCfgStruFrmCIZCAxleSgmtMask2(UINT8 * FSDataName); - #endif diff --git a/TSCP/src/APP/ciapp/QueryFiles/dqucijdqstru.h b/TSCP/src/APP/ciapp/QueryFiles/dqucijdqstru.h index 05afa28..69f1b50 100644 --- a/TSCP/src/APP/ciapp/QueryFiles/dqucijdqstru.h +++ b/TSCP/src/APP/ciapp/QueryFiles/dqucijdqstru.h @@ -191,9 +191,6 @@ #define OC_RELAY_REVERSE_CUT_ID ((UINT8)30) #define OC_LEN_REVERSE_CUT ((UINT8)2) -/*̵ͬID*/ -#define OC_RELAY_DCAGREE_ID ((UINT8)36) - /*ͣť̵ṹ*/ typedef struct S_Relay_EmegencyStopStruct { @@ -244,7 +241,6 @@ typedef struct S_Relay_ScreenStruct UINT16 wPcbBsdRelayId; /*ٹŰťָʾƼ̵*/ UINT16 wVideoQkLight1RelayId; /*ͰťƵָʾ1̵̣*/ UINT16 wVideoQkLight2RelayId; /*ͰťƵָʾ2죩̵*/ - UINT8 chControlType; /*ſ*/ } Relay_ScreenStruct; /*μ̵ṹ*/ @@ -343,6 +339,9 @@ typedef struct S_Relay_ZhaoChaStruct UINT16 wCancelRelayIdOnRelayInterface; /*̵ӿȡղ̵ID */ UINT16 wRelayBenDuanZcIdOnRelayInterface; /*̵ӿڱղ̵ID*/ UINT16 wRelayDuiDuanZcIdOnRelayInterface; /*̵ӿڶԶղ̵ID*/ + UINT16 wCbtcRelayBenDuanZcId; /*CBTCղ̵ID*/ + UINT16 wCbtcRelayDuiDuanZcId; /*CBTCԶղ̵ID*/ + UINT16 wCbtcCancelRelayId; /*CBTC-ȡղ̵ID */ } Relay_ZhaoChaStruct; /*ʾƼ̵ṹ*/ @@ -449,7 +448,6 @@ typedef struct S_Relay_DCAgreeStruct { UINT16 wRouteId; /*·ID*/ UINT16 DCRouteDCQJId;/*·̵ID*/ - UINT16 DCRouteDCQJTwoId;/*·2̵ID*/ UINT16 DCRouteTAJId;/*·ͬⰴť̵ID*/ }Relay_DCAgreeStruct; diff --git a/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.c b/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.c index 5215b5f..433f2b2 100644 --- a/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.c @@ -1656,55 +1656,5 @@ UINT16 GetRelayBelongOCId(const UINT16 relayId) { retVal = CI_ERROR; } - return retVal; -} - -/* -* ָID̵忨 -* ˵const UINT16 relayId ̵ID -* const UINT8 cBoardType 忨 -* ֵ -* Created By LQ 2025.07.03 -*/ -void SetRelayBoardType(const UINT16 relayId, const UINT8 cBoardType) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetRelayConfigBufIndex(relayId); /*ȡ̵±*/ - - if ((bufIndex < RELAY_SUM_MAX) && ((RELAY_DO_BOARD == cBoardType) || (RELAY_DO_RELAY_BOARD == cBoardType) || (RELAY_SO_BOARD == cBoardType) - || (RELAY_THIRTY_SIX_DI_BOARD == cBoardType) || (RELAY_THIRTY_TWO_DI_BOARD == cBoardType) || (RELAY_SI_BOARD == cBoardType))) - { - RelayConfigDataStru[bufIndex].BoardType = cBoardType; - } - else - { - /**/ - } -} - -/* -* ȡָID̵忨 -* ˵const UINT16 relayId ̵ID -* ֵ0: ȡʧ -* >0: ̵忨 -* Created By LQ 2025.07.03 -*/ -UINT8 GetRelayBoardType(const UINT16 relayId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 retVal = CI_ERROR; - - bufIndex = GetRelayConfigBufIndex(relayId); /*ȡ̵±*/ - - if (bufIndex < RELAY_SUM_MAX) - { - retVal = RelayConfigDataStru[bufIndex].BoardType; - } - else - { - retVal = CI_ERROR; - } - return retVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.h b/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.h index 4d62390..6c3d8d5 100644 --- a/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Relay/RelayConfigDataManage.h @@ -54,7 +54,6 @@ typedef struct S_RelayConfigDataStruct UINT8 VirtualAttribute; /*̵*/ UINT16 LockExceptPhySecNum; /*ղ̵ĹID*/ UINT16 LockExceptPhySecIdBuf[MAX_LOCK_EXCEPT_SECTION_NUM]; /*ղ̵ĹID*/ - UINT8 BoardType; /*忨(ʼ̵)*/ } RelayConfigDataStruct; /*ղ̵ݽṹ*/ @@ -480,24 +479,6 @@ UINT16 GetOcConnetDataDevNum(void); */ UINT16 GetRelayBelongOCId(const UINT16 relayId); -/* -* ָID̵忨 -* ˵const UINT16 relayId ̵ID -* const UINT8 cBoardType 忨 -* ֵ -* Created By LQ 2025.07.03 -*/ -void SetRelayBoardType(const UINT16 relayId, const UINT8 cBoardType); - -/* -* ȡָID̵忨 -* ˵const UINT16 relayId ̵ID -* ֵ0: ȡʧ -* >0: ̵忨 -* Created By LQ 2025.07.03 -*/ -UINT8 GetRelayBoardType(const UINT16 relayId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Relay/RelayDataManage.c b/TSCP/src/APP/ciapp/Relay/RelayDataManage.c index 821c4aa..51e7fdd 100644 --- a/TSCP/src/APP/ciapp/Relay/RelayDataManage.c +++ b/TSCP/src/APP/ciapp/Relay/RelayDataManage.c @@ -16,9 +16,6 @@ RelayDataStruct RelayDataStru[RELAY_SUM_MAX]; /*̵ݽṹ*/ -IODiffDataStruct IODiffDataStru[OC_SUM_MAX]; /*IO˫ϵɼһϢ*/ -UINT8 gDiffDataOcNum = 0u; /*IO˫ϵɼһӦOC*/ - /* * ȡָID̵ * ˵ @@ -919,15 +916,4 @@ UINT8 GetRelayBCollBoardState(const UINT16 wRelayId) } return retVal; -} - -/* -* ȡIO˫ϵɼһ -* ˵ -* ֵ - RelayDataStruct* -*/ -IODiffDataStruct* GetIODiffData(void) -{ - return IODiffDataStru; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Relay/RelayDataManage.h b/TSCP/src/APP/ciapp/Relay/RelayDataManage.h index d419c41..d885fa3 100644 --- a/TSCP/src/APP/ciapp/Relay/RelayDataManage.h +++ b/TSCP/src/APP/ciapp/Relay/RelayDataManage.h @@ -47,18 +47,6 @@ typedef struct S_RelayDataStruct extern RelayDataStruct RelayDataStru[RELAY_SUM_MAX]; /*̵ݽṹ*/ -typedef struct S_IODiffDataStruct -{ - UINT8 OcId; /*OC ID*/ - UINT8 DiffPointNum; /*һµĵλ*/ - UINT8 LocalBoardAdd[IO_COLL_DIFF_MAX];/*λӦİ忨ַ*/ - UINT8 OtherBoardAdd[IO_COLL_DIFF_MAX];/*ϵ忨ַ*/ - UINT8 TheDiffPoint[IO_COLL_DIFF_MAX];/*һµλ*/ -}IODiffDataStruct; - -extern IODiffDataStruct IODiffDataStru[OC_SUM_MAX]; /*IO˫ϵɼһϢ*/ -extern UINT8 gDiffDataOcNum; /*IO˫ϵɼһӦOC*/ - /* * ȡָID̵ * ˵ @@ -300,14 +288,6 @@ void SetRelayBCollBoardState(const UINT16 wRelayId, const UINT8 cBoardState); */ UINT8 GetRelayBCollBoardState(const UINT16 wRelayId); -/* -* ȡIO˫ϵɼһ -* ˵ -* ֵ - RelayDataStruct* -*/ -IODiffDataStruct* GetIODiffData(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Relay/RelayDefine.h b/TSCP/src/APP/ciapp/Relay/RelayDefine.h index eac7507..ef3d093 100644 --- a/TSCP/src/APP/ciapp/Relay/RelayDefine.h +++ b/TSCP/src/APP/ciapp/Relay/RelayDefine.h @@ -32,9 +32,6 @@ #define BOARD_COLL_DATA_LEN ((UINT16)4) /*ɼϲɼֽ*/ #define BOARD_DRV_DATA_LEN ((UINT16)2) /*ֽ*/ -#define IO_COLL_DIFF_MAX ((UINT8)254) /*IO˫ϵɼȽϲһµλֵ*/ -#define POINTTOLERATE_CYCNUM ((UINT8)7) /*IO˫ϵɼһ*/ - /************************OC*************************/ #define OC_BOARD_SUM_MAX ((UINT8)44) /*һOCӦ44*/ #define OC_COLL_BOARD_POS_NUM ((UINT16)40) /*һOC·ɼĿֵ*/ @@ -109,15 +106,5 @@ #define RELAY_BOARD_FAULT_NO ((UINT8)0x55) /*忨״̬δ*/ #define RELAY_BOARD_FAULT_YES ((UINT8)0xaa) /*忨״̬*/ -/*̵忨*/ -#define RELAY_DO_BOARD ((UINT8)0x5a) /*ȫ*/ -#define RELAY_DO_RELAY_BOARD ((UINT8)0xc8) /*ȫ̵*/ -#define RELAY_SO_BOARD ((UINT8)0x3c) /*ɢ*/ -#define RELAY_THIRTY_SIX_DI_BOARD ((UINT8)0xcc) /*36·ȫ*/ -#define RELAY_THIRTY_TWO_DI_BOARD ((UINT8)0x5c) /*32·ȫ*/ -#define RELAY_SI_BOARD ((UINT8)0xc3) /*ɢ*/ - - - #endif diff --git a/TSCP/src/APP/ciapp/RemoteRM/RRMDataPrepare.c b/TSCP/src/APP/ciapp/RemoteRM/RRMDataPrepare.c index 4f6f56c..ae4bbcc 100644 --- a/TSCP/src/APP/ciapp/RemoteRM/RRMDataPrepare.c +++ b/TSCP/src/APP/ciapp/RemoteRM/RRMDataPrepare.c @@ -799,8 +799,7 @@ void rrm_PrepareACLockStatAndDir(UINT16 ACID,UINT8 flag,OUT UINT8* pLockStat,OUT LockDir = ConvertDirectionToLogic(tmpDir); if (((0u == RLockBelongRouteId) && (0u == PLockBelongRouteId)) || (DIR_INVALID == LockDir) - || ((PHYSICAL_SECTION_LOCK_NORMAL != LockStatus) && (PHYSICAL_SECTION_LOCK_PROTECT != LockStatus) - && (PHYSICAL_SECTION_LOCK_DELAY != LockStatus))) + || ((PHYSICAL_SECTION_LOCK_NORMAL != LockStatus) && (PHYSICAL_SECTION_LOCK_PROTECT != LockStatus))) { (*pLockStat) = SEC_LOCK_ERROR; (*pLockDir) = 0u; diff --git a/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.c b/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.c index 4f18693..1a26b59 100644 --- a/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.c +++ b/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.c @@ -34,14 +34,7 @@ static void rrm_ProcessTrainRRMRequst(UINT16 trainID); /* */ static UINT8 rrm_CheckTrainHeadInFreeSta(UINT16 trainID, IN const EnvelopeStruct* pTemp, OUT UINT16* pNextSta); -/** - * @brief ·״̬Ƿ - * @param[in] UINT16 wRouteId ·ID - * @return CI_ERROR - CI_SUCCESS - * @note BY CGH 20250807 - */ -static UINT8 rrm_CheckRouteState(UINT16 wRouteId); + /** * @brief ӼϢRRM· @@ -363,64 +356,50 @@ static UINT8 rrm_CheckSecStatus(UINT8 funValid,UINT16 trainID,IN const RRMPathOf static UINT8 rrm_CheckSignalStatus(UINT8 funValid,UINT16 trainID,IN const RRMPathOfACSeqStruct* pACSeq,OUT UINT8* rrmReason) { UINT8 ret = CI_ERROR; - UINT32 errorCode = 0U; - UINT16 cycle = 0U; - UINT16 headOfRoute = 0U; /*ͷڽ·ID*/ - UINT16 tempofRoute = 0U; + UINT32 errorCode = 0u; + UINT16 cycle = 0u; + UINT16 headOfRoute = 0u; + UINT16 tempofRoute = 0u; UINT8 sigOfRoutePass = CI_ERROR; - UINT8 cCheckFlag = FLAG_UNSET; - UINT8 chTempCheckFlag = 0U; /*ʱ־*/ - UINT8 chLocalCiId = 0U; - UINT8 chRouteBelongCiId = 0U; + UINT8 flag = 0u; /** ڲУ */ - ASSERT_RET_VALUE(NULL == pACSeq, ret, 0x80000000U); - ASSERT_RET_VALUE(NULL == rrmReason, ret, 0x40000000U); + ASSERT_RET_VALUE(NULL == pACSeq,ret,0x80000000u); + ASSERT_RET_VALUE(NULL == rrmReason,ret,0x40000000u); if (RRM_CHECK_UNVALID == funValid) { - ret = 0xffU; + ret = 0xffu; } else { - for (cycle = 0U; cycle < pACSeq->acCnt; cycle++) + for (cycle = 0u; cycle < pACSeq->acCnt;cycle++) { - if (TYPE_OF_PATH_A == pACSeq->pathType[cycle]) - { - /*dzΣ³ɳͷһ·*/ - headOfRoute = rrm_PrepareAcofRoute(pACSeq->ACID[cycle]); - if (0U == headOfRoute) - { - errorCode += 0x10000000U; - cCheckFlag = FLAG_SET; /** ν·δô϶δ */ - } - else - { - chTempCheckFlag = rrm_CheckRouteState(headOfRoute); - if (CI_SUCCESS == chTempCheckFlag) - { - ; - } - else - { - errorCode += 0x08000000U; - cCheckFlag = FLAG_SET; - } - } - } - else if (TYPE_OF_PATH_C == pACSeq->pathType[cycle]) + if (((0u == flag) && (TYPE_OF_PATH_A == pACSeq->pathType[cycle])) || + (TYPE_OF_PATH_C == pACSeq->pathType[cycle])) { /** 账*/ } - else if (TYPE_OF_PATH_B == pACSeq->pathType[cycle]) + else if ((0u != cycle) && (TYPE_OF_PATH_B == pACSeq->pathType[cycle])) { + if (0u == flag) + { + /** ѯͷռѹĽ·*/ + headOfRoute = rrm_PrepareAcofRoute(pACSeq->ACID[cycle - 1u]); + flag = 0xffu; + } + else + { + /** 账*/ + } + /** ѯǰѰ· */ tempofRoute = rrm_PrepareAcofRoute(pACSeq->ACID[cycle]); - if (0U == tempofRoute) + if ((0u == headOfRoute) || (0u == tempofRoute)) { - errorCode += 0x04000000U; - cCheckFlag = FLAG_SET; /** ν·δô϶δ */ + /** ν·δô϶δ */ + break; } else if (tempofRoute == headOfRoute) { @@ -437,37 +416,15 @@ static UINT8 rrm_CheckSignalStatus(UINT8 funValid,UINT16 trainID,IN const RRMPat } else { - chLocalCiId = GetSystemParaLocalCiId(); - chRouteBelongCiId = GetRouteBelongCiId(tempofRoute); - chTempCheckFlag = rrm_CheckRouteState(tempofRoute); - - if ((chLocalCiId != chRouteBelongCiId) && (0U != chRouteBelongCiId) && (0U != chLocalCiId) - && (CI_SUCCESS == chTempCheckFlag)) - { - /*DZڵźرգ*/ - } - else - { - errorCode += 0x02000000U; - cCheckFlag = FLAG_SET; - } + break; } } } else { - errorCode += 0x01000000U; - cCheckFlag = FLAG_SET; /** ·󣬼ʧ*/ - } - - if (FLAG_SET == cCheckFlag) - { + /** ·*/ break; } - else - { - ; /**/ - } } if (cycle == pACSeq->acCnt) @@ -478,11 +435,11 @@ static UINT8 rrm_CheckSignalStatus(UINT8 funValid,UINT16 trainID,IN const RRMPat { *rrmReason = TRAIN_RRM_RESON_05; errorCode += 0x20000000u; - ret = CI_ERROR; + ret = CI_ERROR; } } - ASSER_DEBUG(0u != errorCode,RRM_LOG_LOC(RRM_LOG_ERROR,"errno:0x%08x info:Train%d not allow RRM by tempofRoute%d or headOfRoute%d signal not open.",errorCode,trainID,tempofRoute, headOfRoute)); + ASSER_DEBUG(0u != errorCode,RRM_LOG_LOC(RRM_LOG_ERROR,"errno:0x%08x info:Train%d not allow RRM by route%d signal not open.",errorCode,trainID,tempofRoute)); return ret; } @@ -1184,7 +1141,6 @@ static void rrm_ProcessTrainRRMRequst(UINT16 trainID) if (RRM_CHECK_VALID == funValid) { rrm_SetRRMResult(trainID, TRAIN_RRM_YES, TRAIN_RRM_RESON_FF, 0U); - RRM_LOG_LOC(RRM_LOG_ERROR, "Train%d allow RRM.",trainID); } else { @@ -1229,7 +1185,6 @@ static void rrm_ProcessTrainRRMRequst(UINT16 trainID) if (TRAIN_RRM_OTHERCI_ALLOW == chRrmDstAllowed) { rrm_SetRRMResult(trainID, TRAIN_RRM_YES, TRAIN_RRM_RESON_FF, NextTIOC); - RRM_LOG_LOC(RRM_LOG_ERROR, "Train%d allow RRM.", trainID); } else { @@ -1415,7 +1370,7 @@ UINT8 rrm_OtherCiConditionsCheck(const UINT16 wTrainID, const UINT16 wTrainNextS ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x01000000U); /** ֽһվվ̨ն֮źŻ״̬Ϊ */ - funRtn = rrm_CheckSignalStatus(funValid, wTrainID, &ACSeq, &rrmReason); + funRtn = rrm_CheckOtherCiSigStatus(funValid, wTrainID, &ACSeq, &rrmReason); ASSERT_SETRET(CI_SUCCESS == funRtn, funValid, funValid, RRM_CHECK_UNVALID); ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00800000U); @@ -1882,6 +1837,132 @@ UINT8 rrm_CheckOtherCiNextStation(UINT8 funValid,UINT16 trainID, const UINT16 wT return ret; } +/** + * @brief гͷǰһվվ̨ն֮źŻ״̬Ϊ + * @param[in] UINT8 funValid Ա־ + * @param[in] UINT16 trainID гID + * @param[in] RRMPathOfACSeqStruct* pACSeq RRM·ļ + * @param[out] UINT8* rrmReason + * @return UINT8 + CI_ERROR ʧ + CI_SUCCESS ɹ + 0xFF δ + * @note BY CGH 20240222 + */ +UINT8 rrm_CheckOtherCiSigStatus(UINT8 funValid, UINT16 trainID, IN const RRMPathOfACSeqStruct* pACSeq, OUT UINT8* rrmReason) +{ + UINT8 ret = CI_ERROR; + UINT32 errorCode = 0U; + UINT16 cycle = 0U; + UINT16 headOfRoute = 0U; /*ͷڽ·ID*/ + UINT16 tempofRoute = 0U; + UINT8 sigOfRoutePass = CI_ERROR; + UINT8 cCheckFlag = FLAG_UNSET; + UINT8 cLocalCiId = 0U; + UINT8 cRouteBelongCiId = 0U; + UINT8 cRouteState = 0U; + + /** ڲУ */ + ASSERT_RET_VALUE(NULL == pACSeq, ret, 0x80000000U); + ASSERT_RET_VALUE(NULL == rrmReason, ret, 0x40000000U); + + if (RRM_CHECK_UNVALID == funValid) + { + ret = 0xffU; + } + else + { + for (cycle = 0U; cycle < pACSeq->acCnt; cycle++) + { + if (TYPE_OF_PATH_A == pACSeq->pathType[cycle]) + { + /*dzΣ³ɳͷһ·*/ + headOfRoute = rrm_PrepareAcofRoute(pACSeq->ACID[cycle]); + if (0U == headOfRoute) + { + cCheckFlag = FLAG_SET; /** ν·δô϶δ */ + } + else + { + ; + } + } + else if (TYPE_OF_PATH_C == pACSeq->pathType[cycle]) + { + /** 账*/ + } + else if (TYPE_OF_PATH_B == pACSeq->pathType[cycle]) + { + /** ѯǰѰ· */ + tempofRoute = rrm_PrepareAcofRoute(pACSeq->ACID[cycle]); + + if (0U == tempofRoute) + { + cCheckFlag = FLAG_SET; /** ν·δô϶δ */ + } + else if (tempofRoute == headOfRoute) + { + /** жϸý·ʼźŻ״̬*/ + } + else + { + /** жϸý·ʼźŻ״̬Ƿ񿪷 */ + sigOfRoutePass = rrm_PrepareOriginSigStatOfRoute(tempofRoute); + + if (CI_SUCCESS == sigOfRoutePass) + { + /** źſţ*/ + } + else + { + cLocalCiId = GetSystemParaLocalCiId(); + cRouteBelongCiId = GetRouteBelongCiId(tempofRoute); + cRouteState = GetRouteState(tempofRoute); + + if ((cLocalCiId != cRouteBelongCiId) && (0U != cRouteBelongCiId) && (0U != cLocalCiId) + && ((ROUTE_STATE_NEAR_LOCK == cRouteState) || (ROUTE_STATE_AUTO_UNLOCK == cRouteState) + || (ROUTE_STATE_DELAY_UNLOCK == cRouteState) || (ROUTE_STATE_HALF_UNLOCK == cRouteState))) + { + /*DZڵźرգ*/ + } + else + { + cCheckFlag = FLAG_SET; /*ڵźŹرգʧ*/ + } + } + } + } + else + { + cCheckFlag = FLAG_SET; /** ·󣬼ʧ*/ + } + + if (FLAG_SET == cCheckFlag) + { + break; + } + else + { + ; /**/ + } + } + + if (cycle == pACSeq->acCnt) + { + ret = CI_SUCCESS; + } + else + { + *rrmReason = TRAIN_RRM_RESON_05; + errorCode += 0x20000000u; + ret = CI_ERROR; + } + } + + ASSER_DEBUG(0U != errorCode, RRM_LOG_LOC(RRM_LOG_ERROR, "errno:0x%08x info:Train%d rrm_CheckOtherCiSigStatus error:not allow RRM by route%d signal not open.", errorCode, trainID, tempofRoute)); + return ret; +} + /** * @brief ǷгͷĿվ̨ռѹδ * @param[in] UINT16 trainID гID @@ -1949,41 +2030,3 @@ static UINT8 rrm_CheckTrainHeadInFreeSta(UINT16 trainID, IN const EnvelopeStruct return ret; } -/** - * @brief ·״̬Ƿ - * @param[in] UINT16 wRouteId ·ID - * @return CI_ERROR - CI_SUCCESS - * @note BY CGH 20250807 - */ -static UINT8 rrm_CheckRouteState(UINT16 wRouteId) -{ - UINT8 chReval = CI_ERROR; - UINT8 chRouteState = 0U;/*·״̬*/ - - if ((0U < wRouteId) && (ROUTE_SUM_MAX > wRouteId)) - { - chRouteState = GetRouteState(wRouteId); - - if ((ROUTE_STATE_YUXIAN_OPEN == chRouteState) - || (ROUTE_STATE_NEAR_LOCK == chRouteState) - || (ROUTE_STATE_NEAR_OPEN == chRouteState) - || (ROUTE_STATE_AUTO_UNLOCK == chRouteState) - || (ROUTE_STATE_HALF_UNLOCK == chRouteState) - ) - { - chReval = CI_SUCCESS; - } - else - { - ; - } - } - else - { - ; - } - - return chReval; -} - diff --git a/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.h b/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.h index 85e19c8..1c89d66 100644 --- a/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.h +++ b/TSCP/src/APP/ciapp/RemoteRM/RRMManageAPI.h @@ -86,4 +86,18 @@ UINT8 rrm_CheckOtherCiRRMPathAndSw(UINT8 funValid, UINT16 trainID, UINT16 wAtsLg */ UINT8 rrm_CheckOtherCiNextStation(UINT8 funValid, UINT16 trainID, const UINT16 wTrainNextStaId, const UINT16 searchNextStaID, OUT UINT8* rrmReason); +/** + * @brief гͷǰһվվ̨ն֮źŻ״̬Ϊ + * @param[in] UINT8 funValid Ա־ + * @param[in] UINT16 trainID гID + * @param[in] RRMPathOfACSeqStruct* pACSeq RRM·ļ + * @param[out] UINT8* rrmReason + * @return UINT8 + CI_ERROR ʧ + CI_SUCCESS ɹ + 0xFF δ + * @note BY CGH 20240222 + */ +UINT8 rrm_CheckOtherCiSigStatus(UINT8 funValid, UINT16 trainID, IN const RRMPathOfACSeqStruct* pACSeq, OUT UINT8* rrmReason); + #endif \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/ReverseCut/ReverseCutDefine.h b/TSCP/src/APP/ciapp/ReverseCut/ReverseCutDefine.h index 0d4b91c..325b0d7 100644 --- a/TSCP/src/APP/ciapp/ReverseCut/ReverseCutDefine.h +++ b/TSCP/src/APP/ciapp/ReverseCut/ReverseCutDefine.h @@ -25,7 +25,7 @@ /*ģʽ*/ #define REVERSE_MODE_MAIN ((UINT8)0x55) /*ģʽ ģʽ*/ -#define REVERSE_MODE_SHADOW ((UINT8)0xAA) /*ģʽ Ӱģʽ*/ +#define REVERSE_MODE_SHADOW ((UINT8)0xAA) /*ģʽ ģʽ*/ /*ɵԭ*/ #define REVERSE_REASON_OC_COMM_ERR ((UINT8)0x01) /*ɵԭ OCͨŹ*/ diff --git a/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.c b/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.c index 1e44f42..35d15f3 100644 --- a/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.c +++ b/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.c @@ -1826,17 +1826,11 @@ void LogRouteLockProc(const UINT16 wLogRouteId) /*ѹźŻ*/ /*߼·״̬Ϊȴ*/ SetLogRouteStateManage(wLogRouteId, ROUTE_LOGICAL_STATE_UNLOCKWAIT); - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wLogSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } else { /*żʧܣ߼·쳣*/ SetLogRouteStateManage(wLogRouteId, ROUTE_LOGICAL_STATE_LOCKERR); - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wLogSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } } @@ -1889,18 +1883,12 @@ void LogRouteLockErrManage(const UINT16 wLogRouteId) /*ѹźŻ*/ /*߼·״̬Ϊȴ*/ SetLogRouteStateManage(wLogRouteId, ROUTE_LOGICAL_STATE_UNLOCKWAIT); - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wLogSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } else { /*żʧܣ߼·쳣*/ /*쳣رյı־*/ SetLogRouteSignalErrCloseFlag(wLogSignalId, LOG_ROUTE_SIGNAL_CLOSE_ERR); - - /*ʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wLogSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -2211,10 +2199,15 @@ void SetLogRouteSectionUsingState(const UINT16 logRouteId,const UINT8 useState) void LogRouteLgcSecResUnlockManage(const UINT16 logRouteId) { /*ʼ*/ + UINT8 chRouteState = 0u; + UINT8 chRouteRepeatOpenFlag = 0U; UINT16 routeLogNum = 0u; UINT16 wTrainId = 0U; UINT16 ii = 0U; UINT16* routeLogSecId = NULL; + UINT16 wStartSignalId = 0U; + UINT8 chStartSignalCurColor = 0U; + UINT8 chOpenCloseState = 0U; UINT16 wUnlockLgcSecId = 0U; /*߼ID*/ UINT16 wPreUnlockLgcSecId = 0U; /*·߼һ߼*/ UINT8 chLgcLockState = 0U;/*߼״̬*/ @@ -2222,65 +2215,95 @@ void LogRouteLgcSecResUnlockManage(const UINT16 logRouteId) UINT8 chPreLgcLogRouteId = 0U;/*һ߼߼·*/ UINT8 checkFlag = 0U; - /*ȡ߼·߼*/ - routeLogNum = GetLogicalRouteInLogSecSum(logRouteId); - routeLogSecId = GetLogicalRouteInLogSecId(logRouteId);/*߼ID*/ - if ((0u < routeLogNum) - && (MAX_ROUTE_IN_LT_NUM > routeLogNum)) + /*ȡ·Ϣ*/ + chRouteState = GetLogicalRouteState(logRouteId);/*߼·״̬*/ + wStartSignalId = GetLogicalRouteRelateBeginSigId(logRouteId);/*·ʼźŻ*/ + if (0U != wStartSignalId) { - /*ÿڻȡһû߼*/ - for (ii = 0U; ii < routeLogNum; ii++) - { + /*ʼźŻ*/ + chStartSignalCurColor = GetSignalCurColor(wStartSignalId); + chOpenCloseState = GetSignalOpenCloseState(chStartSignalCurColor);/*ʼźŻ״̬*/ + } + else + { + ; /**/ + } + chRouteRepeatOpenFlag = GetLogicalRouteRecoverOpenState(logRouteId);/*ؿ־*/ + + if ((0U != wStartSignalId)&&(SIGNAL_OPEN == chOpenCloseState)) + {/*ʼźŻҿ򲻽*/ - wPreUnlockLgcSecId = wUnlockLgcSecId;/*һ߼ID*/ - wUnlockLgcSecId = routeLogSecId[ii];/*ȡǰ߼ID*/ - /*ij߼ζԸ߼·Ľ*/ - /*ÿڼһյ߼*/ - checkFlag = CheckLogRouteIdBelLogSec(wUnlockLgcSecId, logRouteId); /*жϴ߼Ƿ񱻱߼·*/ - if (CI_SUCCESS == checkFlag) + } + /*ʼźŻرջûʼźŻ*/ + else if ((ROUTE_REPEATOPEN_SET_YES != chRouteRepeatOpenFlag) + && (ROUTE_LOGICAL_STATE_UNLOCKWAIT == chRouteState)) /*״̬ж*/ + { + /*ȡ߼·߼*/ + routeLogNum = GetLogicalRouteInLogSecSum(logRouteId); + routeLogSecId= GetLogicalRouteInLogSecId(logRouteId);/*߼ID*/ + if ((0u < routeLogNum) + && (MAX_ROUTE_IN_LT_NUM > routeLogNum)) + { + /*ȡղ Ԥ*/ + + /*ÿڻȡһû߼*/ + for (ii = 0U; ii < routeLogNum; ii++) { - chLgcLockState = GetLogSecLogLockState(wUnlockLgcSecId); - if ((LOG_SECTION_LOGLOCK_EXCEPT == chLgcLockState)) + + wPreUnlockLgcSecId = wUnlockLgcSecId;/*һ߼ID*/ + wUnlockLgcSecId = routeLogSecId[ii];/*ȡǰ߼ID*/ + /*ij߼ζԸ߼·Ľ*/ + /*ÿڼһյ߼*/ + checkFlag = CheckLogRouteIdBelLogSec(wUnlockLgcSecId, logRouteId); /*жϴ߼Ƿ񱻱߼·*/ + if (CI_SUCCESS == checkFlag) { - break; /*״̬*/ - } - if (LOG_SECTION_LOGLOCK_NORMAL == chLgcLockState) - { - checkFlag = CheckLogRouteLgcSecResUnlock(wUnlockLgcSecId, wPreUnlockLgcSecId, logRouteId); - if (CI_SUCCESS == checkFlag) + chLgcLockState = GetLogSecLogLockState(wUnlockLgcSecId); + if ((LOG_SECTION_LOGLOCK_EXCEPT == chLgcLockState)) { - LgcSecLogicalUnlockProc(logRouteId, wUnlockLgcSecId, wPreUnlockLgcSecId); /*ӵǰ߼ɾ߼·߼߼·--*/ + break; /*״̬*/ + } + if (LOG_SECTION_LOGLOCK_NORMAL == chLgcLockState) + { + checkFlag = CheckLogRouteLgcSecResUnlock(wUnlockLgcSecId, wPreUnlockLgcSecId, logRouteId); + if (CI_SUCCESS == checkFlag) + { + LgcSecLogicalUnlockProc(logRouteId, wUnlockLgcSecId, wPreUnlockLgcSecId); /*ӵǰ߼ɾ߼·߼߼·--*/ + } + else + { + break; /*ڲ*/ + } } else { - break; /*ڲ*/ + ; /**/ } } else { - ; /**/ + /*DZ߼·յ߼Σִн*/ } + } + /*ij·߼ȫ*/ + checkFlag = LogRouteLogSecReleaseCheck(logRouteId); + if (CI_SUCCESS == checkFlag) + { + /*ȫ*/ + SetLogRouteProSwLockState(logRouteId, SWITCH_LOCK_PROTECT_CANCEL); + /*ÿ*/ + (void)SetLogicalRouteState(logRouteId, ROUTE_LOGICAL_STATE_IDLE); } else { - /*DZ߼·յ߼Σִн*/ + ;/* ʱ״̬*/ } } - /*ij·߼ȫ*/ - checkFlag = LogRouteLogSecReleaseCheck(logRouteId); - if (CI_SUCCESS == checkFlag) - { - /*ȫ*/ - SetLogRouteProSwLockState(logRouteId, SWITCH_LOCK_PROTECT_CANCEL); - /*ÿ*/ - (void)SetLogicalRouteState(logRouteId, ROUTE_LOGICAL_STATE_IDLE); - } else { - ;/* ʱ״̬*/ + ; /**/ } } - else + else /*ֻͷԴ*/ { ; /**/ } @@ -2499,16 +2522,11 @@ void LogRouteOpenManage(const UINT16 wLogRouteId) /*߼·״̬Ϊȴ*/ SetLogRouteStateManage(wLogRouteId, ROUTE_LOGICAL_STATE_UNLOCKWAIT); - /*ֿʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } else { /*ʧ,߼·״̬Ϊ߼쳣*/ SetLogRouteStateManage(wLogRouteId, ROUTE_LOGICAL_STATE_LOCKERR); - - /*ֿʧܣöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } else @@ -2518,9 +2536,6 @@ void LogRouteOpenManage(const UINT16 wLogRouteId) /*źŻϹرձ*/ SetErrorData(funcId, CI_DEVICE_TYPE_SIGNAL, wSignalId, ETYPE_SIG_START_OPEN_STATE, sigState, ESEND_LEVEL_ATS); - - /*ֿڼź쳣رգöӦʼźŻ۳·ťЧ*/ - SetDetCutBtnState(wSignalId, SIGNAL_DETAIN_CUT_VALID_NO); } } @@ -2711,7 +2726,6 @@ void LogRouteUnlockDelayManage(const UINT16 wLogicalRouteId) UINT8 chCheckTimeState = 0U; /*ʱ*/ UINT16 wFirstNormalLockLogId = 0U; /*߼·һյ߼ID*/ UINT16 wRelativePhySecId = 0U; /*߼ιID*/ - UINT8 chPhySecCurMergeState = 0U;/*εǰں״̬*/ /*ʱʱ临˽ʱ*/ dwDelayTotalCycSum = GetSystemParaBlocRouteDelayCyc(); /*ȡʽ·ʱ*/ @@ -2724,35 +2738,16 @@ void LogRouteUnlockDelayManage(const UINT16 wLogicalRouteId) wFirstNormalLockLogId = GetLogRouteFirNormalLockLogId(wLogicalRouteId); wRelativePhySecId = GetLgcSecRelativePhySecId(wFirstNormalLockLogId); - chPhySecCurMergeState = GetPhySecCurMergeState(wRelativePhySecId); - if (SECTION_OCCUPY_NO == chPhySecCurMergeState) - { - SetLogRouFirDelayErLockStaCyc(wLogicalRouteId, 0U); - /*ڱ߼·յ߼߼쳣*/ - SetPhyIncLogSecLogLockState(wRelativePhySecId, LOG_SECTION_LOGLOCK_EXCEPT, wLogicalRouteId); - /*߼·ʽʱںΪ0*/ - SetLogSecLogRDelayErrLockCyc(wFirstNormalLockLogId, 0U); - } - else - { - ; /*ռüȴ*/ - } + SetLogRouFirDelayErLockStaCyc(wLogicalRouteId,0U); + /*ڱ߼·յ߼߼쳣*/ + SetPhyIncLogSecLogLockState(wRelativePhySecId, LOG_SECTION_LOGLOCK_EXCEPT, wLogicalRouteId); + /*߼·ʽʱںΪ0*/ + SetLogSecLogRDelayErrLockCyc(wFirstNormalLockLogId,0U); } else { ; /*ʱ䲻ȴ*/ } - - dwDelayStartCycNum = GetLogRouteDelayErrLockStartCyc(wLogicalRouteId); /*ȡ߼·Ͻʼ*/ - if (0U == dwDelayStartCycNum) - { - /*߼·Ѿйʽ⣬һռãʽʱ޷ݣʹ߼·״̬ʱ쳣*/ - LogRouteExpLockContinue(wLogicalRouteId); - } - else - { - ; - } } /* @@ -4395,57 +4390,4 @@ UINT8 LogSecLockInLogRouteProcess(const UINT16 wLogRouteId,const UINT16 wLogSecI } return funcRet; -} - -/* -* ҵ߼·ڵһ߼յ߼ -* ˵ const UINT16 wLogRouteId ߼·ID -* ֵ = 0 Ч -* > 0 ߼ID -* by cgh 20250529 -*/ -UINT16 GetLogRouteFirLogLockLogId(const UINT16 wLogRouteId) -{ - UINT16 wLogRouteLogSecNum = 0U;/*߼·߼*/ - UINT16* pLogRouteLogSecIdBuf = NULL;/*߼·߼ID*/ - UINT16 ii = 0U; - UINT16 wReVal = CI_ERROR; - UINT8 chCheckFlag = 0U;/*־*/ - UINT8 chLogSecLogLockSta = 0U;/*߼߼״̬*/ - - if (ROUTE_LOGICAL_SUM_MAX > wLogRouteId) - { - /*ȡ߼·߼*/ - wLogRouteLogSecNum = GetLogicalRouteInLogSecSum(wLogRouteId); - pLogRouteLogSecIdBuf = GetLogicalRouteInLogSecId(wLogRouteId); - - if (NULL != pLogRouteLogSecIdBuf) - { - for (ii = 0U; ii < wLogRouteLogSecNum; ii++) - { - chCheckFlag = CheckLogSecLockBelLogRoute(pLogRouteLogSecIdBuf[ii], wLogRouteId); - if (CI_SUCCESS == chCheckFlag) - { - wReVal = pLogRouteLogSecIdBuf[ii]; - break; - } - else - { - ;/*һ*/ - } - } - } - else - { - ; /*ִ*/ - } - } - else - { - ; /*ִ*/ - } - - - return wReVal; - } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.h b/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.h index 2ccb251..8addcd1 100644 --- a/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.h +++ b/TSCP/src/APP/ciapp/Route/LogicalRouteDataManage.h @@ -792,15 +792,6 @@ void ErrLockFaultUnLockLogRoute(const UINT16 wLogSecId, const UINT16 wLogRouteId */ UINT8 LogSecLockInLogRouteProcess(const UINT16 wLogRouteId, const UINT16 wLogSecId); -/* -* ҵ߼·ڵһ߼յ߼ -* ˵ const UINT16 wLogRouteId ߼·ID -* ֵ = 0 Ч -* > 0 ߼ID -* by cgh 20250529 -*/ -UINT16 GetLogRouteFirLogLockLogId(const UINT16 wLogRouteId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.c b/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.c index 020cebd..92d85ee 100644 --- a/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.c @@ -2314,31 +2314,6 @@ UINT16 GetRouteDCQJId(const UINT16 routeId) return retVal; } -/* -* ȡָID·̵2ID -* ˵ const UINT16 routeId, ·ID -* ֵ >0: ̵2ID -* 0: û -* by cgh 20250603 -*/ -UINT16 GetRouteDCQJTwoId(const UINT16 routeId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT16 retVal = 0u; - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - retVal = RouteConfigDataStru[bufIndex].DCRouteDCQJTwoId; - } - else - { - retVal = 0U; - } - return retVal; -} - /* * ȡָID·״̬/쳣/Ԥʱ * ˵ const UINT16 routeId, ·ID @@ -3142,6 +3117,81 @@ UINT16* GetMainRouteBuff(const UINT16 subrouteId) return retVal; } +/* +* ȡָID·CBTCղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcThisZhaoChaRelayId(const UINT16 routeId) +{ + UINT16 bufIndex = 0u; /*±*/ + UINT16 retVal = CI_ERROR; + + bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ + + if (bufIndex < ROUTE_SUM_MAX) + { + retVal = RouteConfigDataStru[bufIndex].wCbtcThisZhaoChaRelayId; + } + else + { + retVal = CI_ERROR; + } + return retVal; +} + +/* +* ȡָID·CBTCԶղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcThatZhaoChaRelayId(const UINT16 routeId) +{ + UINT16 bufIndex = 0u; /*±*/ + UINT16 retVal = CI_ERROR; + + bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ + + if (bufIndex < ROUTE_SUM_MAX) + { + retVal = RouteConfigDataStru[bufIndex].wCbtcThatZhaoChaRelayId; + } + else + { + retVal = CI_ERROR; + } + return retVal; +} + +/* +* ȡָID·CBTCȡղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcCancelZhaochaRelay(const UINT16 routeId) +{ + UINT16 bufIndex = 0u; /*±*/ + UINT16 retVal = CI_ERROR; + + bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ + + if (bufIndex < ROUTE_SUM_MAX) + { + retVal = RouteConfigDataStru[bufIndex].wCbtccancelZhaochaRelayId; + } + else + { + retVal = CI_ERROR; + } + return retVal; +} + /* * ȡָID·ⱨźſʱ־ * ˵ const UINT16 routeId ·ID diff --git a/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.h b/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.h index 3f413e7..e2e4598 100644 --- a/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Route/RouteConfigDataManage.h @@ -199,6 +199,9 @@ typedef struct S_RouteConfigDataStruct UINT16 ThisZhaoChaRelayId; /*ղ̵ID (ֶ)*/ UINT16 ThatZhaoChaRelayId; /*Զղ̵ID (ֶ)*/ UINT16 cancelZhaochaRelayId; /* ȡղ̵ID(ֶ) ̵ */ + UINT16 wCbtcThisZhaoChaRelayId; /*ղ̵ID (ֶ)*/ + UINT16 wCbtcThatZhaoChaRelayId; /*Զղ̵ID (ֶ)*/ + UINT16 wCbtccancelZhaochaRelayId; /* ȡղ̵ID(ֶ) ̵ */ UINT8 RouteInitFSStatus; /*·ʼ״̬*/ UINT8 RouteFSSignalSum; /*·طźŻĿ (ֶ)*/ @@ -247,7 +250,6 @@ typedef struct S_RouteConfigDataStruct RouteTriggerLogicSectionStruct CbtcTriggerLogSecStru[1]; /*CBTC·߼νṹ (ֶ)Ԥ*/ UINT16 DCRouteDCQJId;/*·̵ID*/ - UINT16 DCRouteDCQJTwoId;/*·̵2ID*/ UINT16 DCRouteTAJId;/*·ͬⰴť̵ID*/ UINT8 RouteNeedDelayUnlock; /* ·״̬/쳣/Ԥգȡ˽ҪʱֶΣ*/ @@ -985,15 +987,6 @@ UINT8 GetRouteInitFSStatus(const UINT16 routeId); */ UINT16 GetRouteDCQJId(const UINT16 routeId); -/* -* ȡָID·̵2ID -* ˵ const UINT16 routeId, ·ID -* ֵ >0: ̵2ID -* 0: û -* by cgh 20250603 -*/ -UINT16 GetRouteDCQJTwoId(const UINT16 routeId); - /* * ȡָID·ͬⰴť̵ID * ˵ const UINT16 routeId, ·ID @@ -1252,6 +1245,33 @@ UINT8 GetMainRouteSum(const UINT16 subrouteId); */ UINT16* GetMainRouteBuff(const UINT16 subrouteId); +/* +* ȡָID·CBTCղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcThisZhaoChaRelayId(const UINT16 routeId); + +/* +* ȡָID·CBTCԶղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcThatZhaoChaRelayId(const UINT16 routeId); + +/* +* ȡָID·CBTCȡղ̵ID +* ˵ const UINT16 routeId, ·ID +* ֵ 0: ȡʧ +* >0: ղ̵ID +* by cgh 20230728 ֺ󱸼CBTCղ +*/ +UINT16 GetRouteCbtcCancelZhaochaRelay(const UINT16 routeId); + /* * ȡָID·ⱨźſʱ־ * ˵ const UINT16 routeId ·ID diff --git a/TSCP/src/APP/ciapp/Route/RouteDataManage.c b/TSCP/src/APP/ciapp/Route/RouteDataManage.c index 43ad57e..a11d4a7 100644 --- a/TSCP/src/APP/ciapp/Route/RouteDataManage.c +++ b/TSCP/src/APP/ciapp/Route/RouteDataManage.c @@ -2449,13 +2449,14 @@ void SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(const UINT16 routeId, const /* * ָ·ĵ״̬ * ˵ const UINT16 routeId, ·ID -* const UINT8 dcqState, ״̬ -* ֵ -* by cgh 20250523 +* const UINT32 dcqState, ״̬ +* ֵ 0: ʧ +* 1: ݳɹ */ -void SetRouteDCQState(const UINT16 routeId, const UINT8 dcqState) +UINT8 SetRouteDCQState(const UINT16 routeId, const UINT8 dcqState) { UINT16 bufIndex = 0u; /*±*/ + UINT8 retVal = CI_ERROR; bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ @@ -2464,16 +2465,19 @@ void SetRouteDCQState(const UINT16 routeId, const UINT8 dcqState) if ((ROUTE_DCQ_REQUEST == dcqState) || (ROUTE_DCQ_NOT_REQUEST == dcqState) ) { RouteDataStru[bufIndex].DCQState = dcqState; + + retVal = CI_SUCCESS; } else { - ; + retVal = CI_ERROR; } } else { - ; + retVal = CI_ERROR; } + return retVal; } /* @@ -2503,13 +2507,14 @@ UINT8 GetRouteDCQState(const UINT16 routeId) /* * ָ·ĵͬ״̬ * ˵ const UINT16 routeId, ·ID -* const UINT8 dcTyState, ״̬ -* ֵ -* by cgh 20250523 +* const UINT32 dcTyState, ״̬ +* ֵ 0: ʧ +* 1: ݳɹ */ -void SetRouteDCTYState(const UINT16 routeId, const UINT8 dcTyState) +UINT8 SetRouteDCTYState(const UINT16 routeId, const UINT8 dcTyState) { UINT16 bufIndex = 0u; /*±*/ + UINT8 retVal = CI_ERROR; bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ @@ -2518,16 +2523,19 @@ void SetRouteDCTYState(const UINT16 routeId, const UINT8 dcTyState) if ((ROUTE_DCT_AGREE == dcTyState) || (ROUTE_DCT_NOT_AGREE == dcTyState) ) { RouteDataStru[bufIndex].DCTYState = dcTyState; + + retVal = CI_SUCCESS; } else { - ; + retVal = CI_ERROR; } } else { - ; + retVal = CI_ERROR; } + return retVal; } /* @@ -5122,7 +5130,7 @@ UINT8 GetRouteNearSecFitSwIndex(const UINT16 routeId,const UINT8 nearSecIndex) } /* -* ɾ·гԴ +* ɾ·ڱгԴ * ˵ const UINT16 routeId, ·ID * const UINT16 trainId, гID * ֵ @@ -5131,16 +5139,23 @@ void RemoveRouteInCiRes(const UINT16 routeId,const UINT16 trainId) { UINT16 bufIndex = 0u; /*±*/ UINT8 jj = 0U; + UINT8 localCiId = 0U; + UINT8 logBelongCiId = 0U; UINT16 wRouteInLgcSecSum = 0U; UINT16 *pRouteInLgcSecBuf = NULL; wRouteInLgcSecSum = GetRouteLogSectionSum(routeId); pRouteInLgcSecBuf = GetRouteLogSectionIdBuf(routeId); + localCiId = GetSystemParaLocalCiId(); if (0U != wRouteInLgcSecSum) { for (jj = 0U; jj < wRouteInLgcSecSum; jj++) { - RemoveLogSecTrainInfoById(pRouteInLgcSecBuf[jj], trainId); + logBelongCiId = GetLogSecBelongCiId(pRouteInLgcSecBuf[jj]); + if ((logBelongCiId == localCiId) && (0U != localCiId)) + { + RemoveLogSecTrainInfoById(pRouteInLgcSecBuf[jj], trainId); + } } } } @@ -5696,15 +5711,6 @@ void SetRouteApplySwitchCheckFlag(UINT16 routeId, UINT8 setFlag) || (ROUTE_APPLY_SWITCH_CHECK_DEF == setFlag)) { RouteDataStru[bufIndex].chRouteApplySwitchCheckFlag = setFlag; - if (ROUTE_APPLY_SWITCH_CHECK_DEF == setFlag) - { - /*¼·*/ - SetRouteApplySwitchCheckErrorData(routeId, 0U, 0U, 0U, 0U); - } - else - { - ;/**/ - } } else { @@ -5740,216 +5746,4 @@ UINT8 GetRouteApplySwitchCheckFlag(const UINT16 routeId) } return reVal; -} - -/* -* ָ·ĵͬⰴť״̬ -* ˵ const UINT16 routeId, ·ID -* const UINT8 chDcAgreeButtonErrState, ͬⰴť״̬ -* ֵ -* by cgh 20250523 -*/ -void SetRouteDcAgreeButtonErrState(const UINT16 routeId, const UINT8 chDcAgreeButtonErrState) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - if ((ROUTE_DC_AGREE_BUTTON_ERR == chDcAgreeButtonErrState) || (ROUTE_DC_AGREE_BUTTON_OK == chDcAgreeButtonErrState)) - { - RouteDataStru[bufIndex].chDcAgreeButtonErrState = chDcAgreeButtonErrState; - - } - else - { - ; - } - } - else - { - ; - } -} - -/* -* ȡָ·ĵͬⰴť״̬ -* ˵ const UINT16 routeId, ·ID -* ֵ ͬⰴť״̬ -* by cgh 20250523 -*/ -UINT8 GetRouteDcAgreeButtonErrState(const UINT16 routeId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT8 retVal = ROUTE_DC_AGREE_BUTTON_ERR; - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - retVal = RouteDataStru[bufIndex].chDcAgreeButtonErrState; - } - else - { - ; - } - return retVal; -} - -/* -* ָ·ĵͬⰴťʼ -* ˵ const UINT16 routeId, ·ID -* const UINT32 dwDcAgreeBtnPressCycNum, ͬⰴťʼ -* ֵ -* by cgh 20250523 -*/ -void SetRouteDcAgreeBtnPressCycNum(const UINT16 routeId, const UINT32 dwDcAgreeBtnPressCycNum) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - RouteDataStru[bufIndex].dwDcAgreeBtnPressCycNum = dwDcAgreeBtnPressCycNum; - } - else - { - ; - } -} - -/* -* ȡָ·ĵͬⰴťʼ -* ˵ const UINT16 routeId, ·ID -* ֵ ͬⰴťʼ -* by cgh 20250523 -*/ -UINT32 GetRouteDcAgreeBtnPressCycNum(const UINT16 routeId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT32 retVal = 0U; - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - retVal = RouteDataStru[bufIndex].dwDcAgreeBtnPressCycNum; - } - else - { - ; - } - return retVal; -} - -/* -* ָ·ת·־ -* ˵UINT16 routeId õĽ·ID -* UINT8 setFlag ñ־ -* ֵ -* Created By LQ 2025.08.04 -*/ -void SetRouteToLeadFlag(UINT16 routeId, UINT8 setFlag) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - if ((ROUTE_TO_LEAD_FLAG_NO == setFlag) || (ROUTE_TO_LEAD_FLAG_YES == setFlag)) - { - RouteDataStru[bufIndex].cRouteToLeadFlag = setFlag; - } - else - { - ; /**/ - } - } - else - { - ; /**/ - } -} - -/* -* ȡָ·ת·־ -* ˵const UINT16 routeId ·ID -* ֵ0x55 Ч -* 0xAA Ч -* Created By LQ 2025.08.04 -*/ -UINT8 GetRouteToLeadFlag(const UINT16 routeId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT8 reVal = ROUTE_TO_LEAD_FLAG_NO; - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - reVal = RouteDataStru[bufIndex].cRouteToLeadFlag; - } - else - { - ; /**/ - } - - return reVal; -} - -/* -* ָ·ڿ¼ -* ˵UINT16 routeId õĽ·ID -* UINT16 devID 豸ID UINT8 devType 豸ͣUINT8 devState 豸״̬ UINT8 errorType -* ֵ -* by fan 20250922 -*/ -void SetRouteApplySwitchCheckErrorData(UINT16 routeId, UINT16 devID, UINT8 devType, UINT8 devState, UINT8 errorType) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - RouteDataStru[bufIndex].OtherCiRecordDevID = devID; - RouteDataStru[bufIndex].OtherCiRecordDevState = devState; - RouteDataStru[bufIndex].OtherCiRecordDevType = devType; - RouteDataStru[bufIndex].OtherCiRecordErrorType = errorType; - } - else - { - ; /**/ - } -} - -/* -* ȡָ·ڿ¼ -* ˵UINT16 routeId ·ID -* ֵUINT16 豸ID -* UINT8 *devType豸, UINT8* devState豸״̬UINT8* errorType -* by fan 20250922 -*/ -UINT16 GetRouteApplySwitchCheckErrorData(UINT16 routeId, UINT8 *devType, UINT8* devState, UINT8* errorType) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT16 rtnDevId = 0U; - - bufIndex = GetRouteConfigBufIndex(routeId); /*ȡ·±*/ - - if (ROUTE_SUM_MAX > bufIndex) - { - rtnDevId = RouteDataStru[bufIndex].OtherCiRecordDevID; - *devType = RouteDataStru[bufIndex].OtherCiRecordDevType; - *devState = RouteDataStru[bufIndex].OtherCiRecordDevState; - *errorType = RouteDataStru[bufIndex].OtherCiRecordErrorType; - } - else - { - ; /**/ - } - return rtnDevId; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Route/RouteDataManage.h b/TSCP/src/APP/ciapp/Route/RouteDataManage.h index 2d52fa6..1ae84d4 100644 --- a/TSCP/src/APP/ciapp/Route/RouteDataManage.h +++ b/TSCP/src/APP/ciapp/Route/RouteDataManage.h @@ -84,8 +84,7 @@ typedef struct S_RouteDataStruct UINT32 NeedOpenNotTrueRepeatStartCount; /*迪Ųʱؿʼ*/ UINT8 DCQState; /*״̬*/ UINT8 DCTYState; /*ͬ״̬*/ - UINT32 dwDcAgreeBtnPressCycNum; /*ͬⰴťʼ*/ - UINT8 chDcAgreeButtonErrState; /*ͬⰴť״̬*/ + UINT8 DCTYNotSatisfySignalReOpenFlag; /*ͬⲻ-źؿ־*/ UINT32 DCTYNotSatisfyStartCount; /*ͬⲻ-ʼ*/ UINT8 CancleDelayflag; /*ȡ·ʱ־*/ @@ -124,11 +123,6 @@ typedef struct S_RouteDataStruct UINT8 cRouteDrivedSGBJFlag; /*·ⱨ־0x55 δ0xAA */ UINT8 chRouteNearSecSearchState; /*·ӽ״̬*/ UINT8 chRouteApplySwitchCheckFlag; /*·ڿ־*/ - UINT16 OtherCiRecordDevID; /*ʧ豸ID*/ - UINT8 OtherCiRecordDevType; /*ʧ豸*/ - UINT8 OtherCiRecordDevState; /*ʧ豸״̬*/ - UINT8 OtherCiRecordErrorType; /*ʧܱ*/ - UINT8 cRouteToLeadFlag; /*ͨ·ת·־0x55-Ч0xAA-Чӡ־*/ } RouteDataStruct; @@ -805,11 +799,11 @@ void SetRouteNeedOpenNotTrueSigRepeatOpenStartCycNum(const UINT16 routeId, const /* * ָ·ĵ״̬ * ˵ const UINT16 routeId, ·ID -* const UINT8 dcqState, ״̬ -* ֵ -* by cgh 20250523 +* const UINT32 dcqState, ״̬ +* ֵ 0: ʧ +* 1: ݳɹ */ -void SetRouteDCQState(const UINT16 routeId, const UINT8 dcqState); +UINT8 SetRouteDCQState(const UINT16 routeId, const UINT8 dcqState); /* * ȡָ·ĵ״̬ @@ -822,11 +816,11 @@ UINT8 GetRouteDCQState(const UINT16 routeId); /* * ָ·ĵͬ״̬ * ˵ const UINT16 routeId, ·ID -* const UINT8 dcTyState, ״̬ -* ֵ -* by cgh 20250523 +* const UINT32 dcTyState, ״̬ +* ֵ 0: ʧ +* 1: ݳɹ */ -void SetRouteDCTYState(const UINT16 routeId, const UINT8 dcTyState); +UINT8 SetRouteDCTYState(const UINT16 routeId, const UINT8 dcTyState); /* * ȡָ·ĵͬ״̬ @@ -1641,77 +1635,6 @@ void SetRouteApplySwitchCheckFlag(UINT16 routeId, UINT8 setFlag); */ UINT8 GetRouteApplySwitchCheckFlag(const UINT16 routeId); -/* -* ָ·ĵͬⰴť״̬ -* ˵ const UINT16 routeId, ·ID -* const UINT8 chDcAgreeButtonErrState, ͬⰴť״̬ -* ֵ -* by cgh 20250523 -*/ -void SetRouteDcAgreeButtonErrState(const UINT16 routeId, const UINT8 chDcAgreeButtonErrState); - -/* -* ȡָ·ĵͬⰴť״̬ -* ˵ const UINT16 routeId, ·ID -* ֵ ͬⰴť״̬ -* by cgh 20250523 -*/ -UINT8 GetRouteDcAgreeButtonErrState(const UINT16 routeId); - -/* -* ָ·ĵͬⰴťʼ -* ˵ const UINT16 routeId, ·ID -* const UINT32 dwDcAgreeBtnPressCycNum, ͬⰴťʼ -* ֵ -* by cgh 20250523 -*/ -void SetRouteDcAgreeBtnPressCycNum(const UINT16 routeId, const UINT32 dwDcAgreeBtnPressCycNum); - -/* -* ȡָ·ĵͬⰴťʼ -* ˵ const UINT16 routeId, ·ID -* ֵ ͬⰴťʼ -* by cgh 20250523 -*/ -UINT32 GetRouteDcAgreeBtnPressCycNum(const UINT16 routeId); - -/* -* ָ·ת·־ -* ˵UINT16 routeId õĽ·ID -* UINT8 setFlag ñ־ -* ֵ -* Created By LQ 2025.08.04 -*/ -void SetRouteToLeadFlag(UINT16 routeId, UINT8 setFlag); - -/* -* ȡָ·ת·־ -* ˵const UINT16 routeId ·ID -* ֵ0x55 Ч -* 0xAA Ч -* Created By LQ 2025.08.04 -*/ -UINT8 GetRouteToLeadFlag(const UINT16 routeId); - -/* -* ָ·ڿ¼ -* ˵UINT16 routeId õĽ·ID -* UINT16 devID 豸ID UINT8 devType 豸ͣUINT8 devState 豸״̬,UINT8 errorType -* ֵ -* by fan 20250922 -*/ -void SetRouteApplySwitchCheckErrorData(UINT16 routeId, UINT16 devID, UINT8 devType, UINT8 devState, UINT8 errorType); - -/* -* ȡָ·ڿ¼ -* ˵UINT16 routeId ·ID -* ֵUINT16 豸ID -* UINT8 *devType豸, UINT8* devState豸״̬UINT8* errorType -* by fan 20250922 -*/ -UINT16 GetRouteApplySwitchCheckErrorData(UINT16 routeId, UINT8 *devType, UINT8* devState, UINT8* errorType); - - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Route/RouteDefine.h b/TSCP/src/APP/ciapp/Route/RouteDefine.h index 16e7a42..26883bb 100644 --- a/TSCP/src/APP/ciapp/Route/RouteDefine.h +++ b/TSCP/src/APP/ciapp/Route/RouteDefine.h @@ -46,7 +46,7 @@ #define ROUTE_ESB_SUM_MAX ((UINT16)4) /*վ̨ͣťֵ*/ #define ROUTE_PSD_SUM_MAX ((UINT16)4) /*վֵ̨*/ #define ROUTE_THATZC_PHYSEC_SUM_MAX ((UINT16)4) /*Զղֵ*/ -#define ROUTE_OPPOSED_ROUTE_SUM_MAX ((UINT8)255) /*ִ·ֵ*/ +#define ROUTE_OPPOSED_ROUTE_SUM_MAX ((UINT16)540) /*ִ·ֵ*/ #define ROUTE_SIGNAL_OPPOSED_ROUTE_SUM_MAX ((UINT16)100) /*Ա·ʼźŻΪնźŻ۷·Ŀ*/ #define ROUTE_FLOOD_GATE_SUM_MAX ((UINT16)2) /* ·Ÿ */ #define ROUTE_OHTER_CHECK_SUM_MAX ((UINT16)10) /* · */ @@ -290,9 +290,6 @@ #define ROUTE_DCT_AGREE ((UINT8)0xaa) /*ͬ*/ #define ROUTE_DCT_NOT_AGREE ((UINT8)0x55) /*޵ͬ*/ -#define ROUTE_DC_AGREE_BUTTON_ERR ((UINT8)0xaa) /*ͬⰴť*/ -#define ROUTE_DC_AGREE_BUTTON_OK ((UINT8)0x55) /*ͬⰴťδ*/ - #define ROUTE_DCTY_REOPEN ((UINT8)0xaa) /*ͬؿ*/ #define ROUTE_DCTY_REOPEN_NO ((UINT8)0x55) /*ͬⲻؿ*/ @@ -343,7 +340,6 @@ #define ROUTE_SUB_INCLUDE_SUM_MAX ((UINT16)10) /*·ӽ·Ŀֵ*/ #define ROUTE_MAIN_BELONG_SUM_MAX ((UINT16)10) /*ӽ··Ŀֵ*/ -#define ROUTE_MAYBE_BELONG_SUM_MAX ((UINT16)100) /*ӽ··ֵ*/ #define ROUTE_TRAIN_LOC_MAX_LGC_SUM ((UINT16)10) /*г߼*/ @@ -383,8 +379,5 @@ #define ROUTE_APPLY_SWITCH_CHECK_YES ((UINT8)0xaa) /*·־_ͨ*/ #define ROUTE_APPLY_SWITCH_CHECK_DEF ((UINT8)0xFF) /*·־_Ĭ*/ -#define ROUTE_TO_LEAD_FLAG_NO ((UINT8)0x55) /*ͨ·ת·־Ч*/ -#define ROUTE_TO_LEAD_FLAG_YES ((UINT8)0xaa) /*ͨ·ת·־Ч*/ - #endif diff --git a/TSCP/src/APP/ciapp/SPKS/SpksDataManage.c b/TSCP/src/APP/ciapp/SPKS/SpksDataManage.c index 0b7425e..5228bb3 100644 --- a/TSCP/src/APP/ciapp/SPKS/SpksDataManage.c +++ b/TSCP/src/APP/ciapp/SPKS/SpksDataManage.c @@ -144,12 +144,12 @@ void SetSpksCutState(const UINT16 spksId, const UINT8 spksCutState) UINT8 SpksDataManageInit(void) { UINT8 ret = CI_ERROR; - UINT16 tmpSpksSum = 0U; - UINT16 ii = 0U; - UINT16 spksId = 0U; + UINT16 tmpSpksSum = 0u; + UINT16 ii = 0u; + UINT16 spksId = 0u; tmpSpksSum = GetTotalSpksCurNum();/*͸ԼSPKSĿ,ڵSPKS_SUM_MAX0*/ - for (ii = 0U; ii < tmpSpksSum; ii++) + for (ii = 0u; ii < tmpSpksSum; ii++) { spksId = GetSpksIdByIndex(ii); spksDataBuff[spksId].spksId = spksId; /*spks ID*/ @@ -162,9 +162,8 @@ UINT8 SpksDataManageInit(void) spksDataBuff[spksId].status = SPKS_STATUS_YES; } spksDataBuff[spksId].cutStatus = SPKS_CUT_NO; /*spks·δ*/ - spksDataBuff[spksId].flockStartNum = 0U; + spksDataBuff[spksId].flockStartNum = 0u; spksDataBuff[spksId].TotalSpksDriveOutDis = TOTALSPKSDRIVE_INVALID;/*Ч*/ - spksDataBuff[spksId].dwSpksBtnPressCycNum = 0U; } ret = CI_SUCCESS; @@ -268,52 +267,4 @@ UINT8 GetDriveOutDisFlag(const UINT16 spksId) /**/ } return ret; -} - -/* -* ȡSPKSťʼ -* ˵const UINT16 spksId SPKS -* ֵSPKSťʼ -* Created By LQ 2025.06.26 -*/ -UINT32 GetSpksPressCycNum(const UINT16 spksId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 dwRetVal = 0U; - - bufIndex = GetSpksConfigBufIndex(spksId); /*ȡ±*/ - - if (bufIndex < SPKS_SUM_MAX) - { - dwRetVal = spksDataBuff[bufIndex].dwSpksBtnPressCycNum; - } - else - { - /**/ - } - - return dwRetVal; -} - -/* -* SPKSťʼ -* ˵const UINT16 spksId SPKS -* const UINT32 dwCycNum ں -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetSpksPressCycNum(const UINT16 spksId, const UINT32 dwCycNum) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetSpksConfigBufIndex(spksId); /*ȡ±*/ - - if (bufIndex < SPKS_SUM_MAX) - { - spksDataBuff[bufIndex].dwSpksBtnPressCycNum = dwCycNum; - } - else - { - /**/ - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/SPKS/SpksDataManage.h b/TSCP/src/APP/ciapp/SPKS/SpksDataManage.h index 49efdde..af743dc 100644 --- a/TSCP/src/APP/ciapp/SPKS/SpksDataManage.h +++ b/TSCP/src/APP/ciapp/SPKS/SpksDataManage.h @@ -23,7 +23,6 @@ typedef struct UINT8 cutStatus; /* spks·״̬ */ UINT32 flockStartNum; /*ʼ*/ UINT8 TotalSpksDriveOutDis; /*SKPKSSPKSָʾƱ־*/ - UINT32 dwSpksBtnPressCycNum; /*SPKSťʼں*/ } SpksDataStruct; extern SpksDataStruct spksDataBuff[SPKS_SUM_MAX]; /* */ @@ -114,23 +113,6 @@ extern "C" { */ UINT8 GetDriveOutDisFlag(const UINT16 spksId); -/* -* ȡSPKSťʼ -* ˵const UINT16 spksId SPKS -* ֵSPKSťʼ -* Created By LQ 2025.06.26 -*/ -UINT32 GetSpksPressCycNum(const UINT16 spksId); - -/* -* SPKSťʼ -* ˵const UINT16 spksId SPKS -* const UINT32 dwCycNum ں -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetSpksPressCycNum(const UINT16 spksId, const UINT32 dwCycNum); - #ifdef __cplusplus }; #endif diff --git a/TSCP/src/APP/ciapp/SPKS/SpksDefine.h b/TSCP/src/APP/ciapp/SPKS/SpksDefine.h index ceecbf1..9b53341 100644 --- a/TSCP/src/APP/ciapp/SPKS/SpksDefine.h +++ b/TSCP/src/APP/ciapp/SPKS/SpksDefine.h @@ -17,7 +17,7 @@ /* SPKSֵ */ #define SPKS_SUM_MAX ((UINT16)500) /* SPKSֵ */ -#define SPKS_MAX_SEC_NUM ((UINT16)150) /* SPKSťӦ */ +#define SPKS_MAX_SEC_NUM ((UINT16)100) /* SPKSťӦ */ #define MJ_MAX_SPKSNUM ((UINT16)15) /* һŽɹSPKS */ #define SPKS_MAX_MJNUM ((UINT16)15) /* һSPKSɹŽ */ #define MJ_SUM_MAX ((UINT16)500) /* Ž̵ֵ */ diff --git a/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.c b/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.c index cbf9f51..9b09620 100644 --- a/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.c @@ -1123,31 +1123,5 @@ UINT8 GetAxisSecBorderProperty(const UINT16 axisSectionId) retVal = CI_ERROR; } - return retVal; -} - -/* -* ȡָIDεCBTC -* ˵const UINT16 axisSectionId ID -* ֵ0x55 CBTC -* 0xAA CBTC -* Created By LQ 2025.08.05 -*/ -UINT8 GetAxisSecCbtcProperty(const UINT16 axisSectionId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 retVal = AXIS_SEC_CBTC_PROPERTY_NO; - - bufIndex = GetAxisSecConfigBufIndex(axisSectionId); /*ȡ±*/ - - if (bufIndex < AXIS_SECTION_SUM_MAX) - { - retVal = AxisSectionConfigDataStru[bufIndex].cAcCbtcAttr; - } - else - { - /**/ - } - return retVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.h b/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.h index 7511d5e..19bc44f 100644 --- a/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Section/AxisSectionConfigDataManage.h @@ -52,7 +52,6 @@ typedef struct S_AxisSectionConfigDataStruct UINT8 cBorderAttr; /*߽*/ UINT8 chAxisLinXian; /*-ǷΪ·-ӵͼLink*/ UINT32 dwAxisTotalLen; /*linkܳ*/ - UINT8 cAcCbtcAttr; /*CBTCԣ0x55-CBTCԣ0xaa-CBTC*/ } AxisSectionConfigDataStruct; extern AxisSectionConfigDataStruct AxisSectionConfigDataStru[AXIS_SECTION_SUM_MAX]; /*ݽṹ,cgh-ϲCID-2539-1˴гʼͳһŵInitAllStaticDataStrнгʼΪں˹*/ @@ -312,15 +311,6 @@ UINT32 GetAxisSecTotalLen(const UINT16 axisSectionId); */ UINT8 GetAxisSecBorderProperty(const UINT16 axisSectionId); -/* -* ȡָIDεCBTC -* ˵const UINT16 axisSectionId ID -* ֵ0x55 CBTC -* 0xAA CBTC -* Created By LQ 2025.08.05 -*/ -UINT8 GetAxisSecCbtcProperty(const UINT16 axisSectionId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.c b/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.c index 7a82247..d102c02 100644 --- a/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.c @@ -2033,7 +2033,7 @@ UINT8 GetAxisSeqFromLinkSeq(UINT16* linkId, UINT16 LinkNum, UINT16 *AxleSgmtId, UINT8 chLoopIndex = 0U; UINT16 szLoopLinkId[AXIS_INCLUDE_LINK_SUM_MAX] = { 0U }; AxisSwitchStruct szLoopSwitchInfo[AXIS_INCLUDE_SWITCH_SUM_MAX] = { 0U }; - UINT8 cFuncSwitch = 0U; + /*μ*/ if ((NULL == linkId) || (0U == LinkNum) || (NULL == AxleSgmtId) || (NULL == AxleSgmtNum) || (acNum >= maxSize)) @@ -2214,18 +2214,11 @@ UINT8 GetAxisSeqFromLinkSeq(UINT16* linkId, UINT16 LinkNum, UINT16 *AxleSgmtId, { /** ˷֧execValidһóɳɹ*/ execValid = CI_ERROR; - cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_ROUTE_DRV_SWITCH_EARLY); + for (cycleAC = 0U; cycleAC < tmpSameLinkOfACCnt; cycleAC++) { /** Ҫ */ - if (FUNC_SWITCH_ON == cFuncSwitch) - { - chCheckStart = FLAG_UNSET; /*޸ȱYF0083-2106*/ - } - else - { - chCheckStart = FLAG_SET; - } + chCheckStart = FLAG_UNSET; /** ȡϵĵϢ*/ tmpSwCntInAC = GetAxisSwitchSum(tmpSameLinkOfACID[cycleAC]); @@ -4300,129 +4293,4 @@ UINT8 GetAgLinkExistRelCgFlag(const UINT16 wLinkId) } return chRtnValue; -} - -/* -* @brief ȡlink -* @param wLinkId -* @return 0 ߱ -* >0 -* by cgh 20250818 -*/ -UINT16 GetLinkSpecialEaAttr(const UINT16 wLinkId) -{ - UINT16 wRtnValue = 0U; - UINT16 wIndex = 0U; - - wIndex = GetLinkIndexById(wLinkId); - - if ((0U < wIndex) && (LINK_SUM_MAX > wIndex)) - { - wRtnValue = g_szLinkConfigData[wIndex].wLinkSpecialEa; - } - else - { - ; /*δ󣬷Ĭֵ*/ - } - - return wRtnValue; -} - -/* -* @brief ȡlinkͷǰ -* @param wLinkId -* @return 0 ʧ -* >0 ͷǰ -* by cgh 20250818 -*/ -UINT32 GetLinkSpecialEaFrontDis(const UINT16 wLinkId) -{ - UINT32 dwRtnValue = 0U; - UINT16 wIndex = 0U; - - wIndex = GetLinkIndexById(wLinkId); - - if ((0U < wIndex) && (LINK_SUM_MAX > wIndex)) - { - dwRtnValue = g_szLinkConfigData[wIndex].dwFrontDis; - } - else - { - ; /*δ󣬷Ĭֵ*/ - } - - return dwRtnValue; -} - -/* -* @brief ȡlinkβ -* @param wLinkId -* @return 0 ʧ -* >0 β -* by cgh 20250818 -*/ -UINT32 GetLinkSpecialEaBehindDis(const UINT16 wLinkId) -{ - UINT32 dwRtnValue = 0U; - UINT16 wIndex = 0U; - - wIndex = GetLinkIndexById(wLinkId); - - if ((0U < wIndex) && (LINK_SUM_MAX > wIndex)) - { - dwRtnValue = g_szLinkConfigData[wIndex].dwBehindDis; - } - else - { - ; /*δ󣬷Ĭֵ*/ - } - - return dwRtnValue; -} - -/** -* @brief ݲѯȡlinkʣƫ -* @param struct_PathPoint pPoint LINKϢ -* @param UINT8 chDir ѯ -* @return UINT32_MAX ȡʧ -* ȡֵ linkʣƫ -* by cgh 20250819 -*/ -UINT32 GetRelDirLinkOffset(struct_PathPoint pPoint, UINT8 chDir) -{ - UINT32 dwRtn = UINT32_MAX; - - if ((DIR_SAME == chDir) || (DIR_CONVERT == chDir)) - { - dwRtn = GetLinkLengthById(pPoint.wLinkId); - if (UINT32_MAX != dwRtn) - { - if (((0U == pPoint.dwOffset) && (DIR_SAME == chDir)) - || ((dwRtn == pPoint.dwOffset) && (DIR_CONVERT == chDir))) - { - ; /*LINK*/ - } - else - { - if (DIR_SAME == chDir) - { - dwRtn -= pPoint.dwOffset; - } - else - { - dwRtn = pPoint.dwOffset; - } - } - } - else - { - ; - } - } - else - { - ; /*ʧ*/ - } - - return dwRtn; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.h b/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.h index 65efb29..0583327 100644 --- a/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Section/LinkConfigDataManage.h @@ -88,9 +88,6 @@ typedef struct UINT8 chRelPhySecIsAGorBG; /*LinkΪAG/BG0x55 AG;0xAA BG;0xFF AGBG*/ UINT8 chExistRelCGFlag; /*LINKǷڹCG־*/ UINT16 wBGLinkRelAGLink; /*BGlinkAGlink*/ - UINT16 wLinkSpecialEa; /*LINK*/ - UINT32 dwFrontDis; /*LINKͷǰ*/ - UINT32 dwBehindDis; /*LINKβ*/ }LinkDataConfigStru; typedef struct @@ -731,43 +728,6 @@ UINT8 GetLinkTmlAxleSecOccSta(const UINT16 wLinkId); */ UINT8 GetAgLinkExistRelCgFlag(const UINT16 wLinkId); -/* -* @brief ȡlink -* @param wLinkId -* @return 0 ߱ -* >0 -* by cgh 20250818 -*/ -UINT16 GetLinkSpecialEaAttr(const UINT16 wLinkId); - -/* -* @brief ȡlinkͷǰ -* @param wLinkId -* @return 0 ʧ -* >0 ͷǰ -* by cgh 20250818 -*/ -UINT32 GetLinkSpecialEaFrontDis(const UINT16 wLinkId); - -/* -* @brief ȡlinkβ -* @param wLinkId -* @return 0 ʧ -* >0 β -* by cgh 20250818 -*/ -UINT32 GetLinkSpecialEaBehindDis(const UINT16 wLinkId); - -/** -* @brief ݲѯȡlinkʣƫ -* @param struct_PathPoint pPoint LINKϢ -* @param UINT8 chDir ѯ -* @return UINT32_MAX ȡʧ -* ȡֵ linkʣƫ -* by cgh 20250819 -*/ -UINT32 GetRelDirLinkOffset(struct_PathPoint pPoint, UINT8 chDir); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.c b/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.c index 0f5bed2..5dbedea 100644 --- a/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.c +++ b/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.c @@ -4967,15 +4967,14 @@ void SetLogSecLogLockState(const UINT16 wLogSectionId, const UINT8 chLogLockStat LogicSectionDataStru[wBufIndex].LogSecLogLockDir = chLogLockDir; } else if (LOG_SECTION_LOGLOCK_EXCEPT == chLogLockState) - { + { /**/ LogicSectionDataStru[wBufIndex].LogSecLogLockState = chLogLockState; LogicSectionDataStru[wBufIndex].LogSecLogLockDir = chLogLockDir; - - SetLogSecRelAllLogRouteState(wLogSectionId); } else { - ; /*ɴ֧*/ + LogicSectionDataStru[wBufIndex].LogSecLogLockState = chLogLockState; + LogicSectionDataStru[wBufIndex].LogSecLogLockDir = chLogLockDir; } } else @@ -5731,43 +5730,4 @@ void SetLogSecRLockRouteIdHlht(UINT16 wLogSectionId, const UINT16 routeId) { /**/ } -} - -/* -* ߼ι߼·״̬ -* ˵ const UINT16 wLogSectionId, ߼ID -* ֵ VOID -* by cgh 20250416 -*/ -void SetLogSecRelAllLogRouteState(const UINT16 wLogSectionId) -{ - UINT16 wBufIndex = 0U; /*±*/ - UINT8 ii = 0U; - UINT8 chLogSecLockBelLogRouteSum = 0U;/*߼߼·*/ - LogSecLockBelLogRouteStruct* szLogSecLockBelLogRouteData = NULL;/*߼߼·*/ - - wBufIndex = GetlogSectionBufIndex(wLogSectionId); /*ȡ±*/ - if (LOGIC_SECTION_SUM_MAX > wBufIndex) - { - /*ȡ߼߼·*/ - chLogSecLockBelLogRouteSum = GetLogSecLockBelLogRouteSum(wLogSectionId); - szLogSecLockBelLogRouteData = GetLogSecLockBelLogRouteData(wLogSectionId); - if (NULL != szLogSecLockBelLogRouteData) - { - for (ii = 0U; ii < chLogSecLockBelLogRouteSum; ii++) - { - (void)SetLogicalRouteState(szLogSecLockBelLogRouteData[ii].wLogSecLockBelLogRouteId, ROUTE_LOGICAL_STATE_UNLOCKDELAY); - /*߼·״̬ʱʼںţʱȻΪ0˴ͬ*/ - SetLogRouteDelayErrLockStartCyc(szLogSecLockBelLogRouteData[ii].wLogSecLockBelLogRouteId, 0U); - } - } - else - { - ; /*ִ*/ - } - } - else - { - - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.h b/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.h index 9402c7a..f76d995 100644 --- a/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.h +++ b/TSCP/src/APP/ciapp/Section/LogicSectionDataManage.h @@ -1294,14 +1294,6 @@ void SetLogSecPLockRouteIdHlht(UINT16 wLogSectionId, const UINT16 routeId); */ void SetLogSecRLockRouteIdHlht(UINT16 wLogSectionId, const UINT16 routeId); -/* -* ߼ι߼·״̬ -* ˵ const UINT16 wLogSectionId, ߼ID -* ֵ VOID -* by cgh 20250416 -*/ -void SetLogSecRelAllLogRouteState(const UINT16 wLogSectionId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.c b/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.c index c0ec92e..1358e09 100644 --- a/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.c +++ b/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.c @@ -1565,49 +1565,4 @@ void SetPhyPossibleArbTag(const UINT16 wPhySecId, UINT8 chArbTag) { PhysicalSectionConfigDataStru[bufIndex].chArbPossibleTag = chArbTag; } -} - -/* -* ͨϵͳŻȡID -* ˵ const UINT8 chAxleId ϵͳID -* ˵ const UINT16 wIndexInAxle, ϵͳ -* ֵ 0:ʧ -* >0:ID -* by cgh 20250415 -*/ -UINT16 GetPhyIdByIndexInAxle(const UINT8 chAxleId, const UINT16 wIndexInAxle) -{ - UINT16 wPhyCurNum = 0U; /*ǰ*/ - UINT16 ii = 0U; - UINT16 wCurPhyId = 0U; /*ǰID*/ - UINT16 wPhyIndex = 0U; /**/ - UINT16 wReval = 0U; /*صID*/ - - if (AXIS_TO_CI_SECTION_SUM_MAX > wIndexInAxle) - { - wPhyCurNum = GetPhySecCurSum(); /**/ - - for (ii = 0U; ii < wPhyCurNum; ii++) - { - wCurPhyId = GetPhySecId(ii); - wPhyIndex = GetPhySecConfigBufIndex(wCurPhyId);/*±*/ - - if ((PhysicalSectionConfigDataStru[wPhyIndex].wIndexInAxle == wIndexInAxle) - && (PhysicalSectionConfigDataStru[wPhyIndex].BelongAxleSysID == chAxleId)) - { - wReval = wCurPhyId; - break; - } - else - { - /**/ - } - } - } - else - { - /**/ - } - - return wReval; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.h b/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.h index fdb6af5..c60f321 100644 --- a/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.h +++ b/TSCP/src/APP/ciapp/Section/PhysicalSectionConfigDataManage.h @@ -72,7 +72,6 @@ typedef struct S_PhysicalSectionConfigData UINT16 AdjacentPhySecBuf[PHYSEC_ADJACENT_SEC_SUM_MAX]; /*ֱ*/ UINT16 IndirectNearPhySecBuf[PHYSEC_INDIRECTNEAR_SEC_SUM_MAX]; /*λڼڽ*/ UINT8 chArbPossibleTag; /*ǷArb*/ - UINT16 wIndexInAxle; /*ڼϵͳе*/ } PhysicalSectionConfigDataStruct; @@ -501,17 +500,6 @@ UINT8 GetPhyPossibleArbTag(const UINT16 wPhySecId); * Create fan 20240822 */ void SetPhyPossibleArbTag(const UINT16 wPhySecId, UINT8 chArbTag); - -/* -* ͨϵͳŻȡID -* ˵ const UINT8 chAxleId ϵͳID -* ˵ const UINT16 wIndexInAxle, ϵͳ -* ֵ 0:ʧ -* >0:ID -* by cgh 20250415 -*/ -UINT16 GetPhyIdByIndexInAxle(const UINT8 chAxleId, const UINT16 wIndexInAxle); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.c b/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.c index 6ac7be5..5e17407 100644 --- a/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.c +++ b/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.c @@ -2665,7 +2665,7 @@ UINT16 GetZFWRelayId_UseVirCI(const UINT16 ciId,UINT8 virCIid) * ȡָIDεǰCTUTռ״̬ * ˵ const UINT16 phySecId, ID * ֵ 0: ȡʧ -* 0x55 ޳ռ 0xaaUT 0xbbCT +* >0: ǰռ״̬ */ UINT8 GetPhySecCurCtOrUtOccupyState(const UINT16 phySecId) { @@ -2678,7 +2678,6 @@ UINT8 GetPhySecCurCtOrUtOccupyState(const UINT16 phySecId) UINT16 ii = 0u; /*α*/ UINT16 kk = 0u; /*α*/ UINT8 retVal = CI_ERROR; - UINT8 chFindOccupy = CI_ERROR; axisSecSum = GetPAxisSectionSum(phySecId); /*ȡΰļĿ*/ axisSecIdBuf = GetPAxisSectionIdBuf(phySecId); /*ȡΰļ*/ @@ -2696,13 +2695,11 @@ UINT8 GetPhySecCurCtOrUtOccupyState(const UINT16 phySecId) if (LOGICSECTION_OCCUPY_CT == occupyState) { retVal = LOGICSECTION_OCCUPY_CT; - chFindOccupy = CI_SUCCESS; break; } else if(LOGICSECTION_OCCUPY_UT == occupyState) { retVal = LOGICSECTION_OCCUPY_UT; - chFindOccupy = CI_SUCCESS; } else { @@ -2715,15 +2712,7 @@ UINT8 GetPhySecCurCtOrUtOccupyState(const UINT16 phySecId) break; } } - if (CI_ERROR == chFindOccupy) - { - /*м߼ξռ*/ - retVal = LOGICSECTION_OCCUPY_NO; - } - else - { - ;/*ctutռ*/ - } + return retVal; } @@ -2908,176 +2897,6 @@ UINT8 GetPhySecPreResetState(const UINT16 phySecId) return retVal; } -/* -* ָIDεǰֱӸλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chResetState, ֱӸλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecDirectResetState(const UINT16 wPhySectionId, const UINT8 chResetState) -{ - UINT16 wBufIndex = 0U; /*±*/ - - wBufIndex = GetPhySecConfigBufIndex(wPhySectionId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - if ((PHYSICAL_DIRECT_RESET_YES == chResetState) || (PHYSICAL_DIRECT_RESET_NO == chResetState)) - { - /*ֱӸλ״̬*/ - PhysicalSectionDataStru[wBufIndex].chDirectResetRst = chResetState; - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡָIDμֱӸλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰֱӸλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecDirectResetState(const UINT16 wPhySecId) -{ - UINT16 wBufIndex = 0U; /*±*/ - UINT8 chRetVal = CI_ERROR; - - wBufIndex = GetPhySecConfigBufIndex(wPhySecId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - chRetVal = PhysicalSectionDataStru[wBufIndex].chDirectResetRst; /*ȡμֱӸλ״̬*/ - } - else - { - chRetVal = CI_ERROR; - } - - return chRetVal; -} - -/* -* ָIDεǰԤλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chPreResetBack, Ԥλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecPreResetBack(const UINT16 wPhySectionId, const UINT8 chPreResetBack) -{ - UINT16 wBufIndex = 0U; /*±*/ - - wBufIndex = GetPhySecConfigBufIndex(wPhySectionId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - if ((PHY_RESET_BACK_RECIVE_YES == chPreResetBack) || (PHY_RESET_BACK_RECIVE_NO == chPreResetBack)) - { - PhysicalSectionDataStru[wBufIndex].chPreResetBack = chPreResetBack; /*Ԥλ״̬*/ - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡָIDμԤλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰԤλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecPreResetBack(const UINT16 wPhySecId) -{ - UINT16 wBufIndex = 0U; /*±*/ - UINT8 chRetVal = CI_ERROR; - - wBufIndex = GetPhySecConfigBufIndex(wPhySecId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - chRetVal = PhysicalSectionDataStru[wBufIndex].chPreResetBack; /*ȡμԤλ״̬*/ - } - else - { - chRetVal = CI_ERROR; - } - - return chRetVal; -} - -/* -* ָIDεǰֱӸλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chResetBack, ֱӸλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecDirectResetBack(const UINT16 wPhySectionId, const UINT8 chResetBack) -{ - UINT16 wBufIndex = 0U; /*±*/ - - wBufIndex = GetPhySecConfigBufIndex(wPhySectionId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - if ((PHY_RESET_BACK_RECIVE_YES == chResetBack) || (PHY_RESET_BACK_RECIVE_NO == chResetBack)) - { - /*ֱӸλ״̬*/ - PhysicalSectionDataStru[wBufIndex].chDirectResetBack = chResetBack; - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡָIDμֱӸλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰֱӸλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecDirectResetBack(const UINT16 wPhySecId) -{ - UINT16 wBufIndex = 0U; /*±*/ - UINT8 chRetVal = CI_ERROR; - - wBufIndex = GetPhySecConfigBufIndex(wPhySecId); /*ȡ±*/ - - if (wBufIndex < PHYSICAL_SECTION_SUM_MAX) - { - chRetVal = PhysicalSectionDataStru[wBufIndex].chDirectResetBack; /*ȡμֱӸλ״̬*/ - } - else - { - chRetVal = CI_ERROR; - } - - return chRetVal; -} - /**********JumpLockStateToZC******/ /* @@ -4030,11 +3849,11 @@ void SetPhySecInHumidRailFlag(const UINT16 phySectionId, const UINT8 cInHumidRai /* * ʪʪ־ -* ˵const UINT16 wAreaHumidRailId ʪID +* ˵const UINT32 dwAreaHumidRailId ʪID * ֵ * Created By LQ 2024.09.20 */ -void SetPlatFormRelPSHumidRailFlag(const UINT16 wAreaHumidRailId) +void SetPlatFormRelPSHumidRailFlag(const UINT32 dwAreaHumidRailId) { UINT8 ii = 0U; UINT16 jj = 0U; @@ -4048,10 +3867,10 @@ void SetPlatFormRelPSHumidRailFlag(const UINT16 wAreaHumidRailId) UINT8 cPhySecBelongCiId = 0U; /*SPKSε*/ UINT8 cLocalCiId = 0U; /*CI ID*/ - if (0U != wAreaHumidRailId) + if (0U != dwAreaHumidRailId) { cLocalCiId = GetSystemParaLocalCiId(); - cPlatFormRelSpksNum = GetPlatFormRelSpksNum(wAreaHumidRailId, szPlatFormRelSpksId); /*ȡվ̨SPKS*/ + cPlatFormRelSpksNum = GetPlatFormRelSpksNum((UINT16)dwAreaHumidRailId, szPlatFormRelSpksId); /*ȡվ̨SPKS*/ if (CI_ERROR != cPlatFormRelSpksNum) { @@ -4188,49 +4007,4 @@ void SetSecColOccupyStartCycNum(const UINT16 phySectionId, const UINT32 startCyc { /**/ } -} - -/* -* ûͨCIָIDCT/UTռ״̬ -* ˵const UINT16 phySecId, ID - const UINT8 flag ֮ǰCTUTռ״̬ -* ֵ -* Created By LQ 2025.05.28 -*/ -void SetHlhtPhySecCtOrUtOccState(const UINT16 phySecId, const UINT8 flag) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 dwCurCycNum = 0U; - - bufIndex = GetPhySecConfigBufIndex(phySecId); /*ȡ±*/ - - if ((bufIndex < PHYSICAL_SECTION_SUM_MAX) && ((LOGICSECTION_OCCUPY_UT == flag) || (LOGICSECTION_OCCUPY_CT == flag) || (LOGICSECTION_OCCUPY_NO == flag))) - { - /*CT/UTռʼ*/ - if (LOGICSECTION_OCCUPY_NO == flag) - { - PhysicalSectionDataStru[bufIndex].UtOrCtOccuStartCycNum = 0U; /*УCT/UTռʼ*/ - } - else - { - if ((PhysicalSectionDataStru[bufIndex].UtOrCtOccFlag != flag) - && ((PHYSICAL_SECTION_LOCK_NORMAL == PhysicalSectionDataStru[bufIndex].LockState) || (PHYSICAL_SECTION_LOCK_EXCEPT == PhysicalSectionDataStru[bufIndex].LockState))) - { - dwCurCycNum = Get2oo2CurCycleNum(); - PhysicalSectionDataStru[bufIndex].UtOrCtOccuStartCycNum = dwCurCycNum; /*CT/UTռʼ*/ - } - else - { - /**/ - } - } - - /*CT/UTռ״̬*/ - PhysicalSectionDataStru[bufIndex].UtOrCtOccFlag = flag; - - } - else - { - /**/ - } } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.h b/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.h index e9eaa03..9ed0d12 100644 --- a/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.h +++ b/TSCP/src/APP/ciapp/Section/PhysicalSectionDataManage.h @@ -70,9 +70,6 @@ typedef struct S_PhysicalSectionDataStruct UINT8 StopCheckFlag; /*ֹͣ־(δ/) (ֶ̬)*/ UINT8 JumpLockState; /*Ծ״̬ (ֶ̬)*/ UINT8 PhySecPreResetState; /*Ԥλ״̬ (ֶ̬)*/ - UINT8 chPreResetBack; /*Ԥλ*/ - UINT8 chDirectResetRst; /*ֱӸλ*/ - UINT8 chDirectResetBack; /*ֱӸλ*/ UINT32 SecJumpDelayUnlockStartCycNum; /*Ծʱʼ (ֶ̬)*/ UINT8 JumpLockDelayUnlockFlag; /*Ծʱñ־ֶ̬Σ*/ UINT32 LockDelayStartCycNum; /* ʱʼں(ֶ̬) */ @@ -680,7 +677,7 @@ UINT32 GetSecUtOrCtOccuStartCycNum(const UINT16 phySectionId); * ȡָIDεǰCTUTռ״̬ * ˵ const UINT16 phySecId, ID * ֵ 0: ȡʧ -* 0x55 ޳ռ 0xaaUT 0xbbCT +* >0: ǰռ״̬ */ UINT8 GetPhySecCurCtOrUtOccupyState(const UINT16 phySecId); @@ -726,60 +723,6 @@ void SetPhySecPreResetState(const UINT16 phySectionId, const UINT8 preResetState */ UINT8 GetPhySecPreResetState(const UINT16 phySecId); -/* -* ָIDεǰֱӸλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chResetState, ֱӸλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecDirectResetState(const UINT16 wPhySectionId, const UINT8 chResetState); - -/* -* ȡָIDμֱӸλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰֱӸλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecDirectResetState(const UINT16 wPhySecId); - -/* -* ָIDεǰԤλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chPreResetBack, Ԥλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecPreResetBack(const UINT16 wPhySectionId, const UINT8 chPreResetBack); - -/* -* ȡָIDμԤλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰԤλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecPreResetBack(const UINT16 wPhySecId); - -/* -* ָIDεǰֱӸλ״̬ -* ˵ const UINT16 wPhySectionId, ID -* const UINT8 chResetBack, ֱӸλ״̬ -* ֵ -* by cgh 20250326 -*/ -void SetPhySecDirectResetBack(const UINT16 wPhySectionId, const UINT8 chResetBack); - -/* -* ȡָIDμֱӸλ״̬ -* ˵ const UINT16 wPhySecId, ID -* ֵ 0: ȡʧ -* >0: ǰֱӸλ״̬ -* by cgh 20250326 -*/ -UINT8 GetPhySecDirectResetBack(const UINT16 wPhySecId); - /* * ȡָIDθZCԾ״̬ @@ -1040,11 +983,11 @@ void SetPhySecInHumidRailFlag(const UINT16 phySectionId, const UINT8 cInHumidRai /* * ʪʪ־ -* ˵const UINT16 dwAreaHumidRailId ʪID +* ˵const UINT32 dwAreaHumidRailId ʪID * ֵ * Created By LQ 2024.09.20 */ -void SetPlatFormRelPSHumidRailFlag(const UINT16 dwAreaHumidRailId); +void SetPlatFormRelPSHumidRailFlag(const UINT32 dwAreaHumidRailId); /* * ȡָIDιǷ߱ARB״̬ @@ -1070,15 +1013,6 @@ UINT32 GetSecColOccupyStartCycNum(const UINT16 phySectionId); */ void SetSecColOccupyStartCycNum(const UINT16 phySectionId, const UINT32 startCycNum); -/* -* ûͨCIָIDCT/UTռ״̬ -* ˵const UINT16 phySecId, ID - const UINT8 flag ֮ǰCTUTռ״̬ -* ֵ -* Created By LQ 2025.05.28 -*/ -void SetHlhtPhySecCtOrUtOccState(const UINT16 phySecId, const UINT8 flag); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Section/SectionDefine.h b/TSCP/src/APP/ciapp/Section/SectionDefine.h index 6c113cf..93f8746 100644 --- a/TSCP/src/APP/ciapp/Section/SectionDefine.h +++ b/TSCP/src/APP/ciapp/Section/SectionDefine.h @@ -24,7 +24,7 @@ #define AXIS_INCLUDE_LINK_SUM_MAX ((UINT16)5) /*ΰLINKֵ*/ #define LOGSEC_INCLUDE_LINK_SUM_MAX ((UINT16)8) /*߼ΰLINKֵ*/ #define PHYSICAL_INCLUDE_SWITCH_SUM_MAX ((UINT16)10) /*ΰĵֵ*/ -#define SEC_INVASECT_N_CONDSWIT_SUM_MAX ((UINT16)20) /*ΰֵ*/ +#define SEC_INVASECT_N_CONDSWIT_SUM_MAX ((UINT16)12) /*ΰֵ*/ #define LOGSEC_INV_N_CONDSWIT_SUM_MAX ((UINT16)8) /*߼ΰֵ*/ #define LINK_SUM_MAX ((UINT16)1300) /*LINKֵ*//* add 2022.02.28 */ #define LOGSEC_INCLUDE_AXIS_SUM_MAX ((UINT16)8) /*߼ΰļֵ*//* add 20220919 TIOC5.0*/ @@ -204,10 +204,6 @@ #define PHYSICAL_SECTION_PRE_RESET_YES ((UINT8)0x55) /*Ԥλ*/ #define PHYSICAL_SECTION_PRE_RESET_NO ((UINT8)0xaa) /*δԤλ*/ -/*λ״̬*/ -#define PHYSICAL_DIRECT_RESET_YES ((UINT8)0x55U) /*ֱӸλ*/ -#define PHYSICAL_DIRECT_RESET_NO ((UINT8)0xaaU) /*δֱӸλ*/ - #define AXIS_SECTION_JUMPLOCK_APPLY_NO ((UINT8)0x55) /*Ծ*/ #define AXIS_SECTION_JUMPLOCK_APPLY_YES ((UINT8)0xAA) /*Ծ*/ @@ -356,12 +352,4 @@ #define PHY_SECTION_ARB_NO ((UINT8)0x55) /*δARB*/ #define PHY_SECTION_ARB_YES ((UINT8)0xaa) /*ARB*/ -/*Ḵλ*/ -#define PHY_RESET_BACK_RECIVE_YES ((UINT8)0x55U) /*յḴλ*/ -#define PHY_RESET_BACK_RECIVE_NO ((UINT8)0xaaU) /*δյḴλ*/ - -/*CBTC*/ -#define AXIS_SEC_CBTC_PROPERTY_YES ((UINT8)0x55) /*ξCBTCԣlinkCBTCԣ*/ -#define AXIS_SEC_CBTC_PROPERTY_NO ((UINT8)0xaa) /*βCBTCԣlinkCBTCԣ*/ - #endif diff --git a/TSCP/src/APP/ciapp/Signal/SignalDataManage.c b/TSCP/src/APP/ciapp/Signal/SignalDataManage.c index 8f50e36..a9072a4 100644 --- a/TSCP/src/APP/ciapp/Signal/SignalDataManage.c +++ b/TSCP/src/APP/ciapp/Signal/SignalDataManage.c @@ -1574,13 +1574,12 @@ UINT8 SetNearCISignalCurColor(const UINT16 signalId, const UINT8 curColor) { UINT16 bufIndex = 0u; /*±*/ UINT8 localCi = 0u;/*ID*/ - UINT8 belongCiId = 0u;/*źŻID*/ + UINT8 belongCiId = 0u;/*·ID*/ UINT8 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ + + bufIndex = GetSignalConfigBufIndex(signalId); /*ȡ±*/ localCi = GetSystemParaLocalCiId();/*ID*/ belongCiId = GetSignalBelongCiId(signalId);/*ȡźŻ*/ - if(localCi !=belongCiId) { if (bufIndex < SIGNAL_SUM_MAX) @@ -1591,7 +1590,7 @@ UINT8 SetNearCISignalCurColor(const UINT16 signalId, const UINT8 curColor) } else { - reVal = CI_ERROR; + reVal = CI_ERROR; } } else @@ -1600,7 +1599,6 @@ UINT8 SetNearCISignalCurColor(const UINT16 signalId, const UINT8 curColor) } return reVal; } - /* * ȡָIDźŻ֮ǰʾɫ * ˵ const UINT16 signalId, źŻID @@ -1686,10 +1684,12 @@ void SetSignalCurDriveColor(const UINT16 signalId, const UINT8 driveColor) UINT8 localCiPattern = CI_PATTERN_TRADITIONAL; UINT8 chDriveColor = SIGNAL_DRIVECOLOUR_RED; UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ + bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ curDrvColor = GetSignalCurDriveColor(signalId);/*ȡǰɫ*/ sigDrvEnable = GetSignalDrvEnable(signalId);/*ȡźŻǷ־*/ sigVirtAttr = GetSignalVirtualAttr(signalId);/*ȡźŻ*/ + localCiPattern = GetLocalCiPattern(); if (CI_PATTERN_FULL_ELECTRONIC == localCiPattern) { @@ -1788,8 +1788,6 @@ void SetSignalCurDriveColor(const UINT16 signalId, const UINT8 driveColor) {/*źɫIJҸɫЧʱ,ɫʼں,±֮ǰɫ.δΪ˽̻ʱ,ڼֻƵƵ*/ SignalDataStru[bufIndex].DriveNewSigStartCycNum = Get2oo2CurCycleNum(); SignalDataStru[bufIndex].OldDriveColor = SignalDataStru[bufIndex].PreDriveColor; - /*OCɼȫ ɼȫʼں*/ - SetOcSignalStartCycNum(signalId, 0U); } else { @@ -1884,26 +1882,6 @@ UINT8 GetSignalWhiteDsBreakFlag(const UINT16 signalId) return reVal; } -/* -* ȡָIDźŻ˿˿־ -* ˵ const UINT16 signalId, źŻID -* ֵ 0: ȡʧ -* >0: ˿־ -*/ -UINT8 GetSignalBlueDsBreakFlag(const UINT16 signalId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡ±*/ - - if (SIGNAL_SUM_MAX > bufIndex) - { - reVal = SignalDataStru[bufIndex].BlueDsBreakFlag; - } - return reVal; -} - /* * ȡָIDźŻƵ˿˿־ * ˵ const UINT16 signalId, źŻID @@ -3616,7 +3594,7 @@ UINT8 RefreshSignalLightUpState(void) chFlag = GetSignalShine(wSignalId); if ((UINT16_MAX == wSignalId) - || (MAX_SIGNAL_LIGHTUPLINK_NUM < wSignalLightUpLinkIdSum) + || (UINT16_MAX == wSignalLightUpLinkIdSum) || (NULL == pSignalLightUpLinkIdBuff) || ((DIR_SAME != chDir) && (DIR_CONVERT != chDir))) { @@ -3644,7 +3622,6 @@ UINT8 RefreshSignalLightUpState(void) ; /*ûз任㣬DZ䷽*/ } } - else { ; /*linkⷽһlinkҪת*/ } @@ -3750,7 +3727,7 @@ UINT8 RefreshSignalLightUpState(void) chTransmitStat = GetCiTransmitState(CI_SYSTEM_TYPE_CI, chLinkOcId); dwLeftLen = dwDdLen - dwUsedLen; - if ((TRANSMIT_STATE_GOOD != chTransmitStat) || ((UINT32_MAX != strCfpOther.dwDis) && (dwLeftLen <= strCfpOther.dwDis))) + if ((TRANSMIT_STATE_GOOD != chTransmitStat) || ((UINT32_MAX != strCfpOther.dwDis) && (dwLeftLen < strCfpOther.dwDis))) { ; /*ͨŲãTIOCгռãѳƾ룬õνӽгID*/ } @@ -3802,7 +3779,7 @@ UINT8 RefreshSignalLightUpState(void) (void)SetSignalLightExtinctState(wSignalId, SIGNAL_LIGHT_EXTICT_STATE_NO); } - else if ((UINT32_MAX != strCfpOther.dwDis) && (dwLeftLen <= strCfpOther.dwDis)) + else if ((UINT32_MAX != strCfpOther.dwDis) && (dwLeftLen < strCfpOther.dwDis)) {/* TIOCгռãΪVBTCѳƾ룬 */ SetSignalLightUpTrainId(wSignalId, 0U); if (SIGNAL_LIGHT_CONFIG_CBTC_CLOSE != chFlag) /*RCгռãΪVBTCѳƾ룬źŻΪ̬ʱ߼*/ @@ -4050,20 +4027,21 @@ UINT16 GetEnginVehicCroCloBelongRoute(const UINT16 signalId) void OcSetSignalCurColor(const UINT16 signalId, const UINT8 curColor) { UINT16 bufIndex = 0u; /*±*/ + UINT8 signalColorValid = 0u; UINT8 signalState = 0u; + UINT8 funSwitchGreenYellow = GetCiFunctionSwitchConfig(CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow);/*ʾ̻ƹܿǷ*/ bufIndex = GetSignalConfigBufIndex(signalId); /*ȡ±*/ if(SIGNAL_SUM_MAX > bufIndex) { /*źŻǰɫ*/ - if (SIGNAL_SHOWCOLOUR_REDFAULT == curColor) + SignalDataStru[bufIndex].CurColor = curColor; + signalColorValid = CheckSignalShowColorValid(curColor); + /*ɫЧ*/ + if(CI_SUCCESS == signalColorValid) { - SignalDataStru[bufIndex].CurColor = SIGNAL_SHOWCOLOUR_REDBREAK; - } - else - { - SignalDataStru[bufIndex].CurColor = curColor; + SignalDataStru[bufIndex].DsBreakFlag = SIGNAL_DS_BREAK_NO;/*δ˿־*/ } /*Բͬɫö˿״̬*/ switch(curColor) @@ -4105,7 +4083,14 @@ void OcSetSignalCurColor(const UINT16 signalId, const UINT8 curColor) case SIGNAL_SHOWCOLOUR_GREENCLOSE: case SIGNAL_SHOWCOLOUR_GREENYELLOWCLOSE: case SIGNAL_SHOWCOLOUR_YELLOWCLOSE: - /*ϴGetOcSignalColor*/ + if (FUNC_SWITCH_ON == funSwitchGreenYellow) + { + SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_NO;/*δ˿־*/ + } + else + { + ; /**/ + } break; /*ƶ*/ case SIGNAL_SHOWCOLOUR_YELLOWBREAK: @@ -4119,13 +4104,13 @@ void OcSetSignalCurColor(const UINT16 signalId, const UINT8 curColor) case SIGNAL_SHOWCOLOUR_REDBREAK: SignalDataStru[bufIndex].DsBreakFlag = SIGNAL_DS_BREAK_YES;/*ö˿־*/ break; - case SIGNAL_SHOWCOLOUR_REDFAULT: - /*ͨжϲ־*/ - break; /*׶*/ case SIGNAL_SHOWCOLOUR_WHITEBREAK: SignalDataStru[bufIndex].WhiteDsBreakFlag = SIGNAL_DS_BREAK_YES;/*ö˿־*/ break; + case SIGNAL_SHOWCOLOUR_BLUEBREAK: + SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES;/*ö˿־*/ + break; default: /*ɴ֧*/ break; @@ -5103,532 +5088,4 @@ void SetSignalInHumidRailFlag(const UINT16 signalId, const UINT8 cInHumidRailFla { /*μʧܣ*/ } -} - -/* -* ָIDźŻǰ˿־ -* ˵ const UINT16 signalId, źŻID -* ֵ -bit71ʾںƶ˿0δ˿ -bit61ʾƶ˿0δ˿ -bit5~bit411ʾ̵ƶ˿00δ˿Ƿ -bit3~bit211ʾڻƵƶ˿00δ˿Ƿ -bit1~bit911ʾڰ׵ƶ˿00δ˿Ƿ -* Created By fan 2025.05.06 -*/ -UINT8 GetSignalCurBreakFlag(const UINT16 signalId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 reVal = 0U; - UINT8 chDsFlag = 0U; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - /*ȡƶ˿־*/ - chDsFlag = GetSignalDsBreakFlag(signalId); - if (SIGNAL_DS_BREAK_YES== chDsFlag) - { - reVal |= SIGNAL_DS_BREAK_RED; - } - else - { - ; /**/ - } - /*ȡƶ˿־*/ - chDsFlag = GetSignalBlueDsBreakFlag(signalId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - reVal |= SIGNAL_DS_BREAK_BLUE; - } - else - { - ; /**/ - } - /*ȡ̵ƶ˿־*/ - chDsFlag = GetSignalGreenDsBreakFlag(signalId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - reVal |= SIGNAL_DS_BREAK_GREEN; - } - else - { - ; /**/ - } - /*ȡƵƶ˿־*/ - chDsFlag = GetSignalYellowDsBreakFlag(signalId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - reVal |= SIGNAL_DS_BREAK_YELLOW; - } - else - { - ; /**/ - } - /*ȡ׵ƶ˿־*/ - chDsFlag = GetSignalWhiteDsBreakFlag(signalId); - if (SIGNAL_DS_BREAK_YES == chDsFlag) - { - reVal |= SIGNAL_DS_BREAK_WHITE; - } - else - { - ; /**/ - } - } - else - { - reVal = 0xFFU; - } - return reVal; -} - -/* -* ָIDźŻǰ˿־ -* ˵ const UINT16 signalId, źŻID -* const UINT8 curDsFlag, Ͷ˿־ -* ֵ -* Created By fan 2025.05.06 -*/ -void SetNearCISignalCurDsFlag(const UINT16 signalId, const UINT8 curDsFlag) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT8 localCi = 0u;/*ID*/ - UINT8 belongCiId = 0u;/*źŻID*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - localCi = GetSystemParaLocalCiId();/*ID*/ - belongCiId = GetSignalBelongCiId(signalId);/*ȡźŻ*/ - - if (localCi != belongCiId) - { - if (bufIndex < SIGNAL_SUM_MAX) - { - if (SIGNAL_DS_BREAK_RED == (curDsFlag & SIGNAL_DS_BREAK_RED)) - { - /*ںϱ־*/ - SignalDataStru[bufIndex].DsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - /*ϱ־*/ - SignalDataStru[bufIndex].DsBreakFlag = SIGNAL_DS_BREAK_NO; - } - - if (SIGNAL_DS_BREAK_BLUE == (curDsFlag & SIGNAL_DS_BREAK_BLUE)) - { - /*ϱ־*/ - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - /*ϱ־*/ - SignalDataStru[bufIndex].BlueDsBreakFlag = SIGNAL_DS_BREAK_NO; - } - - if (SIGNAL_DS_BREAK_GREEN == (curDsFlag & SIGNAL_DS_BREAK_GREEN)) - { - /*̶ϱ־*/ - SignalDataStru[bufIndex].GreenDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - /*̶ϱ־*/ - SignalDataStru[bufIndex].GreenDsBreakFlag = SIGNAL_DS_BREAK_NO; - } - - if (SIGNAL_DS_BREAK_YELLOW == (curDsFlag & SIGNAL_DS_BREAK_YELLOW)) - { - /*ڻƶϱ־*/ - SignalDataStru[bufIndex].YellowDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - /*ƶϱ־*/ - SignalDataStru[bufIndex].YellowDsBreakFlag = SIGNAL_DS_BREAK_NO; - } - - if (SIGNAL_DS_BREAK_WHITE == (curDsFlag & SIGNAL_DS_BREAK_WHITE)) - { - /*ڰ׶ϱ־*/ - SignalDataStru[bufIndex].WhiteDsBreakFlag = SIGNAL_DS_BREAK_YES; - } - else - { - /*׶ϱ־*/ - SignalDataStru[bufIndex].WhiteDsBreakFlag = SIGNAL_DS_BREAK_NO; - } - } - else - { - ; /**/ - } - } - else - { - ; /**/ - } -} - -/* -* ûͨCIָIDźŻƶ˿־ -* ˵const UINT16 wSignalId źŻID -* const UINT8 cFlag ˿־ -* ֵ -* Created By LQ 2025.05.31 -*/ -void SetHlhtCiSignalBlueDsBreakFlag(const UINT16 wSignalId, const UINT8 cFlag) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(wSignalId); /*ȡ±*/ - - if ((SIGNAL_SUM_MAX > bufIndex) && ((SIGNAL_DS_BREAK_NO == cFlag) || (SIGNAL_DS_BREAK_YES == cFlag))) - { - SignalDataStru[bufIndex].BlueDsBreakFlag = cFlag; /*ƶ˿־*/ - } - else - { - /**/ - } -} - -/* -* źŻ۳·ť״̬ -* ˵const UINT16 signalId, źŻID -* const UINT8 cFlag ·ť״̬ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnState(const UINT16 signalId, const UINT8 cState) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_DETAIN_CUT_VALID_NO == cState) || (SIGNAL_DETAIN_CUT_VALID_YES == cState)) - { - SignalDataStru[bufIndex].cDetCutBtnState = cState; /*·ť״̬*/ - } - else - { - /**/ - } - } - else - { - /*±󣬲*/ - } -} - -/* -* ȡźŻ۳·ť״̬ -* ˵const UINT16 signalId źŻID -* ֵ0: ȡʧ -* >0: ȡɹ -* Created By LQ 2025.06.19 -*/ -UINT8 GetDetCutBtnState(const UINT16 signalId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT8 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_DETAIN_CUT_VALID_NO == SignalDataStru[bufIndex].cDetCutBtnState) - || (SIGNAL_DETAIN_CUT_VALID_YES == SignalDataStru[bufIndex].cDetCutBtnState)) - { - reVal = SignalDataStru[bufIndex].cDetCutBtnState; - } - else - { - /**/ - } - } - else - { - /*±󣬲*/ - } - - return reVal; -} - -/* -* źŻ۳·ť -* ˵const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnPressCycNum(const UINT16 signalId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - SignalDataStru[bufIndex].DetCutBtnPressCycNum = startCycNum; - } - else - { - /**/ - } -} - -/* -* ȡźŻ۳·ť -* ˵const UINT16 signalId źŻID -* ֵ źŻ۳·ť -* Created By LQ 2025.06.19 -*/ -UINT32 GetDetCutBtnPressCycNum(const UINT16 signalId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT32 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - reVal = SignalDataStru[bufIndex].DetCutBtnPressCycNum; - } - else - { - /**/ - } - - return reVal; -} - -/* -* źŻ۳·ť󴥷 -* ˵const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnErrTrigPressCycNum(const UINT16 signalId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - SignalDataStru[bufIndex].DetCutBtnErrTrigPressCycNum = startCycNum; - } - else - { - /*δ󣬲*/ - } -} - -/* -* ȡźŻ۳·ť󴥷 -* const UINT16 signalId źŻID -* -* ֵ źŻ۳·ť󴥷 -* Created By LQ 2025.06.19 -*/ -UINT32 GetDetCutBtnErrTrigPressCycNum(const UINT16 signalId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT32 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - reVal = SignalDataStru[bufIndex].DetCutBtnErrTrigPressCycNum; - } - else - { - /*δ󣬷ʧ*/ - } - - return reVal; -} - -/* -* źŻ۳·ťϱ־ -* ˵const UINT16 signalId źŻID -* const UINT8 cBtnErrFlag źŻ۳·ťϱ־ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetSignalDetCutBtnErrFlag(const UINT16 signalId, const UINT8 cBtnErrFlag) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_ZFS_BTN_ERR_FLAG_NO == cBtnErrFlag) || (SIGNAL_ZFS_BTN_ERR_FLAG_YES == cBtnErrFlag)) - { - SignalDataStru[bufIndex].cDetCutBtnErrFlag = cBtnErrFlag; /*źŻ۳·ťϱ־*/ - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡźŻ۳·ťϱ־ -* ˵const UINT16 signalId źŻID -* ֵ0: ȡʧ -* >0: ȡɹ -* Created By LQ 2025.06.19 -*/ -UINT8 GetSignalDetCutBtnErrFlag(const UINT16 signalId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT8 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_ZFS_BTN_ERR_FLAG_NO == SignalDataStru[bufIndex].cDetCutBtnErrFlag) || (SIGNAL_ZFS_BTN_ERR_FLAG_YES == SignalDataStru[bufIndex].cDetCutBtnErrFlag)) - { - reVal = SignalDataStru[bufIndex].cDetCutBtnErrFlag; - } - else - { - /**/ - } - } - else - { - /**/ - } - - return reVal; -} - -/* -* źŻ۳·ťɼ̵״̬ -* ˵const UINT16 signalId źŻID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnRelayDownState(const UINT16 signalId, const UINT8 cRelayDownState) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_RELAY_ERROR_DOWN_NO == cRelayDownState) || (SIGNAL_RELAY_ERROR_DOWN_YES == cRelayDownState)) - { - SignalDataStru[bufIndex].cDetCutBtnRelayDownState = cRelayDownState; /*ÿ۳·ťɼ̵״̬*/ - } - else - { - /*״̬󣬲*/ - } - } - else - { - /*±󣬲*/ - } -} - -/* -* ȡźŻ۳·ťɼ̵״̬ -* ˵const UINT16 signalId źŻID -* ֵ 0 ȡʧ -* 0x55 -* 0xaa ͨ쳣 -* Created By LQ 2025.06.19 -*/ -UINT8 GetDetCutBtnRelayDownState(const UINT16 signalId) -{ - UINT16 bufIndex = 0U; /*±*/ - UINT8 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - if ((SIGNAL_RELAY_ERROR_DOWN_NO == SignalDataStru[bufIndex].cDetCutBtnRelayDownState) - || (SIGNAL_RELAY_ERROR_DOWN_YES == SignalDataStru[bufIndex].cDetCutBtnRelayDownState)) - { - reVal = SignalDataStru[bufIndex].cDetCutBtnRelayDownState; - } - else - { - /*״̬󣬷0ʧ*/ - } - } - else - { - /*±󣬷0ʧ*/ - } - - return reVal; -} - -/* -* źŻ۳ť2 -* const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetDetainSndBtnPressCycNum(const UINT16 signalId, const UINT32 startCycNum) -{ - UINT16 bufIndex = 0u; /*±*/ - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - SignalDataStru[bufIndex].DetainSndBtnPressCycNum = startCycNum; - } - else - { - /**/ - } -} - -/* -* ȡźŻ۳ť2 -* const UINT16 signalId źŻID -* -* ֵźŻ۳ť2 -* Created By LQ 2025.06.26 -*/ -UINT32 GetDetainSndBtnPressCycNum(const UINT16 signalId) -{ - UINT16 bufIndex = 0u; /*±*/ - UINT32 reVal = CI_ERROR; - - bufIndex = GetSignalConfigBufIndex(signalId); /*ȡźŻ±*/ - - if (bufIndex < SIGNAL_SUM_MAX) - { - reVal = SignalDataStru[bufIndex].DetainSndBtnPressCycNum; - } - else - { - /**/ - } - - return reVal; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Signal/SignalDataManage.h b/TSCP/src/APP/ciapp/Signal/SignalDataManage.h index 774c07c..1e667d4 100644 --- a/TSCP/src/APP/ciapp/Signal/SignalDataManage.h +++ b/TSCP/src/APP/ciapp/Signal/SignalDataManage.h @@ -72,7 +72,6 @@ typedef struct S_SignalDataStruct UINT8 DetainBtnErrFlag; /*۳ť1ϱ־0x55δϣ0xaa*/ UINT8 CancelDetainBtnErrFlag; /*ȡ۳ť1ϱ־0x55δϣ0xaa*/ UINT32 DetainBtnPressCycNum; /*۳ť1*/ - UINT32 DetainSndBtnPressCycNum; /*۳ť2*/ UINT32 CancelDetainBtnPressCycNum; /*ȡ۳ť*/ UINT32 CancelDetainErrTrigPressCycNum; /*ȡ۳ť󴥷*/ UINT8 CancelDetainBtnValidFlag; /*ȡ۳ťЧ־0x55Ч0xaaЧ*/ @@ -97,11 +96,6 @@ typedef struct S_SignalDataStruct UINT8 VobcCroSigInPhyOccSta; /*гѹźŻڷһռѹ״̬*/ UINT8 cSleepTrainLightUpFlag; /*߳źŻ־0x55 Ч0xAA Ч*/ UINT8 cInHumidRailFlag; /*źŻʪ־0x55 Ч0xAA Ч*/ - UINT8 cDetCutBtnState; /*۳·ť״̬0x55 Ч0xAA Ч*/ - UINT32 DetCutBtnPressCycNum; /*۳·ť*/ - UINT32 DetCutBtnErrTrigPressCycNum; /*۳·ť󴥷*/ - UINT8 cDetCutBtnErrFlag; /*۳·ťϱ־0x55δϣ0xaa*/ - UINT8 cDetCutBtnRelayDownState; /*۳·ťɼ̵״̬0x55ɼ£0xaaͨ쳣*/ } SignalDataStruct; extern SignalDataStruct SignalDataStru[SIGNAL_SUM_MAX]; /*źŻݽṹ*/ @@ -254,14 +248,6 @@ UINT8 GetSignalYellowDsBreakFlag(const UINT16 signalId); */ UINT8 GetSignalWhiteDsBreakFlag(const UINT16 signalId); -/* -* ȡָIDźŻ˿˿־ -* ˵ const UINT16 signalId, źŻID -* ֵ 0: ȡʧ -* >0: ˿־ -*/ -UINT8 GetSignalBlueDsBreakFlag(const UINT16 signalId); - /* * ȡָIDźŻƵ˿˿־ * ˵ const UINT16 signalId, źŻID @@ -1042,146 +1028,6 @@ UINT8 GetSignalInHumidRailFlag(const UINT16 signalId); */ void SetSignalInHumidRailFlag(const UINT16 signalId, const UINT8 cInHumidRailFlag); -/* -* ָIDźŻǰ˿־ -* ˵ const UINT16 signalId, źŻID -* ֵ -bit71ʾںƶ˿0δ˿ -bit61ʾƶ˿0δ˿ -bit5~bit411ʾ̵ƶ˿00δ˿Ƿ -bit3~bit211ʾڻƵƶ˿00δ˿Ƿ -bit1~bit911ʾڰ׵ƶ˿00δ˿Ƿ -* Created By fan 2025.05.06 -*/ -UINT8 GetSignalCurBreakFlag(const UINT16 signalId); - -/* -* ָIDźŻǰ˿־ -* ˵ const UINT16 signalId, źŻID -* const UINT8 curDsFlag, Ͷ˿־ -* ֵ -* Created By fan 2025.05.06 -*/ -void SetNearCISignalCurDsFlag(const UINT16 signalId, const UINT8 curDsFlag); - -/* -* ûͨCIָIDźŻƶ˿־ -* ˵const UINT16 wSignalId źŻID -* const UINT8 cFlag ˿־ -* ֵ -* Created By LQ 2025.05.31 -*/ -void SetHlhtCiSignalBlueDsBreakFlag(const UINT16 wSignalId, const UINT8 cFlag); - -/* -* źŻ۳·ť״̬ -* ˵const UINT16 signalId, źŻID -* const UINT8 cFlag ·ť״̬ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnState(const UINT16 signalId, const UINT8 cState); - -/* -* ȡźŻ۳·ť״̬ -* ˵const UINT16 signalId źŻID -* ֵ0: ȡʧ -* >0: ȡɹ -* Created By LQ 2025.06.19 -*/ -UINT8 GetDetCutBtnState(const UINT16 signalId); - -/* -* źŻ۳·ť -* ˵const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnPressCycNum(const UINT16 signalId, const UINT32 startCycNum); - -/* -* ȡźŻ۳·ť -* ˵const UINT16 signalId źŻID -* ֵ źŻ۳·ť -* Created By LQ 2025.06.19 -*/ -UINT32 GetDetCutBtnPressCycNum(const UINT16 signalId); - -/* -* źŻ۳·ť󴥷 -* ˵const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnErrTrigPressCycNum(const UINT16 signalId, const UINT32 startCycNum); - -/* -* ȡźŻ۳·ť󴥷 -* const UINT16 signalId źŻID -* -* ֵ źŻ۳·ť󴥷 -* Created By LQ 2025.06.19 -*/ -UINT32 GetDetCutBtnErrTrigPressCycNum(const UINT16 signalId); - -/* -* źŻ۳·ťϱ־ -* ˵const UINT16 signalId źŻID -* const UINT8 cBtnErrFlag źŻ۳·ťϱ־ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetSignalDetCutBtnErrFlag(const UINT16 signalId, const UINT8 cBtnErrFlag); - -/* -* ȡźŻ۳·ťϱ־ -* ˵const UINT16 signalId źŻID -* ֵ0: ȡʧ -* >0: ȡɹ -* Created By LQ 2025.06.19 -*/ -UINT8 GetSignalDetCutBtnErrFlag(const UINT16 signalId); - -/* -* źŻ۳·ťɼ̵״̬ -* ˵const UINT16 signalId źŻID -* const UINT8 cRelayDownState ̵״̬ -* ֵ -* Created By LQ 2025.06.19 -*/ -void SetDetCutBtnRelayDownState(const UINT16 signalId, const UINT8 cRelayDownState); - -/* -* ȡźŻ۳·ťɼ̵״̬ -* ˵const UINT16 signalId źŻID -* ֵ 0 ȡʧ -* 0x55 -* 0xaa ͨ쳣 -* Created By LQ 2025.06.19 -*/ -UINT8 GetDetCutBtnRelayDownState(const UINT16 signalId); - -/* -* źŻ۳ť2 -* const UINT16 signalId źŻID -* const UINT32 startCycNum ں -* -* ֵ -* Created By LQ 2025.06.26 -*/ -void SetDetainSndBtnPressCycNum(const UINT16 signalId, const UINT32 startCycNum); - -/* -* ȡźŻ۳ť2 -* const UINT16 signalId źŻID -* -* ֵźŻ۳ť2 -* Created By LQ 2025.06.26 -*/ -UINT32 GetDetainSndBtnPressCycNum(const UINT16 signalId); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Signal/SignalDefine.h b/TSCP/src/APP/ciapp/Signal/SignalDefine.h index a325c28..234299a 100644 --- a/TSCP/src/APP/ciapp/Signal/SignalDefine.h +++ b/TSCP/src/APP/ciapp/Signal/SignalDefine.h @@ -85,7 +85,6 @@ #define SIGNAL_SHOWCOLOUR_WHITE ((UINT8)0x08) /*׵*/ #define SIGNAL_SHOWCOLOUR_RED_WHITE ((UINT8)0x09) /*ףɫƹİλ*/ #define SIGNAL_SHOWCOLOUR_REDBREAK ((UINT8)0x40) /**/ -#define SIGNAL_SHOWCOLOUR_REDFAULT ((UINT8)0x60) /*ͨк*/ #define SIGNAL_SHOWCOLOUR_BLUEBREAK ((UINT8)0x50) /**/ #define SIGNAL_SHOWCOLOUR_GREENBREAK ((UINT8)0x10) /*̶*/ #define SIGNAL_SHOWCOLOUR_YELLOWBREAK ((UINT8)0x20) /*ƶ*/ @@ -124,12 +123,6 @@ #define SIGNAL_DS_BREAK_NO ((UINT8)0x55) /*δ˿*/ #define SIGNAL_DS_BREAK_YES ((UINT8)0xaa) /*˿*/ -/*źŻ˿־*/ -#define SIGNAL_DS_BREAK_RED ((UINT8)0x80) /*ƶ˿*/ -#define SIGNAL_DS_BREAK_BLUE ((UINT8)0x40) /*Ƶƶ˿*/ -#define SIGNAL_DS_BREAK_GREEN ((UINT8)0x30) /*̵ƶ˿*/ -#define SIGNAL_DS_BREAK_YELLOW ((UINT8)0x0C) /*Ƶƶ˿*/ -#define SIGNAL_DS_BREAK_WHITE ((UINT8)0x03) /*׵ƶ˿*/ /*źŻŹر״̬*/ #define SIGNAL_CLOSE ((UINT8)0x55) /*ر*/ @@ -179,11 +172,8 @@ #define SIGNAL_CANCEL_DETAIN_VALID_NO ((UINT8)0x55) /*źŻԸʽȡ۳ťЧ*/ #define SIGNAL_CANCEL_DETAIN_VALID_YES ((UINT8)0xaa) /*źŻԸʽȡ۳ťЧ*/ -#define SIGNAL_DETAIN_CUT_VALID_NO ((UINT8)0x55) /*źŻ·ťЧ*/ -#define SIGNAL_DETAIN_CUT_VALID_YES ((UINT8)0xaa) /*źŻ·ťЧ*/ - -#define SIGNAL_RELAY_ERROR_DOWN_NO ((UINT8)0x55) /*۳ť̵*/ -#define SIGNAL_RELAY_ERROR_DOWN_YES ((UINT8)0xaa) /*۳ť̵ͨ쳣*/ +#define SIGNAL_RELAY_ERROR_DOWN_NO ((UINT8)0x55) /*ȡ۳ť̵*/ +#define SIGNAL_RELAY_ERROR_DOWN_YES ((UINT8)0xaa) /*ȡ۳ť̵ͨ쳣*/ #define SIGNAL_RELAY_ACTION_TIMEMAX ((UINT8)0x0a) /*źŻ̵*/ #define SIGNAL_OPEN_TO_CLOSE_TIME_DELAY ((UINT8)0x07) /*źŻرն*/ @@ -260,10 +250,6 @@ #define OC_SIGNAL_SHOWCOLOR_BLUE_BREAK ((UINT8)0xff) /*ƶ˿*/ #define OC_SIGNAL_SHOWCOLOR_YELLOW_2_BREAK ((UINT8)0x3a) /*Ƶ2˿*/ #define OC_SIGNAL_SHOWCOLOR_GREEN_2_BREAK ((UINT8)0xac) /*̵2˿*/ -#define OC_SIGNAL_SHOWCOLOR_DL_OVERLOAD ((UINT8)0x96) /**/ -#define OC_SIGNAL_SHOWCOLOR_DY_OVERLOAD ((UINT8)0x69) /*ѹ*/ -#define OC_SIGNAL_SHOWCOLOR_DLDY_OVERLOAD ((UINT8)0xf5) /*ѹ*/ -#define OC_SIGNAL_SHOWCOLOR_DY_ZERO ((UINT8)0x5f) /*޵ѹ*/ #define OC_SIGNAL_SHOWCOLOR_UNKNOWN ((UINT8)0x00) /*״̬δ֪ ݰն˿*/ #define OC_SIGNAL_DRIVECOLOR_RED ((UINT16)0x00aa) /*oc*/ diff --git a/TSCP/src/APP/ciapp/Switch/SwitchDataManage.c b/TSCP/src/APP/ciapp/Switch/SwitchDataManage.c index 4a53cbc..e9760f2 100644 --- a/TSCP/src/APP/ciapp/Switch/SwitchDataManage.c +++ b/TSCP/src/APP/ciapp/Switch/SwitchDataManage.c @@ -960,15 +960,6 @@ void SetSingleSwitchCurPosition(const UINT16 switchId, const UINT8 curPosition) if (bufIndex < SWITCH_SUM_MAX) { - if (0U < SwitchDataStru[bufIndex].SwitDriveStartCycNum) - { - /*־*/ - SetSwitchDrivedFlag(switchId, SWITCH_DRIVED_FLAG_YES); - } - else - { - ; /**/ - } if ((SWITCH_POSITION_DINGWEI == curPosition) || (SWITCH_POSITION_FANWEI == curPosition)) {/* zt ɾش 2022-02-15 */ @@ -978,20 +969,21 @@ void SetSingleSwitchCurPosition(const UINT16 switchId, const UINT8 curPosition) /*ʼʱ*/ SetSwitchMoveStartCycNum(switchId,0u); - if(((SWITCH_POSITION_DINGWEI == curPosition) && (SWITCH_DRIVE_POS_DINGWEI == SwitchDataStru[bufIndex].switchLastValidDrvPos)) - || ((SWITCH_POSITION_FANWEI == curPosition) && (SWITCH_DRIVE_POS_FANWEI == SwitchDataStru[bufIndex].switchLastValidDrvPos))) - { - /*һλú͵ǰλͬΪ*/ - SetSwitchDrivedFlag(switchId, SWITCH_DRIVED_FLAG_NO); - } - else - { - ; - } + SetSwitchDrivedFlag(switchId, SWITCH_DRIVED_FLAG_NO); } else if ((SWITCH_POSITION_SIKAI == curPosition) || (SWITCH_POSITION_MOVE == curPosition)) { + if (0U < SwitchDataStru[bufIndex].SwitDriveStartCycNum) + { + /*־*/ + SetSwitchDrivedFlag(switchId,SWITCH_DRIVED_FLAG_YES); + } + else + { + ; /**/ + } + moveTimeState = SystemOverTimeCheck(GetSwitchMoveStartCycNum(switchId), GetSystemParaSwitchMoveCyc()); if (moveTimeState == CI_TIME_NO) { @@ -2747,7 +2739,7 @@ UINT32 GetSwitchCollTolerateCycNum(const UINT16 switchId) { retVal = SwitchDataStru[bufIndex].SwitchCollTolerateCycNum; } - return retVal; + return(retVal); } /* @@ -2782,35 +2774,5 @@ UINT8 GetSwitchCollPos(const UINT16 switchId) { retVal = SwitchDataStru[bufIndex].SwitchColPosition; } - return retVal; -} - -/* -* ûͨCIָIDķ״̬ -* ˵const UINT16 switchId ID -* const UINT8 lockStatus ״̬ -* ֵ -* Created By LQ 2025.05.27 -*/ -void SetHlhtCiSwitchPlockStatus(const UINT16 switchId, const UINT8 lockStatus) -{ - UINT16 bufIndex = 0U; /*±*/ - - bufIndex = GetSwitchConfigBufIndex(switchId); /*ȡ±*/ - - if (SWITCH_SUM_MAX > bufIndex) - { - if ((SWITCH_LOCK_STATUS_PROTECT == lockStatus) || (SWITCH_LOCK_STATUS_NO == lockStatus)) - { - SwitchDataStru[bufIndex].LockStatus = lockStatus; - } - else - { - /*״̬Ƿ*/ - } - } - else - { - /*IDǷ*/ - } + return(retVal); } diff --git a/TSCP/src/APP/ciapp/Switch/SwitchDataManage.h b/TSCP/src/APP/ciapp/Switch/SwitchDataManage.h index 7010824..94c8c69 100644 --- a/TSCP/src/APP/ciapp/Switch/SwitchDataManage.h +++ b/TSCP/src/APP/ciapp/Switch/SwitchDataManage.h @@ -679,15 +679,6 @@ void SetSwitchCollPos(const UINT16 switchId, const UINT8 chSwitchColpos); */ UINT8 GetSwitchCollPos(const UINT16 switchId); -/* -* ûͨCIָIDķ״̬ -* ˵const UINT16 switchId ID -* const UINT8 lockStatus ״̬ -* ֵ -* Created By LQ 2025.05.27 -*/ -void SetHlhtCiSwitchPlockStatus(const UINT16 switchId, const UINT8 lockStatus); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Switch/SwitchDefine.h b/TSCP/src/APP/ciapp/Switch/SwitchDefine.h index 26e5d10..1db219f 100644 --- a/TSCP/src/APP/ciapp/Switch/SwitchDefine.h +++ b/TSCP/src/APP/ciapp/Switch/SwitchDefine.h @@ -141,9 +141,5 @@ #define COLLTOLERATE_CYCNUM 2U /*ɼ*/ -#define SEND_CIM_COLLTOLERATE_DW 0x55u /*λ*/ -#define SEND_CIM_COLLTOLERATE_FW 0xAAu /*λ*/ -#define SEND_CIM_COLLTOLERATE_NO 0xffu /*޲*/ - #endif diff --git a/TSCP/src/APP/ciapp/System/CiSystemDefine.h b/TSCP/src/APP/ciapp/System/CiSystemDefine.h index 674c207..24b43d8 100644 --- a/TSCP/src/APP/ciapp/System/CiSystemDefine.h +++ b/TSCP/src/APP/ciapp/System/CiSystemDefine.h @@ -90,7 +90,6 @@ #define CI_DEVICE_TYPE_PLATFORM ((UINT8)0x07) /*վ̨*/ #define CI_DEVICE_TYPE_AXISSEC ((UINT8)0x08) /**/ #define CI_DEVICE_TYPE_ESB ((UINT8)0x09) /*վ̨رհť*/ -#define CI_DEVICE_TYPE_PSD_EXCEPT_OPEN ((UINT8)0x0A) /*վ̨ţ쳣򿪣*/ #define CI_DEVICE_TYPE_PSD ((UINT8)0x10) /*վ̨*/ #define CI_DEVICE_TYPE_STOP ((UINT8)0x11) /*гͣϢ*/ #define CI_DEVICE_TYPE_RELAY ((UINT8)0x12) /*̵*/ @@ -152,7 +151,6 @@ #define CI_UNLOCK_OVERLAP_REQURE ((UINT8)0x02) /*CTʱ뱣ν*/ #define CI_CHECK_LEN_ERROR ((UINT8)0x4) /*У*/ #define CI_ERROR_QXZC ((UINT8)0x05) /*˽·ʱȡղ̵µµRouteExceptLastSecOccuClearCheckʧ*/ -#define CI_OVERLAP_OCC_UNLOCK ((UINT8)0x06) /*ռִ*/ /*----------Common----------*/ #define CI_TRUE ((UINT8)0x55) /*سɹ*/ @@ -222,11 +220,6 @@ #define CI_ALL_SNOW_VALID ((UINT8)0x55) /*ȫѩģʽЧ*/ #define CI_ALL_SNOW_UNVALID ((UINT8)0xAA) /*ȫѩģʽЧ*/ -/*ʪģʽȼ*/ -#define CI_SNOW_LEVEL_DEFAULT ((UINT8)0x00) /*Ĭֵʪ/ѩģʽΪѩģʽ*/ -#define CI_SNOW_LEVEL_ONE ((UINT8)0x01) /*ʪһ*/ -#define CI_SNOW_LEVEL_TWO ((UINT8)0x02) /*ʪ*/ - /*ȫѩģʽ*/ #define CI_ITE_LINE_CUT_VALID ((UINT8)0x55) /*гITE*/ #define CI_ITE_LINE_CUT_INVALID ((UINT8)0xAA) /*ʹITE*/ @@ -251,7 +244,7 @@ #define COMM_TRAIN_TEST_DEV_STATE_VALID ((UINT8)0x55) /*豸״̬Ч*/ #define COMM_TRAIN_TEST_DEV_STATE_INVALID ((UINT8)0xAA) /*豸״̬Ч*/ -#define VOBC_SUM_MAX 255U /*豸IDΪ1ֽڣУidС255*/ +#define VOBC_SUM_MAX 100U /*豸IDΪ1ֽڣĿǰVOBC100*/ #define VOBC_BACKUP_SUM_MAX 256U /*ĿǰͨVOBC255*/ #define ITE_SUM_MAX ((UINT8)VOBC_SUM_MAX) /*ITEֵ*/ diff --git a/TSCP/src/APP/ciapp/System/SystemConfigDefine.h b/TSCP/src/APP/ciapp/System/SystemConfigDefine.h index 127c74b..a71feb5 100644 --- a/TSCP/src/APP/ciapp/System/SystemConfigDefine.h +++ b/TSCP/src/APP/ciapp/System/SystemConfigDefine.h @@ -59,10 +59,10 @@ /*V13.0汾ݽṹ 2018.8.3*/ /*汾*/ -#define VER_MAIN_SUBCI_CI_CID ((UINT8)22) /*ϵͳ汾*/ +#define VER_MAIN_SUBCI_CI_CID ((UINT8)19) /*ϵͳ汾*/ #define VER_SUB_SUBCI_CI_CID ((UINT8)0) /*ϵͳӰ汾*/ -#define VER_BRUNCH_CI_CID ((UINT8)2) /*֧汾..........0....֧1 2 */ -#define VER_RETURN_SUBCI_CI_CID ((UINT8)1) /*ϵͳع汾*/ +#define VER_BRUNCH_CI_CID ((UINT8)0) /*֧汾..........0....֧1 2 */ +#define VER_RETURN_SUBCI_CI_CID ((UINT8)2) /*ϵͳع汾*/ #ifdef SCADE_MODE /*SCADE汾*/ @@ -75,14 +75,14 @@ /*д汾*/ #define VER_SOFT_PRODUCT ((UINT8)40) /*Ʒ*/ #define VER_SOFT_MODUAL_APP ((UINT8)1) /*ģ*/ -#define VER_SOFT_MIANVERSION ((UINT8)22) /*汾*/ -#define VER_SOFT_SUBVERSION ((UINT8)8) /*Ӱ汾*/ +#define VER_SOFT_MIANVERSION ((UINT8)19) /*汾*/ +#define VER_SOFT_SUBVERSION ((UINT8)3) /*Ӱ汾*/ #endif /*ɼݵĹݽṹ汾*/ #define VER_1_PUBLIC_FS_1 ((UINT8)30) -#define VER_1_PUBLIC_FS_2 ((UINT8)21) +#define VER_1_PUBLIC_FS_2 ((UINT8)14) #define VER_1_PUBLIC_FS_3 ((UINT8)0) #define VER_1_PUBLIC_FS_4 ((UINT8)0) @@ -91,15 +91,15 @@ #define VER_2_PUBLIC_FS_3 ((UINT8)0) #define VER_2_PUBLIC_FS_4 ((UINT8)0) -#define VER_3_PUBLIC_FS_1 ((UINT8)28) -#define VER_3_PUBLIC_FS_2 ((UINT8)0) -#define VER_3_PUBLIC_FS_3 ((UINT8)0) -#define VER_3_PUBLIC_FS_4 ((UINT8)14) +#define VER_3_PUBLIC_FS_1 ((UINT8)0xFF) +#define VER_3_PUBLIC_FS_2 ((UINT8)0xFF) +#define VER_3_PUBLIC_FS_3 ((UINT8)0xFF) +#define VER_3_PUBLIC_FS_4 ((UINT8)0xFF) /*ɼݵ˽ݽṹ汾*/ -#define VER_1_PRIVATE_FS_1 ((UINT8)44) -#define VER_1_PRIVATE_FS_2 ((UINT8)1) +#define VER_1_PRIVATE_FS_1 ((UINT8)39) +#define VER_1_PRIVATE_FS_2 ((UINT8)0) #define VER_2_PRIVATE_FS_1 ((UINT8)0xFF) #define VER_2_PRIVATE_FS_2 ((UINT8)0xFF) @@ -108,7 +108,7 @@ #define VER_3_PRIVATE_FS_2 ((UINT8)0xFF) /*ɼOCݽṹ汾*/ -#define VER_1_OCDATA_FS_1 ((UINT8)29) /*oc 3.0 ݰ汾*/ +#define VER_1_OCDATA_FS_1 ((UINT8)27) /*oc 3.0 ݰ汾*/ #define VER_1_OCDATA_FS_2 ((UINT8)0) #define VER_2_OCDATA_FS_1 ((UINT8)24) /*oc 2.1.6*/ diff --git a/TSCP/src/APP/ciapp/System/SystemParameterManage.c b/TSCP/src/APP/ciapp/System/SystemParameterManage.c index 7e96388..0f93563 100644 --- a/TSCP/src/APP/ciapp/System/SystemParameterManage.c +++ b/TSCP/src/APP/ciapp/System/SystemParameterManage.c @@ -28,7 +28,6 @@ static UINT8 LocalRcWorkMode = 0u; /* RC static UINT8 gLocalRcLinkLineAttr = 0u; /* RC */ UINT8 gLocalOcType = 0u; /*OCݽṹ*/ -UINT8 gLocalPublicDataType = 0u; /*ͣ28.0.0.11¹ݽṹʹã*/ SystemParameterStructNew SystemParameterStruNew;/*ϵͳ*/ @@ -109,7 +108,6 @@ UINT32 dwSelfCancelButErrTriggerCount = 0U; /* UINT16 wArbNearSecProtectDistance = 0U; /*ARB*/ UINT32 dwArbNearSecNoUtCount = 0U; /*ARBʱ*/ UINT32 dwNonReturnBtnErrEnsureTime = 0U;/*۷ťж*/ -UINT32 dwOcCollTolerateCount = 0U; /*OCɼ*/ UINT8 gCTFlyingRedunCount = 0u; UINT16 StationTrackDistance = 0U; /*-վ̨׷ʱг루cm*/ UINT32 LineMinTrainLength = 0U; /*-·С*/ @@ -328,9 +326,6 @@ void SystemParaTimeToCycleCount(void) paraVal = GetSystemParaValue(NONRETURN_BTN_ERR_ENSURE_TIME); dwNonReturnBtnErrEnsureTime = TimeToCycleCount((UINT32)paraVal * 1000U, appCycleTime); /*۷ťжʱ䣨/S*/ - - paraVal = GetSystemParaValue(OC_COLL_TOLERATE_TIME); - dwOcCollTolerateCount = TimeToCycleCount((UINT32)paraVal, appCycleTime); /*CɼESB/PSD/SPKS/۳ms*/ } /* @@ -1340,9 +1335,7 @@ UINT8 CheckTiocPublicFsVersion(UINT8* pSrcFsVersion) if (NULL != pSrcFsVersion) { - SetLocalPublicDataType(DATA_TYPE_NEW); - /*ѯݽṹ汾Ƿڿɼݵİ汾 - 28.0.0.14汾ֻ֧õݽṹ VER_3_PUBLIC*/ + /*ѯݽṹ汾Ƿڿɼݵİ汾*/ if ((VER_1_PUBLIC_FS_1 == pSrcFsVersion[0]) && (VER_1_PUBLIC_FS_2 == pSrcFsVersion[1]) && (VER_1_PUBLIC_FS_3 == pSrcFsVersion[2]) && (VER_1_PUBLIC_FS_4 == pSrcFsVersion[3])) { retVal = CI_SUCCESS; @@ -1353,7 +1346,6 @@ UINT8 CheckTiocPublicFsVersion(UINT8* pSrcFsVersion) } else if ((VER_3_PUBLIC_FS_1 == pSrcFsVersion[0]) && (VER_3_PUBLIC_FS_2 == pSrcFsVersion[1]) && (VER_3_PUBLIC_FS_3 == pSrcFsVersion[2]) && (VER_3_PUBLIC_FS_4 == pSrcFsVersion[3])) { - SetLocalPublicDataType(DATA_TYPE_OLD); retVal = CI_SUCCESS; } else @@ -1421,11 +1413,11 @@ UINT8 CheckTiocOcFsVersion(UINT8* pSrcFsVersion) /*ѯOCݽṹ汾Ƿڿɼݵİ汾*/ if ((VER_1_OCDATA_FS_1 == pSrcFsVersion[0]) && (VER_1_OCDATA_FS_2 == pSrcFsVersion[1])) { - retVal = SetLocalOcPattern(DATA_TYPE_NEW); + retVal = SetLocalOcPattern(OC_DATA_TYPE_NEW); } else if ((VER_2_OCDATA_FS_1 == pSrcFsVersion[0]) && (VER_2_OCDATA_FS_2 == pSrcFsVersion[1])) { - retVal = SetLocalOcPattern(DATA_TYPE_OLD); + retVal = SetLocalOcPattern(OC_DATA_TYPE_OLD); } else { @@ -2355,20 +2347,6 @@ UINT16 GetTiocSystemParameterData(UINT32* pConfigDataAdderBuf, UINT16* pConfigDa { ;/* ޴ */ } - - /* OCɼ */ - wTmpLen = 1U + wTmpConfigDataSum; - if (wBufMaxLen >= wTmpLen) - { - pConfigDataAdderBuf[wTmpConfigDataSum] = &dwOcCollTolerateCount; - pConfigDataLenBuf[wTmpConfigDataSum] = (UINT16)sizeof(UINT32); - wTmpConfigDataSum++; - } - else - { - ;/* ޴ */ - } - /* ci-ocϵ */ wTmpLen = 1u + wTmpConfigDataSum; if (wBufMaxLen >= wTmpLen) @@ -2804,7 +2782,7 @@ OtherCiParaStruct GetOtherCiPara(const UINT8 chOtherCiId) } /* -* ȡCվBUTʱ׷ٹܿ +* ȡCվBUTǿ׷ٹܿ * ˵ * ֵaaر 55 * by cgh 20240815 @@ -2857,7 +2835,7 @@ UINT8 SetLocalOcPattern(UINT8 localOcPattern) { UINT8 rtn = CI_ERROR; /*ֵ*/ - if ((DATA_TYPE_NEW == localOcPattern) || (DATA_TYPE_OLD == localOcPattern)) + if ((OC_DATA_TYPE_NEW == localOcPattern) || (OC_DATA_TYPE_OLD == localOcPattern)) { gLocalOcType = localOcPattern; rtn = CI_SUCCESS; @@ -2872,7 +2850,7 @@ UINT8 SetLocalOcPattern(UINT8 localOcPattern) * ֵ0x55 °汾 0xaa Ͼɰ汾 * Create: fan 20250210 */ -UINT8 GetLocalOcPattern(void) +UINT8 GetLocalOcPattern() { return gLocalOcType; } @@ -2908,40 +2886,4 @@ UINT8 SetLocalRcLinkLineAttr(UINT8 cLinkLineAttr) UINT8 GetLocalRcLinkLineAttr(void) { return gLocalRcLinkLineAttr; -} - -/* -* õǰݰ汾 -* ˵ݰ汾 -* ֵɹ CI_SUCCESS ʧCI_ERROR -* Create: fan 20250521 -*/ -void SetLocalPublicDataType(UINT8 localPublicData) -{ - if ((DATA_TYPE_NEW == localPublicData) || (DATA_TYPE_OLD == localPublicData)) - { - gLocalPublicDataType = localPublicData; - } -} - -/* -* ȡǰݰ汾 -* ˵ -* ֵ0x55 °汾 0xaa Ͼɰ汾 -* Create: fan 20250521 -*/ -UINT8 GetLocalPublicDataType(void) -{ - return gLocalPublicDataType; -} - -/* -* ȡOCɼ -* ˵void -* ֵOCɼ -* Created By LQ 2025.06.30 -*/ -UINT32 GetOcCollTolerateCount(void) -{ - return dwOcCollTolerateCount; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/System/SystemParameterManage.h b/TSCP/src/APP/ciapp/System/SystemParameterManage.h index 92f6d4b..822edb1 100644 --- a/TSCP/src/APP/ciapp/System/SystemParameterManage.h +++ b/TSCP/src/APP/ciapp/System/SystemParameterManage.h @@ -34,7 +34,6 @@ extern "C" { #define CHECK_SWITCH_LOCKING_BEFORE_LOCKING_SWITCH_CONF ((UINT8)3) /*ʱ*/ #define CHECK_SWITCH_DANLOCK_FLOCKING_SWITCH_CONF ((UINT8)4) /*ʱ*/ #define VOBC_INTERFACE_IDENTITY ((UINT8)5) /*VOBCӿͱʶ1ΪFAO2Ϊͨ*/ -#define FUNC_OC_INTERFACE_CONF ((UINT8)7) /*OCӿڱʶ1ΪOC200-2.1.92ΪOC200-3.23ΪOC200-3.2֮汾4ΪOC300-1.0.1֮汾*/ #define SCX_CLD_INTERFACE_TYPE ((UINT8)8) /*Գ복νӿͱʶ0x55Ϊ̵ӿڣ0xAAΪͨŽӿ*/ #define LINE_RAILWAY_TYPE_CONF ((UINT8)9) /*·ͱʶ0x55Ϊǹ콻ͨ0xAAΪ콻ͨ*/ #define DISTRIBUTED_IO_ENABLE_INDEX ((UINT8)10) /*ܿ10Ƿ÷ֲʽIO*/ @@ -93,10 +92,6 @@ extern "C" { #define FUNC_ZQX_CHECK_HUMID_RAIL ((UINT8)63) /*ȡǷ·ʼźŻʪ췶Χ(0xAAȡʪģʽ״̬ 0x55أȡʪģʽ״̬)*/ #define FUNC_AXIS_COMM_BAD_KEEP_CBTC ((UINT8)64) /*ϵͳͨжϺǷܹάCBTC(0xAAǣ 0x55)*/ #define FUNC_INIT_XIANDI_HAVE_POWER ((UINT8)65) /*ϵʼֵǷȨ(0x55:޿Ȩ;0xAA:пȨ)*/ -#define FUNC_LEADROUTE_FLOODGATE_CHECK ((UINT8)67) /*·Ƿ״̬(0x55:;0xAA:)*/ -#define FUNC_LEADROUTE_ESB_CHECK ((UINT8)68) /*·ǷESB״̬(0x55:;0xAA:)*/ -#define FUNC_SWITCH_ZX_ALLCLOSE_USEBLUE ((UINT8)69) /*ƾƿأ0xAA 0x55ر*/ -#define FUNC_NVRAM_TRAIN_FlYING_OVER ((UINT8)70) /*ʹNVRAMλλüලЧгɳ崻أ0xAA-ɳ崻 0x55-ɳ崻*/ #define CiSum_ID ((UINT16)1)/*ʵվ */ @@ -171,12 +166,10 @@ extern "C" { #define ARB_CHECK_ALXE_SEC_LEN (70U) /*ARBμ᳤(M)*/ #define ARB_CHECK_ALXE_TIME (71U) /*ARBμ޻ʱms*/ #define NONRETURN_BTN_ERR_ENSURE_TIME (72U) /*۷ťжʱ䣨/S*/ -#define OC_COLL_TOLERATE_TIME (73U) /*OCɼʱ䣨ESB/PSD/SPKS/۳ms*/ #define FUNC_SWITCH_ON ((UINT8)0xAA) /*ÿش*/ #define FUNC_SWITCH_OFF ((UINT8)0x55) /*ÿعر*/ #define FUNC_SWITCH_UNDEF ((UINT8)0xFF) /*ÿδ*/ -#define FUNC_SWITCH_ESB_NINGXIANG_RAIL ((UINT8)0x5A) /*ESB·*/ #define LINE_FAO ((UINT8)0x01) /*·ΪFAO*/ #define LINE_HLHT ((UINT8)0x02) /*·Ϊͨ*/ #define LINE_FAOHLHT ((UINT8)0x03) /*·ΪFAO+ͨ»*/ @@ -188,7 +181,6 @@ extern "C" { #define SCX_CLD_SERIAL_PORT_COMM ((UINT8)0x5A) /*Գ복βôڽӿ*/ #define SCX_NONELOCAL_MODE ((UINT8)0xA5) /*Գ*/ - #define UP_VALID ((UINT8)0x55) /*۳̵Ч*/ #define DOWN_VALID ((UINT8)0xaa) /*۳̵Ч*/ @@ -216,13 +208,8 @@ extern "C" { #define FUNC_OVERLAP_LOCK_BY_ATS ((UINT8)0x01) /*ATSձ*/ #define FUNC_OVERLAP_LOCK_BY_CI ((UINT8)0x02) /*ձ*/ -#define DATA_TYPE_NEW ((UINT8)0x55u) /*ݽṹ__OC3.2 ݽṹ¹ݽṹ30.X*/ -#define DATA_TYPE_OLD ((UINT8)0xAAu) /*ݵOCݽṹ_򺼵ݽṹ28.0.0.X*/ - -#define OC200_VER2_1_9 ((UINT8)0x01u)/*ܿ7Ϊ1OC200 2.1.9ӿ*/ -#define OC200_VER3_2 ((UINT8)0x02u)/*ܿ7Ϊ2OC200 3.2ӿ*/ -#define OC200_VER3_2_AFTER ((UINT8)0x03u)/*ܿ7Ϊ3OC200 3.2汾Ժӿ*/ -#define OC300_VER1_0_1_ANDAFTER ((UINT8)0x04u)/*ܿ7Ϊ4OC300 1.0.1汾Ժӿ*/ +#define OC_DATA_TYPE_NEW ((UINT8)0x55u) /*OCݽṹ__OC3.0 ݽṹ26.0*/ +#define OC_DATA_TYPE_OLD ((UINT8)0xAAu) /*ݵOCݽṹ_OC2.1.6 ݽṹ24.0*/ #define RC_LINK_LINE_YES ((UINT8)0x55U) /*߱*/ #define RC_LINK_LINE_NO ((UINT8)0xAAU) /*߱*/ @@ -400,8 +387,6 @@ typedef struct S_CI_OC_Relation extern UINT8 LocalCiId; /*ID*/ extern SystemParameterStructNew SystemParameterStruNew;/*ϵͳ*/ extern DquCiFuncSwitchStructNew CiFuncSwitConfStruNew[CI_FUNCTION_SWITCH_SUM_MAX];/*ܿؽṹ*/ -extern UINT8 gLocalOcType; /*OCݽṹ*/ -extern UINT8 gLocalPublicDataType; /*ͣ28.0.0.11¹ݽṹʹã*/ extern UINT32 StartUnlockCount; /*ϵ (ʼֶ)*/ extern UINT32 RouteXuanPaiCount; /*·ѡų (ʼֶ)*/ extern UINT32 RouteLockCount; /*·ճ (ʼֶ)*/ @@ -475,7 +460,6 @@ extern UINT32 dwSelfCancelButErrTriggerCount; /* extern UINT16 wArbNearSecProtectDistance; /*ARB*/ extern UINT32 dwArbNearSecNoUtCount; /*ARBʱ*/ extern UINT32 dwNonReturnBtnErrEnsureTime; /*۷ťж*/ -extern UINT32 dwOcCollTolerateCount; /*OCɼ*/ extern UINT8 gCTFlyingRedunCount; extern CiOcRelateion CiOcRelationArr[CI_SUM_MAX];/*ci ocϵ*/ @@ -1376,7 +1360,7 @@ UINT8 SetLocalOcPattern(UINT8 localOcPattern); * ֵ0x55 °汾 0xaa Ͼɰ汾 * Create: fan 20250210 */ -UINT8 GetLocalOcPattern(void); +UINT8 GetLocalOcPattern(); /* * ܣRC @@ -1393,30 +1377,6 @@ UINT8 SetLocalRcLinkLineAttr(UINT8 cLinkLineAttr); */ UINT8 GetLocalRcLinkLineAttr(void); -/* -* õǰݰ汾 -* ˵ݰ汾 -* ֵɹ CI_SUCCESS ʧCI_ERROR -* Create: fan 20250521 -*/ -void SetLocalPublicDataType(UINT8 localPublicData); - -/* -* ȡǰݰ汾 -* ˵ -* ֵ0x55 °汾 0xaa Ͼɰ汾 -* Create: fan 20250521 -*/ -UINT8 GetLocalPublicDataType(void); - -/* -* ȡOCɼ -* ˵void -* ֵOCɼ -* Created By LQ 2025.06.30 -*/ -UINT32 GetOcCollTolerateCount(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.c b/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.c index e8e28c9..fc79fc2 100644 --- a/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.c +++ b/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.c @@ -25,36 +25,10 @@ static void EaCmdProc(void); /** * @brief ɢ * @param chIndex -* @param chType * @return CI_ERRORʧܣCI_SUCCESSɹ -* edit cgh 20250527 */ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType); -/** -* @brief ӷ -* @param chEaIndex -* @param wAxisSecId ID -* @param chType -* @param wTrainId ɢгID -* @param chEaconfigId -* @return CI_ERROR ʧ -* CI_SUCCESS ɹ -* BY CGH 20250527 -*/ -static UINT8 AddEaAxisSec(UINT8 chEaIndex, UINT16 wAxisSecId, UINT8 chType, UINT16 wTrainId, UINT8 chEaconfigId); - -/** -* @brief Ƿ -* @param const UINT16 wAcId α -* @param const UINT16 wSpecialEaId -* @return UINT8_MAX 쳣 -* CI_ERROR ڲ -* CI_SUCCESS Ҫڲ -* by cgh 20250818 -*/ -static UINT8 CheckAddSpecialEaAxis(const UINT16 wAcId, const UINT16 wSpecialEaId); - /** * @brief ȡͨųijһɢгǷͬ⽨ * @param wEaTrainId ɢгID @@ -64,17 +38,13 @@ static UINT8 GetAllCtTrainAgreeSetEva(UINT16 wEaTrainId); /** * @brief ɢгߡɢԵ -* @param chType * @param wTrainId ɢгID * @param pMidLine ɢг߹ * @param pMinEdge ɢС * @param pMaxEdge ɢ -* @param pEaconfigId ɢ -* @param wSpecialEaId * @return CI_ERROR ʧ CI_SUCCESS ɹ -* edit cgh 20250310 */ -static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UINT8* pEaOut, UINT32* pMidLine, UINT32* pMinEdge, UINT32* pMaxEdge, UINT8* pEaconfigId, UINT16* wSpecialEaId); +static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UINT8 * pEaOut, UINT32 * pMidLine, UINT32 * pMinEdge, UINT32 * pMaxEdge, UINT8* pEaconfigId); /** * @brief ѯվһ䲻վ̨ķڵվ̨ @@ -188,33 +158,6 @@ static UINT8 EaIsLinkSeqAllLocal(UINT8 chEaIndex); */ static UINT8 PaGetIndex(const UINT16 wTrainId, const UINT8 chType); -/** -* @brief Ƿȫ -* @param wTrainId ɢгID -* @param UINT16* wSpecialEaId ID -* @return CI_ERROR ȫ CI_SUCCESS ȫ -* edit cgh 20250818 -*/ -static UINT8 CalcSpecialEa(const UINT16 wTrainId, UINT16* wSpecialEaId); - -/** -* @brief ѯǰlinklinkĿǰڳжϣ -* @param struct_PathPoint pPoint ǰlinkϢ -* @param UINT8 chDirection ѯ -* @param UINT32 dwSearchLen ѯ -* @return CI_SUCCESS ͨ CI_ERROR ʧ -* BY CGH 20250818 -*/ -static UINT8 EaFindLinkAdjacentLinkID(struct_PathPoint pPoint, UINT8 chDirection, UINT32 dwSearchLen); - -/** -* @brief ȡ -* @param const UINT16 wAcId α -* @return -* by cgh 20250826 -*/ -static UINT16 GetAxisSpecialEaId(const UINT16 wAcId); - /** * @brief ʼ * @param @@ -371,7 +314,7 @@ UINT8 EaConfigInit(void) if (CI_SUCCESS == chRtn) { chStationFlag = IsLinkPlatform(wAdjacentLinkId); - if ((CI_SUCCESS == chStationFlag) && (EA_BD_LINK_SUM_MAX > g_szEaConfig[wIndex].chStartStationLinkSum)) + if (CI_SUCCESS == chStationFlag) { /*ڣµLINK*/ g_szEaConfig[wIndex].wSzStartStationLinkId[g_szEaConfig[wIndex].chStartStationLinkSum] = wAdjacentLinkId; @@ -411,7 +354,7 @@ UINT8 EaConfigInit(void) if (CI_SUCCESS == chRtn) { chStationFlag = IsLinkPlatform(wAdjacentLinkId); - if((CI_SUCCESS == chStationFlag) && (EA_BD_LINK_SUM_MAX > g_szEaConfig[wIndex].chEndStationLinkSum)) + if (CI_SUCCESS == chStationFlag) { g_szEaConfig[wIndex].wSzEndStationLinkId[g_szEaConfig[wIndex].chEndStationLinkSum] = wAdjacentLinkId; g_szEaConfig[wIndex].chEndStationLinkSum++; @@ -768,7 +711,6 @@ static void EaCmdProc(void) * @param chIndex * @param chType * @return CI_ERRORʧܣCI_SUCCESSɹ -* edit cgh 20250527 */ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) { @@ -795,22 +737,25 @@ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) UINT8 chPlatformFlag = 0u; UINT16 wLinkTioc = 0u; UINT8 chLocalId = 0u; + UINT8 chAcBelongCiId = 0; /*ID*/ + UINT8 chAcBelongCiType = 0; /**/ + UINT16 wEaMode = 0u; UINT32 dwKmTmpMin = 0u; UINT32 dwKmTmpMax = 0u; UINT8 dwEaConfigId = 0u; + UINT8 chAxisSecAddFlag = CI_ERROR;/*Ƿ־*/ UINT16 wAxisBelLinkId = 0U;/*LINK ID*/ UINT16 wEaConfigIndex = 0U;/**/ - UINT8 chAxisBelCiIdCheck = 0U; /**/ - UINT8 chAcBelongCiId = 0U; /*ID*/ - UINT8 chAxisSecAddFlag = CI_ERROR;/*Ƿ־*/ - UINT16 wSpecialEaId = 0U;/**/ chLocalId = GetSystemParaLocalCiId(); /* ȡID */ wTrainId = GetEvacuatingTrainIdByIndex(chEaIndex); /* ȡӦɢгID */ /* ߡ߽繫 */ - rtnValue = EaGetMidLineAndEdgeKm(chType, wTrainId, &chEaOut, &dwKmTemp, &dwKm2, &dwKm1, &dwEaConfigId,&wSpecialEaId); + rtnValue = EaGetMidLineAndEdgeKm(chType, wTrainId, &chEaOut, &dwKmTemp, &dwKm2, &dwKm1, &dwEaConfigId); + + /* ȡɢ */ + wEaMode = GetSystemParaValue(EA_MODE_ID); if (CI_SUCCESS == rtnValue) { @@ -953,11 +898,6 @@ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) } } - else if (EA_OUT_SEVEN == chEaOut) - { - /*ʵʴ*/ - ; - } else { chCalFlag = FLAG_UNSET; @@ -965,12 +905,38 @@ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) if (FLAG_SET == chCalFlag) { - /*ӹ귶Χڵļ*/ - rtnValue = AddEaAxisSec(chEaIndex, g_szEaAcConfig[wAcIndex].AxisSectionId, chType, wTrainId, dwEaConfigId); - - if (CI_ERROR == rtnValue) + /*ȥ*/ + for (chIndex = 0u; chIndex < g_szEaData[chEaIndex].strAcInfo.chObjNum; chIndex++) { - break; + /*ǷѾ¼*/ + if (g_szEaData[chEaIndex].strAcInfo.szObjId[chIndex] == g_szEaAcConfig[wAcIndex].AxisSectionId) + { + break; + } + else + { + ; + } + } + /*ûм¼*/ + if (g_szEaData[chEaIndex].strAcInfo.chObjNum == chIndex) + { + /*жϸüǷԳ*/ + chAcBelongCiId = (UINT8)GetAxisBelongTiocAllLine(g_szEaAcConfig[wAcIndex].AxisSectionId); + chAcBelongCiType = GetCiType(chAcBelongCiId);/*ȡǰ*/ + /*ҪݹܿжǷн*/ + chAxisSecAddFlag = AxisSecAddProAreaCheck(g_szEaAcConfig[wAcIndex].AxisSectionId, chType, wTrainId); + + if (((CI_TYPE_ZX == chAcBelongCiType) || (CI_TYPE_SCX == chAcBelongCiType)) && (CI_SUCCESS == chAxisSecAddFlag)) + { + g_szEaData[chEaIndex].strAcInfo.szObjId[g_szEaData[chEaIndex].strAcInfo.chObjNum] = g_szEaAcConfig[wAcIndex].AxisSectionId; + g_szEaData[chEaIndex].strAcInfo.chObjNum++; + g_szEaData[chEaIndex].chEaConfigId = dwEaConfigId; + } + else + { + /*߻ԳӼ*/ + } } else { @@ -983,67 +949,13 @@ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) } } - - } - - if (CI_SUCCESS == rtnValue) - { - if (0U == wSpecialEaId) + if (EA_SECTION_MAX_NUM < g_szEaData[chEaIndex].strAcInfo.chObjNum) { - /*ȫߣҪ佨*/ - /* ļ */ - for (chEaAcIndex = 0u; chEaAcIndex < g_szEaData[chEaIndex].strAcInfo.chObjNum; chEaAcIndex++) - { - wSpecialEaId = GetAxisSpecialEaId(g_szEaData[chEaIndex].strAcInfo.szObjId[chEaAcIndex]); - - if (0U != wSpecialEaId) - { - break; - } - else - { - ; /**/ - } - } + rtnValue = CI_ERROR; } else { - ; /*ѾID*/ - } - - if (0U != wSpecialEaId) - { - /*߱ԲпΪ*/ - for (wAcIndex = 0U; wAcIndex < g_eaAcConfigNum; wAcIndex++) - { - chAxisSecAddFlag = CheckAddSpecialEaAxis(g_szEaAcConfig[wAcIndex].AxisSectionId, wSpecialEaId); - - if (CI_SUCCESS == chAxisSecAddFlag) - { - rtnValue = AddEaAxisSec(chEaIndex, g_szEaAcConfig[wAcIndex].AxisSectionId, chType, wTrainId, dwEaConfigId); - } - else if (CI_ERROR == chAxisSecAddFlag) - { - ; /**/ - } - else - { - rtnValue = CI_ERROR; /*쳣*/ - } - - if (CI_ERROR == rtnValue) - { - break; - } - else - { - ; - } - } - } - else - { - ; /*Ӳ*/ + ; } } @@ -1167,7 +1079,7 @@ static UINT8 EvacuationAreaCalcu(UINT8 chEaIndex, const UINT8 chType) { debug_infor_printf((const)"Train:%x PaType = %x\n", wTrainId, g_szEaData[chEaIndex].chPaType); - debug_infor_printf((const)"Train:%x pMidLine = %u pMinEdge = %u pMaxEdge = %u\n", wTrainId,dwKmTemp,dwKm2,dwKm1); + debug_infor_printf((const)"Train:%x pMidLine = %d pMinEdge = %d pMaxEdge = %d\n", wTrainId,dwKmTemp,dwKm2,dwKm1); debug_infor_printf((const)"Train:%x PaAcSeq:num = %d\n", wTrainId, g_szEaData[chEaIndex].strAcInfo.chObjNum); for (chEaAcIndex = 0U; chEaAcIndex < g_szEaData[chEaIndex].strAcInfo.chObjNum; chEaAcIndex++) @@ -1408,12 +1320,10 @@ static UINT8 GetAllCtTrainAgreeSetEva(UINT16 wEaTrainId) * @param pMidLine ɢг߹ * @param pMinEdge ɢС * @param pMaxEdge ɢ -* @param pEaconfigId ɢ -* @param wSpecialEaId * @return CI_ERROR ʧ CI_SUCCESS ɹ * edit cgh 20250310 */ -static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UINT8 * pEaOut, UINT32 * pMidLine, UINT32 * pMinEdge, UINT32 * pMaxEdge, UINT8 * pEaconfigId, UINT16* wSpecialEaId) +static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UINT8 * pEaOut, UINT32 * pMidLine, UINT32 * pMinEdge, UINT32 * pMaxEdge, UINT8 * pEaconfigId) { UINT16 wMaxHeadLink = 0u; UINT32 dwMaxHeadOff = 0u; @@ -1425,7 +1335,7 @@ static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UI UINT16 wEaMode = 0u; UINT16 wEaStationMode = 0u; UINT8 chTrainDir_Maxhead = 0u; /*гǰΪ׼*/ - UINT8 chTrainDir_outTail = 0u; /*βķСȡ*/ + UINT8 chTrainDir_outTail = 0u; /*βķ򣬴ǰȡ*/ UINT32 dwFrontDis = 0u; UINT32 dwBehindDis = 0u; UINT32 dwKm1 = 0u; /*ͷɢԵ*/ @@ -1445,15 +1355,13 @@ static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UI UINT32 wMinTailLinkTmnlPointKm = 0u; /*βյ㹫*/ UINT16 wBasicLinkId = 0U;/*׼LINK ID*/ UINT8 chConfigLinkIndex = 0U;/*LINK*/ - UINT8 chCalcSpecialEa = 0U;/**/ - + /* ȡгλ */ wMaxHeadLink = GetTrainMaxHeadLink(wTrainId); dwMaxHeadOff = GetTrainMaxHeadOffset(wTrainId); wMinTailLink = GetTrainMinTailLink(wTrainId); dwMinTailOff = GetTrainMinTailOffset(wTrainId); chTrainDir_Maxhead = GetTrainDir_MaxHead(wTrainId); - chTrainDir_outTail = GetTrainDir(wTrainId); wACOfMaxSafeHeadLoc = elm_PrepareACOfMaxSafeHeadLoc(wTrainId); /*ȡID*/ wACOfMinSafeTailLoc = elm_PrepareACOfMinSafeTailLoc(wTrainId); @@ -1503,65 +1411,56 @@ static UINT8 EaGetMidLineAndEdgeKm(const UINT8 chType, const UINT16 wTrainId, UI wEaStationMode = GetSystemParaValue(EA_STATION_MODE_ID); if ((PA_TYPE_DA == chType) || (EA_MODE_DIS == wEaMode) || ((EA_STATION_MODE_DIS == wEaStationMode) && (wMaxHeadLink == wMinTailLink) && (CI_SUCCESS == chPlatformFlag))) { - chCalcSpecialEa = CalcSpecialEa(wTrainId,wSpecialEaId); - if (CI_SUCCESS == chCalcSpecialEa) - { - *pEaOut = EA_OUT_SEVEN; - *pMidLine = UINT32_MAX; + /* ȡɢΧ */ + dwFrontDis = GetEaFrontDis(); + dwBehindDis = GetEaBehindDis(); + chTrainDir_outTail = ConvertTrainDir(chTrainDir_Maxhead); /*ǰȡ*/ + + /*ͷ*/ + if (DIR_SAME == chTrainDir_Maxhead) + {/*ͷشǰۼ*/ + dwKm1 = dwMaxHeadKm + dwFrontDis; + } + else if (DIR_CONVERT == chTrainDir_Maxhead) + {/*ͷشǰۼ*/ + if (dwMaxHeadKm >= dwFrontDis) + { + dwKm1 = dwMaxHeadKm - dwFrontDis; + } + else + { + dwKm1 = 0u; + } } else { - /* ȡɢΧ */ - dwFrontDis = GetEaFrontDis(); - dwBehindDis = GetEaBehindDis(); - chTrainDir_outTail = ConvertTrainDir(chTrainDir_outTail); /*Сȡ*/ - - /*ͷ*/ - if (DIR_SAME == chTrainDir_Maxhead) - {/*ͷشǰۼ*/ - dwKm1 = dwMaxHeadKm + dwFrontDis; - } - else if (DIR_CONVERT == chTrainDir_Maxhead) - {/*ͷشǰۼ*/ - if (dwMaxHeadKm >= dwFrontDis) - { - dwKm1 = dwMaxHeadKm - dwFrontDis; - } - else - { - dwKm1 = 0u; - } - } - else - { - chRtn = CI_ERROR; - } - - /*β*/ - if (DIR_SAME == chTrainDir_outTail) - {/*βسβⷽۼ*/ - dwKm2 = dwMinTailKm + dwBehindDis; - } - else if (DIR_CONVERT == chTrainDir_outTail) - {/*βسβⷽۼ*/ - if (dwMinTailKm >= dwBehindDis) - { - dwKm2 = dwMinTailKm - dwBehindDis; - } - else - { - dwKm2 = 0u; - } - } - else - { - chRtn = CI_ERROR; - } - - *pMinEdge = (dwKm1 < dwKm2) ? dwKm1 : dwKm2; - *pMaxEdge = (dwKm1 < dwKm2) ? dwKm2 : dwKm1; - *pEaOut = EA_OUT_ONE; + chRtn = CI_ERROR; } + + /*β*/ + if (DIR_SAME == chTrainDir_outTail) + {/*βسβⷽۼ*/ + dwKm2 = dwMinTailKm + dwBehindDis; + } + else if (DIR_CONVERT == chTrainDir_outTail) + {/*βسβⷽۼ*/ + if (dwMinTailKm >= dwBehindDis) + { + dwKm2 = dwMinTailKm - dwBehindDis; + } + else + { + dwKm2 = 0u; + } + } + else + { + chRtn = CI_ERROR; + } + + *pMinEdge = (dwKm1 < dwKm2) ? dwKm1 : dwKm2; + *pMaxEdge = (dwKm1 < dwKm2) ? dwKm2 : dwKm1; + *pEaOut = EA_OUT_ONE; } else if ((EA_STATION_MODE_PLAT == wEaStationMode) && (wMaxHeadLink == wMinTailLink) && (CI_SUCCESS == chPlatformFlag)) { @@ -2137,7 +2036,7 @@ static void EaAtsCancleFst(void) strCfmFst->chFlag = FLAG_SET; strCfmFst->chTiocId = chLocalId; strCfmFst->chStation = strMsgFst->chStation; - strCfmFst->wIndex = strMsgFst->wIndex; + strCfmFst->chIndex = strMsgFst->chIndex; strCfmFst->dwTime = dwCycle; chRtn = dquHlhtId2VobcName(strMsgFst->dwEaTrainId, &wTrainId, &wTrainLgcId); @@ -2160,7 +2059,7 @@ static void EaAtsCancleFst(void) if (TRAIN_EA_CMD_STATE_INVALID != chEaCmdState) { /* гǰɢ״̬ */ - strCfmFst->chOpStatus = CONFIRM_TRAIN_IN_EA; + strCfmFst->chOpStatus = CONFIRM_FIRST_EING; } else { @@ -2182,8 +2081,8 @@ static void EaAtsCancleFst(void) ii++; szCrcTmp[ii] = strMsgFst->chStation; ii++; - ShortToChar(strMsgFst->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii] = strMsgFst->chIndex; + ii++; LongToChar(strMsgFst->dwEaTrainId, &szCrcTmp[ii]); ii += 4u; LongToChar(strMsgFst->dwTime, &szCrcTmp[ii]); @@ -2254,7 +2153,7 @@ static void EaAtsCancleSnd(void) strCfmSnd->chFlag = FLAG_SET; strCfmSnd->chTiocId = chLocalId; strCfmSnd->chStation = strMsgSnd->chStation; - strCfmSnd->wIndex = strMsgSnd->wIndex; + strCfmSnd->chIndex = strMsgSnd->chIndex; strCfmSnd->dwTime = dwCycle; if (FLAG_SET != strMsgFst->chFlag) @@ -2269,45 +2168,20 @@ static void EaAtsCancleSnd(void) } else if ((strMsgSnd->chAtsId != strMsgFst->chAtsId) || (strMsgSnd->chStation != strMsgFst->chStation) - || (strMsgSnd->wIndex != strMsgFst->wIndex) - || (strMsgSnd->chType != strMsgFst->chType)) + || (strMsgSnd->chIndex != strMsgFst->chIndex) + || (strMsgSnd->chType != strMsgFst->chType) + || (strMsgSnd->chLine != strMsgFst->chLine)) { /* ATS벻һ£δ֪ */ strCfmSnd->chOpStatus = CONFIRM_UNKNOWN; chFlag = FLAG_SET; } - else if (strMsgSnd->chLine != strMsgFst->chLine) - { - /* ·Բһ */ - strCfmSnd->chOpStatus = CONFIRM_EA_SND_LINE_DIFF; - chFlag = FLAG_SET; - } else { /**/ ; } - if (FLAG_UNSET == chFlag) - { - chFunRtn = dquHlhtId2VobcName(strMsgSnd->dwEaTrainId, &wTrainId, &wTrainLgcId); - chEaCmdState = GetTrainEaCmdState(wTrainId); - if (TRAIN_EA_CMD_STATE_INVALID != chEaCmdState) - { - /* гǰɢ״̬ */ - strCfmSnd->chOpStatus = CONFIRM_TRAIN_IN_EA; - chFlag = FLAG_SET; - } - else - { - ; - } - } - else - { - ; - } - if (FLAG_UNSET == chFlag) { szCrcTmp[ii] = strMsgSnd->chTiocId; @@ -2335,11 +2209,30 @@ static void EaAtsCancleSnd(void) ; } + if (FLAG_UNSET == chFlag) + { + chFunRtn = dquHlhtId2VobcName(strMsgSnd->dwEaTrainId, &wTrainId, &wTrainLgcId); + chEaCmdState = GetTrainEaCmdState(wTrainId); + if (TRAIN_EA_CMD_STATE_INVALID != chEaCmdState) + { + /* гǰɢ״̬ */ + strCfmSnd->chOpStatus = CONFIRM_FIRST_EING; + chFlag = FLAG_SET; + } + else + { + ; + } + } + else + { + ; + } + ii = 0u; szCrcTmp[ii++] = strMsgSnd->chAtsId; szCrcTmp[ii++] = strMsgSnd->chStation; - ShortToChar(strMsgSnd->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii++] = strMsgSnd->chIndex; LongToChar(strMsgSnd->dwEaTrainId, &szCrcTmp[ii]); ii += 4u; LongToChar(strMsgFst->dwTime, &szCrcTmp[ii]); @@ -2349,7 +2242,6 @@ static void EaAtsCancleSnd(void) szCrcTmp[ii++] = strMsgSnd->chType; szCrcTmp[ii++] = strMsgSnd->chLine; strCfmSnd->dwCrc32 = Tioc_CommonCrc32(szCrcTmp, ii); - if (FLAG_UNSET == chFlag) {/* ͨȷϳɹ */ chFunRtn = dquHlhtId2VobcName(strMsgSnd->dwEaTrainId, &wTrainId, &wTrainLgcId); @@ -3100,7 +2992,7 @@ void DaAtsCancleFst(void) strCfmFst->chFlag = FLAG_SET; strCfmFst->chTiocId = chLocalId; strCfmFst->chStation = strMsgFst->chStation; - strCfmFst->wIndex = strMsgFst->wIndex; + strCfmFst->chIndex = strMsgFst->chIndex; strCfmFst->dwTime = dwCycle; chRtn = dquHlhtId2VobcName(strMsgFst->dwDaTrainId, &wTrainId, &wTrainLgcId); @@ -3144,8 +3036,8 @@ void DaAtsCancleFst(void) ii++; szCrcTmp[ii] = strMsgFst->chStation; ii++; - ShortToChar(strMsgFst->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii] = strMsgFst->chIndex; + ii++; LongToChar(strMsgFst->dwDaTrainId, &szCrcTmp[ii]); ii += 4u; LongToChar(strMsgFst->dwTime, &szCrcTmp[ii]); @@ -3217,7 +3109,7 @@ void DaAtsCancleSnd(void) strCfmSnd->chFlag = FLAG_SET; strCfmSnd->chTiocId = chLocalId; strCfmSnd->chStation = strMsgSnd->chStation; - strCfmSnd->wIndex = strMsgSnd->wIndex; + strCfmSnd->chIndex = strMsgSnd->chIndex; strCfmSnd->dwTime = dwCycle; if (FLAG_SET != strMsgFst->chFlag) @@ -3232,44 +3124,20 @@ void DaAtsCancleSnd(void) } else if ((strMsgSnd->chAtsId != strMsgFst->chAtsId) || (strMsgSnd->chStation != strMsgFst->chStation) - || (strMsgSnd->wIndex != strMsgFst->wIndex) - || (strMsgSnd->chType != strMsgFst->chType)) + || (strMsgSnd->chIndex != strMsgFst->chIndex) + || (strMsgSnd->chType != strMsgFst->chType) + || (strMsgSnd->chLine != strMsgFst->chLine) + ) {/* ATS벻һ£δ֪ */ strCfmSnd->chOpStatus = CONFIRM_DA_SND_UNKNOWN; chFlag = FLAG_SET; } - else if (strMsgSnd->chLine != strMsgFst->chLine) - { - /* ·Բһ */ - strCfmSnd->chOpStatus = CONFIRM_DA_SND_LINE_DIFF; - chFlag = FLAG_SET; - } else { /**/ ; } - if (FLAG_UNSET == chFlag) - { - chFunRtn = dquHlhtId2VobcName(strMsgSnd->dwDaTrainId, &wTrainId, &wTrainLgcId); - chDerailment = GetTrainDerailment(wTrainId); - if (TRAIN_DERAIL_NO != chDerailment) - { - /* гǰѹ״̬ */ - strCfmSnd->chOpStatus = CONFIRM_DA_SND_DERAIL; - chFlag = FLAG_SET; - } - else - { - ; - } - } - else - { - ; - } - if (FLAG_UNSET == chFlag) { szCrcTmp[ii] = strMsgSnd->chTiocId; @@ -3297,11 +3165,30 @@ void DaAtsCancleSnd(void) ; } + if (FLAG_UNSET == chFlag) + { + chFunRtn = dquHlhtId2VobcName(strMsgSnd->dwDaTrainId, &wTrainId, &wTrainLgcId); + chDerailment = GetTrainDerailment(wTrainId); + if (TRAIN_DERAIL_NO != chDerailment) + { + /* гǰѹ״̬ */ + strCfmSnd->chOpStatus = CONFIRM_DA_SND_DERAIL; + chFlag = FLAG_SET; + } + else + { + ; + } + } + else + { + ; + } + ii = 0u; szCrcTmp[ii++] = strMsgSnd->chAtsId; szCrcTmp[ii++] = strMsgSnd->chStation; - ShortToChar(strMsgSnd->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii++] = strMsgSnd->chIndex; LongToChar(strMsgSnd->dwDaTrainId, &szCrcTmp[ii]); ii += 4u; LongToChar(strMsgFst->dwTime, &szCrcTmp[ii]); @@ -3925,423 +3812,4 @@ UINT16 GetEaIndex(const UINT16 wEaId) return wReval; } -/** -* @brief ӷ -* @param chEaIndex -* @param wAxisSecId ID -* @param chType -* @param wTrainId ɢгID -* @param chEaconfigId -* @return CI_ERROR ʧ -* CI_SUCCESS ɹ -* BY CGH 20250527 -*/ -static UINT8 AddEaAxisSec(UINT8 chEaIndex, UINT16 wAxisSecId, UINT8 chType, UINT16 wTrainId, UINT8 chEaconfigId) -{ - UINT8 chReval = CI_ERROR; - UINT8 chIndex = 0U; - UINT8 chAcBelongCiId = 0; /*ID*/ - UINT8 chAcBelongCiType = 0; /**/ - UINT8 chAxisSecAddFlag = CI_ERROR;/*Ƿ־*/ - - if ((0U < wAxisSecId) && (AXIS_SECTION_SUM_MAX > wAxisSecId)) - { - chReval = CI_SUCCESS; - /*ȥ*/ - for (chIndex = 0u; chIndex < g_szEaData[chEaIndex].strAcInfo.chObjNum; chIndex++) - { - /*ǷѾ¼*/ - if (g_szEaData[chEaIndex].strAcInfo.szObjId[chIndex] == wAxisSecId) - { - break; - } - else - { - ; - } - } - /*ûм¼*/ - if (g_szEaData[chEaIndex].strAcInfo.chObjNum == chIndex) - { - /*жϸüǷԳ*/ - chAcBelongCiId = (UINT8)GetAxisBelongTiocAllLine(wAxisSecId); - chAcBelongCiType = GetCiType(chAcBelongCiId);/*ȡǰ*/ - /*ҪݹܿжǷн*/ - chAxisSecAddFlag = AxisSecAddProAreaCheck(wAxisSecId, chType, wTrainId); - - if (((CI_TYPE_ZX == chAcBelongCiType) || (CI_TYPE_SCX == chAcBelongCiType)) - && (CI_SUCCESS == chAxisSecAddFlag)) - { - - if (EA_SECTION_MAX_NUM > g_szEaData[chEaIndex].strAcInfo.chObjNum) - { - g_szEaData[chEaIndex].strAcInfo.szObjId[g_szEaData[chEaIndex].strAcInfo.chObjNum] = wAxisSecId; - g_szEaData[chEaIndex].strAcInfo.chObjNum++; - g_szEaData[chEaIndex].chEaConfigId = chEaconfigId; - } - else - { - chReval = CI_ERROR; - } - } - else - { - /*߻ԳӼ*/ - } - } - else - { - ; - } - - - } - else - { - ; - } - - return chReval; -} - -/** -* @brief Ƿ -* @param const UINT16 wAcId α -* @param const UINT16 wSpecialEaId -* @return UINT8_MAX 쳣 -* CI_ERROR ڲ -* CI_SUCCESS Ҫڲ -* by cgh 20250818 -*/ -static UINT8 CheckAddSpecialEaAxis(const UINT16 wAcId,const UINT16 wSpecialEaId) -{ - UINT8 chRtn = CI_ERROR; - UINT8 chLinkNum = 0U; - UINT16* pLinkIdBuff = NULL; - UINT8 ii = 0U; - UINT16 wLinkSpecialEa = 0U; /**/ - - if ((0U < wAcId) && (AXIS_SECTION_SUM_MAX > wAcId) && (0U < wSpecialEaId)) - { - chLinkNum = EaGetAcLinkNum(wAcId); - pLinkIdBuff = EaGetAcLinkId(wAcId); - - if (NULL != pLinkIdBuff) - { - for (ii = 0U; ii < chLinkNum; ii++) - { - wLinkSpecialEa = GetLinkSpecialEaAttr(pLinkIdBuff[ii]); - - if (wSpecialEaId == wLinkSpecialEa) - { - chRtn = CI_SUCCESS; - break; - } - else - { - ; - } - } - } - else - { - chRtn = UINT8_MAX; /*쳣*/ - } - } - else - { - chRtn = UINT8_MAX; /*쳣*/ - } - - return chRtn; -} - -/** -* @brief Ƿȫ -* @param wTrainId ɢгID -* @param UINT16* wSpecialEaId ID -* @return CI_ERROR ȫ CI_SUCCESS ȫ -* edit cgh 20250818 -*/ -static UINT8 CalcSpecialEa(const UINT16 wTrainId, UINT16* wSpecialEaId) -{ - UINT8 chRtn = CI_ERROR; - UINT16 wMaxHeadLinkId = 0U; /*ǰLINK ID*/ - UINT16 wMinTailLinkId = 0U; /*СLINK ID*/ - UINT8 chTrainDir_Maxhead = 0u; /*гǰΪ׼*/ - UINT8 chTrainDir_outTail = 0u; /*βķСȡ*/ - UINT16 wMaxHeadLinkSpecialEa = 0U; /*ǰ*/ - UINT16 wMinTailLinkSpecialEa = 0U; /*С*/ - UINT16 wMaxHeadLinkBelCiId = 0U; /*ǰLINKID*/ - UINT16 wMinTailLinkBelCiId = 0U; /*СLINKID*/ - UINT8 chMaxHeadLinkBelCiType = 0U; /*ǰLINK*/ - UINT8 chMinTailLinkBelCiType = 0U; /*СLINK*/ - UINT32 dwSearchLen = 0U;/*ѯ*/ - UINT32 errorCode = 0U; - struct_PathPoint pPoint = { 0U }; /*λϢ*/ - - wMaxHeadLinkId = GetTrainMaxHeadLink(wTrainId); - wMinTailLinkId = GetTrainMinTailLink(wTrainId); - - if ((0U < wMaxHeadLinkId) && (LINK_SUM_MAX > wMaxHeadLinkId) && (0U < wMinTailLinkId) && (LINK_SUM_MAX > wMinTailLinkId) && (NULL != wSpecialEaId)) - { - wMaxHeadLinkSpecialEa = GetLinkSpecialEaAttr(wMaxHeadLinkId); - wMinTailLinkSpecialEa = GetLinkSpecialEaAttr(wMinTailLinkId); - wMaxHeadLinkBelCiId = GetLinkManageTiocById(wMaxHeadLinkId); - wMinTailLinkBelCiId = GetLinkManageTiocById(wMinTailLinkId); - chMaxHeadLinkBelCiType = GetCiType(wMaxHeadLinkBelCiId); - chMinTailLinkBelCiType = GetCiType(wMinTailLinkBelCiId); - - if (((0U != wMaxHeadLinkSpecialEa) || (CI_TYPE_CLD == chMaxHeadLinkBelCiType)) - && ((0U != wMinTailLinkSpecialEa) || (CI_TYPE_CLD == chMinTailLinkBelCiType))) - { - /*ǰСڳڳΪҲ*/ - - /*ڷֻҪ򣬾ΪгյķΪӦ*/ - chRtn = CI_SUCCESS; - - if (0U != wMaxHeadLinkSpecialEa) - { - *wSpecialEaId = wMaxHeadLinkSpecialEa; - chTrainDir_Maxhead = GetTrainDir_MaxHead(wTrainId); - dwSearchLen = GetLinkSpecialEaFrontDis(wMaxHeadLinkId); - pPoint.wLinkId = wMaxHeadLinkId; - pPoint.dwOffset = GetTrainMaxHeadOffset(wTrainId); - chRtn = EaFindLinkAdjacentLinkID(pPoint, chTrainDir_Maxhead, dwSearchLen); - } - else - { - - } - - if (CI_SUCCESS == chRtn) - { - if (0U != wMinTailLinkSpecialEa) - { - *wSpecialEaId = wMinTailLinkSpecialEa; - chTrainDir_outTail = GetTrainDir(wTrainId); - chTrainDir_outTail = ConvertTrainDir(chTrainDir_outTail); /*Сȡ*/ - dwSearchLen = GetLinkSpecialEaBehindDis(wMinTailLinkId); - pPoint.wLinkId = wMinTailLinkId; - pPoint.dwOffset = GetTrainMinTailOffset(wTrainId); - chRtn = EaFindLinkAdjacentLinkID(pPoint, chTrainDir_outTail, dwSearchLen); - } - else - { - ; - } - - if (CI_SUCCESS != chRtn) - { - errorCode += 0x04000000U; - } - else - { - ; - } - } - else - { - errorCode += 0x08000000U; - } - } - else - { - if (0U != wMaxHeadLinkSpecialEa) - { - *wSpecialEaId = wMaxHeadLinkSpecialEa; - errorCode += 0x40000000U; - } - else - { - if (0U != wMinTailLinkSpecialEa) - { - *wSpecialEaId = wMinTailLinkSpecialEa; - errorCode += 0x20000000U; - } - else - { - errorCode += 0x10000000U; - } - } - } - } - else - { - errorCode += 0x80000000U; - } - - debug_infor_printf((const)"\CalcSpecialEa Error errorCode:0x%08x\n", errorCode); - return chRtn; -} - -/** -* @brief ѯǰlinklinkĿǰڳжϣ -* @param struct_PathPoint pPoint ǰlinkϢ -* @param UINT8 chDirection ѯ -* @param UINT32 dwSearchLen ѯ -* @return CI_SUCCESS ͨ CI_ERROR ʧ -* BY CGH 20250818 -*/ -static UINT8 EaFindLinkAdjacentLinkID(struct_PathPoint pPoint, UINT8 chDirection, UINT32 dwSearchLen) -{ - UINT16 wFindLinkId = 0U;/*ֵ*/ - UINT8 chReturn = CI_ERROR; - LinkPointDataStru pathTreeTemp = { 0U };/*˵Ϣ*/ - UINT8 chDirectionPointfirst = 0U; /*仯1*/ - UINT8 chDirectionPointsecond = 0U; /*仯2*/ - UINT8 chTempDir = 0U; /*ʱ*/ - UINT32 dwAddSearchLen = 0U;/*ۼӳ*/ - UINT16 wLinkBelCiId = 0U; /*LINKID*/ - UINT8 chLinkBelCiType = 0U; /*LINK*/ - UINT16 wLinkSpecialEa = 0U; /**/ - UINT8 chCheckFinishFlag = CI_FALSE; /*־*/ - UINT16 wCurrentLinkId = 0U; - - if ((DIR_SAME == chDirection) || (DIR_CONVERT == chDirection)) - { - chReturn = CI_SUCCESS; - chTempDir = chDirection; - dwAddSearchLen = GetRelDirLinkOffset(pPoint, chTempDir); - wCurrentLinkId = pPoint.wLinkId; - while ((dwAddSearchLen < dwSearchLen) && (CI_FALSE == chCheckFinishFlag)) - { - /*ѯlink˵Ϣ*/ - chReturn = GetLinkPointInfo(chTempDir, wCurrentLinkId, &pathTreeTemp); - if (CI_SUCCESS != chReturn) - { - /*زѯʧ*/ - chReturn = CI_ERROR; - chCheckFinishFlag = CI_TRUE; - } - else - { - if (UINT16_MAX == pathTreeTemp.wMainLinkId) - { - /*linkѯʧ*/ - chReturn = CI_ERROR; - chCheckFinishFlag = CI_TRUE; - } - else - { - if (EMAP_AXLE_DOT == pathTreeTemp.wPointType) - { - /* ȡһlinkID*/ - wFindLinkId = pathTreeTemp.wMainLinkId; - dwAddSearchLen += GetLinkLengthById(wFindLinkId); - wLinkSpecialEa = GetLinkSpecialEaAttr(wFindLinkId); - wLinkBelCiId = GetLinkManageTiocById(wFindLinkId); - chLinkBelCiType = GetCiType(wLinkBelCiId); - - if (CI_TYPE_CLD == chLinkBelCiType) - { - chCheckFinishFlag = CI_TRUE; - } - else if(0U != wLinkSpecialEa) - { - /*˵Ϊ㣬ѯlinkһlinkIDǷз仯㣬link仯ΪԶ㣬ֱӷlinkID仯Ϣ*/ - chDirectionPointfirst = GetLinkLogicDirChangedById(wCurrentLinkId); - chDirectionPointsecond = GetLinkLogicDirChangedById(wFindLinkId); - if (((LINK_DIRCHANGE_BEGIN == chDirectionPointfirst) || (LINK_DIRCHANGE_END == chDirectionPointfirst)) - && (chDirectionPointsecond == chDirectionPointfirst)) - { - chTempDir = ConvertTrainDir(chTempDir); - } - else - { - ; /*û仯㣬*/ - } - - wCurrentLinkId = wFindLinkId; - } - else - { - /*dzҲ߱ԣ˵*/ - chReturn = CI_ERROR; - chCheckFinishFlag = CI_TRUE; - } - - - } - else if (EMAP_POINT_DOT == pathTreeTemp.wPointType) - { - wFindLinkId = pathTreeTemp.wMainLinkId; - dwAddSearchLen += GetLinkLengthById(wFindLinkId); - wLinkBelCiId = GetLinkManageTiocById(wFindLinkId); - chLinkBelCiType = GetCiType(wLinkBelCiId); - if (CI_TYPE_CLD == chLinkBelCiType) - { - chCheckFinishFlag = CI_TRUE; - } - else - { - /*ҵеLINKDzdzεģ˵*/ - chReturn = CI_ERROR; - chCheckFinishFlag = CI_TRUE; - } - } - else - { - /*linkѯʧ*/ - chReturn = CI_ERROR; - chCheckFinishFlag = CI_TRUE; - } - } - } - } - } - else - { - ; - } - - return chReturn; -} - -/** -* @brief ȡ -* @param const UINT16 wAcId α -* @return -* by cgh 20250826 -*/ -static UINT16 GetAxisSpecialEaId(const UINT16 wAcId) -{ - UINT16 wRtn = CI_ERROR; - UINT8 chLinkNum = 0U; - UINT16* pLinkIdBuff = NULL; - UINT8 ii = 0U; - - if ((0U < wAcId) && (AXIS_SECTION_SUM_MAX > wAcId)) - { - chLinkNum = EaGetAcLinkNum(wAcId); - pLinkIdBuff = EaGetAcLinkId(wAcId); - - if (NULL != pLinkIdBuff) - { - for (ii = 0U; ii < chLinkNum; ii++) - { - wRtn = GetLinkSpecialEaAttr(pLinkIdBuff[ii]); - - if (0U != wRtn) - { - break; - } - else - { - ; - } - } - } - else - { - ; - } - } - else - { - ; - } - - return wRtn; -} diff --git a/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.h b/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.h index 10310d5..6579ff8 100644 --- a/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.h +++ b/TSCP/src/APP/ciapp/Train/EvacuationAreaManage.h @@ -4,7 +4,7 @@ #include "TrainDefine.h" #define EA_CFG_SUM_MAX 50u /* */ -#define EA_BD_LINK_SUM_MAX 10u /* յ߽ */ +#define EA_BD_LINK_SUM_MAX 5u /* յ߽ */ #define EA_MODE_DIS 0x55u /* ʽ */ #define EA_MODE_SEC 0xAAu /* ʽվһ䲻վ̨ */ #define EA_MODE_PLATION 0x33u /* ʽվһ京վ̨ */ @@ -17,7 +17,6 @@ #define EA_OUT_FOUR 4u /* վһҪյվ̨ */ #define EA_OUT_FIVE 5u /* վһ䲻Ҫվ̨ */ #define EA_OUT_SIX 6u /* վһҪ估վ̨ */ -#define EA_OUT_SEVEN 7u /* */ #define EA_DST_ALLOWED_YES 0x55u /* ʱĿTIOC */ #define EA_DST_ALLOWED_NO 0xaau /* ʱĿTIOC */ diff --git a/TSCP/src/APP/ciapp/Train/TrainDataManage.c b/TSCP/src/APP/ciapp/Train/TrainDataManage.c index b8161de..d35b492 100644 --- a/TSCP/src/APP/ciapp/Train/TrainDataManage.c +++ b/TSCP/src/APP/ciapp/Train/TrainDataManage.c @@ -27,10 +27,8 @@ UINT8 gAtsScreenNum = 0u; TrainAtsScreenStru gszAtsScreenInfo[TRAIN_SUM_MAX] = { 0u }; UINT8 gFlyTrainCnt = 0U; /*ɳ崻г*/ -TrainFlyProtectStru gFlyTrainData[SHUT_DOWN_TRAIN_NUMMAX] = { 0U };/*ɳ崻г*/ +TrainFlyProtectStru gFlyTrainData[SHUT_DOWN_TRAIN_NUMMAX] = { 0 };/*ɳ崻г*/ -UINT8 gNvramFlyTrainCnt = 0U; /*ʹNVRAMλüලЧķɳг*/ -UINT16 gNvramFlyTrainId[SHUT_DOWN_TRAIN_NUMMAX] = { 0U }; /*ʹNVRAMλüලЧķɳгID*/ /** * @brief гǰȫϢгȫλú @@ -311,9 +309,6 @@ UINT8 TrainDataModuleInit(void) gstTrainInfo[chCycle].wTrainPosMonitorInLink = 0U; /*гλüලЧʱlinkΪ0*/ gstTrainInfo[chCycle].dwStartFlyCycNum = 0U; /*ɳ¼ڳʼ*/ gstTrainInfo[chCycle].chEaCmdState = TRAIN_EA_CMD_STATE_INVALID; /*гɢʼΪЧ*/ - gstTrainInfo[chCycle].strJumpBackData.chJumpBackApplyState = TRAIN_JUMP_BACK_STATE_INVALID;/*ʼδ*/ - gstTrainInfo[chCycle].strJumpBackData.chJumpBackReplyState = TRAIN_JUMP_BACK_STATE_NONE;/*ʼĬֵ*/ - gstTrainInfo[chCycle].strJumpBackData.dwJumpBackApplySn = 0U;/*ʼĬк*/ gszTrainId[gTrainSum] = gstTrainInfo[chCycle].wTrainId; gTrainSum++; @@ -2269,6 +2264,7 @@ static void CalHeadTrainSafePosFromUnSafe(UINT16 wTrainId, UINT32 dwHeadDistance pMaxHead.Off = dwTrainHeadOffset; wAcId = GetLinkBelongAcId(wSleepLink); + chSleepStt = GetTrainSleepState(wTrainId); if ((TRAIN_SLEEP_YES == chSleepStt) && (wSleepLink == Temp_TrainSafeLoc.wHeadLink)) { chTempCheckFlag = elm_PrepareACLoc(wAcId, chDir, &tmpACLoc); @@ -2300,7 +2296,7 @@ static void CalHeadTrainSafePosFromUnSafe(UINT16 wTrainId, UINT32 dwHeadDistance } else if ((TRAIN_NVRAM_POS_FLAG_NO != chNvramPosFlag) && (TRAIN_SLEEP_YES != chSleepStt) && (CI_SUCCESS == chTempCheckFlag) && (wTrainHeadLink == Temp_TrainSafeLoc.wHeadLink)) { - /*гȫ߻ѹʹNVRAMλã쵽յ*/ + /*гȫ߻ѹʹNVRAMλãڴǰǰ˵ǰ*/ wHeadAcId = GetLinkBelongAcId(wTrainHeadLink); chTempCheckFlag = elm_PrepareACLoc(wHeadAcId, chDir, &tmpHeadACLoc); @@ -2314,7 +2310,6 @@ static void CalHeadTrainSafePosFromUnSafe(UINT16 wTrainId, UINT32 dwHeadDistance { (void)SetTrainSafeHeadLink(wTrainId, 0U); (void)SetTrainSafeHeadOffset(wTrainId, UINT32_MAX); - ClearTrainSafeHeadDir(wTrainId); SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); SetTrainFullEnterLjkCycNum(wTrainId, 0U); @@ -2351,7 +2346,6 @@ static void CalHeadTrainSafePosFromUnSafe(UINT16 wTrainId, UINT32 dwHeadDistance /*ȫλڲѯʧ*/ (void)SetTrainSafeHeadLink(wTrainId, 0U); (void)SetTrainSafeHeadOffset(wTrainId, UINT32_MAX); - ClearTrainSafeHeadDir(wTrainId); } } (void)SetTrainSafeHeadFlag(wTrainId); @@ -2431,7 +2425,7 @@ static void CalTailTrainSafePosFromUnSafe(UINT16 trainID, UINT32 tailDistance, } else if ((TRAIN_NVRAM_POS_FLAG_NO != chNvramPosFlag) && (TRAIN_SLEEP_YES != chSleepStt) && (CI_SUCCESS == chTempCheckFlag) && (trainTailLink == strTrainSafeLoc.wTailLink)) { - /*гȫ߻ѹʹNVRAMλã쵽ȥյ*/ + /*гȫ߻ѹʹNVRAMλãСǰ˵ǰ*/ wTailAcId = GetLinkBelongAcId(trainTailLink); chTempCheckFlag = elm_PrepareACLoc(wTailAcId, trainDirection, &tmpTailACLoc); @@ -2445,7 +2439,6 @@ static void CalTailTrainSafePosFromUnSafe(UINT16 trainID, UINT32 tailDistance, { (void)SetTrainSafeTailLink(trainID, 0U); (void)SetTrainSafeTailOffset(trainID, UINT32_MAX); - ClearTrainSafeTailDir(trainID); SetTrainVirHeadScreenPassFlag(trainID, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); SetTrainVirTailScreenPassFlag(trainID, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); @@ -2483,7 +2476,6 @@ static void CalTailTrainSafePosFromUnSafe(UINT16 trainID, UINT32 tailDistance, { (void)SetTrainSafeTailLink(trainID, 0U); (void)SetTrainSafeTailOffset(trainID, UINT32_MAX); - ClearTrainSafeTailDir(trainID); } } } @@ -2520,7 +2512,6 @@ static void CalTrainSafePosition(void) UINT8 chSss = 0u; UINT8 chResult = CI_ERROR; UINT32 dwTailDistance = 0U;/*о*/ - UINT8 chTrainIsSwTrackFlag = CI_ERROR;/*г߻ѹ־*/ wTailDis = GetBackProtectMaxLen(); @@ -2558,11 +2549,11 @@ static void CalTrainSafePosition(void) gradeAcc = (FLOAT64)strTrainInfo.WorstGrade / 10.0; chSss = GetTrainStopSteadyState(wTrainId); - chTrainIsSwTrackFlag = CheckTrainIsSwTrack(wTrainId); + chSleepState = GetTrainSleepState(wTrainId); - if ((TRAIN_SS_YES == chSss) && (CI_SUCCESS == chTrainIsSwTrackFlag)) + if ((TRAIN_SS_YES == chSss) && (TRAIN_SLEEP_YES == chSleepState)) { - /*г߻ѹͣ׼ͣȺ󣬳ͷǰΪ0*/ + /*߳ͣ׼ͣȣͨʱͷǰΪ0*/ dwHeadDistance = 0; } else @@ -2646,8 +2637,6 @@ static void CalTrainSafePosition(void) else { /*аȫͨгķǰȫλü*/ - ClearTrainSafeHeadDir(wTrainId); - ClearTrainSafeTailDir(wTrainId); chResult = SetTrainSafeHeadLink(wTrainId, 0u); chResult &= SetTrainSafeHeadOffset(wTrainId, UINT32_MAX); chResult &= SetTrainSafeTailLink(wTrainId, 0u); @@ -2793,9 +2782,6 @@ void ClearTrainInfo(UINT16 wTrainId) gstTrainInfo[wBufIndex].dwStartFlyCycNum = 0U; gstTrainInfo[wBufIndex].chEaCmdState = TRAIN_EA_CMD_STATE_INVALID; /*гɢЧ*/ - gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackApplyState = TRAIN_JUMP_BACK_STATE_INVALID;/*ʼδ*/ - gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackReplyState = TRAIN_JUMP_BACK_STATE_NONE;/*ʼĬֵ*/ - gstTrainInfo[wBufIndex].strJumpBackData.dwJumpBackApplySn = 0U;/*ʼĬк*/ } else { @@ -5109,15 +5095,6 @@ static void TrainScreenProc(void) SetTrainEnterLjkLinkId(wTrainId, wMaxHeadLink); SetTrainVirHeadScreenPassFlag(wTrainId,TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - if (0U == pElmTemp->tailTrainID) - { - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - } - else - { - ; - } - /*ɸѡͨгλüලЧ*/ SetTrainPosMonitorState(wTrainId, TRAIN_POS_MONITOR_VALID); SetTrainPosMonitorInLink(wTrainId, wMaxHeadLink); @@ -5160,15 +5137,6 @@ static void TrainScreenProc(void) /*ɸ־ЧIVOC޿*/ SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - if (0U == pElmTemp->headTrainID) - { - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID); - } - else - { - ; - } - /*ɸѡͨгλüලЧ*/ SetTrainPosMonitorState(wTrainId, TRAIN_POS_MONITOR_VALID); SetTrainPosMonitorInLink(wTrainId, wMaxHeadLink); @@ -5259,7 +5227,7 @@ static void TrainAtsScreenFst(void) strCfmFst->chFlag = FLAG_SET; strCfmFst->chTiocId = chLocalId; strCfmFst->chStation = strMsgFst->chStation; - strCfmFst->wIndex = strMsgFst->wIndex; + strCfmFst->chIndex = strMsgFst->chIndex; strCfmFst->dwTime = dwCycle; for (chAtsIndex = 0u; chAtsIndex < strMsgFst->chTrainNum; chAtsIndex++) @@ -5357,7 +5325,7 @@ static UINT8 IsAtsFstSndSame(void) if ((strMsgFst->chAtsId == strMsgSnd->chAtsId) && (strMsgFst->chStation == strMsgSnd->chStation) - && (strMsgFst->wIndex == strMsgSnd->wIndex) + && (strMsgFst->chIndex == strMsgSnd->chIndex) && (strMsgFst->chTrainNum == strMsgSnd->chTrainNum)) {/* ATS/վ/վ/гһ */ chRtn = CI_SUCCESS; @@ -5442,7 +5410,7 @@ static void TrainAtsScreenSnd(void) strCfmSnd->chFlag = FLAG_SET; strCfmSnd->chTiocId = chLocalId; strCfmSnd->chStation = strMsgSnd->chStation; - strCfmSnd->wIndex = strMsgSnd->wIndex; + strCfmSnd->chIndex = strMsgSnd->chIndex; strCfmSnd->dwTime = dwCycle; for (chAtsIndex = 0u; chAtsIndex < strMsgSnd->chTrainNum; chAtsIndex++) { @@ -5487,6 +5455,36 @@ static void TrainAtsScreenSnd(void) } } + if (FLAG_UNSET == chFlag) + { + ii = 0u; + szCrcTmp[ii++] = strMsgSnd->chTiocId; + LongToChar(strCfmFst->dwTime, &szCrcTmp[ii]); + ii += 4u; + szCrcTmp[ii++] = strMsgSnd->chTrainNum; + for (chAtsIndex = 0u; chAtsIndex < strMsgSnd->chTrainNum; chAtsIndex++) + { + LongToChar(strMsgSnd->strTrainInfo[chAtsIndex].dwTrainId, &szCrcTmp[ii]); + ii += 4u; + ShortToChar(strMsgSnd->strTrainInfo[chAtsIndex].wLgcId, &szCrcTmp[ii]); + ii += 2u; + } + dwCrc = Tioc_CommonCrc32(szCrcTmp, ii); + if (dwCrc != strMsgSnd->dwCrc32) + {/* CRC32ATSϢCRC32һ */ + strCfmSnd->chOpStatus = CONFIRM_SECOND_CRC; + chFlag = FLAG_SET; + } + else + { + ; + } + } + else + { + ; + } + if (FLAG_UNSET == chFlag) { if (FLAG_SET != strMsgFst->chFlag) @@ -5522,36 +5520,6 @@ static void TrainAtsScreenSnd(void) ; } - if (FLAG_UNSET == chFlag) - { - ii = 0u; - szCrcTmp[ii++] = strMsgSnd->chTiocId; - LongToChar(strCfmFst->dwTime, &szCrcTmp[ii]); - ii += 4u; - szCrcTmp[ii++] = strMsgSnd->chTrainNum; - for (chAtsIndex = 0u; chAtsIndex < strMsgSnd->chTrainNum; chAtsIndex++) - { - LongToChar(strMsgSnd->strTrainInfo[chAtsIndex].dwTrainId, &szCrcTmp[ii]); - ii += 4u; - ShortToChar(strMsgSnd->strTrainInfo[chAtsIndex].wLgcId, &szCrcTmp[ii]); - ii += 2u; - } - dwCrc = Tioc_CommonCrc32(szCrcTmp, ii); - if (dwCrc != strMsgSnd->dwCrc32) - {/* CRC32ATSϢCRC32һ */ - strCfmSnd->chOpStatus = CONFIRM_SECOND_CRC; - chFlag = FLAG_SET; - } - else - { - ; - } - } - else - { - ; - } - ii = 0u; szCrcTmp[ii++] = strMsgFst->chAtsId; LongToChar(strMsgFst->dwTime, &szCrcTmp[ii]); @@ -5571,6 +5539,7 @@ static void TrainAtsScreenSnd(void) {/* ͨȷϳɹ */ strCfmSnd->chOpStatus = CONFIRM_FIRST_SUCCESS; + SetTrainAtsScreenProc(); } else @@ -6851,16 +6820,13 @@ UINT16 GetTrainTailITEScreen(const UINT16 wTrainId, UINT8* devState) * const UINT8 cQueryDir ߼ζӦIJѯ߼ * const UINT8 cLogSecSum ߼ * const UINT16 pLogSecIdBuff[] ߼ID -* const UINT8 cFunctionId ID -* const UINT8 cSendLevel ͼ * UINT8* pHalfRouteSwitchMoveFlag ؽ·ɶ־ * UINT16 *pTrainOccLogSecSum г߼ * UINT16 pTrainOccLogSecID[] г߼ID * ֵ CI_SUCCESSͨ CI_ERROR: 鲻ͨ */ -UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UINT8 cLogSecSum, const UINT16 pLogSecIdBuff[], - UINT8* pHalfRouteSwitchMoveFlag, UINT16* pTrainOccLogSecSum, UINT16 pTrainOccLogSecID[], const UINT8 cFunctionId, const UINT8 cSendLevel) +UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UINT8 cLogSecSum, const UINT16 pLogSecIdBuff[], UINT8* pHalfRouteSwitchMoveFlag, UINT16* pTrainOccLogSecSum, UINT16 pTrainOccLogSecID[]) { /*ֲʼ*/ UINT8 retVal = CI_ERROR; @@ -6899,24 +6865,16 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI UINT8 cLogSecLockState = LOG_SECTION_LOCK_NO; /*߼ν·״̬*/ UINT8 cLogSecLogLockState = LOG_SECTION_LOGLOCK_NO; /*߼߼״̬*/ UINT16 wOutLogSecNum = 0U; /*г*/ - UINT8 jj = 0U; - UINT8 kk = 0U; - UINT16 wLockBelongRouteId = 0U; /*߼ν··ID*/ - UINT16 wFstLockedLogSecId = 0U; /*·һյ߼ID*/ - UINT8 chLogSecLockBelLogRouteSum = 0U;/*߼߼·*/ - LogSecLockBelLogRouteStruct* szLogSecLockBelLogRouteData = NULL;/*߼߼·*/ - UINT16 wFstLogLockedLogSecId = 0U; /*·һ߼յ߼ID*/ - UINT8 mm = 0U; /*μ飨гIDݲ飩*/ - if (((DIR_SAME == cQueryDir) || (DIR_CONVERT == cQueryDir)) && (0U != cLogSecSum) && (NULL != pLogSecIdBuff) && ((ESEND_LEVEL_ATS == cSendLevel) || (ESEND_LEVEL_ZERO == cSendLevel))) + if (((DIR_SAME == cQueryDir) || (DIR_CONVERT == cQueryDir)) && (0U != cLogSecSum) && (NULL != pLogSecIdBuff)) { retVal = CI_SUCCESS; cCommStateWithTrain = GetTrainTransitmitStat(wTrainId); if (TRAIN_COMM_STATE_GOOD == cCommStateWithTrain) /*гIDϷж*/ { cTrainMaxTailDir = GetTrainDir_MaxTail(wTrainId); - + if ((DIR_SAME == cTrainMaxTailDir) || (DIR_CONVERT == cTrainMaxTailDir)) { /*ȡгλ*/ @@ -6927,7 +6885,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI strMinTailPoint.wLinkId = GetTrainMinTailLink(wTrainId); strMinTailPoint.dwOffset = GetTrainMinTailOffset(wTrainId); - dwCrossDis = (UINT32)GetSigCrossMaxLen(); + dwCrossDis = (UINT32)GetSigCrossMaxLen(); dwCrossDis = dwCrossDis * 100U; /*ѹתcm*/ cFuncResult = dsuNewLocAndObsByOffsetDis(strMaxTailPoint, dwCrossDis, cTrainMaxTailDir, &strMaxTailCrossPoint, &wSwitchId); /*гλãͷһѹ*/ @@ -6945,7 +6903,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI { cErrStep = 2U; retVal = CI_ERROR; /*쳣0ʧ*/ - } + } if (CI_SUCCESS == retVal) { @@ -6970,12 +6928,12 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI retVal = CI_ERROR; /*г߼Ƿ0ʧ*/ } } - else if ((0U != cLocalCiId) && (0U != cMaxHeadBelongCiId) && (0U != cMinTailBelongCiId) + else if((0U != cLocalCiId) && (0U != cMaxHeadBelongCiId) && (0U != cMinTailBelongCiId) && (cLocalCiId != cMaxHeadBelongCiId) && (cLocalCiId != cMinTailBelongCiId)) { cTrianAllInOtherRcFlag = FLAG_SET; /*гȫڱִ*/ } - else + else { cErrStep = 3U; retVal = CI_ERROR; /*ȡʧܣ0ʧ*/ @@ -6993,7 +6951,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI wMaxTailLinkId = GetTrainMaxTailLink(wTrainId); cLogSecIncLinkNum = GetSecIntrudeLinkSum(pLogSecIdBuff[0]); pLogSecIncLinkId = GetSecIntrudeLinkIdBuf(pLogSecIdBuff[0]); - + if ((CI_ERROR != wMaxTailLinkId) && (NULL != pLogSecIncLinkId) && (0U < cLogSecIncLinkNum) && (LOGSEC_INCLUDE_LINK_SUM_MAX >= cLogSecIncLinkNum)) { strCurPoint.Lnk = pLogSecIncLinkId[0U]; @@ -7041,7 +6999,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI if (CI_SUCCESS == retVal) { cHrSwitchMoveFlag = ROUTE_HALF_SWITCH_MOVE_VALID; - retVal = CI_SUCCESS; + retVal = CI_SUCCESS; } else @@ -7090,146 +7048,6 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI { /*ʧ*/ } - - if (CI_SUCCESS == retVal) - { - /*߼εĽ··ĵһ߼Ƿ*/ - for (jj = 0U; jj < cLogSecSum; jj++) - { - wLockBelongRouteId = GetLogSecLockBelongRoute(pLogSecIdBuff[jj]); - wFstLockedLogSecId = GetRouteFirstLockedLogSecId(wLockBelongRouteId); /*ȡ·ڷһյ߼ID*/ - if (0U != wFstLockedLogSecId) - { - for (kk = 0U; kk < cLogSecSum; kk++) - { - /*߼Ƿ*/ - if (wFstLockedLogSecId == pLogSecIdBuff[kk]) - { - break; - } - else - { - /**/ - } - } - - if (kk == cLogSecSum) - { - retVal = CI_ERROR; - break; /*δ·ڷһյ߼Σֹͣʧ*/ - } - else - { - /**/ - } - } - else - { - /*գ*/ - } - } - - if (CI_SUCCESS == retVal) - { - /*ͨ*/ - } - else - { - cLogSecLockState = GetLogSecLockState(wFstLockedLogSecId); - SetErrorData(cFunctionId, CI_DEVICE_TYPE_LOGICSEC, wFstLockedLogSecId, ETYPE_LOGSEC_LOCK_STATE, cLogSecLockState, cSendLevel); - cErrStep = 6U; - retVal = CI_ERROR; /*ʧ*/ - } - } - else - { - SetErrorData(cFunctionId, CI_SYSTEM_TYPE_VOBC, (wTrainId & 0x00FFU), ETYPE_PART_ROUTE_RES, 0U, cSendLevel); - /**/ - } - - if (CI_SUCCESS == retVal) - { - /*߼εĽ·߼·ĵһ߼Ƿ*/ - for (jj = 0U; jj < cLogSecSum; jj++) - { - chLogSecLockBelLogRouteSum = GetLogSecLockBelLogRouteSum(pLogSecIdBuff[jj]); - szLogSecLockBelLogRouteData = GetLogSecLockBelLogRouteData(pLogSecIdBuff[jj]); - - if (NULL != szLogSecLockBelLogRouteData) - { - for (mm = 0U; mm < chLogSecLockBelLogRouteSum; mm++) - { - wFstLogLockedLogSecId = GetLogRouteFirLogLockLogId(szLogSecLockBelLogRouteData[mm].wLogSecLockBelLogRouteId); - if (0U != wFstLogLockedLogSecId) - { - for (kk = 0U; kk < cLogSecSum; kk++) - { - /*߼Ƿ*/ - if (wFstLogLockedLogSecId == pLogSecIdBuff[kk]) - { - break; - } - else - { - /**/ - } - } - - if (kk == cLogSecSum) - { - retVal = CI_ERROR; - break; /*δ߼·ڷһյ߼Σֹͣʧ*/ - } - else - { - /**/ - } - } - else - { - /*գ*/ - } - - if (CI_ERROR == retVal) - { - break; - } - else - { - ; /**/ - } - } - } - else - { - retVal = CI_ERROR; - } - if (CI_ERROR == retVal) - { - break; - } - else - { - ; /**/ - } - } - - if (CI_SUCCESS == retVal) - { - /*ͨ*/ - } - else - { - cLogSecLogLockState = GetLogSecLogLockState(wFstLogLockedLogSecId); - SetErrorData(cFunctionId, CI_DEVICE_TYPE_LOGICSEC, wFstLogLockedLogSecId, ETYPE_LOGSEC_LOCK_STATE, cLogSecLogLockState, cSendLevel); - cErrStep = 7U; - retVal = CI_ERROR; /*ʧ*/ - } - } - else - { - /**/ - } } else if (CI_ERROR != cCommStateWithTrain) { @@ -7237,7 +7055,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI } else { - /*Чֱӷسɹ*/ + /*Чֱӷسɹ*/ } } else @@ -7251,7 +7069,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI *pHalfRouteSwitchMoveFlag = cHrSwitchMoveFlag; if (ROUTE_HALF_SWITCH_MOVE_VALID == cHrSwitchMoveFlag) { - /*ɶ¼г߼*/ + /*ɶ¼г߼*/ debug_infor_printf((const)"Dynamic Route TrainOccLogSecID["); for (i = 0U; i < wTrainMinTMaxHLogNum; i++) { @@ -7279,7 +7097,7 @@ UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UI } else { - /*1-ηǷ2-гʧܣ3-ȡг߼ʧܣ4-ȡгlinkʧܣ5-߼згƥ䣻6-δ߼·ĵһյ߼*/ + /*1-ηǷ2-гʧܣ3-ȡг߼ʧܣ4-ȡгlinkʧܣ5-߼згƥ*/ debug_infor_printf((const)"Dynamic Route TrainResAndDirCheck ErrStep[%d]\n", cErrStep); } @@ -7306,18 +7124,13 @@ void TrainResRecycle(void) UINT8 trainOTStat = 0U; UINT16 routeInTrainId[LOGIC_SECTION_RES_SUM_MAX] = { 0U }; UINT8 chTrainSleepState = 0U;/*г״̬*/ - UINT16 wStartSigID = 0U; - UINT16 wLightUpTrainID = 0U;/*гID*/ - UINT8 chLocalCiType = 0U; /**/ - UINT8 chDelete = 0U; - UINT8 chRouteState = 0U; + localCiId = GetSystemParaLocalCiId(); routeCurSum = GetRouteCurSum(); /*ȡ·*/ - chLocalCiType = GetLocalCiType(); - /*·*/ + /*·*/ for (ii = 0u; ii < routeCurSum; ii++) { - + routeId = GetRouteId(ii); /*ȡ·ID*/ routeBelongCiId = GetRouteBelongCiId(routeId); /*ȡ·ID*/ @@ -7327,62 +7140,27 @@ void TrainResRecycle(void) funcRetval = RouteAllLockCheck(routeId); /*ȡҪ·гϢ*/ funcRetval &= GetRouteReadyEnterTrainInfo(routeId, &routeInTrainNum, routeInTrainId); - wStartSigID = GetRouteStartSignalId(routeId); - chRouteState = GetRouteState(routeId); - if (0U < wStartSigID) - { - wLightUpTrainID = GetSignalLightUpTrainId(wStartSigID); - } - else - { - wLightUpTrainID = 0U; - } + if (CI_SUCCESS == funcRetval) { for (trainIndex = 0U; trainIndex < routeInTrainNum; trainIndex++) { - chDelete = CI_SUCCESS; - trainOTStat = GetTrainResRecycleOTStat(routeInTrainId[trainIndex]); + trainOTStat=GetTrainResRecycleOTStat(routeInTrainId[trainIndex]); chTrainSleepState = GetTrainSleepState(routeInTrainId[trainIndex]); - if ((0U < wLightUpTrainID) - &&((ROUTE_STATE_YUXIAN_OPEN == chRouteState) ||(ROUTE_STATE_NEAR_OPEN == chRouteState))) - { - if (((routeInTrainId[trainIndex] & 0x00ffU) != wLightUpTrainID)&&(CI_TYPE_CLD == chLocalCiType)) - { - /*ڽӽɾηӽԴ*/ - chDelete = CI_ERROR; - } - else - { - ; /**/ - } - } - if ((CI_SUCCESS == chDelete)&&(CI_SUCCESS == trainOTStat) && (TRAIN_SLEEP_YES !=chTrainSleepState)) + if ((CI_SUCCESS == trainOTStat) && (TRAIN_SLEEP_YES !=chTrainSleepState)) { /*ȡ·ӽǷпг*/ funcRetval = GetRouteSuspiciousInNearSec(routeId); if (CI_SUCCESS == funcRetval) { /*ԴȡʱʱҲΪ߳ŻԴ߳Դ*/ - chDelete = CI_ERROR; + RemoveRouteInCiRes(routeId, routeInTrainId[trainIndex]); /*ɾг·Դ*/ } else { ; } } - else - { - ; /*Դ*/ - } - if (CI_ERROR == chDelete) - { - RemoveRouteInCiRes(routeId, routeInTrainId[trainIndex]); /*ɾг·Դ*/ - } - else - { - ; /*Դ*/ - } } } else @@ -7600,7 +7378,7 @@ UINT8 CheckTrainDirToOtherPointDir(LOD_STRU pMaxHead,LOD_STRU pMinHead,LOD_STRU dwlen_tomaxtail = dsuLenByPoint_GetDir(&pMinTail, &pMaxTail, &linknum_MaxTail, linkID_maxtail, &dirToMaxTail, &changerPNumtoMaxTail); if ((UINT32_MAX != dwlen_tomaxhead) && (UINT32_MAX != dwlen_tominhead) && (UINT32_MAX != dwlen_tomaxtail) - && (dwlen_tomaxhead > dwlen_tominhead) && (dwlen_tomaxhead > dwlen_tomaxtail)) + && (dwlen_tomaxhead > dwlen_tominhead) && (dwlen_tominhead > dwlen_tomaxtail)) { if ((0u != linknum_MaxHead) && (0u != linknum_MinHead) && (0u != linknum_MaxTail) @@ -7611,17 +7389,14 @@ UINT8 CheckTrainDirToOtherPointDir(LOD_STRU pMaxHead,LOD_STRU pMinHead,LOD_STRU } else { - debug_infor_printf((const)"\nCheckTrainDirToOtherPointDir ERR\n"); chRetVal = CI_ERROR; } } else { - debug_infor_printf((const)"\nCheckTrainDirToOtherPointDir ERR\n"); chRetVal = CI_ERROR; } } - return chRetVal; } @@ -9780,8 +9555,6 @@ void TrainPosMonitorProc(void) UINT16* pPhySecIncAxleSecId = NULL; /*ΰļ*/ UINT8 cPreMonitorState = TRAIN_POS_MONITOR_INVALID; /*һгλüල״̬*/ UINT8 cMonitorFailState = TRAIN_POS_MONITOR_INVALID; /*ʧܺҪõļල״̬*/ - UINT8 chAgTrainLeaveAgCheck = 0U; - UINT8 chNvramFlag = 0U; for (cTrainIndex = 0U; cTrainIndex < TRAIN_SUM_MAX; cTrainIndex++) { @@ -9835,10 +9608,9 @@ void TrainPosMonitorProc(void) { /*δгID*/ } - chNvramFlag = GetTrainNvramPosFlag(wTrainId); + /*2.гλüල־*/ - if (((TRAIN_POS_MONITOR_DIFF == cMonitorFailState) || (TRAIN_POS_MONITOR_DIFF == cPreMonitorState)) - && (TRAIN_NVRAM_POS_FLAG_NO != chNvramFlag)) + if ((TRAIN_POS_MONITOR_DIFF == cMonitorFailState) || (TRAIN_POS_MONITOR_DIFF == cPreMonitorState)) { SetTrainPosMonitorState(wTrainId, TRAIN_POS_MONITOR_DIFF); /*гȫڼලlinkһڼල״̬λòһ£üලλòһ*/ } @@ -9852,20 +9624,11 @@ void TrainPosMonitorProc(void) /*3.гǰɸѡ־*/ if (TRAIN_POS_MONITOR_VALID == cPreMonitorState) { - chAgTrainLeaveAgCheck = AgTrainLeaveAgCheck(wTrainPosMonitorInLink); - if (CI_ERROR == chAgTrainLeaveAgCheck) - { - /*гλüල״̬ЧЧгǰɸѡ־*/ - SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); - SetTrainEnterLjkLinkId(wTrainId, 0U); - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - } - else - { - /*гAGʻֻںţɸѡ־*/ - SetTrainFullEnterLjkCycNum(wTrainId, 0U); - } + /*гλüල״̬ЧЧгǰɸѡ־*/ + SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); + SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID); + SetTrainEnterLjkLinkId(wTrainId, 0U); + SetTrainFullEnterLjkCycNum(wTrainId, 0U); } else { @@ -10409,9 +10172,6 @@ UINT8 AGTrainPosMonitorOccCheck(const UINT16 wAGLinkId) UINT16 wDGLinkId = 0U; /*DGlink*/ UINT16 wDGAxleSecId = 0U; UINT8 cDGAxleSecOccState = AXIS_SECTION_OCCUPY_YES; /*DGβɼռ״̬*/ - UINT16 wBGPhySecId = 0U; - UINT8 cBGPreOccState = 0U; /*BG֮ǰɼռ״̬*/ - UINT8 cBGCurOccState = 0U; /*BGǰɼռ״̬*/ wLinkIndex = GetLinkIndexById(wAGLinkId); if ((0U < wLinkIndex) && (LINK_SUM_MAX > wLinkIndex)) @@ -10457,29 +10217,17 @@ UINT8 AGTrainPosMonitorOccCheck(const UINT16 wAGLinkId) } else { - /*CGDG+BGIJɼռ״̬*/ + /*CGDGIJɼռ״̬*/ wDGAxleSecId = GetLinkBelongAcId(wDGLinkId); cDGAxleSecOccState = GetAxisOccupyState(wDGAxleSecId); /*ȡDGβɼռ״̬*/ if (AXIS_SECTION_OCCUPY_NO == cDGAxleSecOccState) { - /*DGռãBGռ״̬*/ - wBGPhySecId = GetLinkRelatedPhySec(wAGRelBGLinkId); - cBGPreOccState = GetPhySecPreOccupyState(wBGPhySecId); - cBGCurOccState = GetPhySecCurOccupyState(wBGPhySecId); - if ((SECTION_OCCUPY_NO == cBGPreOccState) && (SECTION_OCCUPY_YES == cBGCurOccState)) - { - cRetVal = CI_ERROR; /*BGɿеռãʧ*/ - } - else - { - cRetVal = CI_SUCCESS; /*DG޲ɼռãسɹ*/ - } + cRetVal = CI_SUCCESS; /*DG޲ɼռãسɹ*/ } else { cRetVal = CI_ERROR; /*DGڲɼռãʧ*/ } - } } else @@ -11099,537 +10847,3 @@ UINT8 GetTrainEaCmdState(const UINT16 wTrainId) return cRetVal; } - -/* -* Գ߷ԳڼɳϢ -* ˵ -* ֵ -* Created By LQ 2025.04.02 -*/ -void ScxClearFlyProtectInfo(void) -{ - UINT8 ii = 0U; - - /*гɳʼ*/ - for (ii = 1U; ii < TRAIN_SUM_MAX; ii++) - { - gstTrainInfo[ii].dwStartFlyCycNum = 0U; - } - - /*ɳ崻гϢ*/ - gFlyTrainCnt = 0U; - (void)CommonMemSet(&gFlyTrainData, (UINT32)(SHUT_DOWN_TRAIN_NUMMAX * sizeof(TrainFlyProtectStru)), 0U, (UINT32)(SHUT_DOWN_TRAIN_NUMMAX * sizeof(TrainFlyProtectStru))); - - /*ɳ崻ʼ*/ - gFlyProtectOverCyc = 0U; -} - -/* -* AGгʻAG -* ˵const UINT16 wLinkId link ID -* ֵCI_ERROR AGгʻAG -* CI_SUCCESS AGгʻAG -* BY CGH 202050718 -*/ -UINT8 AgTrainLeaveAgCheck(const UINT16 wLinkId) -{ - UINT8 chRetVal = CI_ERROR; - UINT8 chAGorBGAttr = 0U;/*ABG*/ - UINT16 wAGRelBGLinkId = 0U; /*AGLinkBGlink*/ - UINT16 wAGRelOrgLinkId = 0U; /*AGlink*/ - UINT16 wAGRelTmlLinkId = 0U; /*AGյlink*/ - UINT8 chOrgLinkAttr = LINK_REL_PHYSEC_DEFAULT; - UINT8 chTmlLinkAttr = LINK_REL_PHYSEC_DEFAULT; - UINT16 wAGAxleSecId = 0U; /*AGID*/ - UINT16 wDGLinkId = 0U; /*DGlink*/ - UINT16 wDGAxleSecId = 0U;/*DGID*/ - UINT16 wBGAxleSecId = 0U;/*BGID*/ - UINT8 chSecRelEnvelopeCnt = 0U; /*ιĿ*/ - UINT16 szSecEnvelopeIds[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U }; /*ι*/ - const EnvelopeStruct* pTempDgEnvelope = NULL; /*DG*/ - UINT8 chAgRelEnvelopeCnt = 0U; /*AGĿ*/ - UINT16 szAgEnvelopeIds[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U }; /*AG*/ - const EnvelopeStruct* pTempAgEnvelope = NULL; /*AG*/ - UINT8 chVirHeadScreenPassFlag = 0U; /*ǰɸ־*/ - UINT8 chVirTailScreenPassFlag = 0U; /*ɸ־*/ - UINT8 ii = 0U; - UINT32 errorCode = 0U; - - chAGorBGAttr = GetLinkRelPhySecAGorBGAttr(wLinkId); /*ȡAG/BG*/ - - if (LINK_REL_PHYSEC_AG == chAGorBGAttr) - { - wAGAxleSecId = GetLinkBelongAcId(wLinkId); - wAGRelOrgLinkId = GetLinkOrgnJointMainLkIdById(wLinkId); - wAGRelTmlLinkId = GetLinkTmnlJointMainLkById(wLinkId); - chOrgLinkAttr = GetLinkRelPhySecAGorBGAttr(wAGRelOrgLinkId); - chTmlLinkAttr = GetLinkRelPhySecAGorBGAttr(wAGRelTmlLinkId); - - if (LINK_REL_PHYSEC_BG == chOrgLinkAttr) - { - wAGRelBGLinkId = wAGRelOrgLinkId; - wDGLinkId = wAGRelTmlLinkId; - } - else if (LINK_REL_PHYSEC_BG == chTmlLinkAttr) - { - wAGRelBGLinkId = wAGRelTmlLinkId; - wDGLinkId = wAGRelOrgLinkId; - } - else - { - /*AGBGδֱCG*/ - } - - if (0U != wAGRelBGLinkId) - { - /*CG*/ - chAgRelEnvelopeCnt = elm_GetEnvelopeIDsInAC(wAGAxleSecId, szAgEnvelopeIds); - if (1U == chAgRelEnvelopeCnt) - { - pTempDgEnvelope = elm_GetEnvelopeInfoByID(szAgEnvelopeIds[0]); - - if (NULL != pTempDgEnvelope) - { - wDGAxleSecId = GetLinkBelongAcId(wDGLinkId); - wBGAxleSecId = GetLinkBelongAcId(wAGRelBGLinkId); - - for (ii = 0U; ii < pTempDgEnvelope->ACCnt; ii++) - { - if (wBGAxleSecId == pTempDgEnvelope->ACID[ii]) - { - /*ǰ쵽BG*/ - break; - } - else - { - ; /**/ - } - } - - if (ii == pTempDgEnvelope->ACCnt) - { - /* ȡDGİ */ - chSecRelEnvelopeCnt = elm_GetEnvelopeIDsInAC(wDGAxleSecId, szSecEnvelopeIds); - } - else - { - /* ȡBGİ */ - chSecRelEnvelopeCnt = elm_GetEnvelopeIDsInAC(wBGAxleSecId, szSecEnvelopeIds); - } - - - if ((1U == chSecRelEnvelopeCnt) && (szSecEnvelopeIds[0] == szAgEnvelopeIds[0])) - { - chVirHeadScreenPassFlag = GetTrainVirHeadScreenPassFlag(pTempDgEnvelope->trainID[0]); - chVirTailScreenPassFlag = GetTrainVirTailScreenPassFlag(pTempDgEnvelope->trainID[0]); - - if (((0U == pTempDgEnvelope->headTrainID) || ((pTempDgEnvelope->endPos.Lnk == wLinkId) && (TRAIN_VIR_SCREEN_PASS_FLAG_VALID == chVirHeadScreenPassFlag))) && - ((0U == pTempDgEnvelope->tailTrainID) || ((pTempDgEnvelope->startPos.Lnk == wLinkId) && (TRAIN_VIR_SCREEN_PASS_FLAG_VALID == chVirTailScreenPassFlag)))) - { - /*޿ɣʻ - ųɸѡ־λüල֮󣬵DGͬʱռãCTӿɵʱɸѡ־ЧģΪ޿ɣ*/ - chRetVal = CI_SUCCESS; - } - else - { - errorCode += 0x04000000U; - } - } - else - { - /*طAGгʻ*/ - errorCode += 0x08000000U; - } - } - else - { - /*طAGгʻ*/ - errorCode += 0x10000000U; - } - } - else - { - /*طAGгʻ*/ - errorCode += 0x20000000U; - } - } - else - { - errorCode += 0x40000000U; - } - } - else - { - /*AG*/ - errorCode += 0x80000000U; - } - - debug_infor_printf((const)"\nAgTrainLeaveAgCheck Error errorCode:0x%08x\n", errorCode); - - return chRetVal; -} - -/* -* ָгԾ״̬ -* ˵const UINT16 wTrainId гID -* const UINT8 chJumpBackReplyState Ծ״̬ -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackReplyState(const UINT16 wTrainId, const UINT8 chJumpBackReplyState) -{ - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - if ((TRAIN_JUMP_BACK_STATE_VALID == chJumpBackReplyState) || (TRAIN_JUMP_BACK_STATE_INVALID == chJumpBackReplyState) - || (TRAIN_JUMP_BACK_STATE_NONE == chJumpBackReplyState)) - { - gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackReplyState = chJumpBackReplyState; - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡָгԾ״̬ -* ˵const UINT16 wTrainId гID -* ֵ0x55 0xAA 0x00 /Ĭֵ -* by fan 20250725 -*/ -UINT8 GetTrainJumpBackReplyState(const UINT16 wTrainId) -{ - UINT8 cRetVal = TRAIN_JUMP_BACK_STATE_NONE; - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - cRetVal = gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackReplyState; - } - else - { - /*Ĭֵ*/ - } - - return cRetVal; -} -/* -* ָгԾ״̬ -* ˵const UINT16 wTrainId гID -* const UINT8 chJumpBackApplyState Ծ״̬ -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackApplyState(const UINT16 wTrainId, const UINT8 chJumpBackApplyState) -{ - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - if ((TRAIN_JUMP_BACK_STATE_VALID == chJumpBackApplyState) || (TRAIN_JUMP_BACK_STATE_INVALID == chJumpBackApplyState)) - { - gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackApplyState = chJumpBackApplyState; - } - else - { - /**/ - } - } - else - { - /**/ - } -} - -/* -* ȡָгԾ״̬ -* ˵const UINT16 wTrainId гID -* ֵ0x55 0xAA δ -* by fan 20250725 -*/ -UINT8 GetTrainJumpBackApplyState(const UINT16 wTrainId) -{ - UINT8 cRetVal = TRAIN_JUMP_BACK_STATE_INVALID; - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - cRetVal = gstTrainInfo[wBufIndex].strJumpBackData.chJumpBackApplyState; - } - else - { - /*Ĭֵ*/ - } - - return cRetVal; -} -/* -* ָгԾк -* ˵const UINT16 wTrainId гID -* const UINT32 dwJumpBackSNԾк -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackApplySN(const UINT16 wTrainId, const UINT32 dwJumpBackSN) -{ - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - gstTrainInfo[wBufIndex].strJumpBackData.dwJumpBackApplySn = dwJumpBackSN; - } - else - { - /**/ - } -} - -/* -* ȡָгԾк -* ˵const UINT16 wTrainId гID -* ֵUINT32 к -* by fan 20250725 -*/ -UINT32 GetTrainJumpBackApplySN(const UINT16 wTrainId) -{ - UINT32 dwRetVal = 0U; - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - dwRetVal = gstTrainInfo[wBufIndex].strJumpBackData.dwJumpBackApplySn; - } - else - { - /*Ĭֵ*/ - } - - return dwRetVal; -} - -/* -* гȫͷ -* ˵ const UINT16 wTrainId, гID -* ֵ void -* by cgh 20250818 -*/ -void ClearTrainSafeHeadDir(const UINT16 wTrainId) -{ - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - if (TRAIN_SUM_MAX > wBufIndex) - { - gstTrainInfo[wBufIndex].strSafeLoc.chHeadDir = 0U; - } - else - { - ; - } -} - -/* -* гȫβ -* ˵ const UINT16 wTrainId, гID -* ֵ void -* by cgh 20250818 -*/ -void ClearTrainSafeTailDir(const UINT16 wTrainId) -{ - UINT16 wBufIndex = 0U; - - wBufIndex = GetTrainBufIndex(wTrainId); - if (TRAIN_SUM_MAX > wBufIndex) - { - gstTrainInfo[wBufIndex].strSafeLoc.chTailDir = 0U; - } - else - { - ; - } -} - -/* -* гǷȫͬһ߻ѹ -* ˵ const UINT16 wTrainId, гID -* ֵ CI_ERROR: гȫͬһ߻ѹ -* CI_SUCCESS: гȫͬһ߻ѹ -* by cgh 20250915 -*/ -UINT8 CheckTrainIsSwTrack(const UINT16 wTrainId) -{ - UINT8 chRetVal = CI_ERROR; - UINT16 wBufIndex = 0U; - UINT8 chSleepFlag = 0U; /*߹жϱ־*/ - - wBufIndex = GetTrainBufIndex(wTrainId); - - if (TRAIN_SUM_MAX > wBufIndex) - { - if ((gstTrainInfo[wBufIndex].wTrainMinTailLink == gstTrainInfo[wBufIndex].wTrainMaxHeadLink) - && (0U < gstTrainInfo[wBufIndex].wTrainMaxHeadLink) && (LINK_SUM_MAX > gstTrainInfo[wBufIndex].wTrainMaxHeadLink)) - { - chSleepFlag = IsLinkSwTrack(gstTrainInfo[wBufIndex].wTrainMaxHeadLink); - - if (CI_SUCCESS == chSleepFlag) - { - chRetVal = CI_SUCCESS; - } - else - { - ; - } - } - else - { - ; /*ȫͬһ߻ѹ*/ - } - } - else - { - ; - } - - return chRetVal; -} - -/* -* гǷΪ׷UT -* ˵ const UINT16 wEnvelopeID, ID -* ֵ CI_ERROR: -* CI_SUCCESS: -* by cgh 20250915 -*/ -UINT8 CheckTrainIsFollowUt(const UINT16 wEnvelopeID) -{ - UINT8 chRetVal = CI_ERROR; - UINT8 chNoCGFollowUtSwitch = 0U; - const EnvelopeStruct* pEnvelop = NULL; - UINT8 chTrainHeadRelAbgAttr = 0U; /*гͷACG*/ - UINT8 chTrainTailRelAbgAttr = 0U; /*гβACG*/ - - chNoCGFollowUtSwitch = GetNoCGFollowUtSwitch(); - if (FUNC_SWITCH_ON == chNoCGFollowUtSwitch) - { - pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID); - - if (NULL != pEnvelop) - { - chTrainHeadRelAbgAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk); - chTrainTailRelAbgAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk); - - if ((LINK_REL_PHYSEC_AG == chTrainHeadRelAbgAttr) || (LINK_REL_PHYSEC_BG == chTrainHeadRelAbgAttr) - || (LINK_REL_PHYSEC_AG == chTrainTailRelAbgAttr) || (LINK_REL_PHYSEC_BG == chTrainTailRelAbgAttr)) - { - chRetVal = CI_SUCCESS; - } - else - { - ; /*ȫABG*/ - } - } - else - { - - } - } - else - { - ; /*ܿعر*/ - } - - return chRetVal; -} - -/* -* ȡʹNVRAMλüලЧķɳID -* ˵UINT8 chIndex -* ֵUINT16* gNvramFlyTrainId ʹNVRAMλüලЧķɳID -* Created By LQ 2025.09.15 -*/ -UINT16* GetNvramFlyProtectId(void) -{ - return gNvramFlyTrainId; -} - -/* -* ȡʹNVRAMλüලЧķɳ -* ˵ -* ֵUINT8 gNvramFlyTrainCnt ʹNVRAMλüලЧķɳ -* Created By LQ 2025.09.15 -*/ -UINT8 GetNvramFlyProtectNum(void) -{ - return gNvramFlyTrainCnt; -} - -/** -* ʹNVRAMλüලЧķɳ -* ˵UINT16 wTrainID гID -* ֵ -* Created By LQ 2025.09.15 -*/ -void AddNvramFlyingTrain(UINT16 wTrainID) -{ - UINT8 ii = 0U; - - if (SHUT_DOWN_TRAIN_NUMMAX > gNvramFlyTrainCnt) - { - for (ii = 0U; ii < gNvramFlyTrainCnt; ii++) - { - if (gNvramFlyTrainId[ii] == wTrainID) - { - break; /*Ѵڣֹͣ*/ - } - else - { - /*Ƚ*/ - } - } - - if (ii == gNvramFlyTrainCnt) - { - gNvramFlyTrainId[gNvramFlyTrainCnt] = wTrainID; - gNvramFlyTrainCnt++; - } - else - { - ; /*ӣظ*/ - } - } - else - { - ; /**/ - } -} - -/** -* ʹNVRAMλüලЧķɳ -* ˵ -* ֵ -* Created By LQ 2025.09.15 -*/ -void ClearNvramFlyingTrain(void) -{ - gNvramFlyTrainCnt = 0U; - (void)CommonMemSet(gNvramFlyTrainId, (UINT32)(sizeof(UINT16) * SHUT_DOWN_TRAIN_NUMMAX), 0U, (UINT32)(sizeof(UINT16) * SHUT_DOWN_TRAIN_NUMMAX)); -} \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/Train/TrainDataManage.h b/TSCP/src/APP/ciapp/Train/TrainDataManage.h index ec183b6..bd74db8 100644 --- a/TSCP/src/APP/ciapp/Train/TrainDataManage.h +++ b/TSCP/src/APP/ciapp/Train/TrainDataManage.h @@ -184,14 +184,6 @@ typedef struct S_TrainIteDataStruct UINT16 wBackOffset; /*λcm*/ } TrainIteDataStruct; -/*ԾϢṹ*/ -typedef struct S_JumpBackInfoStru -{ - UINT8 chJumpBackApplyState; /*Ծ״̬*/ - UINT8 chJumpBackReplyState; /*Ծظ״̬*/ - UINT32 dwJumpBackApplySn; /*Ծк*/ -}JumpBackInfoStru; - /*гϢṹ*/ typedef struct S_TrainInfoStru { @@ -275,7 +267,6 @@ typedef struct S_TrainInfoStru UINT16 wTrainPosMonitorInLink; /*гλüලЧʱlink*/ UINT32 dwStartFlyCycNum; /*гɳʼں*/ UINT8 chEaCmdState; /*ɢ״̬*/ - JumpBackInfoStru strJumpBackData; /*гԾ*/ }TrainInfoStru; /*̬Խṹ*/ @@ -311,9 +302,6 @@ extern TrainAtsScreenStru gszAtsScreenInfo[TRAIN_SUM_MAX]; extern UINT8 gFlyTrainCnt; extern TrainFlyProtectStru gFlyTrainData[SHUT_DOWN_TRAIN_NUMMAX]; -extern UINT8 gNvramFlyTrainCnt; /*ʹNVRAMλüලЧķɳг*/ -extern UINT16 gNvramFlyTrainId[SHUT_DOWN_TRAIN_NUMMAX]; /*ʹNVRAMλüලЧķɳгID*/ - /*================================================================================== *ܣʼгϢṹ塣 *úʵгϢṹijʼ @@ -1487,16 +1475,13 @@ extern UINT8 IsTrainPosValid(const UINT16 wTrainId); * const UINT8 cQueryDir ߼ζӦIJѯ߼ * const UINT8 cLogSecSum ߼ * const UINT16 pLogSecIdBuff[] ߼ID -* const UINT8 cFunctionId ID -* const UINT8 cSendLevel ͼ * UINT8* pHalfRouteSwitchMoveFlag ؽ·ɶ־ * UINT16 *pTrainOccLogSecSum г߼ * UINT16 pTrainOccLogSecID[] г߼ID * ֵ CI_SUCCESSͨ CI_ERROR: 鲻ͨ */ -UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UINT8 cLogSecSum, const UINT16 pLogSecIdBuff[], - UINT8* pHalfRouteSwitchMoveFlag, UINT16* pTrainOccLogSecSum, UINT16 pTrainOccLogSecID[], const UINT8 cFunctionId, const UINT8 cSendLevel); +UINT8 TrainResAndDirCheck(const UINT16 wTrainId, const UINT8 cQueryDir, const UINT8 cLogSecSum, const UINT16 pLogSecIdBuff[], UINT8* pHalfRouteSwitchMoveFlag, UINT16* pTrainOccLogSecSum, UINT16 pTrainOccLogSecID[]); /* * гԴ @@ -2463,139 +2448,6 @@ void SetTrainEaCmdState(const UINT16 wTrainId, const UINT8 chEaCmdState); */ UINT8 GetTrainEaCmdState(const UINT16 wTrainId); -/* -* Գ߷ԳڼɳϢ -* ˵ -* ֵ -* Created By LQ 2025.04.02 -*/ -void ScxClearFlyProtectInfo(void); - -/* -* AGгʻAG -* ˵const UINT16 wLinkId link ID -* ֵCI_ERROR AGгʻAG -* CI_SUCCESS AGгʻAG -* BY CGH 202050718 -*/ -UINT8 AgTrainLeaveAgCheck(const UINT16 wLinkId); -/* -* ָгԾ״̬ -* ˵const UINT16 wTrainId гID -* const UINT8 chJumpBackReplyState Ծ״̬ -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackReplyState(const UINT16 wTrainId, const UINT8 chJumpBackReplyState); - -/* -* ȡָгԾ״̬ -* ˵const UINT16 wTrainId гID -* ֵ0x55 0xAA 0x00 /Ĭֵ -* by fan 20250725 -*/ -UINT8 GetTrainJumpBackReplyState(const UINT16 wTrainId); - -/* -* ָгԾ״̬ -* ˵const UINT16 wTrainId гID -* const UINT8 chJumpBackApplyState Ծ״̬ -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackApplyState(const UINT16 wTrainId, const UINT8 chJumpBackApplyState); - -/* -* ȡָгԾ״̬ -* ˵const UINT16 wTrainId гID -* ֵ0x55 0xAA δ -* by fan 20250725 -*/ -UINT8 GetTrainJumpBackApplyState(const UINT16 wTrainId); - -/* -* ָгԾк -* ˵const UINT16 wTrainId гID -* const UINT32 dwJumpBackSNԾк -* ֵ -* by fan 20250725 -*/ -void SetTrainJumpBackApplySN(const UINT16 wTrainId, const UINT32 dwJumpBackSN); - -/* -* ȡָгԾк -* ˵const UINT16 wTrainId гID -* ֵUINT32 к -* by fan 20250725 -*/ -UINT32 GetTrainJumpBackApplySN(const UINT16 wTrainId); - -/* -* гȫͷ -* ˵ const UINT16 wTrainId, гID -* ֵ void -* by cgh 20250818 -*/ -void ClearTrainSafeHeadDir(const UINT16 wTrainId); - -/* -* гȫβ -* ˵ const UINT16 wTrainId, гID -* ֵ void -* by cgh 20250818 -*/ -void ClearTrainSafeTailDir(const UINT16 wTrainId); - -/* -* гǷȫͬһ߻ѹ -* ˵ const UINT16 wTrainId, гID -* ֵ CI_ERROR: гȫͬһ߻ѹ -* CI_SUCCESS: гȫͬһ߻ѹ -* by cgh 20250915 -*/ -UINT8 CheckTrainIsSwTrack(const UINT16 wTrainId); - -/* -* гǷΪ׷UT -* ˵ const UINT16 wEnvelopeID, ID -* ֵ CI_ERROR: -* CI_SUCCESS: -* by cgh 20250915 -*/ -UINT8 CheckTrainIsFollowUt(const UINT16 wEnvelopeID); - -/* -* ȡʹNVRAMλüලЧķɳID -* ˵UINT8 chIndex -* ֵUINT16* gNvramFlyTrainId ʹNVRAMλüලЧķɳID -* Created By LQ 2025.09.15 -*/ -UINT16* GetNvramFlyProtectId(void); - -/* -* ȡʹNVRAMλüලЧķɳ -* ˵ -* ֵUINT8 gNvramFlyTrainCnt ʹNVRAMλüලЧķɳ -* Created By LQ 2025.09.15 -*/ -UINT8 GetNvramFlyProtectNum(void); - -/** -* ʹNVRAMλüලЧķɳ -* ˵UINT16 wTrainID гID -* ֵ -* Created By LQ 2025.09.15 -*/ -void AddNvramFlyingTrain(UINT16 wTrainID); - -/** -* ʹNVRAMλüලЧķɳ -* ˵ -* ֵ -* Created By LQ 2025.09.15 -*/ -void ClearNvramFlyingTrain(void); - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Train/TrainDefine.h b/TSCP/src/APP/ciapp/Train/TrainDefine.h index 9780b84..bdb35cb 100644 --- a/TSCP/src/APP/ciapp/Train/TrainDefine.h +++ b/TSCP/src/APP/ciapp/Train/TrainDefine.h @@ -231,18 +231,13 @@ #define TRAIN_DEL_SLEEP_ENV_INVALID (UINT8)0xAAU /*ɾ߳־Ч*/ -#define TRAIN_FLYALARM_SECNUM_MAX (UINT8)10U /*гɳ*/ +#define TRAIN_FLYALARM_SECNUM_MAX (UINT8)5U /*гɳ*/ #define SHUT_DOWN_TRAIN_NUMMAX (UINT8)253u /*ɳ崻гĿ*/ /*гɢ״̬*/ #define TRAIN_EA_CMD_STATE_VALID (UINT8)0x55U /*гɢЧ*/ #define TRAIN_EA_CMD_STATE_INVALID (UINT8)0xAAU /*гɢЧ*/ -/*гԾ״̬*/ -#define TRAIN_JUMP_BACK_STATE_VALID (UINT8)0x55U /*гԾ RCԾ*/ -#define TRAIN_JUMP_BACK_STATE_INVALID (UINT8)0xAAU /*гδԾ RCԾ*/ -#define TRAIN_JUMP_BACK_STATE_NONE (UINT8)0x00U /*RCԾظĬֵ*/ - #ifdef __cplusplus } #endif diff --git a/TSCP/src/APP/ciapp/Transmit/TransmitDefine.h b/TSCP/src/APP/ciapp/Transmit/TransmitDefine.h index 4ae1999..7aa6ddc 100644 --- a/TSCP/src/APP/ciapp/Transmit/TransmitDefine.h +++ b/TSCP/src/APP/ciapp/Transmit/TransmitDefine.h @@ -36,11 +36,6 @@ #define TRANSMIT_2OO2_STATE_LINK ((UINT8)0x02) /*ά*/ #define TRANSMIT_2OO2_STATE_BAD ((UINT8)0x03) /*ͨж*/ -/*ͨ״̬(ڷATS豸״̬֡ͨϢ)*/ -#define TRANSMIT_CI_STATE_GOOD ((UINT8)0x55) /*ͨ*/ -#define TRANSMIT_CI_STATE_LINK ((UINT8)0xAA) /*ά*/ -#define TRANSMIT_CI_STATE_BAD ((UINT8)0xFF) /*ͨж*/ - /*ͨŹж*/ #define COM_ERROR_FSIO_MAXCYCLENUM ((UINT16)5) /*IOͨŹж*/ #define COM_ERROR_LEU_MAXCYCLENUM ((UINT32)100) /*LEUͨŹж*/ diff --git a/TSCP/src/APP/ciapp/Transmit/TransmitStateDataManage.c b/TSCP/src/APP/ciapp/Transmit/TransmitStateDataManage.c index 8e4cb2b..f27b840 100644 --- a/TSCP/src/APP/ciapp/Transmit/TransmitStateDataManage.c +++ b/TSCP/src/APP/ciapp/Transmit/TransmitStateDataManage.c @@ -164,8 +164,8 @@ UINT32 GetCiTransmitRecvDataCycNum(const UINT8 localCiId, const UINT8 DeviceType { if ((CI_SYSTEM_TYPE_ATS == DeviceType) || (CI_SYSTEM_TYPE_ZC == DeviceType) || - (CI_SYSTEM_TYPE_XIANDI == DeviceType) || - (CI_SYSTEM_TYPE_TMC == DeviceType)) + (CI_SYSTEM_TYPE_XIANDI == DeviceType) + ) { for (ii = 0u; ii < TransmitStateDataCurSum; ii++) { @@ -329,7 +329,6 @@ UINT8 UpdateCiTransmitState(const UINT8 localCiId, const UINT8 DeviceType, const UINT32 dwRedBadComCycNum = 0U; UINT32 dwBlueBadComCycNum = 0U; UINT32 badEnsureCount = 0u; - if ((0u == localCiId) || (CI_SUM_MAX < localCiId)) { retVal = CI_ERROR; @@ -621,14 +620,14 @@ UINT8 UpdateCiTransmitState(const UINT8 localCiId, const UINT8 DeviceType, const /*ͨ*/ badComCycNum = Get2oo2CurCycleNum() - TransmitStateDataStru[ii].RecvDataCycNum; badEnsureCount = GetCiAndOcTransmitBadEnsureCnt(); - if ((badComCycNum > badEnsureCount)||(0U == TransmitStateDataStru[ii].RecvDataCycNum)) + if (badComCycNum > badEnsureCount) { /*ͨųʱ*/ TransmitStateDataStru[ii].transmitState = TRANSMIT_STATE_BAD; } else { - /*ͨ*/ + /*ͨ*/ TransmitStateDataStru[ii].transmitState = TRANSMIT_STATE_GOOD; } @@ -636,14 +635,12 @@ UINT8 UpdateCiTransmitState(const UINT8 localCiId, const UINT8 DeviceType, const TransmitStateDataStru[ii].RecvDataBlueCycNum = gBlueTransmitObjRcvCyc[ii] == 0U ? TransmitStateDataStru[ii].RecvDataBlueCycNum : gBlueTransmitObjRcvCyc[ii]; dwRedBadComCycNum = Get2oo2CurCycleNum() - TransmitStateDataStru[ii].RecvDataRedCycNum; dwBlueBadComCycNum = Get2oo2CurCycleNum() - TransmitStateDataStru[ii].RecvDataBlueCycNum; - if ((dwRedBadComCycNum <= badEnsureCount) && (dwBlueBadComCycNum <= badEnsureCount)&& - (0U != TransmitStateDataStru[ii].RecvDataRedCycNum) && (0U !=TransmitStateDataStru[ii].RecvDataBlueCycNum)) + if ((dwRedBadComCycNum <= badEnsureCount) && (dwBlueBadComCycNum <= badEnsureCount)) { /*˫*/ TransmitStateDataStru[ii].redundantTransmitState = TRANSMIT_2OO2_STATE_GOOD; } - else if (((dwRedBadComCycNum <= badEnsureCount)&&(0U != TransmitStateDataStru[ii].RecvDataRedCycNum)) - || (dwBlueBadComCycNum <= badEnsureCount)&& (0U != TransmitStateDataStru[ii].RecvDataBlueCycNum)) + else if ((dwRedBadComCycNum <= badEnsureCount) || (dwBlueBadComCycNum <= badEnsureCount)) { /*ͨ*/ TransmitStateDataStru[ii].redundantTransmitState = TRANSMIT_2OO2_STATE_LINK; @@ -1027,4 +1024,4 @@ UINT16 GetATSInterfaceTypeId(void) } return retVal; -} \ No newline at end of file +} diff --git a/TSCP/src/APP/ciapp/WLBrake/WLBrakeDataManage.c b/TSCP/src/APP/ciapp/WLBrake/WLBrakeDataManage.c index 2fbd136..fb1b656 100644 --- a/TSCP/src/APP/ciapp/WLBrake/WLBrakeDataManage.c +++ b/TSCP/src/APP/ciapp/WLBrake/WLBrakeDataManage.c @@ -118,7 +118,7 @@ static void WlbAtsCmdFst(void) strCfmFst->chFlag = FLAG_SET; strCfmFst->chTiocId = chLocalId; strCfmFst->chStation = strMsgFst->chStation; - strCfmFst->wIndex = strMsgFst->wIndex; + strCfmFst->chIndex = strMsgFst->chIndex; strCfmFst->dwTime = dwCycle; switch (strMsgFst->chBrakeType) @@ -188,8 +188,8 @@ static void WlbAtsCmdFst(void) ii++; szCrcTmp[ii] = strMsgFst->chStation; ii++; - ShortToChar(strMsgFst->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii] = strMsgFst->chIndex; + ii++; szCrcTmp[ii] = strMsgFst->chBrakeType; ii++; szCrcTmp[ii] = strMsgFst->chBrakeCount; @@ -260,7 +260,7 @@ static void WlbAtsCmdSnd(void) strCfmSnd->chFlag = FLAG_SET; strCfmSnd->chTiocId = chLocalId; strCfmSnd->chStation = strMsgSnd->chStation; - strCfmSnd->wIndex = strMsgSnd->wIndex; + strCfmSnd->chIndex = strMsgSnd->chIndex; strCfmSnd->dwTime = dwCycle; if (FLAG_SET != strMsgFst->chFlag) @@ -270,14 +270,11 @@ static void WlbAtsCmdSnd(void) } else if ((strMsgSnd->chAtsId != strMsgFst->chAtsId) || (strMsgSnd->chStation != strMsgFst->chStation) - || (strMsgSnd->wIndex != strMsgFst->wIndex)) + || (strMsgSnd->chIndex != strMsgFst->chIndex) + || (strMsgSnd->chBrakeType != strMsgFst->chBrakeType) + || (strMsgSnd->wBrakeIndex != strMsgFst->wBrakeIndex)) { - strCfmSnd->chOpStatus = CONFIRM_WLB_SND_UNKNOWN; /* ATSһ֡ͷ벻һ£δ֪ */ - chFlag = FLAG_SET; - } - else if ((strMsgSnd->chBrakeType != strMsgFst->chBrakeType) || (strMsgSnd->wBrakeIndex != strMsgFst->wBrakeIndex)) - { - strCfmSnd->chOpStatus = CONFIRM_WLB_SND_INFO_DIFF; /* ATSһ벻һ£Ϣһ */ + strCfmSnd->chOpStatus = CONFIRM_WLB_SND_UNKNOWN; /* ATSһ벻һ£δ֪ */ chFlag = FLAG_SET; } else @@ -320,8 +317,7 @@ static void WlbAtsCmdSnd(void) ii = 0u; szCrcTmp[ii++] = strMsgSnd->chAtsId; szCrcTmp[ii++] = strMsgSnd->chStation; - ShortToChar(strMsgSnd->wIndex, &szCrcTmp[ii]); - ii += 2U; + szCrcTmp[ii++] = strMsgSnd->chIndex; szCrcTmp[ii] = strMsgSnd->chBrakeType; ii++; szCrcTmp[ii] = strMsgSnd->chBrakeCount; diff --git a/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.c b/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.c index 2626b0a..91f4d51 100644 --- a/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.c +++ b/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.c @@ -1,7 +1,6 @@ #include "WLScreenLogicProcess.h" #include "WLScreenDataManage.h" #include "WLScreenDataPrepare.h" -#include "EnvelopeManage.h" /* ================================̬==============================*/ @@ -196,7 +195,6 @@ void wls_JudgeWLScreenSeqChange(void) UINT8 reFreshSeq = CI_ERROR; UINT8 cFunRetVal = CI_ERROR; const WLSreenInfoStruct *pTemp = NULL; - UINT8 chTrainNvramPosCheck = 0U; /*гNVRAMλñʶ*/ pTemp = wls_GetWholeLineScreeInfo(); @@ -245,38 +243,28 @@ void wls_JudgeWLScreenSeqChange(void) /** ȡг״̬Ƿı䣨гǰسޱСܿسӻ߼٣*/ isStatusChange = wls_JudgeStatusChangeAndSus(); - chTrainNvramPosCheck = CheckInControlTrainNvramPos(); - - if (CI_ERROR == chTrainNvramPosCheck) + if ((NEED_REFRESH_NOW == isStatusChange) || (NEED_REFRESH_NOW == isHaveUT)) { - ELM_LOG(ELM_LOG_FATAL, " wls_SetUTFlag,because use nvram pos"); reFreshSeq = CI_SUCCESS; cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_EXIST); } - else + else if (((NEED_REFRESH == isStatusChange) || (NEED_REFRESH == isHaveUT)) && + ((NULL != pTemp) && (UNKNOWN_TRAIN_EXIST != pTemp->UTFlag))) { - if ((NEED_REFRESH_NOW == isStatusChange) || (NEED_REFRESH_NOW == isHaveUT)) - { - reFreshSeq = CI_SUCCESS; - cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_EXIST); - } - else if (((NEED_REFRESH == isStatusChange) || (NEED_REFRESH == isHaveUT)) && - ((NULL != pTemp) && (UNKNOWN_TRAIN_EXIST != pTemp->UTFlag))) - { - /** ˷֧Ϊȫ֧ܳӦ޷ */ - reFreshSeq = CI_SUCCESS; - cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_EXIST); - } - else if ((UNNEED_REFRESH == isStatusChange) && (UNNEED_REFRESH == isHaveUT) && - (NULL != pTemp) && (UNKNOWN_TRAIN_EXIST == pTemp->UTFlag)) - { - cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_UNEXIST); - } - else - { - /** ά֮ǰ״̬ */ - } + /** ˷֧Ϊȫ֧ܳӦ޷ */ + reFreshSeq = CI_SUCCESS; + cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_EXIST); } + else if ((UNNEED_REFRESH == isStatusChange) && (UNNEED_REFRESH == isHaveUT) && + (NULL != pTemp) && (UNKNOWN_TRAIN_EXIST == pTemp->UTFlag)) + { + cFunRetVal = wls_SetUTFlag(UNKNOWN_TRAIN_UNEXIST); + } + else + { + /** ά֮ǰ״̬ */ + } + /** ɸк */ if (CI_SUCCESS == reFreshSeq) @@ -333,55 +321,4 @@ void wls_JudgeWLScreenPermit(void) wls_SetRedunTime(0u,redunTime); wls_SetWLScreenProcessFlag(WHOLE_LINE_SCREEN_UNVAILD); } -} - -/** - * @brief ܿسNVRAMλñʶ - * @param[in] - * @param[out] - * @return CI_ERROR гʹNVRAMλ - * CI_SUCCESS гδʹNVRAMλ - * @note by cgh 20250704 - */ -UINT8 CheckInControlTrainNvramPos(void) -{ - UINT8 chReval = CI_ERROR; - UINT16 wCycle = 0U; - UINT8 chTrainNvramPosFlag = 0U; /*гNVRAMλñʶ*/ - UINT8 relEnvelopeCnt = TRAIN_REL_ENVELOPE_SUM_MAX; /*гİ*/ - UINT16 relEnvelopeID[TRAIN_REL_ENVELOPE_SUM_MAX] = { 0u }; /*гİ*/ - const EnvelopeStruct* pEnvelopeInfo = NULL; - - for (wCycle = 1U; wCycle < LINE_MAX_TRAIN; wCycle++) - { - chReval = CI_SUCCESS; - relEnvelopeCnt = elm_GetRelELIdByTrainID(wCycle, relEnvelopeID); - - if (1U == relEnvelopeCnt) - { - pEnvelopeInfo = elm_GetEnvelopeInfoPtr(relEnvelopeID[0u]); - - if ((NULL != pEnvelopeInfo) && - ((TYPE_CT_ENVELOPE == pEnvelopeInfo->envelopeType) || (TYPE_UCT_ENVELOPE == pEnvelopeInfo->envelopeType))) - { - chTrainNvramPosFlag = GetTrainNvramPosFlag(wCycle); - - if (TRAIN_NVRAM_POS_FLAG_NO == chTrainNvramPosFlag) - { - ; /*ʹNVRAMλü*/ - } - else - { - chReval = CI_ERROR; - break; - } - } - } - else - { - /* 账 */ - } - } - - return chReval; } \ No newline at end of file diff --git a/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.h b/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.h index 56ce592..a50ed78 100644 --- a/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.h +++ b/TSCP/src/APP/ciapp/WLScreen/WLScreenLogicProcess.h @@ -31,14 +31,5 @@ void wls_JudgeWLScreenSeqChange(void); */ void wls_JudgeWLScreenPermit(void); -/** - * @brief ܿسNVRAMλñʶ - * @param[in] - * @param[out] - * @return CI_ERROR гʹNVRAMλ - * CI_SUCCESS гδʹNVRAMλ - * @note by cgh 20250704 - */ -UINT8 CheckInControlTrainNvramPos(void); #endif \ No newline at end of file diff --git a/TSCP/src/DRV/imx8_drv_gpio.c b/TSCP/src/DRV/imx8_drv_gpio.c index 73cb1c9..43cfcd7 100644 --- a/TSCP/src/DRV/imx8_drv_gpio.c +++ b/TSCP/src/DRV/imx8_drv_gpio.c @@ -9,51 +9,20 @@ static volatile uintptr_t gpio_base_4; static volatile uintptr_t gpio_base_5; static uintptr_t tbase; -static volatile unsigned int cnt = 0; +static volatile unsigned int cnt; static int val; static pthread_t timer_thread; -static pthread_t gpioFeedbackIrq_thread; -static pthread_t gpioChanAIrq_thread; -static pthread_t gpioChanBIrq_thread; static struct sigevent event; static intrspin_t spinner; -static struct sigevent gpioFeedbackIrqEvent = {0}; -static struct sigevent gpioChanAIrqEvent = {0}; -static struct sigevent gpioChanBIrqEvent = {0}; -static uint32_t irqCnt[3U] = {0}; - - -/*AB Sync*/ -static volatile uint8_t s_isABSyncStart = 0u; -static volatile uint8_t s_ECapPause[3u] = {0u};//采集开关控制 -static volatile uint32_t s_ABSynDuty = 0u;//定义双系心跳信号输出的占空比:0.5--对应输出是50% -static volatile struct SCapInfo s_CapInfo[3u] = {0U}; -static volatile ABSynMsgType g_userSetSyncMsgType = ABSynMsgType_0; - -static float sSyncMsgErrInfo[ABSynMsgType_MAX] = {0.0f}; - -static void calculate(uint8_t index,float *Duty,float *Period,uint32_t* pPulseCnt); -static ABSynMsgType drvPWMAnalyze(float Duty,float Period); -static void pulseCount(uint8_t index); -static void drvGetABSyn(float *Duty,float *Period,uint32_t* pPulseCnt); -static void Task_ABSyncPulse(void); - -void* gpioChanAIrq( void * arg); -const struct sigevent *gpioChanAIrq_handler (void *not_used, int id); -void* gpioChanBIrq( void * arg); -const struct sigevent *gpioChanBIrq_handler (void *not_used, int id); -void* gpioFeedbackIrq( void * arg); -const struct sigevent *gpioFeedbackIrq_handler (void *not_used, int id); - -char drv_vsr[4] = {93, 8, 0, 30}; +char drv_vsr[4] = {93u, 8u, 0u, 9u}; /*GPIO init*/ int imx8_gpio_init(void) { int ret = 0; - gpio_base_0 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO0_BASE); + gpio_base_0 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO0_BASE); if(gpio_base_0 == MAP_DEVICE_FAILED) { perror("Can't map device base 0 I/O"); @@ -64,7 +33,7 @@ int imx8_gpio_init(void) } - gpio_base_1 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO1_BASE); + gpio_base_1 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO1_BASE); if(gpio_base_1 == MAP_DEVICE_FAILED) { perror("Can't map device base 1 I/O"); @@ -75,7 +44,7 @@ int imx8_gpio_init(void) } - gpio_base_2 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO2_BASE); + gpio_base_2 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO2_BASE); if(gpio_base_2 == MAP_DEVICE_FAILED) { perror("Can't map device base 2 I/O"); @@ -86,7 +55,7 @@ int imx8_gpio_init(void) } - gpio_base_3 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO3_BASE); + gpio_base_3 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO3_BASE); if(gpio_base_3 == MAP_DEVICE_FAILED) { perror("Can't map device base 3 I/O"); @@ -97,7 +66,7 @@ int imx8_gpio_init(void) } - gpio_base_4 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO4_BASE); + gpio_base_4 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO4_BASE); if(gpio_base_4 == MAP_DEVICE_FAILED) { perror("Can't map device base 4 I/O"); @@ -108,7 +77,7 @@ int imx8_gpio_init(void) } - gpio_base_5 = mmap_device_io((size_t)IMX_GPIO_SIZE, (uint64_t)IMX_GPIO5_BASE); + gpio_base_5 = mmap_device_io((size_t)0x10, (uint64_t)IMX_GPIO5_BASE); if(gpio_base_5 == MAP_DEVICE_FAILED) { perror("Can't map device base 5 I/O"); @@ -684,6 +653,7 @@ const struct sigevent *handler (void *not_used, int id) void* timer( void * arg) { int ret = 0; + ret = ThreadCtl (_NTO_TCTL_IO, 0); SIGEV_INTR_INIT (&event); @@ -709,9 +679,6 @@ void* timer( void * arg) ret = InterruptWait(0, 0); ret = InterruptUnmask(IMX_GPT0_IRQ, val); } - - /*you will never reach here*/ - return NULL; } /*create 8khz timer*/ @@ -739,20 +706,10 @@ int imx8_create_timer_pthread(void) /*25% timer irq function*/ const struct sigevent *handler_25 (void *not_used, int id) { - unsigned int cpuid = 0; cnt++; - InterruptLock( &spinner ); - cpuid = imx8_read_cpuid(); - if (1U == cpuid) - { - Task_ABSyncPulse(); - } - else - { - /*do nothing*/ - } + InterruptLock( &spinner ); if((cnt%(uint32_t)4) == (uint32_t)0) { @@ -806,9 +763,6 @@ void* timer_25( void * arg) ret = InterruptUnmask(IMX_GPT0_IRQ, val); } - /*you will never reach here*/ - ret = NULL; - return ret; } @@ -834,6 +788,7 @@ int imx8_create_timer_pthread_25(void) } /************************************************************************/ + int imx8_gpio_release(void) { int ret = 0; @@ -905,715 +860,3 @@ int imx8_gpio_release(void) return ret; } - -const struct sigevent *gpioFeedbackIrq_handler (void *not_used, int id) -{ - if (NULL == not_used) - { - return &gpioFeedbackIrqEvent; - } - uint8_t index = *(uint8_t*)not_used; - InterruptLock( &spinner ); - irqCnt[index]++; - pulseCount(index); - InterruptUnlock( &spinner ); - return &gpioFeedbackIrqEvent; -} - -void* gpioFeedbackIrq( void * arg) -{ - int feedval = 0; - uint8_t index = 2u; - uint32_t regVal = 0u; - - (void)ThreadCtl (_NTO_TCTL_IO, NULL); - - /*disable gpio irq*/ - regVal = (in32(gpio_base_3 + IMX_GPIO_IMR) & (uint32_t)~(1UL << 26U)); - out32(gpio_base_3 + IMX_GPIO_IMR, regVal); - /*config gpio irq*/ - /*dir is input*/ - regVal = (in32(gpio_base_3 + IMX_GPIO_GDIR) & (uint32_t)~(1UL << 26U)); - out32(gpio_base_3 + IMX_GPIO_GDIR, regVal); - /*select trigger way--rising edge sensitive*/ - regVal = (in32(gpio_base_3 + IMX_GPIO_ICR2) | (uint32_t)(2UL << 20U)); - out32(gpio_base_3 + IMX_GPIO_ICR2, regVal); - /*clear isr reg*/ - regVal = (in32(gpio_base_3 + IMX_GPIO_ISR) | (uint32_t)(1UL << 26U)); - out32(gpio_base_3 + IMX_GPIO_ISR, regVal); - /*reg intr service*/ - SIGEV_INTR_INIT(&gpioFeedbackIrqEvent); - feedval = InterruptAttach(666, gpioFeedbackIrq_handler, (const void*)&index, 1,_NTO_INTR_FLAGS_TRK_MSK); -#if 0 - printf("gpio 3_26 irq init finished\n"); - printf("gpio3 IMR val is %x\n",in32(gpio_base_3 + IMX_GPIO_IMR)); - printf("gpio3 ISR val is %x\n",in32(gpio_base_3 + IMX_GPIO_ISR)); - printf("gpio3 GDIR val is %x\n",in32(gpio_base_3 + IMX_GPIO_GDIR)); - printf("gpio3 ICR2 val is %x\n",in32(gpio_base_3 + IMX_GPIO_ICR2)); -#endif - /*enable gpio irq*/ - regVal = (in32(gpio_base_3 + IMX_GPIO_IMR) | (uint32_t)(1UL << 26U)); - out32(gpio_base_3 + IMX_GPIO_IMR, regVal); - - - while(1) - { - (void)InterruptWait(0, NULL); - (void)InterruptUnmask(666, feedval); - } - - /*you will never reach here*/ - return NULL; - -} - - - -const struct sigevent *gpioChanBIrq_handler (void *not_used, int id) -{ - if (NULL == not_used) - { - return &gpioChanBIrqEvent; - } - uint8_t index = *(uint8_t*)not_used; - InterruptLock( &spinner ); - irqCnt[index]++; - pulseCount(index); - InterruptUnlock( &spinner ); - return &gpioChanBIrqEvent; -} - -void* gpioChanBIrq( void * arg) -{ - int chanBval = 0; - uint8_t index = 1u; - uint32_t regVal = 0u; - - (void)ThreadCtl (_NTO_TCTL_IO, NULL); - - /*disable gpio irq*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_IMR) & (uint32_t)~(1UL << 2U)); - out32(gpio_base_4 + IMX_GPIO_IMR, regVal); - /*config gpio0_12 irq*/ - /*dir is input*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_GDIR) & (uint32_t)~(1UL << 2U)); - out32(gpio_base_4 + IMX_GPIO_GDIR, regVal); - /*select trigger way--rising edge sensitive*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_ICR1) | (uint32_t) (2UL << 4U)); - out32(gpio_base_4 + IMX_GPIO_ICR1, regVal); - /*clear isr reg*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_ISR) | (uint32_t)(1UL << 2U)); - out32(gpio_base_4 + IMX_GPIO_ISR, regVal); - /*reg intr service*/ - SIGEV_INTR_INIT(&gpioChanBIrqEvent); - /*This step maybe enable the IMR?*/ - chanBval = InterruptAttach(674, gpioChanBIrq_handler, (const void*)&index, 1,_NTO_INTR_FLAGS_TRK_MSK); -#if 0 - printf("Chan B(4_2) irq init finished\n"); - printf("gpio4 IMR val is %x\n",in32(gpio_base_4 + IMX_GPIO_IMR)); - printf("gpio4 ISR val is %x\n",in32(gpio_base_4 + IMX_GPIO_ISR)); - printf("gpio4 GDIR val is %x\n",in32(gpio_base_4 + IMX_GPIO_GDIR)); - printf("gpio4 ICR1 val is %x\n",in32(gpio_base_4 + IMX_GPIO_ICR1)); -#endif - /*enable gpio irq*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_IMR) | (uint32_t)(1UL << 2U)); - out32(gpio_base_4 + IMX_GPIO_IMR, regVal); - - - while(1) - { - (void)InterruptWait(0, NULL); - (void)InterruptUnmask(674, chanBval); - } - - /*you will never reach here*/ - return NULL; -} - - -const struct sigevent *gpioChanAIrq_handler (void *not_used, int id) -{ - if (NULL == not_used) - { - return &gpioChanAIrqEvent; - } - uint8_t index = *(uint8_t*)not_used; - InterruptLock( &spinner ); - irqCnt[index]++; - pulseCount(index); - InterruptUnlock( &spinner ); - return &gpioChanAIrqEvent; -} - -void* gpioChanAIrq( void * arg) -{ - int chanAval = 0; - uint8_t index = 0u; - uint32_t regVal = 0u; - - (void)ThreadCtl (_NTO_TCTL_IO, NULL); - - /*disable gpio irq*/ - regVal = in32(gpio_base_4 + IMX_GPIO_IMR) & (uint32_t)~(1UL << 1U); - out32(gpio_base_4 + IMX_GPIO_IMR, regVal); - /*config gpio0_9 irq*/ - /*dir is input*/ - regVal = in32(gpio_base_4 + IMX_GPIO_GDIR) & (uint32_t)~(1UL << 1U); - out32(gpio_base_4 + IMX_GPIO_GDIR,regVal); - /*select trigger way--rising edge sensitive*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_ICR1) | (uint32_t)(2UL << 2U)); - out32(gpio_base_4 + IMX_GPIO_ICR1, regVal); - /*clear isr reg*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_ISR) | (uint32_t)(1UL << 1U)); - out32(gpio_base_4 + IMX_GPIO_ISR, regVal); - /*reg intr service*/ - SIGEV_INTR_INIT(&gpioChanAIrqEvent); - chanAval = InterruptAttach(673, gpioChanAIrq_handler, (const void*)&index, 1,_NTO_INTR_FLAGS_TRK_MSK); -#if 0 - printf("gpio ChanA(4_1) irq init finished\n"); - printf("gpio4 IMR val is %x\n",in32(gpio_base_4 + IMX_GPIO_IMR)); - printf("gpio4 ISR val is %x\n",in32(gpio_base_4 + IMX_GPIO_ISR)); - printf("gpio4 GDIR val is %x\n",in32(gpio_base_4 + IMX_GPIO_GDIR)); - printf("gpio4 ICR1 val is %x\n",in32(gpio_base_4 + IMX_GPIO_ICR1)); -#endif - /*enable gpio irq*/ - regVal = (in32(gpio_base_4 + IMX_GPIO_IMR) | (uint32_t)(1UL << 1U)); - out32(gpio_base_4 + IMX_GPIO_IMR, regVal); - - - while(1) - { - (void)InterruptWait(0, NULL); - (void)InterruptUnmask(673, chanAval); - } - - /*you will never reach here*/ - return NULL; -} - -int imx8_create_gpio_irq_pthread(void) -{ - int ret = 0; - - ret = pthread_create(&gpioFeedbackIrq_thread, NULL, gpioFeedbackIrq, NULL); - ret = pthread_create(&gpioChanAIrq_thread, NULL, gpioChanAIrq, NULL); - ret = pthread_create(&gpioChanBIrq_thread, NULL, gpioChanBIrq, NULL); - - return ret; -} - - -/* 函数功能:双系心跳信号功能开启。 - * 输入参数:无。 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:板级初始化之后调用一次该函数启动功能。 - */ -void drvStartABSynSwitch(void) -{ - int i = 0; - - s_CapInfo[0U].isLocked = 0; - s_CapInfo[1U].isLocked = 0; - - for (i=0;i<(uint8_t)ABSynMsgType_MAX;i++) - { - sSyncMsgErrInfo[i] = 0.0f; - } - - (void)imx8_output(5,1); - s_isABSyncStart = 1; -} - - -/* 函数功能:双系心跳信号功能关闭 - * 输入参数:无。 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意: - */ -void drvStopABSynSwitch(void) -{ - s_isABSyncStart = 0; - (void)imx8_output(5,0); -} -/* 函数功能:发送双系硬通信信号。 - * 输入参数:MsgType:硬通信的信息:ABSynMsgType_0..ABSynMsgType_7 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:倒切方案由于硬件限制,发送频率不高于500Hz,最大使用ABSynMsgType_4。 - */ -void drvSetABSynMsg(ABSynMsgType MsgType) -{ - g_userSetSyncMsgType = MsgType; - switch((uint8_t)MsgType) - { - case 0: - s_ABSynDuty = 0; - break; - case 1://200hz - s_ABSynDuty = 80; - break; - case 2://300hz - s_ABSynDuty = 53; - break; - case 3://400hz - s_ABSynDuty = 40; - break; - case 4://500hz - s_ABSynDuty = 32; - break; - case 5://600hz - s_ABSynDuty = 27; - break; - case 6://700hz - s_ABSynDuty = 23; - break; - case 7://800hz - s_ABSynDuty = 20; - break; - default: - s_ABSynDuty =0; - break; - } -} - - -/* 函数功能:输出PWM - * 输入参数:无。 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:放在定时器中断服务程序中,产生PWM - */ -static void Task_ABSyncPulse(void) -{ - static uint32_t PulseCount = 0u; - static uint32_t PinValue = 1u; - uint32_t regVal = 0u; - uint32_t syncDuty = 0u; - - if(s_isABSyncStart == 1u) - { - PulseCount++; - syncDuty = s_ABSynDuty; - if((syncDuty > 0u) && (PulseCount >= syncDuty)) - { - PulseCount = 0; - PinValue ^= 0x1u; - if (0U == PinValue) - { - regVal = (in32(gpio_base_0 + IMX_GPIO_DR) & (uint32_t)~(1UL << 6U)); - out32(gpio_base_0 + IMX_GPIO_DR,regVal); - } - else - { - regVal = (in32(gpio_base_0 + IMX_GPIO_DR) | (uint32_t)(1UL << 6U)); - out32(gpio_base_0 + IMX_GPIO_DR, regVal); - - } - } - } -} - - - - -/* 函数功能:获取双系硬通信的反馈。 - * 输入参数:无。 - * 输出参数:pABSynMsgType *pMsgType, 采集到的type信息 - * 返回值 :UINT8, - * 0x00,正常。 - * 0x81,命令与反馈不一致 - * 0x82,指针为空 - * 使用注意:发送与采集间隔至少为40ms。 - */ -uint8_t drvFeedbackkABSynMsg(ABSynMsgType *pMsgType) -{ - uint8_t ret = 0U; - float Duty = 0.0f; - float period = 0.0f; - uint32_t PulseCnt = 0u; - if (NULL != pMsgType) - { - calculate(2U,&Duty,&period,&PulseCnt); - *pMsgType = drvPWMAnalyze(Duty,period); - if (g_userSetSyncMsgType == *pMsgType) - { - ret =0u; - } - else - { - ret = 0x81u; - } - } - else - { - ret = 0x82U; - } - return ret; -} - -/* 函数功能:查询当前各通道收到的外部脉冲个数。 - * 输入参数:无。 - * 输出参数: uint8_t index -- 通道索引:0-对方A系通道 1-对方B系通道 2-自身反馈通道 - * uint32_t* pPulseCnt -- 外部存储变量地址 - * 返回值 :uint8_t 0-成功 1-失败:入参错误。 - */ -uint8_t drvCheckABSynPulCnt(uint8_t index,uint32_t* pPulseCnt) -{ - uint8_t ret = 0U; - if ((index > 2U) || (NULL == pPulseCnt)) - { - ret = 1u; - return ret; - } - - *pPulseCnt = s_CapInfo[index].capCount; - - return ret; -} - - -/* 函数功能:获取对系双通道硬通信信号。 - * 输入参数:无。 - * 输出参数:pMsgType[0]:对方A系发出的硬通信信息:ABSynMsgType_0..ABSynMsgType_15 - * pMsgType[1]:对方B系发出的硬通信信息:ABSynMsgType_0..ABSynMsgType_15 - * pPulseCnt[0]:收到对方A系发出的脉冲计数,如果此数为0,说明对方A系停止输出脉冲 - * pPulseCnt[1]:收到对方B系发出的脉冲计数,如果此数为0,说明对方B系停止输出脉冲 - * 返回值 :无。 - */ -void drvGetABSynMsg(ABSynMsgType *pMsgType,uint32_t* pPulseCnt) -{ - float Duty[2] = {0.0f}; - float Period[2] = {0.0f}; - - if(( NULL != pMsgType) && (NULL != pPulseCnt)) - { - drvGetABSyn(Duty,Period,pPulseCnt); - pMsgType[0] = drvPWMAnalyze(Duty[0],Period[0]); - pMsgType[1] = drvPWMAnalyze(Duty[1],Period[1]); - } - else - { - ; - } - -} - - -/* 函数功能:获取当前系间信号脉冲的最大误差值。 - * 输入参数:uint8_t index - * 输出参数:无 - * 返回值 :float -- 误差百分比。 - */ -float drvGetSyncSigErr(ABSynMsgType msgType) -{ - uint8_t index = 0u; - float ret = -1.0f; - if (msgType < ABSynMsgType_MAX) - { - index = (uint8_t)msgType; - ret = sSyncMsgErrInfo[index]; - } - - return ret; -} - -/* 函数功能:获取双系硬切系信号的占空比及频率。 - * 输入参数:无。 - * 输出参数:Duty[0]:对系CPU1占空比,保留3位有效小数,如30%占空比表示为0.300 - * Period[0]:对系CPU1频率,单位为Hz - * Duty[1]:对系CPU2占空比,保留3位有效小数,如30%占空比表示为0.300 - * Period[1]:对系CPU2频率,单位为Hz - * 返回值 :无。 - * 使用注意:Period为0时表示错误。 - */ -static void drvGetABSyn(float *Duty,float *Period,uint32_t* pPulseCnt) -{ - if ((NULL == Duty) || (NULL == Period) || (NULL == pPulseCnt)) - { - return; - } - /*使用IO中断方式*/ - calculate(0U,&Duty[0],&Period[0],&pPulseCnt[0]); - calculate(1U,&Duty[1],&Period[1],&pPulseCnt[1]); -} - - -/* 函数功能:PWM信号解析为双系MsgType。 - * 输入参数:Duty:采集到的PWM占空比 - * Period:采集到的PWM频率 - * 输出参数:无。 - * 返回值 :ABSynMsgType:双系通信的具体信息。 - * 使用注意:。 - */ -static ABSynMsgType drvPWMAnalyze(float Duty,float Period) -{ - ABSynMsgType ABSynMsgTypetemp = ABSynMsgType_0; - float syncErr = 0.0f; - float tmp = 0.0f; - float baseFreq = 0.0f; - uint8_t index = 0u; - - if((Duty > 0.45f) && (Duty < 0.55f) ) - { - if((Period > 150.0f) && (Period < 250.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_1; - } - else if((Period > 250.0f) && (Period < 350.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_2; - } - else if((Period > 350.0f) && (Period < 450.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_3; - } - else if((Period > 450.0f) && (Period < 550.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_4; - } - else if((Period > 550.0f) && (Period < 650.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_5; - } - else if((Period > 650.0f) && (Period < 750.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_6; - } - else if((Period > 750.0f) && (Period < 850.0f)) - { - ABSynMsgTypetemp = ABSynMsgType_7; - } - else - { - ABSynMsgTypetemp = ABSynMsgType_0; - } - } - else//占空比无或不正常 - { - ABSynMsgTypetemp = ABSynMsgType_0; - } - - index = (uint8_t)ABSynMsgTypetemp; - baseFreq = (float)(index + 1u) * 100.0f; - tmp = (Period > baseFreq) ? (Period - baseFreq) : (baseFreq - Period); - syncErr = tmp / baseFreq * 100.0f; - tmp = sSyncMsgErrInfo[index]; - tmp = (syncErr > tmp) ? syncErr : tmp; - sSyncMsgErrInfo[index] = tmp; - - return ABSynMsgTypetemp; -} - -/*使用io中断获取对端脉冲频率*/ -static void calculate(uint8_t index,float *Duty,float *Period,uint32_t* pPulseCnt) -{ - uint32_t curTimeStamp = 0u; - uint32_t startTimeStamp = 0u; - float tmp = 0.0f; - - if ((index > 2U) || (NULL == Duty) || (NULL == Period) || (NULL == pPulseCnt)) - { - return; - } - - s_ECapPause[index] = 1U; - curTimeStamp = s_CapInfo[index].cap1CurrentTime; - startTimeStamp = s_CapInfo[index].cap1StartTime; - - uint32_t useTime = (curTimeStamp > startTimeStamp) ? \ - (curTimeStamp - startTimeStamp) : \ - (0xFFFFFFFFU - startTimeStamp + curTimeStamp); - - tmp = (float)useTime / (float)s_CapInfo[index].capCount; - s_CapInfo[index].fre = (32000.0f / tmp); - - *Period = s_CapInfo[index].fre; - *Duty = 0.5f; - *pPulseCnt = s_CapInfo[index].capCount; - s_CapInfo[index].cap1CurrentTime = 0u; - s_CapInfo[index].cap1StartTime = 0u; - s_CapInfo[index].capCount = 0u; - s_CapInfo[index].isLocked = 0u; - s_ECapPause[index] = 0U; -} - - -static void pulseCount(uint8_t index) -{ - uint8_t capPause = 0u; - uint8_t syncStart = 0u; - if (index < 3u) - { - capPause = s_ECapPause[index]; - syncStart = s_isABSyncStart; - if ((0u == capPause) && (1u == syncStart)) - { - if(0u == s_CapInfo[index].isLocked) - { - s_CapInfo[index].isLocked = 1u; - s_CapInfo[index].capCount = 0u; - s_CapInfo[index].cap1StartTime = cnt; - } - s_CapInfo[index].cap1CurrentTime = cnt; - s_CapInfo[index].capCount++; - } - else - { - /*do nothing*/ - } - } -} - - -/************************************************************************/ -/* -* @brief 读取phy寄存器相关维护信息 -* -* 该函数通过创建套接字并发送SIOCGDRVSPEC控制命令,读取指定网络接口的PHY寄存器状态 -* -* @param[in] -* const char* fecx 需要检查的网络接口名称(如"fec0","fec1") -* uint16_t infoLen - 寄存器信息数组长度,此长度应该大于等于12 -* @param[out] -* uint16_t * Info - 寄存器信息数组存储首地址 -* @return rtn 返回状态 -* - n: n为实际读取的寄存器个数 -* - -1: 链路异常或操作失败 -* -*/ -int drvPhyRegInfoUpdate(const char* fecx,uint16_t *Info,uint16_t infoLen) -{ - /*- 变量初始化*/ - int sockfd = -1; - int rtn = -1; - int n = 0; - /*uint16_t regInfo[12u] = {0u};*/ - uint8_t regList[12] = {0u,1u,4u,5u,6u,7u,8u,9u,10u,15u,21u,31u}; - uint8_t i = 0u; - - if ((NULL == fecx) || (NULL == Info) || (0u == infoLen)) - { - return rtn; - } - - /*- 创建DGRAM类型套接字*/ - sockfd = socket(AF_INET, SOCK_DGRAM, 0); - if (-1 == sockfd) - { - perror("socket"); - } - else - { - /*- 配置网络接口名称*/ - strncpy((char*)&phycmd.ifd.ifd_name, fecx, IFNAMSIZ); - - /*- 设置PHY寄存器访问参数*/ - phycmd.ifd.ifd_cmd = READ_PHY_REG; /* PHY寄存器读取命令 */ - phycmd.ifd.ifd_len = sizeof(phy_access_t); - phycmd.ifd.ifd_data = (void*)&phycmd.req; - phycmd.req.phy_id = 7U; /* PHY设备地址 */ - phycmd.req.phy_reg = 1U; /* PHY状态寄存器地址 */ - phycmd.req.phy_data = 0U; /* 初始化数据域 */ - - n = ((12U <= infoLen)? 12 : (int)infoLen); - - for(i = 0u;i < n;i++) - { - phycmd.req.phy_reg = regList[i]; /* PHY状态寄存器地址 */ - /*- 发送驱动控制命令获取PHY状态*/ - devctl(sockfd, SIOCGDRVSPEC, &phycmd,sizeof(phycmd),0); - Info[i] = phycmd.req.phy_data; - } - rtn = n; - close(sockfd); - } - /*- 返回最终检测结果*/ - return rtn; -} - - -#if 0 -/*调试接口*/ -void checkisr(void) -{ - static int ret = 0; - printf("irq cnt 0 is %d\n",irqCnt[0]); - printf("irq cnt 1 is %d\n",irqCnt[1]); - printf("irq cnt 2 is %d\n",irqCnt[2]); - printf("cur cnt is %d\n",cnt); -} -#endif - - -/************************************************************************/ -/* -* @brief 通过PHY寄存器检查指定网卡链路状态 -* -* 该函数通过创建套接字并发送SIOCGDRVSPEC控制命令,读取指定网络接口的PHY寄存器状态, -* 根据寄存器值的特定位判断链路是否正常。 -* -* @param[in] fecx 需要检查的网络接口名称(如"fec0","fec1") -* @return rtn 返回状态 -* - 0: 链路状态正常(PHY寄存器bit2为1) -* - -1: 链路异常或操作失败 -* -* @note 函数执行流程: -* 1. 创建UDP套接字 -* 2. 配置phycmd控制结构体: -* - ifd_name: 网络接口名称 -* - ifd_cmd: 使用READ_PHY_REG命令 -* - phy_id: PHY地址7 -* - phy_reg: 寄存器地址1(状态寄存器) -* 3. 通过devctl发送控制命令 -* 4. 解析phy_data寄存器值的bit2判断链路状态 -*/ -int phytool(const char* fecx) -{ - /*- 变量初始化*/ - int sockfd = -1; - int rtn = -1; - - if (NULL == fecx) - { - return rtn; - } - - /*- 创建DGRAM类型套接字*/ - sockfd = socket(AF_INET, SOCK_DGRAM, 0); - if (-1 == sockfd) - { - perror("socket"); - } - else - { - /*- 配置网络接口名称*/ - strncpy((char*)&phycmd.ifd.ifd_name, fecx, IFNAMSIZ); - - /*- 设置PHY寄存器访问参数*/ - phycmd.ifd.ifd_cmd = READ_PHY_REG; /* PHY寄存器读取命令 */ - phycmd.ifd.ifd_len = sizeof(phy_access_t); - phycmd.ifd.ifd_data = (void*)&phycmd.req; - phycmd.req.phy_id = 7U; /* PHY设备地址 */ - phycmd.req.phy_reg = 1U; /* PHY状态寄存器地址 */ - phycmd.req.phy_data = 0U; /* 初始化数据域 */ - - /*- 发送驱动控制命令获取PHY状态*/ - devctl(sockfd, SIOCGDRVSPEC, &phycmd,sizeof(phycmd),0); - - close(sockfd); - - /*- 解析状态寄存器bit2(0x04)链路状态标志*/ - if(1U == ((phycmd.req.phy_data & 0x04U)>>2U)) - { - rtn = 0; /* 链路正常 */ - } - else - { - ; /* 保持默认失败状态 */ - } - } - /*- 返回最终检测结果*/ - return rtn; -} diff --git a/TSCP/src/DRV/imx8_drv_gpio.h b/TSCP/src/DRV/imx8_drv_gpio.h index 744dc67..a430781 100644 --- a/TSCP/src/DRV/imx8_drv_gpio.h +++ b/TSCP/src/DRV/imx8_drv_gpio.h @@ -17,51 +17,6 @@ #include #include -#include -#include -#include - - -/*双系脉冲通信信号类型定义*/ -typedef enum { //占空比-频率 - ABSynMsgType_0,//0.0-0,ErrorDuty-ErrorFrequency固定为驱动程序检测到以下故障中的一种:a、未收到有效的PWM信号(包含:无PWM信号、信号参数不符合预设的范围) - ABSynMsgType_1,//0.5-200 固定为驱动程序检测到以下故障中的一种:a、发送端的MsgType不是规定的枚举类型; - ABSynMsgType_2,//0.5-300 固定为驱动程序检测到以下故障中的一种:a、双系PWM信号使能标志没有周期翻转(main函数跑飞); - ABSynMsgType_3,//0.5-400 平台自由确定其含义 - ABSynMsgType_4,//0.5-500 平台自由确定其含义 - ABSynMsgType_5,//0.5-600 平台自由确定其含义 - ABSynMsgType_6,//0.5-700 平台自由确定其含义 - ABSynMsgType_7,//0.5-800 平台自由确定其含义 - ABSynMsgType_MAX = 0x08 -} ABSynMsgType; - -struct SCapInfo{ - uint8_t vaild;//0无效 1有效 - uint8_t isLocked;//1锁定 - uint32_t capCount; - uint32_t cap1StartTime; //first rising - uint32_t cap1CurrentTime; //first falling - uint32_t cycle; //周期 - uint32_t pulseWidth; //脉宽 - float dutyCycle; //占空比 - float fre; //频率 -}; - - -#define READ_PHY_REG 0x400U - -typedef struct { - uint8_t phy_id; - uint8_t phy_reg; - uint16_t phy_data; -}phy_access_t; - -static struct ifdrv2{ - struct ifdrv ifd; - phy_access_t req; -}phycmd; - - #define IMX_GPIO0_BASE 0x5D080000 #define IMX_GPIO1_BASE 0x5D090000 #define IMX_GPIO2_BASE 0x5D0A0000 @@ -74,18 +29,8 @@ static struct ifdrv2{ #define IMX_GPIO_DR 0x0U #define IMX_GPIO_GDIR 0x4U #define IMX_GPIO_PSR 0x8U -/*20250707--zhangzhongqi add*/ -#define IMX_GPIO_ICR1 0xCU -#define IMX_GPIO_ICR2 0x10U -#define IMX_GPIO_IMR 0x14U -#define IMX_GPIO_ISR 0x18U -#define IMX_GPIO_EDGE_SEL 0x1CU -#define IMX_GPIO_SIZE 0x20U -#define IMX_GPIO0_IRQ 168 -#define IMX_GPIO1_IRQ 169 - /*timer regisger */ #define IMX_GPT0_BASE 0x5D140000 #define IMX_GPT_SIZE 0x10000 @@ -138,111 +83,3 @@ const struct sigevent *handler_25 (void *not_used, int id); const struct sigevent *handler (void *not_used, int id); void* timer_25( void * arg); void* timer( void * arg); - -/* 函数功能:创建脉冲检测中断线程 - * 输入参数:void - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:板级初始化之后调用一次该函数启动功能。 - */ -int imx8_create_gpio_irq_pthread(void); -/* 函数功能:发送双系硬通信信号。 - * 输入参数:MsgType:硬通信的信息:ABSynMsgType_0..ABSynMsgType_7 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:倒切方案由于硬件限制,发送频率不高于500Hz,最大使用ABSynMsgType_4。 - */ -void drvSetABSynMsg(ABSynMsgType MsgType); -/* 函数功能:获取对系双通道硬通信信号。 - * 输入参数:无。 - * 输出参数:pMsgType[0]:对方A系发出的硬通信信息:ABSynMsgType_0..ABSynMsgType_15 - * pMsgType[1]:对方B系发出的硬通信信息:ABSynMsgType_0..ABSynMsgType_15 - * pPulseCnt[0]:收到对方A系发出的脉冲计数,如果此数为0,说明对方A系停止输出脉冲 - * pPulseCnt[1]:收到对方B系发出的脉冲计数,如果此数为0,说明对方B系停止输出脉冲 - * 返回值 :无。 - */ -void drvGetABSynMsg(ABSynMsgType *pMsgType,uint32_t* pPulseCnt); -/* 函数功能:双系心跳信号功能开启。 - * 输入参数:无。 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意:板级初始化之后调用一次该函数启动功能。 - */ -void drvStartABSynSwitch(void); - -/* 函数功能:双系心跳信号功能关闭 - * 输入参数:无。 - * 输出参数:无。 - * 返回值 :无。 - * 使用注意: - */ -void drvStopABSynSwitch(void); - -/* 函数功能:获取双系硬通信的反馈。 - * 输入参数:无。 - * 输出参数:pABSynMsgType *pMsgType, 采集到的type信息 - * 返回值 :UINT8, - * 0x00,正常。 - * 0x81,命令与反馈不一致 - * 0x82,指针为空 - * 使用注意:发送与采集间隔至少为40ms。 - */ -uint8_t drvFeedbackkABSynMsg(ABSynMsgType *pMsgType); - -/* 函数功能:获取当前系间信号脉冲的最大误差值。 - * 输入参数:uint8_t index - * 输出参数:无 - * 返回值 :float -- 误差百分比。 - */ -float drvGetSyncSigErr(ABSynMsgType msgType); - -/* 函数功能:查询当前各通道收到的外部脉冲个数。 - * 输入参数:无。 - * 输出参数: uint8_t index -- 通道索引:0-自身反馈通道 1-对方A系通道 2-对方B系通道 - * uint32_t* pPulseCnt -- 外部存储变量地址 - * 返回值 :uint8_t 0-成功 1-失败:入参错误。 - */ -uint8_t drvCheckABSynPulCnt(uint8_t index,uint32_t* pPulseCnt); - - -/************************************************************************/ -/* -* @brief 读取phy寄存器相关维护信息 -* -* 该函数通过创建套接字并发送SIOCGDRVSPEC控制命令,读取指定网络接口的PHY寄存器状态 -* -* @param[in] -* const char* fecx 需要检查的网络接口名称(如"fec0","fec1") -* uint16_t infoLen - 寄存器信息数组长度,此长度应该大于等于12 -* @param[out] -* uint16_t * Info - 寄存器信息数组存储首地址 -* @return rtn 返回状态 -* - n: n为实际读取的寄存器个数 -* - -1: 链路异常或操作失败 -* -*/ -int drvPhyRegInfoUpdate(const char* fecx,uint16_t *Info,uint16_t infoLen); - -/************************************************************************/ -/* -* @brief 通过PHY寄存器检查指定网卡链路状态 -* -* 该函数通过创建套接字并发送SIOCGDRVSPEC控制命令,读取指定网络接口的PHY寄存器状态, -* 根据寄存器值的特定位判断链路是否正常。 -* -* @param[in] fecx 需要检查的网络接口名称(如"fec0","fec1") -* @return rtn 返回状态 -* - 0: 链路状态正常(PHY寄存器bit2为1) -* - -1: 链路异常或操作失败 -* -* @note 函数执行流程: -* 1. 创建UDP套接字 -* 2. 配置phycmd控制结构体: -* - ifd_name: 网络接口名称 -* - ifd_cmd: 使用READ_PHY_REG命令 -* - phy_id: PHY地址7 -* - phy_reg: 寄存器地址1(状态寄存器) -* 3. 通过devctl发送控制命令 -* 4. 解析phy_data寄存器值的bit2判断链路状态 -*/ -int phytool(const char* fecx); diff --git a/TSCP/src/MSCP/CM/CM_Com.c b/TSCP/src/MSCP/CM/CM_Com.c index f85e908..188b5f8 100644 --- a/TSCP/src/MSCP/CM/CM_Com.c +++ b/TSCP/src/MSCP/CM/CM_Com.c @@ -410,6 +410,7 @@ ENUM_CM_RETURN CM_Com_LocalDataRecv(OUT CM_UINT8* pBuf, IN CM_UINT16 BufSize) CM_UINT32 len = 0u; /* 数据长度 */ CM_UINT64 now_time = 0u; CM_UINT64 start_time = CM_GetTick(); + CM_UINT32 recvNum = 0u; /*- 循环执行接收线程 */ do { @@ -418,6 +419,7 @@ ENUM_CM_RETURN CM_Com_LocalDataRecv(OUT CM_UINT8* pBuf, IN CM_UINT16 BufSize) /*- 是否收到有效报文 */ if(1 == ret) { + recvNum++; rtnValue = CM_FFFEDecode(&g_COM[1u].prtclFFFEStru,data,buf,&len); /*接收到完整包写入接收队列*/ if(ENUM_CM_TRUE == rtnValue) diff --git a/TSCP/src/MSCP/CM/CM_Time.c b/TSCP/src/MSCP/CM/CM_Time.c index 0ef2e8f..02362b7 100644 --- a/TSCP/src/MSCP/CM/CM_Time.c +++ b/TSCP/src/MSCP/CM/CM_Time.c @@ -121,8 +121,19 @@ void CM_Sleep(CM_UINT32 ms) /*精准延时函数*/ void CM_delayUs(CM_UINT64 us) { - CM_TIMESPEC_T tv; - tv.tv_sec = (time_t)CM_UNSIGNED_LONG_INT_EXP(us / 1000000U); - tv.tv_nsec = (long)CM_UNSIGNED_LONG_INT_EXP(us % 1000000U); - (void)select(0, NULL, NULL, NULL, &tv); + /*- 变量初始化*/ + CM_TIMESPEC_T rem; /*- 延时被打断后的剩余时间*/ + CM_INT8 ret = 0; + CM_TIMESPEC_T req = { + .tv_sec = (time_t)(us / 1000000u), + .tv_nsec = (long)((us % 1000000u) * 1000u) + }; + + ret = nanosleep(&req, &rem); + /*- 执行延时操作*/ + while ((-1 == ret) && (EINTR == errno)) + { + ret = nanosleep(&req, &rem); + req = rem; + } } diff --git a/TSCP/src/MSCP/DFM/DFM_DRV_QNX.c b/TSCP/src/MSCP/DFM/DFM_DRV_QNX.c index 937124d..61a54f0 100644 --- a/TSCP/src/MSCP/DFM/DFM_DRV_QNX.c +++ b/TSCP/src/MSCP/DFM/DFM_DRV_QNX.c @@ -619,18 +619,25 @@ void DFM_Network_Check(void) (void)system("drvtools -link9131 3 >> networkcheck.txt"); FILE *file = fopen(filename, "r"); - while (NULL != fgets(pFileBuf, sizeof(pFileBuf), file)) { - if('w' != pFileBuf[0]) - { - MSCP_LOG_MSG("%s", pFileBuf); - (void)printf("%s", pFileBuf); - } - else - { - /* 不做处理,过滤无用数据 */ - } + if(NULL == file) + { + printf("open networkcheck.txt error\n"); } - /* 关闭文件 */ - (void)fclose(file); + else{ + while (NULL != fgets(pFileBuf, sizeof(pFileBuf), file)) { + if('w' != pFileBuf[0]) + { + MSCP_LOG_MSG("%s", pFileBuf); + (void)printf("%s", pFileBuf); + } + else + { + /* 不做处理,过滤无用数据 */ + } + } + /* 关闭文件 */ + (void)fclose(file); + } + return; } diff --git a/TSCP/src/MSCP/MSCP_main.c b/TSCP/src/MSCP/MSCP_main.c index b5f36d0..9b87c60 100644 --- a/TSCP/src/MSCP/MSCP_main.c +++ b/TSCP/src/MSCP/MSCP_main.c @@ -117,7 +117,6 @@ static void SelfCheckInit(void); static void selfCheckSemWait(void); static void selfCheckSemPost(void); - /** * @brief 主程序入口 * @details 调用初始化入口和周期循环入口 @@ -916,10 +915,3 @@ static void s_LogicProc(ENUM_CM_RETURN(*pAppfunc)(void)) /*- 无处理 */ } } - - - - - - - diff --git a/TSCP/src/MSCP/PFM/PFM_Cfg.c b/TSCP/src/MSCP/PFM/PFM_Cfg.c index 73a7fab..870673b 100644 --- a/TSCP/src/MSCP/PFM/PFM_Cfg.c +++ b/TSCP/src/MSCP/PFM/PFM_Cfg.c @@ -40,7 +40,7 @@ CM_CHAR FS_FILE_PATH[100]; /** 平台软件版本号 */ -const CM_UINT8 MSCP_SW_VERION[4] = { 93u, 1u, 1u, 53u }; +const CM_UINT8 MSCP_SW_VERION[4] = { 93u, 1u, 1u, 54u }; /** 驱动软件版本号 */ CM_UINT8 MSCP_DRV_VERION[4] = {0}; /** 与维护一体机接口文档版本号(接口文档发生改变时升级版本号) */ @@ -652,6 +652,9 @@ void PFM_CFG_IfconfigIp(void) sprintf(str, "ifconfig %s %s", "wm0", "192.168.147.101"); /*- 跳出 */ break; + case 0x43U: + sprintf(str, "ifconfig %s %s", "wm0", "192.168.148.101"); + break; /*1-2*/ case 0x55U: sprintf(str, "ifconfig %s %s", "wm0", "192.168.16.102"); @@ -669,6 +672,10 @@ void PFM_CFG_IfconfigIp(void) sprintf(str, "ifconfig %s %s", "wm0", "192.168.19.102"); /*- 跳出 */ break; + case 0x45U: + sprintf(str, "ifconfig %s %s", "wm0", "192.168.20.102"); + /*- 跳出 */ + break; /*2-1*/ case 0xA6U: sprintf(str, "ifconfig %s %s", "wm0", "192.168.144.103"); @@ -686,6 +693,10 @@ void PFM_CFG_IfconfigIp(void) sprintf(str, "ifconfig %s %s", "wm0", "192.168.147.103"); /*- 跳出 */ break; + case 0xB6U: + sprintf(str, "ifconfig %s %s", "wm0", "192.168.148.103"); + /*- 跳出 */ + break; /*2-2*/ case 0xAAU: sprintf(str, "ifconfig %s %s", "wm0", "192.168.16.104"); @@ -703,6 +714,10 @@ void PFM_CFG_IfconfigIp(void) sprintf(str, "ifconfig %s %s", "wm0", "192.168.19.104"); /*- 跳出 */ break; + case 0xBAU: + sprintf(str, "ifconfig %s %s", "wm0", "192.168.20.104"); + /*- 跳出 */ + break; default: MSCP_LOG_MSG("drv_boardidErr:0x%x,ini:0x%x,0x%x\r\n",DrvBoard_ID,g_PFM_Cfg.BOARD_ID,g_PFM_Cfg.CPU_ID); /*- 跳出 */ @@ -775,6 +790,7 @@ static void PFM_CFG_Check_BoardID(void) case 0x33U: case 0x63U: case 0x03U: + case 0x43U: CM_NM_ASSERT(((CM_UINT8)1U == g_PFM_Cfg.BOARD_ID) && ((CM_UINT8)1U == g_PFM_Cfg.CPU_ID), CFG_MODE, DARK_FAULT_CODE_FUN_ORDER_4, TSCP_DARK_ASSERT_1); /*- 跳出 */ break; @@ -783,6 +799,7 @@ static void PFM_CFG_Check_BoardID(void) case 0x35U: case 0x65U: case 0x05U: + case 0x45U: CM_NM_ASSERT(((CM_UINT8)1U == g_PFM_Cfg.BOARD_ID) && ((CM_UINT8)2U == g_PFM_Cfg.CPU_ID), CFG_MODE, DARK_FAULT_CODE_FUN_ORDER_4, TSCP_DARK_ASSERT_1); /*- 跳出 */ break; @@ -791,6 +808,7 @@ static void PFM_CFG_Check_BoardID(void) case 0xC6U: case 0x96U: case 0xF6U: + case 0xB6U: CM_NM_ASSERT(((CM_UINT8)2U == g_PFM_Cfg.BOARD_ID) && ((CM_UINT8)1U == g_PFM_Cfg.CPU_ID), CFG_MODE, DARK_FAULT_CODE_FUN_ORDER_4, TSCP_DARK_ASSERT_1); /*- 跳出 */ break; @@ -799,6 +817,7 @@ static void PFM_CFG_Check_BoardID(void) case 0xCAU: case 0x9AU: case 0xFAU: + case 0xBAU: CM_NM_ASSERT(((CM_UINT8)2U == g_PFM_Cfg.BOARD_ID) && ((CM_UINT8)2U == g_PFM_Cfg.CPU_ID), CFG_MODE, DARK_FAULT_CODE_FUN_ORDER_4, TSCP_DARK_ASSERT_1); /*- 跳出 */ break; diff --git a/TSCP/src/MSCP/SFM/SFM_2oo2.c b/TSCP/src/MSCP/SFM/SFM_2oo2.c index 0d70b3e..ab77765 100644 --- a/TSCP/src/MSCP/SFM/SFM_2oo2.c +++ b/TSCP/src/MSCP/SFM/SFM_2oo2.c @@ -383,7 +383,7 @@ static CM_INT32 s_2oo2_ARQ_Recv(OUT CM_UINT8 *RxData, IN CM_UINT32 RxSize, OUT E while(1) { /*- 从通信层接收2oo2报文 */ - rxLen = p_2oo2_Ctrl->DataRecv(p_2oo2_Ctrl->UDP_Cache, (CM_UINT32)sizeof(p_2oo2_Ctrl->UDP_Cache)); + rxLen = p_2oo2_Ctrl->DataRecv(p_2oo2_Ctrl->UDP_Cache, (CM_UINT32)sizeof(p_2oo2_Ctrl->UDP_Cache)); /*- 收到的报文长度是否大于23 */ if (23 <= rxLen) { diff --git a/TSCP/src/MSCP/SFM/SFM_2x2.c b/TSCP/src/MSCP/SFM/SFM_2x2.c index 5a1b74f..e0b4823 100644 --- a/TSCP/src/MSCP/SFM/SFM_2x2.c +++ b/TSCP/src/MSCP/SFM/SFM_2x2.c @@ -725,7 +725,7 @@ static void s_State_Transition(void) { /*- 无处理 */ SFM_LOG_MSG_2X("Transition:2x2:OFFLINE>SLAVE SysCyc:%d,BF:%d,AF:%d,COK:%d,OUT:%d,TS:%d,AFC:%d\n", - s_2x2_state_Ctrl.SysCyc,s_2x2_state_Ctrl.LastRxInputSysCyc, + s_2x2_state_Ctrl.SysCyc,s_2x2_state_Ctrl.LastRxInputSysCyc,s_2x2_state_Ctrl.LastFollowCyc, s_2x2_state_Ctrl.LastCheckOKCount,s_2x2_state_Ctrl.OutPutCheckFailFlag, s_2x2_state_Ctrl.TimeSyncFlag, s_2x2_state_Ctrl.AppFollowCmpFlag); @@ -2105,13 +2105,13 @@ static void s_2x2_Recv(void) CM_RE_ASSERT(FrameNum <= (SFM_OUTNETSAFE_BUFF_SIZE / NET_20K_SIZE), SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_6, TSCP_DARK_ASSERT_15); CM_RE_ASSERT(FrameIndex <= FrameNum, SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_6, TSCP_DARK_ASSERT_16); ret = SFM_2X_FrameSave(&s_2x2_FrameCtrl, (CM_UINT8)type, FrameNum, FrameIndex, pData, DataLen, - g_2x2oo2_rx[g_2x2oo2_base][type-g_2x2oo2_data_num].p_rmt_peer_buf, - &g_2x2oo2_rx[g_2x2oo2_base][type-g_2x2oo2_data_num].rmt_peer_len, - (CM_UINT32)g_2x2oo2_rx[g_2x2oo2_base][type-g_2x2oo2_data_num].buf_size); + g_2x2oo2_rx[g_2x2oo2_base][(CM_INT32)type-g_2x2oo2_data_num].p_rmt_peer_buf, + &g_2x2oo2_rx[g_2x2oo2_base][(CM_INT32)type-g_2x2oo2_data_num].rmt_peer_len, + (CM_UINT32)g_2x2oo2_rx[g_2x2oo2_base][(CM_INT32)type-g_2x2oo2_data_num].buf_size); /*记录对系邻机数据长度*/ - s_2x2_Ctrl.InPutDoublePassLen[type-g_2x2oo2_data_num][1] = g_2x2oo2_rx[g_2x2oo2_base][type-g_2x2oo2_data_num].rmt_peer_len; + s_2x2_Ctrl.InPutDoublePassLen[(CM_INT32)type-g_2x2oo2_data_num][1] = g_2x2oo2_rx[g_2x2oo2_base][(CM_INT32)type-g_2x2oo2_data_num].rmt_peer_len; /*- 是否收齐了全部数据同步报文 */ - if ((ENUM_CM_TRUE == ret) && (type == g_2x2RcvMaxNum[1])) + if ((ENUM_CM_TRUE == ret) && ((CM_UINT8)type == g_2x2RcvMaxNum[1])) { /*- 更新对系输入状态 */ s_2x2_Ctrl.InputPeerSysCyc = msgCyc; diff --git a/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.c b/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.c index 10aab04..e27d6f6 100644 --- a/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.c +++ b/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.c @@ -50,8 +50,6 @@ UINT8 dfsInitSubSystemCommonConfigData_CC(UINT8 *pDataAddr, UINT32 dataSize, UIN UINT8 dfsInitTrainDepotConfigData(UINT8 *pDataAddr, UINT32 dataSize, UINT16 rowCount); /* ߽ݽṹ */ UINT8 dfsInitBoundaryAxleConfigData(UINT8* pDataAddr, UINT32 dataSize, UINT16 rowCount); -/*ʼ[ѹ]*/ -UINT8 dfsInitSpecialEaConfigData(UINT8* pDataAddr, UINT32 dataSize, UINT16 rowCount); /*ݰ汾ݴ̺*/ static UINT8 initConfigCbtcInfoTaskTab(void); @@ -70,7 +68,6 @@ static INIT_TASK_TAB_STRU g_struInitTaskTab[]= {DQU_QFUN_TRUE, CBTC_CONFIG_DEPOT_ID, dfsInitTrainDepotConfigData, 5,1,0}, {DQU_QFUN_TRUE, CBTC_CONFIG_DATA_ID, dfsInitSubSystemCommonConfigData_CC, 5,1,0}, {DQU_QFUN_TRUE, CBTC_CONFIG_BOUNDARY_AXLE_ID,dfsInitBoundaryAxleConfigData, 5,1,0}, - {DQU_QFUN_TRUE, CBTC_SPECIAL_EA_ID, dfsInitSpecialEaConfigData, 5,1,0}, }; /*ʼǼDZĿ*/ static const UINT16 MAX_INITTASK_COUNT=sizeof(g_struInitTaskTab)/sizeof(INIT_TASK_TAB_STRU); @@ -122,27 +119,24 @@ static UINT8 initConfigCbtcInfoTaskTab(void) g_struInitTaskTab[6].bIsEffective=DQU_QFUN_FASLE;/*ϿĬϲִУ*/ g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ*/ g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ߽*/ - g_struInitTaskTab[9].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУѹ*/ - rtnValue = 1U; + rtnValue = 1; } else if (DQU_CBTC_FAO == cbtcVersionType) /*FAO*/ { g_struInitTaskTab[2].bIsEffective=DQU_QFUN_FASLE;/*FAOĬϲִУϵͳýṹ3-CPK*/ g_struInitTaskTab[4].bIsEffective=DQU_QFUN_FASLE;/*FAOĬϲִУϵͳýṹ3-HLT*/ g_struInitTaskTab[5].bIsEffective=DQU_QFUN_FASLE;/*FAOĬϲִУϵͳýṹ3-DG*/ - g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*FAOĬϲִУ*/ - g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*FAOĬϲִУ߽*/ - g_struInitTaskTab[9].bIsEffective = DQU_QFUN_FASLE;/*FAOĬϲִУѹ*/ - rtnValue = 1U; + g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ*/ + g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ߽*/ + rtnValue = 1; } else if(DQU_CBTC_HLT == cbtcVersionType) /*ͨ*/ { g_struInitTaskTab[2].bIsEffective=DQU_QFUN_FASLE;/*ͨĬϲִУϵͳýṹ3-CPK*/ g_struInitTaskTab[3].bIsEffective=DQU_QFUN_FASLE;/*ͨĬϲִУϵͳýṹ3-FAO*/ g_struInitTaskTab[5].bIsEffective=DQU_QFUN_FASLE;/*ͨĬϲִУϵͳýṹ3-DG*/ - g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*ͨĬϲִУ*/ - g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*ͨĬϲִУ߽*/ - g_struInitTaskTab[9].bIsEffective = DQU_QFUN_FASLE;/*ͨĬϲִУѹ*/ + g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ*/ + g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ߽*/ rtnValue = 1; } else if(DQU_CBTC_DG == cbtcVersionType)/*칦*/ @@ -150,10 +144,9 @@ static UINT8 initConfigCbtcInfoTaskTab(void) g_struInitTaskTab[2].bIsEffective=DQU_QFUN_FASLE;/*DGĬϲִУϵͳýṹ3-CPK*/ g_struInitTaskTab[3].bIsEffective=DQU_QFUN_FASLE;/*DGĬϲִУϵͳýṹ3-FAO*/ g_struInitTaskTab[4].bIsEffective=DQU_QFUN_FASLE;/*DGĬϲִУϵͳýṹ3-HLT*/ - g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*DGĬϲִУ*/ - g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*DGĬϲִУ߽*/ - g_struInitTaskTab[9].bIsEffective = DQU_QFUN_FASLE;/*DGĬϲִУѹ*/ - rtnValue = 1U; + g_struInitTaskTab[7].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ*/ + g_struInitTaskTab[8].bIsEffective = DQU_QFUN_FASLE;/*ϿĬϲִУ߽*/ + rtnValue = 1; } else if (DQU_CBTC_CC == cbtcVersionType)/**/ { @@ -161,7 +154,7 @@ static UINT8 initConfigCbtcInfoTaskTab(void) g_struInitTaskTab[3].bIsEffective = DQU_QFUN_FASLE;/*ĬϲִУϵͳýṹ3-FAO*/ g_struInitTaskTab[4].bIsEffective = DQU_QFUN_FASLE;/*ĬϲִУϵͳýṹ3-HLT*/ g_struInitTaskTab[5].bIsEffective = DQU_QFUN_FASLE;/*ĬϲִУϵͳýṹ3-DG*/ - rtnValue = 1U; + rtnValue = 1; } else /*δֵð汾ֵδñ־λ*/ { @@ -1346,85 +1339,5 @@ UINT8 dfsInitBoundaryAxleConfigData(UINT8* pDataAddr, UINT32 dataSize, UINT16 ro rtnValue = 0U; /*׵ַָΪգ0*/ } - return rtnValue; -} - -/********************************************** -* ܣʼ[ѹ]-CC -* pDataAddr: ׵ַ -* dataSize: ֽڳ -* rowCount: -* -* ֵ:1: ɹ, -* 0: ʧ -* BY cgh 20250818 -**********************************************/ -UINT8 dfsInitSpecialEaConfigData(UINT8* pDataAddr, UINT32 dataSize, UINT16 rowCount) -{ - UINT8 rtnValue = 0U; - UINT16 ii = 0U; - UINT32 rowDataLen = 0U; - UINT8* pData = pDataAddr; - UINT16 jj = 0U; - - if (NULL != pDataAddr) - { - rtnValue = 1U; - - if ((0U < rowCount) && (5U >= rowCount) && (0U != dataSize)) - { - g_pCbtcConfigDataStru->BoundarySpecialEaInfoLen = rowCount; - rowDataLen = dataSize / rowCount; - - for (ii = 0U; ii < rowCount; ii++) - { - pData = pDataAddr + rowDataLen * ii; - - /**/ - g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].wIndex = ShortFromChar(pData); - pData += 2U; - - /*ͷǰ*/ - g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].dwFrontDis = LongFromChar(pData); - pData += 4U; - - /*β*/ - g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].dwBehindDis = LongFromChar(pData); - pData += 4U; - - /*link*/ - g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].wLinkSum = ShortFromChar(pData); - pData += 2U; - - if ((0U < g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].wLinkSum) && (21U > g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].wLinkSum)) - { - for (jj = 0U; jj < g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].wLinkSum; jj++) - { - g_pCbtcConfigDataStru->cbtcSpecialEaInfo[ii].szLinkId[jj] = ShortFromChar(pData); - pData += 2U; - } - } - else - { - rtnValue = 0U; - break; - } - - } - } - else if ((0U == rowCount) || (0U == dataSize)) - { - g_pCbtcConfigDataStru->BoundarySpecialEaInfoLen = 0U; /*Ϊ0ȡ*/ - } - else - { - rtnValue = 0U; /*ޣ0*/ - } - } - else - { - rtnValue = 0U; /*׵ַָΪգ0*/ - } - return rtnValue; } \ No newline at end of file diff --git a/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.h b/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.h index 82141d7..fb05b52 100644 --- a/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.h +++ b/TSCP/src/dqu_common/dqu_cbtc_common/dquCbtcConfigData.h @@ -145,15 +145,6 @@ extern "C" { UINT8 cStorageLineType; /*泵*/ } CBTC_BOUNDARY_AXLE_CONFIG_STRU; - /*ѹṹ*/ - typedef struct { - UINT16 wIndex; /**/ - UINT32 dwFrontDis; /*ͷǰ*/ - UINT32 dwBehindDis; /*β*/ - UINT16 wLinkSum; /*LINKĿ*/ - UINT16 szLinkId[20]; /*LINK*/ - } CBTC_SPECIAL_EA_CONFIG_STRU; - /*CBTCϢ*/ typedef struct CBTC_ConfigDataStruct { @@ -170,9 +161,6 @@ extern "C" { CBTC_BOUNDARY_AXLE_CONFIG_STRU cbtcBoundaryAxleInfo[100]; /*߽Ϣṹ飬ʼ*/ UINT16 BoundaryAxleInfoLen; /*鳤*/ - - CBTC_SPECIAL_EA_CONFIG_STRU cbtcSpecialEaInfo[5]; /*ѹ򣬳ʼ*/ - UINT16 BoundarySpecialEaInfoLen; /*鳤*/ }CBTC_CFG_DATA_STRU; /********************************************* diff --git a/TSCP/src/dqu_common/dqu_dfs_common/dquDataTypeDefine.h b/TSCP/src/dqu_common/dqu_dfs_common/dquDataTypeDefine.h index 329932c..ea3c7b4 100644 --- a/TSCP/src/dqu_common/dqu_dfs_common/dquDataTypeDefine.h +++ b/TSCP/src/dqu_common/dqu_dfs_common/dquDataTypeDefine.h @@ -108,7 +108,6 @@ #define CBTC_CONFIG_DATA_ID 3 /*ϵͳID*/ #define CBTC_CONFIG_DEPOT_ID 4 /*ϢID*/ #define CBTC_CONFIG_BOUNDARY_AXLE_ID 5 /*߽ñID*/ -#define CBTC_SPECIAL_EA_ID 6 /*ѹID*/ /*Э 궨*/ #define DSU_DATA_PROTCL_TYPE 0x30 /*ЭbookId*/ diff --git a/TSCP/src/dqu_common/dqu_emap_common/dquEmapInit.c b/TSCP/src/dqu_common/dqu_emap_common/dquEmapInit.c index a199720..35e6951 100644 --- a/TSCP/src/dqu_common/dqu_emap_common/dquEmapInit.c +++ b/TSCP/src/dqu_common/dqu_emap_common/dquEmapInit.c @@ -2576,7 +2576,6 @@ static UINT8 AxleSgmtStru_CC() /*ʼlinkĩlinkڣwMiddleLinkIdΪ0xFFFF*/ if (pTempAxleSgmtStru->wTmnlLkId == linkId1) { - /*мlink*/ pTempAxleSgmtStru->wMiddleLinkId[0] = UINT16_MAX; } else @@ -2594,10 +2593,10 @@ static UINT8 AxleSgmtStru_CC() } if (0U != rtnValue) - { + { + /*мlinkΪlinkId1*/ if (pTempAxleSgmtStru->wTmnlLkId == linkId2) { - /*мlinkΪlinkId1*/ pTempAxleSgmtStru->wMiddleLinkId[0] = linkId1; } else @@ -2615,10 +2614,10 @@ static UINT8 AxleSgmtStru_CC() } if (0U != rtnValue) - { + { + /*мlinkΪlinkId1*/ if (pTempAxleSgmtStru->wTmnlLkId == linkId3) { - /*мlinkΪlinkId1+linkId2*/ pTempAxleSgmtStru->wMiddleLinkId[0] = linkId1; pTempAxleSgmtStru->wMiddleLinkId[1] = linkId2; } @@ -2637,17 +2636,17 @@ static UINT8 AxleSgmtStru_CC() } if (0U != rtnValue) - { + { + /*мlinkΪlinkId1*/ if (pTempAxleSgmtStru->wTmnlLkId == linkId4) { - /*мlinkΪlinkId1+linkId2+linkId3*/ pTempAxleSgmtStru->wMiddleLinkId[0] = linkId1; pTempAxleSgmtStru->wMiddleLinkId[1] = linkId2; pTempAxleSgmtStru->wMiddleLinkId[2] = linkId3; } else { - /*γ5link,ܳ*/ + /*γ5link,ܳ*/ rtnValue = 0U; } } @@ -9158,7 +9157,7 @@ UINT8 initScreen(UINT8 *pDataAddr, UINT32 dataSize, UINT16 rowCount) rowDataLen = dataSize/rowCount; /*鳤ȼ*/ - initFlag = SCREEN_STRU_init(pDataAddr + dataSize - rowDataLen, &stru,(UINT16)rowDataLen); + initFlag = SCREEN_STRU_init(pDataAddr + dataSize - rowDataLen, &stru); /*ΪID + 1*/ dsuEmapIndexStru->SCREENINDEXNUM = stru.wId; @@ -9234,7 +9233,7 @@ UINT8 initScreen(UINT8 *pDataAddr, UINT32 dataSize, UINT16 rowCount) pData = pDataAddr + rowDataLen*j; /*ݽṹ*/ - initFlag = SCREEN_STRU_init(pData, pCurrentStru, (UINT16)rowDataLen); + initFlag = SCREEN_STRU_init(pData, pCurrentStru); if (0U == initFlag) { /*initָ*/ @@ -16619,7 +16618,7 @@ UINT8 initEa(UINT8 *pDataAddr, UINT32 dataSize, UINT16 rowCount) if (2U == rtnValue) { /*̬ռ*/ - dsuStaticHeadStru->pEaStru = (DSU_EMAP_EA_STRU *)MyNew(sizeof(DSU_EMAP_EA_STRU) * dsuDataLenStru->wEaLen); + dsuStaticHeadStru->pEaStru = (DSU_LINK_STRU *)MyNew(sizeof(DSU_LINK_STRU) * dsuDataLenStru->wEaLen); /*̬ռʧ*/ if (NULL == dsuStaticHeadStru->pEaStru) @@ -16629,7 +16628,7 @@ UINT8 initEa(UINT8 *pDataAddr, UINT32 dataSize, UINT16 rowCount) else { /*ڴΪЧ*/ - memset(dsuStaticHeadStru->pEaStru, 0xFF, sizeof(DSU_EMAP_EA_STRU) * dsuDataLenStru->wEaLen); + memset(dsuStaticHeadStru->pEaStru, 0xFF, sizeof(DSU_LINK_STRU) * dsuDataLenStru->wEaLen); } } } diff --git a/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.c b/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.c index ff8880e..8baba03 100644 --- a/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.c +++ b/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.c @@ -921,54 +921,54 @@ UINT8 AXLE_STRU_init(UINT8 *pDataAdd,DSU_AXLE_STRU *pAxleStru) if ((NULL != pDataAdd) && (NULL != pAxleStru)) { UINT8 *pData = pDataAdd; - UINT8 i = 0U; + UINT8 i = 0; /**/ pAxleStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; /**/ - for (i = 0U; i<16U; i++) + for (i = 0; i<16; i++) { pAxleStru->szCaption[i] = *pData; - pData += 1U; + pData += 1; } /*Ϣ*/ pAxleStru->wType = ShortFromChar(pData); - pData += 2U; + pData += 2; /**/ pAxleStru->dwAxleKilo = LongFromChar(pData); - pData += 4U; + pData += 4; /*link*/ pAxleStru->wLkId = ShortFromChar(pData); - pData += 2U; + pData += 2; /*linkƫ(cm)*/ pAxleStru->dwLkOfst = LongFromChar(pData); - pData += 4U; + pData += 4; /*ű־*/ pAxleStru->dwAxleKiloPlueMinusSign = *pData; - pData += 1U; + pData += 1; - rtnValue = 1U; + rtnValue = 1; } return rtnValue; } /************************************** ܣȫݽṹʼ -˵[in] pDataAdd ݵַļ UINT16 rowlen +˵[in] pDataAdd ݵַļ [out] pScreenStru ʼĽṹָ ֵ0ʧܣ1ɹ עṹ UINT16 wManageLogicCI; ߼CI **ݽṹ ɾͣ mod by qw.liu 2022-02-22 ***************************/ -UINT8 SCREEN_STRU_init(UINT8 * pDataAdd, DSU_SCREEN_STRU * pScreenStru, UINT16 rowlen) +UINT8 SCREEN_STRU_init(UINT8 * pDataAdd,DSU_SCREEN_STRU * pScreenStru) { UINT8 rtnValue = 0U; /*ָ*/ @@ -976,32 +976,20 @@ UINT8 SCREEN_STRU_init(UINT8 * pDataAdd, DSU_SCREEN_STRU * pScreenStru, UINT16 r { UINT8 * pData = pDataAdd; pScreenStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; #if 0 pScreenStru->wLocalPlatformId = ShortFromChar(pData); pData += 2; #endif pScreenStru->wRelatLkId = ShortFromChar(pData); - pData += 2U; + pData += 2; pScreenStru->wwRelatLkOrient = ShortFromChar(pData); - pData += 2U; + pData += 2; pScreenStru->wVobcCiID = ShortFromChar(pData); - pData += 2U; - - if (8U < rowlen) - { - pScreenStru->wFstProLinkId = ShortFromChar(pData); - pData += 2U; - - pScreenStru->wSndProLinkId = ShortFromChar(pData); - pData += 2U; - - pScreenStru->wTrdProLinkId = ShortFromChar(pData); - pData += 2U; - } + pData += 2; rtnValue = 1; } @@ -1589,106 +1577,68 @@ UINT8 STOPPOINT_STRU_init(UINT8 * pDataAdd,DSU_STOPPOINT_STRU * pStoppointStru,U UINT8 AXLE_SGMT_STRU_init(UINT8 * pDataAdd, DSU_AXLE_SGMT_STRU * pAxleSgmtStru) { UINT8 rtnValue = 0U; - UINT8 * pData = pDataAdd; - UINT16 i= 0U; - UINT8 chSwitchFind = 0U; - UINT16 wLength = 0U; - UINT8 chDataType = gLocalPublicDataType; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pAxleSgmtStru)) { - rtnValue = 1U; - + UINT8 * pData = pDataAdd; + UINT8 i = 0; /**/ pAxleSgmtStru->wId = ShortFromChar(pData); - pData += 2U; - - if (0x55 == chDataType)/*°*/ - { - wLength = 16U; - } - else - { - wLength = 32U; - } + pData += 2; /**/ - for (i = 0U; iszCaption[i] = *pData; - pData += 1U; + pData += 1; } /**/ pAxleSgmtStru->wOrgnAxleId = ShortFromChar(pData); - pData += 2U; + pData += 2; /*յ*/ pAxleSgmtStru->wTmnlAxleId = ShortFromChar(pData); - pData += 2U; + pData += 2; /*link*/ pAxleSgmtStru->wOrgnLkId = ShortFromChar(pData); - pData += 2U; + pData += 2; /*յlink*/ pAxleSgmtStru->wTmnlLkId = ShortFromChar(pData); - pData += 2U; + pData += 2; /*ΰ߼εĸ*/ pAxleSgmtStru->wIncludeLogicSgmtNum = ShortFromChar(pData); - pData += 2U; - if (MAX_ALEX_HAVE_LG_NUM >= pAxleSgmtStru->wIncludeLogicSgmtNum) - { - /*߼θϷ ΰ߼εı*/ - for (i = 0U; iwIncludeLogicSgmtNum; i++) - { - pAxleSgmtStru->wLogicSgmtId[i] = ShortFromChar(pData); - pData += 2U; - } - for (i = 0U; i < (MAX_ALEX_HAVE_LG_NUM - pAxleSgmtStru->wIncludeLogicSgmtNum) +1U; i++) - { - /*Ŀ*/ - pAxleSgmtStru->wRelatPointNum = ShortFromChar(pData); - pData += 2U; - if ((DSU_NULL_16 != pAxleSgmtStru->wRelatPointNum)&&( 4U >= pAxleSgmtStru->wRelatPointNum)) - { - chSwitchFind = 1U; - break; - } - else - { - ;/*ȡЧֵ*/ - } - } - } - else - { - rtnValue = 0U; - debug_infor_printf("AXLE_SGMT_STRU_init fail,ALEX%d log num%d, MAX: \n", pAxleSgmtStru->wId, pAxleSgmtStru->wIncludeLogicSgmtNum, MAX_ALEX_HAVE_LG_NUM); - } - if ((0U != rtnValue) &&(0U != chSwitchFind)) - { - for (i = 0U; i < 4U; i++) - { - /**/ - pAxleSgmtStru->wRelatPointId[i] = ShortFromChar(pData); - pData += 2U; - /*״̬*/ - pAxleSgmtStru->wRelatPointStatus[i] = ShortFromChar(pData); - pData += 2U; - } + pData += 2; - /*Id*/ - pAxleSgmtStru->wRelatePhysicalSgmtId = ShortFromChar(pData); - pData += 2U; - - rtnValue = 1U; - } - else + /*ΰ߼εı*/ + for (i = 0; i<50; i++) { - rtnValue = 0U; + pAxleSgmtStru->wLogicSgmtId[i] = ShortFromChar(pData); + pData += 2; } + + /*Ŀ*/ + pAxleSgmtStru->wRelatPointNum = ShortFromChar(pData); + pData += 2; + + for (i = 0; i<4; i++) + { + /**/ + pAxleSgmtStru->wRelatPointId[i] = ShortFromChar(pData); + pData += 2; + /*״̬*/ + pAxleSgmtStru->wRelatPointStatus[i] = ShortFromChar(pData); + pData += 2; + } + + /*Id*/ + pAxleSgmtStru->wRelatePhysicalSgmtId = ShortFromChar(pData); + pData += 2; + + rtnValue = 1; } return rtnValue; } @@ -2547,8 +2497,6 @@ UINT8 ROUTE_STRU_init(UINT8 *pDataAdd,DSU_ROUTE_STRU *pRouteStru) UINT8 LOGIC_SGMT_STRU_init(UINT8 * pDataAdd, DSU_LOGIC_SGMT_STRU * pLogicSgmtStru) { UINT8 rtnValue = 0U; - UINT16 wLength = 0U; - UINT8 chDataType = gLocalPublicDataType; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pLogicSgmtStru)) { @@ -2558,16 +2506,7 @@ UINT8 LOGIC_SGMT_STRU_init(UINT8 * pDataAdd, DSU_LOGIC_SGMT_STRU * pLogicSgmtStr pLogicSgmtStru->wId = ShortFromChar(pData); pData += 2; - if (0x55 == chDataType)/*°*/ - { - wLength = 16U; - } - else - { - wLength = 32U; - } - - for (i = 0U; iszCaption[i] = *pData; @@ -2665,11 +2604,11 @@ UINT8 CBTC_ACCESS_LINK_STRU_init(UINT8 *pDataAdd, DSU_CBTC_ACCESS_LINK_STRU *pCB pCBTCAccessLinkStru->wId = ShortFromChar(pData); pData += 2; - /*߼Ŀ*/ + /*ļĿ*/ pCBTCAccessLinkStru->wIncludeLogicSgmtNum = ShortFromChar(pData); pData += 2; - /*߼α*/ + /*ļα*/ for (i = 0; i<(pCBTCAccessLinkStru->wIncludeLogicSgmtNum); i++) { pCBTCAccessLinkStru->wIncludeLogicSgmtId[i] = ShortFromChar(pData); @@ -3358,12 +3297,12 @@ UINT32 dwVersionOfCIToTMC static UINT8 CI_STRU_init_CC(UINT8 * pDataAdd, DSU_CI_STRU * pCIStru) { UINT8 rtnValue = 0U; - UINT8 chDataType = gLocalPublicDataType; - UINT8 * pData = pDataAdd; - UINT16 i = 0; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pCIStru)) { + UINT8 * pData = pDataAdd; + UINT16 i = 0; + /**/ pCIStru->wIndex = ShortFromChar(pData); pData += 2; @@ -3439,16 +3378,11 @@ static UINT8 CI_STRU_init_CC(UINT8 * pDataAdd, DSU_CI_STRU * pCIStru) pCIStru->RCIEntraceType = *pData; pData += 1; #endif - if (0x55 == chDataType)/*°*/ - { - /*ȫɸ*/ - pCIStru->cWLScreenType = *pData; - pData += 1; - } - else - { - ; - } + + /*ȫɸ*/ + pCIStru->cWLScreenType = *pData; + pData += 1; + rtnValue = 1; } return rtnValue; @@ -3667,29 +3601,17 @@ UINT8 CONGRADE_STRU_init(UINT8 * pDataAdd, DSU_CONGRADE_STRU * pConGradeStru) UINT8 PHYSICAL_SGMT_STRU_init(UINT8 * pDataAdd, DSU_PHYSICAL_SGMT_STRU * pPhysicalSgmtStru) { UINT8 rtnValue = 0U; - UINT8 chDataType = gLocalPublicDataType; - UINT8 * pData = pDataAdd; - UINT16 i = 0; - UINT16 wLength = 0U; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pPhysicalSgmtStru)) { - + UINT8 * pData = pDataAdd; + UINT16 i = 0; /*ID*/ - - if (0x55 == chDataType)/*°*/ - { - wLength = 16U; - } - else - { - wLength = 32U; - } pPhysicalSgmtStru->wId = ShortFromChar(pData); pData += 2; /**/ - for (i = 0; iszName[i] = *pData; pData++; @@ -3718,33 +3640,26 @@ UINT8 PHYSICAL_SGMT_STRU_init(UINT8 * pDataAdd, DSU_PHYSICAL_SGMT_STRU * pPhysic UINT8 DSU_BLOC_TRG_AREA_STRU_init(UINT8 * pDataAdd, DSU_BLOC_TRG_AREA_STRU * pBlocTrgAreaStru) { UINT8 rtnValue = 0U; - UINT8 *pData = pDataAdd; - UINT16 i = 0U; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pBlocTrgAreaStru)) { + UINT8 *pData = pDataAdd; + UINT16 i = 0; + /*ID*/ pBlocTrgAreaStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; pBlocTrgAreaStru->wAxleSgmtNum = ShortFromChar(pData); - pData += 2U; + pData += 2; - if (MAX_BLOC_TRG_INCLUDE_SEC_NUM < pBlocTrgAreaStru->wAxleSgmtNum) + /*Ϣ*/ + for (i = 0; i<(pBlocTrgAreaStru->wAxleSgmtNum); i++) { - rtnValue = 0U; - /**/ - } - else - { - /*Ϣ*/ - for (i = 0U; i < (pBlocTrgAreaStru->wAxleSgmtNum); i++) - { - pBlocTrgAreaStru->wAxleSgmtId[i] = ShortFromChar(pData); - pData += 2U; - } - rtnValue = 1U; + pBlocTrgAreaStru->wAxleSgmtId[i] = ShortFromChar(pData); + pData += 2; } + rtnValue = 1; } return rtnValue; } @@ -3759,32 +3674,26 @@ UINT8 DSU_BLOC_TRG_AREA_STRU_init(UINT8 * pDataAdd, DSU_BLOC_TRG_AREA_STRU * pBl UINT8 DSU_CBTC_TRG_AREA_STRU_init(UINT8 * pDataAdd, DSU_CBTC_TRG_AREA_STRU * pCbtcTrgAreaStru) { UINT8 rtnValue = 0U; - UINT8 * pData = pDataAdd; - UINT16 i = 0U; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pCbtcTrgAreaStru)) { + UINT8 * pData = pDataAdd; + UINT16 i = 0; + /*ID*/ pCbtcTrgAreaStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; pCbtcTrgAreaStru->wLogicSgmtNum = ShortFromChar(pData); - pData += 2U; - if (MAX_CBTC_TRG_INCLUDE_SEC_NUM < pCbtcTrgAreaStru->wLogicSgmtNum) + pData += 2; + + /*Ϣ*/ + for (i = 0; i<(pCbtcTrgAreaStru->wLogicSgmtNum); i++) { - rtnValue = 0U; - /**/ - } - else - { - /*Ϣ*/ - for (i = 0U; i < (pCbtcTrgAreaStru->wLogicSgmtNum); i++) - { - pCbtcTrgAreaStru->wLogicSgmtId[i] = ShortFromChar(pData); - pData += 2U; - } - rtnValue = 1U; + pCbtcTrgAreaStru->wLogicSgmtId[i] = ShortFromChar(pData); + pData += 2; } + rtnValue = 1; } return rtnValue; } @@ -4144,65 +4053,37 @@ UINT8 DSU_SPKS_BUTTON_STRU_init(UINT8 *pDataAdd, DSU_SPKS_BUTTON_STRU *pSpksButt { UINT8 rtnValue = 0U; /*ָ*/ - UINT8 *pData = pDataAdd; - UINT16 i = 0U; - UINT16 wTempValue = 0U; - UINT8 chFindFlag = 0U; if ((NULL != pDataAdd) && (NULL != pSpksButtonStru)) { + UINT8 *pData = pDataAdd; + UINT16 i = 0; + /**/ pSpksButtonStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; pSpksButtonStru->wPhysicalSgmtNum = ShortFromChar(pData); - pData += 2U; + pData += 2; - if (DSU_SPKS_STRU_PHYID < pSpksButtonStru->wPhysicalSgmtNum) + /*ID*/ + for (i = 0; iwRelatePhysicalSgmtId[i] = ShortFromChar(pData); + pData += 2; } - else - { - /*ID*/ - for (i = 0U; iwPhysicalSgmtNum; i++) - { - pSpksButtonStru->wRelatePhysicalSgmtId[i] = ShortFromChar(pData); - pData += 2U; - } - /*Ч*/ - for (i = 0U; i<(DSU_SPKS_STRU_PHYID-pSpksButtonStru->wPhysicalSgmtNum)+1U; i++) - { - wTempValue = ShortFromChar(pData); - pData += 2U; - if ((DSU_NULL_16 != wTempValue) && (DSU_NULL_8 >= wTempValue)) - { - /*Ч*/ - pSpksButtonStru->wManageCI = wTempValue; - chFindFlag = 1U; - break; - } - else - { - ; /**/ - } - } - if (0U == chFindFlag) - { - /*CI*/ - pSpksButtonStru->wManageCI = ShortFromChar(pData); - pData += 2U; - } - /*CI*/ - pSpksButtonStru->wManageVirCI = ShortFromChar(pData); - pData += 2U; + /*CI*/ + pSpksButtonStru->wManageCI = ShortFromChar(pData); + pData += 2; + /*CI*/ + pSpksButtonStru->wManageVirCI = ShortFromChar(pData); + pData += 2; - /*ѩվ̨ID*/ - pSpksButtonStru->wPlatFormId = ShortFromChar(pData); - pData += 2U; + /*ѩվ̨ID*/ + pSpksButtonStru->wPlatFormId = ShortFromChar(pData); + pData += 2; - rtnValue = 1U; - } + rtnValue = 1; } return rtnValue; } @@ -4595,11 +4476,6 @@ UINT8 PSC_STRU_init(UINT8 *pDataAdd, DSU_PSC_STRU *pPSCStru) UINT8 EA_STRU_init(UINT8 * pDataAdd, DSU_EMAP_EA_STRU* pEaStrc) { UINT8 rtnValue = 0U; - static UINT8 chRunCount = 0U; /*ִиúĴ жǷΪһν*/ - static UINT8 chMaxEaStartLinkNum = MAX_EA_BOUNDARY_NUM; /*߽Ŀ*/ - UINT16 wTempValue = 0U; /*ʱ2ֽڳнӱ*/ - UINT8 chTempValue = 0U; /*ʱ1ֽڳнӱ*/ - /*ָ*/ if ((NULL != pDataAdd) && (NULL != pEaStrc)) { @@ -4610,103 +4486,36 @@ UINT8 EA_STRU_init(UINT8 * pDataAdd, DSU_EMAP_EA_STRU* pEaStrc) pEaStrc->wId = ShortFromChar(pData); pData += 2U; - if (0U == chRunCount) + /*߽*/ + pEaStrc->chStartLinkNum = *pData; + pData++; + + for (chIndex = 0U; chIndex < 5u; chIndex++) { - /*߽*/ - chMaxEaStartLinkNum = *pData; + /* ߽link */ + pEaStrc->szStartLinkId[chIndex] = ShortFromChar(pData); + pData += 2U; + + /* ߽ѯյ߽߼ */ + pEaStrc->szStartLinkDir[chIndex] = *pData; pData++; - - if (MAX_EA_BOUNDARY_NUM >= chMaxEaStartLinkNum) - { - - for (chIndex = 0U; chIndex < chMaxEaStartLinkNum; chIndex++) - { - pData += 3U; - } - - for (chIndex = 0U; chIndex < MAX_EA_BOUNDARY_NUM; chIndex++) - { - wTempValue = ShortFromChar(pData); - pData += 2U; - - chTempValue = *pData; - pData++; - - /* ϶ȡݣЧֱֵȡȷֵʱ˳ */ - if ((wTempValue != DSU_NULL_16) && (chTempValue != DSU_NULL_8)) - { - break; - } - else - { - /*߽+1*/ - chMaxEaStartLinkNum++; - } - } - rtnValue = 1U; - } - else - { - ; /*ʧ*/ - } - - chRunCount++; } - else + + /*յ߽*/ + pEaStrc->chEndLinkNum = *pData; + pData++; + + for (chIndex = 0U; chIndex < 5u; chIndex++) { - if (MAX_EA_BOUNDARY_NUM < chMaxEaStartLinkNum) - { - ; /*ʧ*/ - } - else - { - /*߽*/ - pEaStrc->chStartLinkNum = *pData; - pData++; + /* յ߽link */ + pEaStrc->szEndLinkId[chIndex] = ShortFromChar(pData); + pData += 2U; - if (MAX_EA_BOUNDARY_NUM >= pEaStrc->chStartLinkNum) - { - for (chIndex = 0U; chIndex < chMaxEaStartLinkNum; chIndex++) - { - /* ߽link */ - pEaStrc->szStartLinkId[chIndex] = ShortFromChar(pData); - pData += 2U; - - /* ߽ѯյ߽߼ */ - pEaStrc->szStartLinkDir[chIndex] = *pData; - pData++; - } - - /*յ߽*/ - pEaStrc->chEndLinkNum = *pData; - pData++; - - if (MAX_EA_BOUNDARY_NUM >= pEaStrc->chEndLinkNum) - { - for (chIndex = 0U; chIndex < pEaStrc->chEndLinkNum; chIndex++) - { - /* յ߽link */ - pEaStrc->szEndLinkId[chIndex] = ShortFromChar(pData); - pData += 2U; - - /* յ߽ѯ߽߼ */ - pEaStrc->szEndLinkDir[chIndex] = *pData; - pData++; - } - - rtnValue = 1U; - } - else - { - ; /*ʧ*/ - } - } - else - { - ; /*ʧ*/ - } - } - } + /* յ߽ѯ߽߼ */ + pEaStrc->szEndLinkDir[chIndex] = *pData; + pData++; + } + rtnValue = 1; } return rtnValue; } @@ -4721,44 +4530,38 @@ UINT8 EA_STRU_init(UINT8 * pDataAdd, DSU_EMAP_EA_STRU* pEaStrc) UINT8 DSU_LOGSEC_SPKS_BUTTON_STRU_init(UINT8* pDataAdd, DSU_LOGSEC_SPKS_BUTTON_STRU* pSpksButtonStru) { UINT8 rtnValue = 0U; - UINT8* pData = pDataAdd; - UINT16 i = 0U; /*ָ*/ if ((NULL != pDataAdd) && (NULL != pSpksButtonStru)) { + UINT8* pData = pDataAdd; + UINT16 i = 0; + /**/ pSpksButtonStru->wId = ShortFromChar(pData); - pData += 2U; + pData += 2; pSpksButtonStru->wLogSecNum = ShortFromChar(pData); - pData += 2U; + pData += 2; - if (DSU_SPKS_STRU_LOGSECID < pSpksButtonStru->wLogSecNum) + /*߼ID*/ + for (i = 0; i < DSU_SPKS_STRU_LOGSECID; i++) { - rtnValue = 0U; + pSpksButtonStru->wRelateLogSecId[i] = ShortFromChar(pData); + pData += 2; } - else - { - /*߼ID*/ - for (i = 0; i < DSU_SPKS_STRU_LOGSECID; i++) - { - pSpksButtonStru->wRelateLogSecId[i] = ShortFromChar(pData); - pData += 2U; - } - /*CI*/ - pSpksButtonStru->wManageCI = ShortFromChar(pData); - pData += 2U; - /*CI*/ - pSpksButtonStru->wManageVirCI = ShortFromChar(pData); - pData += 2U; + /*CI*/ + pSpksButtonStru->wManageCI = ShortFromChar(pData); + pData += 2; + /*CI*/ + pSpksButtonStru->wManageVirCI = ShortFromChar(pData); + pData += 2; - /*ѩվ̨ID*/ - pSpksButtonStru->wPlatFormId = ShortFromChar(pData); - pData += 2U; + /*ѩվ̨ID*/ + pSpksButtonStru->wPlatFormId = ShortFromChar(pData); + pData += 2; - rtnValue = 1U; - } + rtnValue = 1; } return rtnValue; } diff --git a/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.h b/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.h index b8f5a6b..a89686e 100644 --- a/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.h +++ b/TSCP/src/dqu_common/dqu_emap_common/dquStructInit.h @@ -16,12 +16,10 @@ #ifndef DQU_STRUCT_INIT_H #define DQU_STRUCT_INIT_H + #ifdef __cplusplus extern "C" { #endif - -extern UINT8 gLocalPublicDataType; /*ݰ汾*/ - /************************************** ܣlinkṹʼ ˵[in] pDataAdd ݵַļ @@ -81,13 +79,13 @@ UINT8 AXLE_STRU_init(UINT8 *pDataAdd,DSU_AXLE_STRU *pAxleStru); /************************************** ܣȫݽṹʼ -˵[in] pDataAdd ݵַļUINT16 rowlen +˵[in] pDataAdd ݵַļ [out] pScreenStru ʼĽṹָ ֵ0=ʧܣ1=ɹ עṹ UINT16 wManageLogicCI; ߼CI ***************************/ -UINT8 SCREEN_STRU_init(UINT8 * pDataAdd, DSU_SCREEN_STRU * pScreenStru, UINT16 rowlen); +UINT8 SCREEN_STRU_init(UINT8 *pDataAdd,DSU_SCREEN_STRU *pScreenStru); /************************************** diff --git a/TSCP/src/dqu_common/dqu_emap_common/dsuStruct.h b/TSCP/src/dqu_common/dqu_emap_common/dsuStruct.h index 8849269..d8c0393 100644 --- a/TSCP/src/dqu_common/dqu_emap_common/dsuStruct.h +++ b/TSCP/src/dqu_common/dqu_emap_common/dsuStruct.h @@ -80,14 +80,12 @@ #define MAX_BLOC_TRG_AREA_NUM 30U /*ʽ*/ #define MAX_CBTC_TRG_AREA_NUM 30U /*CBTC*/ #define MAX_ALEX_HAVE_LG_NUM 50U /*߼*/ -#define MAX_BLOC_TRG_INCLUDE_SEC_NUM 40U /*ʽΰθ*/ -#define MAX_CBTC_TRG_INCLUDE_SEC_NUM 40U /*CBTCΰθ*/ #define DSU_ROUTE_STRU_SWITCH ((UINT8)16) #define DSU_ROUTE_STRU_wLinkId ((UINT8)50) /*·linkֵ*/ #define DSU_ROUTE_STRU_AxleSgmtId ((UINT8)30) -#define DSU_SPKS_STRU_PHYID ((UINT8)150) /*SPKSӰ*/ +#define DSU_SPKS_STRU_PHYID ((UINT8)100) /*SPKSӰ*/ #define DSU_SPKS_STRU_LOGSECID ((UINT8)200) /*SPKSӰ߼*/ #define AXISSEC_NEXT_AXISSEC_MAX_NUM 16 /*by cgh 20230724 ڼĿ*/ @@ -96,8 +94,6 @@ #define MAX_PROTECT_AXIS_NUM ((UINT8)100U) /*Ź*/ #define MAX_ACCESS_AXIS_NUM ((UINT8)100U) /*Źӽ*/ -#define MAX_EA_BOUNDARY_NUM 10U /*߽*/ - #ifdef __cplusplus extern "C" { @@ -334,6 +330,8 @@ typedef struct DSU_AxleStruct UINT16 wLkId; /*link*/ UINT32 dwLkOfst; /*linkƫ(cm)*/ UINT8 dwAxleKiloPlueMinusSign; /*ű־*/ + + }DSU_AXLE_STRU; @@ -345,9 +343,8 @@ typedef struct DSU_ScreenStruct UINT16 wRelatLkId; /*Źlink*/ UINT16 wwRelatLkOrient; /*Թlink߼ķλ()*/ UINT16 wVobcCiID; /*VOBC-CIλ*/ - UINT16 wFstProLinkId; /*ŷlink1*/ - UINT16 wSndProLinkId; /*ŷlink2*/ - UINT16 wTrdProLinkId; /*ŷlink3*/ + + /* ݴĿУļɾֵҪ̬---Ϲѧ */ UINT16 wManageLogicCI; /*߼CI*/ @@ -433,7 +430,7 @@ typedef struct DSU_AxleSgmtStruct { UINT16 wId; /**/ - CHAR szCaption [32]; /**/ + CHAR szCaption [16]; /**/ UINT16 wOrgnAxleId; /**/ UINT16 wTmnlAxleId; /*յ*/ UINT16 wOrgnLkId; /*link*/ @@ -468,7 +465,7 @@ typedef struct DSU_AxleSgmtStruct typedef struct DSU_LogicSgmtStruct { UINT16 wId; /**/ - CHAR szCaption [32]; /*߼*/ + CHAR szCaption [16]; /*߼*/ UINT16 wOrgnLkId; /*link*/ UINT32 dwOrgnLkOfst; /*linkƫ(cm)*/ UINT16 wTmnlLkId; /*յlink*/ @@ -857,7 +854,7 @@ typedef struct DSU_ConGrade/**/ typedef struct DSU_PhysicalSgmt/**/ { UINT16 wId; /**/ - CHAR szName[32]; /**/ + CHAR szName[16]; /**/ UINT8 Type; /**/ UINT8 LjkFlag; /*м־*/ UINT16 BelongAxleSysID; /*ϵͳID*/ @@ -867,14 +864,14 @@ typedef struct DSU_BlocTrgAera/* { UINT16 wId; /**/ UINT16 wAxleSgmtNum; /*θ*/ - UINT16 wAxleSgmtId[MAX_BLOC_TRG_INCLUDE_SEC_NUM]; /* 40̬ ݻͨݽṹV13.0.0 by sds 2018-6-7*/ + UINT16 wAxleSgmtId[40]; /* 40̬ ݻͨݽṹV13.0.0 by sds 2018-6-7*/ }DSU_BLOC_TRG_AREA_STRU; typedef struct DSU_CbtcTrgAera/*CBTC*/ { UINT16 wId; /**/ UINT16 wLogicSgmtNum; /*߼θ*/ - UINT16 wLogicSgmtId[MAX_CBTC_TRG_INCLUDE_SEC_NUM]; /*߼ 40̬ ݻͨݽṹV13.0.0 by sds 2018-6-7*/ + UINT16 wLogicSgmtId[40]; /*߼ 40̬ ݻͨݽṹV13.0.0 by sds 2018-6-7*/ }DSU_CBTC_TRG_AREA_STRU; /*վ̨*/ @@ -995,11 +992,11 @@ typedef struct DSU_EmapEa { UINT16 wId; /* ӵͼñ */ UINT8 chStartLinkNum; /* ߽ */ - UINT16 szStartLinkId[MAX_EA_BOUNDARY_NUM]; /* ߽link */ - UINT8 szStartLinkDir[MAX_EA_BOUNDARY_NUM]; /* ߽ѯյ߼ */ + UINT16 szStartLinkId[5]; /* ߽link */ + UINT8 szStartLinkDir[5]; /* ߽ѯյ߼ */ UINT8 chEndLinkNum; /* յ߽ */ - UINT16 szEndLinkId[MAX_EA_BOUNDARY_NUM]; /* յ߽link */ - UINT8 szEndLinkDir[MAX_EA_BOUNDARY_NUM]; /* յ߽ѯ߼ */ + UINT16 szEndLinkId[5]; /* յ߽link */ + UINT8 szEndLinkDir[5]; /* յ߽ѯ߼ */ }DSU_EMAP_EA_STRU; typedef struct DSU_StaticHead/*ž̬ݸݽṹͷָ*/ diff --git a/TSCP/src/main/CiSimulation.cpp b/TSCP/src/main/CiSimulation.cpp index 00936a2..ddcd175 100644 --- a/TSCP/src/main/CiSimulation.cpp +++ b/TSCP/src/main/CiSimulation.cpp @@ -701,7 +701,7 @@ UINT8 CiSimulationInit() } - + UINT32 ttt = sizeof(RouteDataStruct); /* FSIOʼ */ if(0 == ret) { @@ -2450,15 +2450,12 @@ void SndCbtcPrtclByDevName(UINT8 *spfbSndDataBuff) UINT8 *pData = spfbSndDataBuff; CComm *pRedCcov = NULL; CComm *pBlueCcov = NULL; - CComm *pAtsRedCcov = NULL; - CComm *pAtsBlueCcov = NULL; UINT16 DeviceName = 0; UINT8 cDstType = 0u; UINT8 cDstId = 0u; UINT16 LogicId = 0; UINT8 protocalType = 0; IpInfo ipInfoList[8]; - IpInfo atsBackUpIpInfoList[8]; UINT8 dstNum;/*ĿIPĿ*/ UINT8 findFlag = 1; UINT8 i_dstNum = 0; @@ -2472,8 +2469,6 @@ void SndCbtcPrtclByDevName(UINT8 *spfbSndDataBuff) UINT32 t_LenPos = 0U; UINT16 wGatewayId = 0U; UINT16 wBackUpVobcId = 0U; - UINT8 chIteNum = 0U; - UINT8 chAtsBackUpNum = 0U; struct timeval curTimeStamp; memset(ipInfoList,DEFAULT_ZERO,sizeof(ipInfoList)); @@ -2543,26 +2538,10 @@ void SndCbtcPrtclByDevName(UINT8 *spfbSndDataBuff) pRedCcov = &(localCcov.ocRedCcov); pBlueCcov = &(localCcov.ocBlueCcov); } - else if (CI_SYSTEM_TYPE_VOBC_BACKUP == cDstType) + else if (DeviceName == wBackUpVobcId) { pRedCcov = &(localCcov.atsRedCcov[ccovIdx]); pBlueCcov = &(localCcov.atsBlueCcov[ccovIdx]); - DeviceName = wBackUpVobcId; - } - else if (CI_SYSTEM_TYPE_ITE == cDstType) - { - if (1U == LogicId) - { - pRedCcov = &(localCcov.redCcov[ccovIdx]); - pBlueCcov =&(localCcov.atsRedCcov[ccovIdx]); - } - else - { - pRedCcov = &(localCcov.atsBlueCcov[ccovIdx]); - pBlueCcov = &(localCcov.blueCcov[ccovIdx]); - } - pAtsRedCcov = &(localCcov.atsRedCcov[ccovIdx]); - pAtsBlueCcov = &(localCcov.atsBlueCcov[ccovIdx]); } else { @@ -2572,16 +2551,7 @@ void SndCbtcPrtclByDevName(UINT8 *spfbSndDataBuff) /* ĿͺIDȡԷIPͶ˿*/ /*GetIpAndPortByDeviceName()ͺIPͶ˿ڶ*/ - if (CI_SYSTEM_TYPE_ITE == cDstType) - { - GetNetEndPoint(DeviceName, LogicId, ccovIdx, ipInfoList, &chIteNum); - GetNetEndPoint(wBackUpVobcId, 0, ccovIdx, atsBackUpIpInfoList, &chAtsBackUpNum); - findFlag = 3; - } - else - { - findFlag = GetNetEndPoint(DeviceName, LogicId, ccovIdx, ipInfoList, &dstNum); - } + findFlag = GetNetEndPoint(DeviceName, LogicId, ccovIdx, ipInfoList, &dstNum); if (findFlag == 0) { /*find fail,do nothing*/ @@ -2663,40 +2633,6 @@ void SndCbtcPrtclByDevName(UINT8 *spfbSndDataBuff) SndData2SignalNet(ipInfoList[0].blueIp, ipInfoList[0].bluePort, &temSendBuf[0], t_OffSet, pBlueCcov); } - else if(3==findFlag) - { - /*ͨҪȥ14 ͨЭͷ*/ - CommonMemCpy(temSendBuf, sizeof(temSendBuf), &sndBuff[14], sndDataLen - 14); - for (i_dstNum = 0; i_dstNum < chIteNum; i_dstNum++) - { - startTickCount = GetTickCount(); - if (1 == LogicId) - { - SndData2SignalNet(ipInfoList[i_dstNum].redIp, ipInfoList[i_dstNum].redPort, temSendBuf, sndDataLen-14, pRedCcov); - } - else if(2 == LogicId) - { - SndData2SignalNet(ipInfoList[i_dstNum].blueIp, ipInfoList[i_dstNum].bluePort, temSendBuf, sndDataLen - 14, pBlueCcov); - } - else - { - ; - } - endTickCount = GetTickCount(); - debug_infor_printf("Snd to %04x,consume %d ms.\r\n", DeviceName, endTickCount - startTickCount); - } - for (i_dstNum = 0; i_dstNum < chAtsBackUpNum; i_dstNum++) - { - startTickCount = GetTickCount(); - - SndData2SignalNet(atsBackUpIpInfoList[i_dstNum].blueIp, atsBackUpIpInfoList[i_dstNum].bluePort, sndBuff, sndDataLen, pAtsBlueCcov); - - SndData2SignalNet(atsBackUpIpInfoList[i_dstNum].redIp, atsBackUpIpInfoList[i_dstNum].redPort, sndBuff, sndDataLen, pAtsRedCcov); - - endTickCount = GetTickCount(); - debug_infor_printf("Snd to %04x,consume %d ms.\r\n", DeviceName, endTickCount - startTickCount); - } - } else { @@ -3031,7 +2967,7 @@ UINT16 RedSndUnPackNew(UINT8 *sfpBuff,UINT8 *sndBuff,UINT32 *index,UINT32 totalL *LogicId = ShortFromChar(&sfpBuff[tempIndex]); tempIndex = tempIndex+2; - if ((CI_SYSTEM_TYPE_VOBC_BACKUP *256U) == (*DevName & 0xff00)||(CI_SYSTEM_TYPE_ITE * 256U) == (*DevName & 0xff00)) + if ((CI_SYSTEM_TYPE_VOBC_BACKUP *256U) == (*DevName & 0xff00)) { ats_sendLendress = send_backupindex; /*ȵַ*/ send_backupindex += 2U; @@ -3044,23 +2980,20 @@ UINT16 RedSndUnPackNew(UINT8 *sfpBuff,UINT8 *sndBuff,UINT32 *index,UINT32 totalL localCiId = GetSystemParaLocalCiId(); /*ԴID*/ srcId = (UINT16)((CI_SYSTEM_TYPE_CI * 256) + localCiId); ShortToChar(srcId, &sndBuff[send_backupindex]); - send_backupindex += 2U; - ShortToChar(0U, &sndBuff[send_backupindex]); send_backupindex += 2U; - ats_sendLen += 4U; + ats_sendLen += 2U; ShortToChar(*DevName, &sndBuff[send_backupindex]); /*ĿID*/ send_backupindex += 2U; ats_sendLen += 2U; - ShortToChar(*LogicId, &sndBuff[send_backupindex]); /*ĿID*/ - send_backupindex += 2U; - ats_sendLen += 2U; + + *DevName = GetATSInterfaceTypeId(); /*޸Ŀid*/ } sendLen = dataLen-(tempIndex-indexStart); - if ((CI_SYSTEM_TYPE_VOBC_BACKUP * 256U) == (*DevName & 0xff00) || (CI_SYSTEM_TYPE_ITE * 256U) == (*DevName & 0xff00)) + if ((CI_SYSTEM_TYPE_ATS_INTERFACE * 256U) == (*DevName & 0xff00)) { sendLen += ats_sendLen; /*سǰһǷҪӸATSݳ*/ ShortToChar(sendLen, &sndBuff[ats_sendLendress]);/*¼*/ @@ -4932,14 +4865,6 @@ void ReadCIFsDevIpTable(const char * pCiFsPath) dquHlhtId2VobcName(gDeviceIpInfoArray[dwCurDevNum].estId, &wDevName, &wLogicId); gDeviceIpInfoArray[dwCurDevNum].logicId = wLogicId; } - else if (DEVTYPE_ITE == cDevType) - { - gDeviceIpInfoArray[dwCurDevNum].logicId = gDeviceIpInfoArray[dwCurDevNum].estId&0x03; - } - else - { - ; - } dwCurDevNum++; /*ÿɹ洢һIPһ*/ } diff --git a/TSCP/src/main/DeviceInfoManager/readxmltodata.cpp b/TSCP/src/main/DeviceInfoManager/readxmltodata.cpp index ca51850..ed74c34 100644 --- a/TSCP/src/main/DeviceInfoManager/readxmltodata.cpp +++ b/TSCP/src/main/DeviceInfoManager/readxmltodata.cpp @@ -391,7 +391,6 @@ UINT8 GetNetEndPoint(UINT16 devId, UINT16 logicId, UINT8 prtlIdx, IpInfo pIpInfo UINT8 devType = 0u; UINT8 id = 0u; UINT32 vobcId[2] = { 0,0 }; - UINT32 iteId[2] = { 0,0 }; UINT8 tempDevType = 0; UINT16 tempDevId = 0; UINT8 chFuncRtn = 0U; @@ -426,20 +425,6 @@ UINT8 GetNetEndPoint(UINT16 devId, UINT16 logicId, UINT8 prtlIdx, IpInfo pIpInfo } } break; - case DEVTYPE_ITE: - getHlhtRet = dquQueryOutIteDevId(id, iteId); - if ((0u == logicId) || (1u == logicId) || (2u == logicId)) - { - if ((0u == logicId) || (1u == logicId)) - { - hlhtId = iteId[0]; - } - else - { - hlhtId = iteId[1]; - } - } - break; case DEVTYPE_NDSU: getHlhtRet = dquQueryOutDevId(QFUN_IDMAP_DSU_ID, id, &hlhtId); break; @@ -815,7 +800,7 @@ UINT8 GetDeviceNameByIpAndPort(UINT16 port,UINT32 ip,UINT16 *deviceName,UINT16 * { *deviceName = gDeviceIpInfoArray[index].deviceName; /*VOBC*/ - if((DEVTYPE_VOBC == (UINT8)(gDeviceIpInfoArray[index].deviceName >> 8))|| (DEVTYPE_ITE == (UINT8)(gDeviceIpInfoArray[index].deviceName >> 8))) + if(DEVTYPE_VOBC == (UINT8)(gDeviceIpInfoArray[index].deviceName >> 8)) { *pLogId = gDeviceIpInfoArray[index].logicId; } diff --git a/TSCP/src/main/ccov/ccov.cpp b/TSCP/src/main/ccov/ccov.cpp index e2a9a56..20ace26 100644 --- a/TSCP/src/main/ccov/ccov.cpp +++ b/TSCP/src/main/ccov/ccov.cpp @@ -340,12 +340,11 @@ UINT8 CbtcCcomm::RcvThread() sourceID = ShortFromChar((const UINT8*)&_prcvDataBuff[t_OffSet]); /* ԴID */ t_OffSet += 2u; /*ģʽʵϵVOBCID*/ - logId = ShortFromChar((const UINT8*)&_prcvDataBuff[t_OffSet]); /* ԴID */ - t_OffSet += 2u; /*ģʽʵϵ߼*/ + dstID = ShortFromChar((const UINT8*)&_prcvDataBuff[t_OffSet]);/* ĿID */ t_OffSet += 2u; - t_OffSet += 2u; - + + logId = 0u; ShortToChar((rcv_data_len - t_OffSet + 4u), &tempframeBuf[0]);/**/ ShortToChar(sourceID, &tempframeBuf[2]);/*+ID*/ diff --git a/TSCP/src/protocol/fsfb/common_fsfb/FsfbConfig.h b/TSCP/src/protocol/fsfb/common_fsfb/FsfbConfig.h index b7accbb..0c8d7cd 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/FsfbConfig.h +++ b/TSCP/src/protocol/fsfb/common_fsfb/FsfbConfig.h @@ -15,7 +15,9 @@ #define _FSFB_CONFIG_H_ /* ¼뿪 */ -#define FSFB_RECORD_SIMPLIFY_BIN /* ԶƷʽ¼ */ +#define FSFB_RECORD_ERR_ASCII /* ַʽ¼ */ +#define FSFB_RECORD_SIMPLIFY_BIN /* ԶƷʽ¼ */ +#undef FSFB_RECORD_SIMPLIFY_BIN #endif diff --git a/TSCP/src/protocol/fsfb/common_fsfb/FsfbLnkNodeMgr.c b/TSCP/src/protocol/fsfb/common_fsfb/FsfbLnkNodeMgr.c index 09659a5..aff89cc 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/FsfbLnkNodeMgr.c +++ b/TSCP/src/protocol/fsfb/common_fsfb/FsfbLnkNodeMgr.c @@ -39,7 +39,6 @@ #include "FsfbLnkNodeMgr.h" #include "FsfbConfig.h" #include "CommonRecord.h" -#include "FsfbRecordDelare.h" #ifdef __cplusplus @@ -61,7 +60,7 @@ static UINT8 FsfbSetNodeParam(const DSU_FSFB_LINK_RINFO_STRU* pRecvDsuLnkInf, static UINT8 FsfbCheckRecvDsuLnkInfo(UINT16 srcAddr,UINT16 destAddr, const DSU_FSFB_LINK_RINFO_STRU *pRecvLnkInfo); static UINT8 FsfbCheckInputAddr(UINT16 LocalDevName,UINT16 destName,const DSU_FSFB_LINK_RINFO_STRU *pRecvLnkInfo); -static void FsfbLnkNodeInfo2VarArray(const Fsfb_Lnk_Info_Node_Stru* pNode, UINT8* VarArray, UINT8* recordArray, UINT16 recordArraySize); +static void FsfbLnkNodeInfo2VarArray(const Fsfb_Lnk_Info_Node_Stru* pNode, UINT8* VarArray); /*-------------------------------------------------------------------- * ·ģڲ End *--------------------------------------------------------------------*/ @@ -148,8 +147,6 @@ UINT8 FsfbOutputReplaceLnkNode(UINT16 locName,UINT16 destName,UINT8 applyCat,Fsf ret = dsuFsfbSGetLnkInfo(locName,destName,applyCat,&outLnkInfo); if(ret == 0) { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_FIND_LNK_ERR); /* ѯ· */ - return ret; } @@ -157,8 +154,6 @@ UINT8 FsfbOutputReplaceLnkNode(UINT16 locName,UINT16 destName,UINT8 applyCat,Fsf pLnkNodeInfo = FsfbInsertLnkNode(pFsfbStruct,destName,applyCat); if(NULL == pLnkNodeInfo) { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_INSERT_NODE_ERR); /* ѯ· */ - /* ɸǽڵȡʧ 󷵻 */ ret = 0; return ret; @@ -174,15 +169,11 @@ UINT8 FsfbOutputReplaceLnkNode(UINT16 locName,UINT16 destName,UINT8 applyCat,Fsf if (ret == 0) { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_INIT_NODE_ERR); /* ʼڵ */ - return ret; } } else { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_ADDR_ERR); /* ַ */ - /* Ϣȡʧ ͨŹϵʽ CICC ַϵ */ ret = 0; return ret; @@ -377,80 +368,74 @@ UINT8 FsfbUptLnkNodeInfoBySsr(UINT8* pAppData,UINT8 applyCat,FSFB_INFO_STRU* pFs { /* 󷵻 */ retVal = 0; - - PrintRecArrayByte(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, IN_SSR_SSE_TC_ERR); /*SSRSSEŴ*/ - PrintRecArray4ByteB(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, SseTCe); - PrintRecArray4ByteB(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, pTmStmp->SseTC); } } else { /* 󷵻 0 */ retVal = 0; - - PrintRecArrayByte(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, IN_SSR_STATUS_ERR); /*SSR״̬*/ - PrintRecArrayByte(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, pFsfbLnkInfo->RecvLinkStatus); } } else { /* 󷵻 */ retVal =0; - - PrintRecArrayByte(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, IN_CAT_ERR); /*֡*/ - PrintRecArrayByte(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, applyCat); } return retVal; } - /** -* @brief FsfbUptLnkNodeInfoByAbt ABTϢͨŽڵϢ -* @param pAppData ȡֵΧ:ֽ -* @param pFsfbStrut FSFBṹ ȡֵΧ:οṹFSFB_INFO_STRU -* @param pLnkNode ·ڵ ȡֵΧ:οṹFsfb_Lnk_Info_Node_Stru - * @return 0:ʧ;1ɹ -*/ + + +/*********************************************************************** + * : FsfbUptLnkNodeInfoByAbt + * : ABTϢͨŽڵϢ + * : + * + * -------------------------------------------------------------- + * pAppData UINT8* IN һ֡ĸʽ + * pFsfbStrut FSFB_INFO_STRU* IN FSFBЭͳһṹ + * pLnkNode Fsfb_Lnk_Info_Node_Stru INOUT FSFB·Ϣ + * + + * ֵ : UINT8 1 0󷵻 + ***********************************************************************/ UINT8 FsfbUptLnkNodeInfoByAbt(UINT8* pAppData, FSFB_INFO_STRU* pFsfbStrut, Fsfb_Lnk_Info_Node_Stru* pLnkNode) { - UINT8 rtnVal = 0u; /*-< úֵΪʧ*/ + UINT8 rtnVal = 0u; /*ֵ*/ FsfbLinkInfoStru* lnkInfo = NULL; /*·Ϣ*/ ComTimeStampStru* timeStamp = NULL; /*ʱ*/ UINT32 tc = 0u; /**/ INT32 delayTc = 0; /**/ UINT8 funSidXorTnRtn = 0u; /*ûȡSidXorTnֵ*/ UINT8 funSvcRtn = 0u; /*SVCУ麯ֵ*/ - UINT8 procRst = 0u; /*-< ôΪ0*/ + UINT8 procRst = 0u; /**/ UINT32 sidXorTn[2] = { 0u }; /*SID XOR TN BSDļ*/ UINT8* recordArray = NULL; /*־*/ UINT16 recordArraySize = 0u; /*־鳤*/ - if ((NULL != pAppData) && (NULL != pFsfbStrut) && (NULL != pLnkNode) && (NULL != pFsfbStrut->RecordArray)) /*-< Ƿǿ*/ + if ((NULL != pAppData) && (NULL != pFsfbStrut) && (NULL != pLnkNode) && (NULL != pFsfbStrut->RecordArray)) /**/ { - lnkInfo = &pLnkNode->FsfbLinInfo; /*-< ·*/ - timeStamp = &lnkInfo->TimeStmp; /*-< ʱ*/ - recordArray = pFsfbStrut->RecordArray; /*-< ü¼*/ - recordArraySize = pFsfbStrut->RecordArraySize; /*-< ü¼鳤*/ + lnkInfo = &pLnkNode->FsfbLinInfo; + timeStamp = &lnkInfo->TimeStmp; + recordArray = pFsfbStrut->RecordArray; + recordArraySize = pFsfbStrut->RecordArraySize; - PrintRecArrayByte(recordArray, recordArraySize, IN_ABT_STATUS); /*ABT״̬*/ - PrintRecArrayByte(recordArray, recordArraySize, lnkInfo->RecvLinkStatus); - - if ((Fsfb_WaitBtm_Sseabt == lnkInfo->RecvLinkStatus) || (Fsfb_WaitBtm_Btcabt == lnkInfo->RecvLinkStatus) || (Fsfb_WaitBtm_AbtOrSse == lnkInfo->RecvLinkStatus)) /*-< ·״̬ǷȴBTMSSEABT֡ ȴBTMBTCABT֡ ȴBTMABT֡SSE֡*/ + if ((Fsfb_WaitBtm_Sseabt == lnkInfo->RecvLinkStatus) || (Fsfb_WaitBtm_Btcabt == lnkInfo->RecvLinkStatus) || (Fsfb_WaitBtm_AbtOrSse == lnkInfo->RecvLinkStatus)) /*ȴBTMSSEABT֡ ȴBTMBTCABT֡ ȴBTMABT֡SSE֡*/ { - tc = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*-< յ*/ - delayTc = tc - timeStamp->NowRecvTCr - 1; /*-< յϴŲ*/ - if ((0 <= delayTc) && (COM_MAX_K > delayTc)) /*-< ŲǷڵ0 Сڲ鳤*/ + tc = LongFromCharLE(&pAppData[FSFB_TC_POS]); + delayTc = tc - timeStamp->NowRecvTCr - 1; + if ((0 <= delayTc) && (COM_MAX_K > delayTc)) /**/ { - funSidXorTnRtn = ComGetSidXorTn(pAppData, sidXorTn); /*-< ûȡSidXorTn*/ - funSvcRtn = ComCheckCRCM(sidXorTn, timeStamp->NowSINIT_ADD_SID_XOR_Tn, delayTc, lnkInfo->LocalNode.TSD_POST_RXDADA_K); /*üSVC*/ - if ((1u == funSidXorTnRtn) && (1u == funSvcRtn)) /*-< úǷɹ*/ + funSidXorTnRtn = ComGetSidXorTn(pAppData, sidXorTn); /*ȡSidXorTn*/ + funSvcRtn = ComCheckCRCM(sidXorTn, timeStamp->NowSINIT_ADD_SID_XOR_Tn, delayTc, lnkInfo->LocalNode.TSD_POST_RXDADA_K); /*SVC*/ + if ((1u == funSidXorTnRtn) && (1u == funSvcRtn)) /*ɹ*/ { - procRst = ComUpdtTmStmpStru(sidXorTn, tc, delayTc, lnkInfo->LocalNode.PREC_SINIT_K, timeStamp); /*-< øʱ,ֵ*/ + procRst = ComUpdtTmStmpStru(sidXorTn, tc, delayTc, lnkInfo->LocalNode.PREC_SINIT_K, timeStamp); /*ʱ*/ } else /*ʧ*/ { -#ifdef FSFB_RECORD_ERR_ASCII - /*- ¼úʧ־*/ +#ifdef FSFB_RECORD_ERR_ASCII PrintFiles(recordArray, recordArraySize, "W:ABT SVC Error.\n"); PrintFileU16Hex(recordArray, recordArraySize, pLnkNode->DestDevName); /*DestDevName*/ PrintFileU32Hex(recordArray, recordArraySize, sidXorTn[0]); /*sidXorTn[0]*/ @@ -459,96 +444,66 @@ UINT8 FsfbUptLnkNodeInfoByAbt(UINT8* pAppData, FSFB_INFO_STRU* pFsfbStrut, Fsfb_ PrintFileU32Hex(recordArray, recordArraySize, timeStamp->NowSINIT_ADD_SID_XOR_Tn[1]); /*NowSINIT_ADD_SID_XOR_Tn[1]*/ PrintFileU32Hex(recordArray, recordArraySize, delayTc); /*delayTc*/ #endif - - - PrintRecArrayByte(recordArray, recordArraySize, IN_ABT_SVC_ERR); /*ABTSVC*/ - PrintRecArray2ByteB(recordArray, recordArraySize, pLnkNode->DestDevName); /*DestDevName*/ - PrintRecArray4ByteB(recordArray, recordArraySize, sidXorTn[0]); /*sidXorTn[0]*/ - PrintRecArray4ByteB(recordArray, recordArraySize, sidXorTn[1]); /*sidXorTn[1]*/ - PrintRecArray4ByteB(recordArray, recordArraySize, timeStamp->NowSINIT_ADD_SID_XOR_Tn[0]); /*NowSINIT_ADD_SID_XOR_Tn[0]*/ - PrintRecArray4ByteB(recordArray, recordArraySize, timeStamp->NowSINIT_ADD_SID_XOR_Tn[1]); /*NowSINIT_ADD_SID_XOR_Tn[1]*/ - PrintRecArray4ByteB(recordArray, recordArraySize, tc); /*tc*/ - PrintRecArray4ByteB(recordArray, recordArraySize, timeStamp->NowRecvTCr); /*NowRecvTCr*/ - PrintRecArray4ByteB(recordArray, recordArraySize, delayTc); /*delayTc*/ - - procRst = 0u; /*-< ôΪ0*/ + procRst = 0u; } } else /**/ { #ifdef FSFB_RECORD_ERR_ASCII - /*- ¼־*/ PrintFiles(pFsfbStrut->RecordArray, pFsfbStrut->RecordArraySize, "W:ABT old tc\n"); PrintFileU16Hex(recordArray, recordArraySize, pLnkNode->DestDevName); /*DestDevName*/ PrintFileU32Hex(recordArray, recordArraySize, timeStamp->NowRecvTCr); /*NowRecvTCr*/ PrintFileU32Hex(recordArray, recordArraySize, tc); /*tc*/ #endif - - PrintRecArrayByte(recordArray, recordArraySize, IN_ABT_OLD_ERR); /*ABTŴ*/ - PrintRecArray2ByteB(recordArray, recordArraySize, pLnkNode->DestDevName); /*DestDevName*/ - PrintRecArray4ByteB(recordArray, recordArraySize, tc); /*tc*/ - PrintRecArray4ByteB(recordArray, recordArraySize, timeStamp->NowRecvTCr); /*NowRecvTCr*/ - PrintRecArray4ByteB(recordArray, recordArraySize, delayTc); /*delayTc*/ - - procRst = 0u; /*-< ôΪ0*/ + procRst = 0u; } - if (1u == procRst) /*-< Ƿ*/ + if (1u == procRst) /**/ { - if (Fsfb_WaitBtm_Sseabt == lnkInfo->RecvLinkStatus) /*-< ·״̬ǷΪ BTMSSE ABT*/ + if (Fsfb_WaitBtm_Sseabt == lnkInfo->RecvLinkStatus) /*ͨ·Ľ״̬Ϊ ȴSSR*/ { - lnkInfo->SendLinkStatus = Fsfb_SendBtm_Btc; /*-< ·״̬ΪBTC*/ + lnkInfo->SendLinkStatus = Fsfb_SendBtm_Btc; /*·״̬Ϊbtc*/ } else /*BTC ȴABT ȴBTMABT֡SSE֡*/ { - lnkInfo->RecvLinkStatus = Fsfb_RecvData; /*-< ·״̬Ϊ*/ - lnkInfo->SendLinkStatus = Fsfb_Halt; /*-< ·״̬Ϊж*/ - timeStamp->NowRecvTCr = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*-< õǰյ*/ + lnkInfo->RecvLinkStatus = Fsfb_RecvData; /*··״̬Ϊ*/ + lnkInfo->SendLinkStatus = Fsfb_Halt; + timeStamp->NowRecvTCr = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*ǰյʱ=ļ*/ } } } - else if (Fsfb_WaitBtm_SbtAbt == lnkInfo->RecvLinkStatus) /*-< ·״̬ǷȴBTMsbtAbt֡*/ + else if (Fsfb_WaitBtm_SbtAbt == lnkInfo->RecvLinkStatus) /*ȴBTMsbtAbt֡*/ { - tc = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*-< յ*/ - delayTc = ComCheckTimeStamp(tc, timeStamp->NowRecvTCr, lnkInfo->LocalNode.MaxLost); /*-< üյϴյǷ󶪰*/ - if (delayTc < 0) /*-< úǷʧ*/ + tc = LongFromCharLE(&pAppData[FSFB_TC_POS]); + delayTc = ComCheckTimeStamp(tc, timeStamp->NowRecvTCr, lnkInfo->LocalNode.MaxLost); + if (delayTc < 0) { - lnkInfo->SendLinkStatus = Fsfb_SendSSE; /*-< ·״̬ΪSSE*/ + lnkInfo->SendLinkStatus = Fsfb_SendSSE; /*·״̬ΪSSE*/ } else { - lnkInfo->SendLinkStatus = Fsfb_SendBtm_Btc; /*-< ·״̬ΪBTC*/ + lnkInfo->SendLinkStatus = Fsfb_SendBtm_Btc; /*·״̬ΪBtc*/ } + timeStamp->NowRecvTCr = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*ǰյʱ=ļ*/ - - PrintRecArrayByte(recordArray, recordArraySize, IN_ABT_SSE_BTC); /*ABTSSEBTC*/ - PrintRecArray4ByteB(recordArray, recordArraySize, tc); /*tc*/ - PrintRecArray4ByteB(recordArray, recordArraySize, timeStamp->NowRecvTCr); /*NowRecvTCr*/ - PrintRecArrayByte(recordArray, recordArraySize, lnkInfo->LocalNode.MaxLost); - PrintRecArray4ByteB(recordArray, recordArraySize, delayTc); /*delayTc*/ - PrintRecArrayByte(recordArray, recordArraySize, lnkInfo->SendLinkStatus); - PrintRecArray4ByteB(recordArray, recordArraySize, LongFromCharLE(&pAppData[FSFB_TC_POS])); /*NowRecvTCr*/ - - timeStamp->NowRecvTCr = LongFromCharLE(&pAppData[FSFB_TC_POS]); /*-< õǰյ*/ - - procRst = 1u; /*-< ôΪ1*/ + procRst = 1u; } else /*Ƿ״̬*/ { - lnkInfo->SendLinkStatus = Fsfb_Halt; /*-< ·״̬Ϊж*/ + lnkInfo->SendLinkStatus = Fsfb_Halt; } - if (1u == procRst) /*-< Ƿ*/ + if (1u == procRst) /**/ { - timeStamp->LastLocalRecTC = *pFsfbStrut->CycleNum; /*-< ϴյΪǰں*/ - timeStamp->LastRecvTCr = timeStamp->NowRecvTCr; /*-< ϴյΪ·ǰ*/ - lnkInfo->NoRecvDataCycleNum = 0u; /*-< Ϊ0*/ + timeStamp->LastLocalRecTC = *pFsfbStrut->CycleNum; /* ϴյĵıʱ */ + timeStamp->LastRecvTCr = timeStamp->NowRecvTCr; /* ϴνܱʱΪ ǰյʱ Ԥ */ + lnkInfo->NoRecvDataCycleNum = 0u; /* */ pLnkNode->IsSendFlag = 1u; - rtnVal = 1u; /*-< úֵΪɹ*/ + rtnVal = 1u; } - return rtnVal; /*-< غֵ*/ + return rtnVal; } } @@ -706,7 +661,7 @@ UINT16 FsfbWriteToVarArray(UINT8 *VarArray,FSFB_INFO_STRU *pFsfbStruct) if((pFsfbStruct->VarArraySize - index) >= FSFB_VAR_NODE_LEN) { /*ض·м*/ - FsfbLnkNodeInfo2VarArray(CurFillLnk, &VarArray[index], pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize); + FsfbLnkNodeInfo2VarArray(CurFillLnk,&VarArray[index]); index +=FSFB_VAR_NODE_LEN; /*¼¼,·״̬Ϣ*/ /*ǰ·Ľڵһڵ*/ @@ -1238,7 +1193,7 @@ static UINT8 FsfbCheckInputAddr(UINT16 LocalDevName,UINT16 destName,const DSU_FS * * ֵ : ***********************************************************************/ -static void FsfbLnkNodeInfo2VarArray(const Fsfb_Lnk_Info_Node_Stru* pNode, UINT8* VarArray, UINT8* recordArray, UINT16 recordArraySize) +static void FsfbLnkNodeInfo2VarArray(const Fsfb_Lnk_Info_Node_Stru* pNode, UINT8* VarArray) { UINT16 index = 0; const FsfbLinkInfoStru *pFsfbLnkInfo = &pNode->FsfbLinInfo; @@ -1452,37 +1407,6 @@ static void FsfbLnkNodeInfo2VarArray(const Fsfb_Lnk_Info_Node_Stru* pNode, UINT8 } } - - - PrintRecArrayByte(recordArray, recordArraySize, OUT_LNK); /*·*/ - PrintRecArray2ByteB(recordArray, recordArraySize, pNode->DestDevName); - PrintRecArrayByte(recordArray, recordArraySize, pNode->Applcat); - PrintRecArrayByte(recordArray, recordArraySize, pNode->IsSendFlag); - PrintRecArray2ByteB(recordArray, recordArraySize, pFsfbLnkInfo->rcvSrcAdd); - PrintRecArray2ByteB(recordArray, recordArraySize, pFsfbLnkInfo->sendSrcAdd); - PrintRecArray2ByteB(recordArray, recordArraySize, pFsfbLnkInfo->rcvDestAdd); - PrintRecArray2ByteB(recordArray, recordArraySize, pFsfbLnkInfo->sendDestAdd); - PrintRecArrayByte(recordArray, recordArraySize, pFsfbLnkInfo->RecvLinkStatus); - PrintRecArrayByte(recordArray, recordArraySize, pFsfbLnkInfo->SendLinkStatus); - PrintRecArrayByte(recordArray, recordArraySize, pFsfbLnkInfo->NoRecvDataCycleNum); - PrintRecArrayByte(recordArray, recordArraySize, pFsfbLnkInfo->NoAppDataCycleNum); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->TC); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->LastLocalRecTC); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->LastRecvTCr); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->NowRecvTCr); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->RecvSseTCe); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->SseTC); - PrintRecArrayByte(recordArray, recordArraySize, pTmStmp->NumSendSse); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->SsrTc); - for (i = 0; i < 2; i++) - { - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->NowTn[i]); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->LastTn[i]); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->SseTn[i]); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->SeqEng[i]); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->NowSINIT_ADD_SID_XOR_Tn[i]); - PrintRecArray4ByteB(recordArray, recordArraySize, pTmStmp->LastSINIT_ADD_SID_XOR_Tn[i]); - } } diff --git a/TSCP/src/protocol/fsfb/common_fsfb/FsfbMessageInfo.c b/TSCP/src/protocol/fsfb/common_fsfb/FsfbMessageInfo.c index 07115f8..92844e1 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/FsfbMessageInfo.c +++ b/TSCP/src/protocol/fsfb/common_fsfb/FsfbMessageInfo.c @@ -1,50 +1,50 @@ /************************************************************************ * -* ļ FsfbMessageInfo.h -* Ȩ˵ ؿƼ޹˾ -* 汾 1.0 -* ʱ 2013.09.05 -* -* FSFB/2Э֡ʽԼϢĺ궨 -* ʹע -* ޸ļ¼ -* 2014.05.14 -* ޸ݣ ArrordLnkInfoCreateFrameм˷BTD֡ABT֡ķ֧case Fsfb_SendBtm_BtdAbt: - ޸ɣ CIյBTD֡ʱӦLEUȷ֡ABT֡ -* 2014.05.14 -* ޸ݣ FsfbAnalysisBtdMsgڽյBTDϷ󣬽״̬Ϊ retLnkNodePtr->FsfbLinInfo.SendLinkStatus = Fsfb_SendBtm_BtdAbt; -* ޸ɣ CIյBTD֡ʱӦLEUȷ֡ABT֡ -* 2014.05.14 -* ޸ݣ CreateBtmMsgڴSBT֡ʱȡԷ״̬ͽ״̬ĸֵ -* ޸ɣ ڴ˺ֻ𴴽BTMģʽµ֡·״̬ά -* 2014.05.22 -* ޸ݣ ArrordLnkInfoCreateFrame()У״̬ΪFsfb_SendBtm_Btcʱ -* SSRBTCʱ״̬ΪFsfb_WaitBtm_BtcabtBTCABT -* ֻBTCʱ״̬ΪFsfb_WaitBtm_AbtOrSseLEUSSEBTCABT -* ·״̬ȫΪֹͣ -* ޸ɣ SSRBTCʱ״̬ΪԭΪFsfb_WaitBtm_SseabtǴ -* 2014.05.22 -* ޸ݣ FsfbAnalysisBtdMsgУ֤BTD֡ϷҪͱ־Ϊ1 -* ΪABT֡׼ -* ޸ɣ ֮ǰû÷ͱ־ -* 2014.05.22 -* ޸: CreateTsdOrSbtMsgУڷTSD֡ʱ״̬ӦΪȴSSE -* ޸ɣ ֮ǰΪ -* 2014.05.22 -* ޸ݣ CreateSseMsgУSSE֡ʱ״̬ΪȴSSR״̬Ϊ -* ޸ɣ ֮ǰû÷״ֹ̬ƵSSE -* 2014.05.22 -* ޸ݣ CreateSsrMsgУSSRΪBTMģʽµģ״̬ΪBTC״̬Ϊ1 -* ޸ɣ ֮ǰûнͱ־Ϊ1 -* 2014.08.05 -* ޸: FsfbAnalysisSseMsg()УCRCУ -* ޸: ֮ǰ©һCRC -* 2014.08.05 -* ޸: BTDзʱʧܵķ֧޸ķֵΪ0 -* ޸: ΪϲúУʧܵĻӦýݽӦá -* 2014.08.14 -* ޸ݣ AccordInfoCreateFrameDataж֡ӦݲֵijȽзС0򷵻ʧ -* ޸ɣ ֮ǰûжԴ˳Ƚз +* �ļ��� �� FsfbMessageInfo.h +* ��Ȩ˵�� �� �������ؿƼ����޹�˾ +* �汾�� �� 1.0 +* ����ʱ�� �� 2013.09.05 +* ���� �� ������ +* �������� �� FSFB/2Э����֡��ʽ�Լ������Ϣ�ĺ궨�� +* ʹ��ע�� �� �� +* �޸ļ�¼ �� +* 2014.05.14 ������ +* �޸����ݣ� ��ArrordLnkInfoCreateFrame���������м��˷���BTD֡��ABT֡�ķ�֧��case Fsfb_SendBtm_BtdAbt: + �޸����ɣ� ��CI�յ�BTD֡ʱ��Ӧ����LEU������ȷ��֡ABT֡�� +* 2014.05.14 ������ +* �޸����ݣ� ��FsfbAnalysisBtdMsg�����������ڽ��յ�BTD�Ϸ��󣬽�����״̬��Ϊ retLnkNodePtr->FsfbLinInfo.SendLinkStatus = Fsfb_SendBtm_BtdAbt; +* �޸����ɣ� ��CI�յ�BTD֡ʱ��Ӧ����LEU������ȷ��֡ABT֡�� +* 2014.05.14 ������ +* �޸����ݣ� ��CreateBtmMsg�����������ڴ���SBT֡ʱ��ȡ���Է���״̬�ͽ���״̬�ĸ�ֵ +* �޸����ɣ� �ڴ˺���ֻ���𴴽�BTMģʽ�µ�֡����������·״̬��ά�� +* 2014.05.22 ������ +* �޸����ݣ� ��ArrordLnkInfoCreateFrame()�У�����״̬ΪFsfb_SendBtm_Btcʱ +* ��������SSR��BTCʱ�����״̬Ϊ��Fsfb_WaitBtm_Btcabt����BTC��ABT +* ����ֻ����BTCʱ����״̬Ϊ��Fsfb_WaitBtm_AbtOrSse������LEU��SSE��BTC��ABT +* ��������·���״̬ȫ����Ϊ��ֹͣ���� +* �޸����ɣ� ��������SSR��BTCʱ�����״̬Ϊ��ԭΪFsfb_WaitBtm_Sseabt�Ǵ���� +* 2014.05.22 ������ +* �޸����ݣ� ��FsfbAnalysisBtdMsg���������У�����֤BTD֡�Ϸ�����Ҫ�����ͱ�־��Ϊ1 +* Ϊ����ABT֡��׼�� +* �޸����ɣ� ֮ǰû���÷��ͱ�־ +* 2014.05.22 ������ +* �޸�����: ��CreateTsdOrSbtMsg���������У��ڷ���TSD֡ʱ������״̬Ӧ����Ϊ�ȴ�SSE +* �޸����ɣ� ֮ǰΪ�� +* 2014.05.22 ������ +* �޸����ݣ� ��CreateSseMsg���������У�����SSE֡ʱ����״̬����Ϊ�ȴ�SSR������״̬��Ϊ�������� +* �޸����ɣ� ֮ǰû���÷���״̬����ֹƵ������SSE +* 2014.05.22 ������ +* �޸����ݣ� ��CreateSsrMsg���������У���SSR��ΪBTMģʽ�µģ�����״̬Ϊ����BTC������״̬��Ϊ1 +* �޸����ɣ� ֮ǰû�н����ͱ�־��Ϊ1 +* 2014.08.05 ������ +* �޸�����: ��FsfbAnalysisSseMsg()�����У�������CRCУ�� +* �޸�����: ֮ǰ©����һ�����CRC��� +* 2014.08.05 ������ +* �޸�����: ��BTD���з���ʱ������ʧ�ܵķ�֧�޸ķ���ֵΪ0 +* �޸�����: ��Ϊ���ϲ���ú����У��������ʧ�ܵĻ���Ӧ�ý������ݽ�����Ӧ�á� +* 2014.08.14 ������ +* �޸����ݣ� ��AccordInfoCreateFrameData���������ж�֡��Ӧ�����ݲ��ֵij��Ƚ��з�����С��0�򷵻�ʧ�� +* �޸����ɣ� ֮ǰû�жԴ˳��Ƚ��з��� * ************************************************************************/ @@ -53,11 +53,11 @@ #include "CommonRecord.h" #include "dsuFsfbFunc.h" #include "FsfbConfig.h" -#include "FsfbRecordDelare.h " +#include "FsfbRecordDelare.h" #include "FsfbMessageInfo.h" #include "FsfbLnkNodeMgr.h" /*-------------------------------------------------------------------- - * Ĵģڲ Start + * ���Ĵ���ģ���ڲ��������� Start *--------------------------------------------------------------------*/ static UINT8 CreateTsdOrSbtMsg(const UINT8 *pAppData,UINT16 DataLen,UINT8 applyCat, UINT8 *OutTsdOrSbtMsg,UINT16* outPutDataLen, Fsfb_Lnk_Info_Node_Stru* pPNode); @@ -70,112 +70,111 @@ static UINT8 FsfbCheckBtdMsg(const UINT8 *pBtdMsg,Fsfb_Lnk_Info_Node_Stru *pLnkN /* test todo */ void BuildSbtFrameDf(Fsfb_Lnk_Info_Node_Stru* pNode,UINT8* pMsgDataBuff); /*-------------------------------------------------------------------- - * Ĵģڲ End + * ���Ĵ���ģ���ڲ��������� End *--------------------------------------------------------------------*/ /*-------------------------------------------------------------------- - * Ĵģⲿӿ Start + * ���Ĵ���ģ���ⲿ�����ӿ� Start *--------------------------------------------------------------------*/ /*********************************************************************** -* : AccordInfoCreateFrameData -* : ӦȷSBTTSD -* : -* +* ������ : AccordInfoCreateFrameData +* �������� : ����Ӧ������ȷ������SBT��TSD���� +* ������� : +* ������ ���� ������� ���� * -------------------------------------------------------------------------- -* pAppData UINT8* IN Ӧ -* DataLen UINT816 IN ݳ -* OutMsg UINT8* OUT ı -* outPutDataLen UINT16* OUT ij -* pPNode Fsfb_Lnk_Info_Node_Stru** OUT ·Ϣ -* pFsfbStru FSFB_INFO_STRU * INOUT Эͳһṹ -* ֵ : UINT8* :1: 1:󷵻 +* pAppData UINT8* IN Ӧ������ +* DataLen UINT816 IN ���ݳ��� +* OutMsg UINT8* OUT ����ı��� +* outPutDataLen UINT16* OUT ������ij��� +* pPNode Fsfb_Lnk_Info_Node_Stru** OUT ��·��Ϣ +* pFsfbStru FSFB_INFO_STRU * INOUT Э��ͳһ�ṹ�� +* ����ֵ : UINT8* :1:�������� 1:���󷵻� ***********************************************************************/ UINT8 AccordInfoCreateFrameData(const UINT8 *pAppData,UINT16 DataLen, UINT8 *OutMsg,UINT16* outPutDataLen,Fsfb_Lnk_Info_Node_Stru** pPNode,FSFB_INFO_STRU *pFsfbStru) { UINT8 retVal =0; - UINT16 destDevName = 0;/* Է豸 */ - UINT16 localDevName =0; /* 豸 */ + UINT16 destDevName = 0;/* �Է��豸���� */ + UINT16 localDevName =0; /* �����豸���� */ UINT8 applycat =0; UINT16 index=0; UINT16 msgLen =0; - UINT8 *RecordArray = pFsfbStru->RecordArray; /* ¼ */ - UINT16 RecordSize = pFsfbStru->RecordArraySize; /* ¼С */ - Fsfb_Lnk_Info_Node_Stru *pTmpNode = NULL; /* ͨŽڵָ */ - const UINT8 DEST_TYPE_APP_QUE_POS = 2; /* ӦòбԷ͵λ */ - const UINT8 DEST_ID_APP_QUE_POS = DEST_TYPE_APP_QUE_POS+1; /* ӦòбԷIDλ */ - const UINT8 DEST_APP_COMMAND_POS = DEST_ID_APP_QUE_POS+1; /* ӦòбԷIDλ */ - const UINT8 DATA_APP_QUE_POS = DEST_APP_COMMAND_POS+1; /* ӦòбӦݵλ */ + UINT8 *RecordArray = pFsfbStru->RecordArray; /* ��¼ */ + UINT16 RecordSize = pFsfbStru->RecordArraySize; /* ��¼�����С */ + Fsfb_Lnk_Info_Node_Stru *pTmpNode = NULL; /* ͨ�Žڵ�ָ�� */ + const UINT8 DEST_TYPE_APP_QUE_POS = 2; /* Ӧ�ò���б���Է����͵�λ�� */ + const UINT8 DEST_ID_APP_QUE_POS = DEST_TYPE_APP_QUE_POS+1; /* Ӧ�ò���б���Է�ID��λ�� */ + const UINT8 DEST_APP_COMMAND_POS = DEST_ID_APP_QUE_POS+1; /* Ӧ�ò���б���Է�ID��λ�� */ + const UINT8 DATA_APP_QUE_POS = DEST_APP_COMMAND_POS+1; /* Ӧ�ò���б���Ӧ�����ݵ�λ�� */ ComTypeId2DevName(pFsfbStru->LocalType, pFsfbStru->LocalID, &localDevName); /* * ------------------------------------------------------------ - * ݳ | DestType | DestID | CommandType |Ӧ | - * 2ֽ | 1ֽ | 1ֽ | 1ֽ | n | + * ���ݳ��� | DestType | DestID | CommandType |Ӧ������ | + * 2�ֽ� | 1�ֽ� | 1�ֽ� | 1�ֽ� | n | * ------------------------------------------------------------ */ - /*Է豸 */ + /*�Է��豸������ */ ComTypeId2DevName(pAppData[DEST_TYPE_APP_QUE_POS], pAppData[DEST_ID_APP_QUE_POS], &destDevName); msgLen = DataLen-DATA_APP_QUE_POS; -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordSize,"IN:\n"); PrintFiles(RecordArray,RecordSize,"LocalName:"); - PrintFileU16Hex(RecordArray,RecordSize,localDevName); /* 豸 */ + PrintFileU16Hex(RecordArray,RecordSize,localDevName); /* �����豸 */ PrintFiles(RecordArray,RecordSize,"\tDestName:"); - PrintFileU16Hex(RecordArray,RecordSize,destDevName); /* Է豸 */ + PrintFileU16Hex(RecordArray,RecordSize,destDevName); /* �Է��豸 */ PrintFiles(RecordArray,RecordSize,"\tDataLen:"); - PrintFileU16Hex(RecordArray,RecordSize,msgLen); /* Ӧݳ */ + PrintFileU16Hex(RecordArray,RecordSize,msgLen); /* ��Ӧ�����ݳ��� */ PrintFiles(RecordArray,RecordSize,"\n"); #endif -#ifdef FSFB_RECORD_SIMPLIFY_BIN /* */ - PrintRecArrayByte(RecordArray, RecordSize, OUT_APP_FRAME); /* һϢ֡ʼʶ */ - PrintRecArray2ByteB(RecordArray, RecordSize, localDevName); /* 豸 */ - PrintRecArray2ByteB(RecordArray, RecordSize, destDevName); /* Է豸 */ - PrintRecArray2ByteB(RecordArray, RecordSize, msgLen); /* Ӧݳ */ - PrintRecArrayByte(RecordArray, RecordSize, pAppData[DEST_APP_COMMAND_POS]); /**/ +#ifdef FSFB_RECORD_SIMPLIFY_BIN /* ������ */ + PrintRecArrayByte(RecordArray,RecordSize,FSFB_MSG_IN_TAG); /* һ��Ϣ֡��ʼ��ʶ */ + PrintRecArray2ByteB(RecordArray,RecordSize,localDevName); /* �����豸 */ + PrintRecArray2ByteB(RecordArray,RecordSize,destDevName); /* �Է��豸 */ + PrintRecArray2ByteB(RecordArray,RecordSize,msgLen); /* ��Ӧ�����ݳ��� */ #endif if(msgLen < 0) - {/*֡ݳȲϷ*/ + {/*֡���ݳ��Ȳ��Ϸ�*/ retVal = 0; } else { - /* */ + /* �������� */ applycat =pAppData[DEST_APP_COMMAND_POS]; if((applycat== APPLCAT_TDM)||(applycat==APPLCAT_BTM)) { - /* ѯӦͨŽڵǷ */ + /* ��ѯ��Ӧͨ�Žڵ��Ƿ���� */ pTmpNode = FsfbSearchNodeByName(destDevName,applycat,pFsfbStru); - if(NULL == pTmpNode) /* ͨŽڵ㲻 */ + if(NULL == pTmpNode) /* ͨ�Žڵ㲻���� */ { - /* ݵַĸǽڵ㣬ڵ㸲 */ + /* ���ݵ�ַ�����ĸ��ǽڵ㣬���ڵ㸲�� */ retVal =FsfbOutputReplaceLnkNode(localDevName,destDevName,applycat,&pTmpNode,pFsfbStru); } - else /* ͨŽڵ */ + else /* ͨ�Žڵ���� */ { - /* */ + /* �������� */ retVal =1; } if (retVal != 0) { - (*pPNode) = pTmpNode; /* ͨŽڵָ뱣浽ָ */ - /* ֽڵij */ + (*pPNode) = pTmpNode; /* ��ͨ�Žڵ�ָ�뱣�浽���ָ������� */ + /* �����ֽڵij��� */ /*ShortToChar(msgLen+2,&OutMsg[index]);*/ index = index+2; - /* 1ֽڵ豸*/ + /* 1���ֽڵ��豸����*/ OutMsg[index++]=pAppData[DEST_TYPE_APP_QUE_POS]; - /* 1ֽڵ豸ID */ + /* 1���ֽڵ��豸ID */ OutMsg[index++]=pAppData[DEST_ID_APP_QUE_POS]; - /* ֡TSDSBT֡ */ + /* ����֡TSD����SBT֡ */ retVal=CreateTsdOrSbtMsg(&pAppData[DATA_APP_QUE_POS],msgLen,applycat,&OutMsg[index],outPutDataLen,pTmpNode); index+=(*outPutDataLen); *outPutDataLen +=4; - /* ֽڵij */ + /* �����ֽڵij��� */ ShortToChar(index-2,OutMsg); } else @@ -185,27 +184,24 @@ UINT8 AccordInfoCreateFrameData(const UINT8 *pAppData,UINT16 DataLen, } else { - PrintRecArrayByte(RecordArray, RecordSize, OUT_FRAME_TYPE_ERR); /* һϢ֡ʼʶ */ - PrintRecArrayByte(RecordArray, RecordSize, applycat); - retVal = 0; } } - /* Ϣ֡ */ + /* ��Ϣ֡���� */ return retVal; } /*********************************************************************** -* : ArrordLnkInfoCreateFrame -* : ·зͽڵ״̬齨֡ʽ -* : -* +* ������ : ArrordLnkInfoCreateFrame +* �������� : ������·�з��ͽڵ��״̬�齨֡��ʽ�� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- -* pFsfbStruct FSFB_INFO_STRU* IN ͳһṹ -* outMsg UINT8* OUT FSFDϢ֡ -* datalen UINT16* OUT Ϣ +* pFsfbStruct FSFB_INFO_STRU* IN ͳһ�ṹ�� +* outMsg UINT8* OUT FSFD��Ϣ֡ +* datalen UINT16* OUT �����Ϣ���� -* ֵ : UINT8 1 0󷵻 +* ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ /* todo */ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* datalen) @@ -214,7 +210,7 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* UINT16 index = 0; UINT16 msgLen =0; UINT8 startFlag = 0; - Fsfb_Lnk_Info_Node_Stru* CurFillLnk;/*嵱ǰָ;*/ + Fsfb_Lnk_Info_Node_Stru* CurFillLnk;/*���嵱ǰָ��;*/ CurFillLnk=pFsfbStruct->LnkHead; while(CurFillLnk != NULL) @@ -227,14 +223,9 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* { LnkInfoBuildFrame(CurFillLnk->DestDevName,SSR_SIZE+2,&outMsg[index]); index+=4; - /* SSR ֡ */ + /* ����SSR ֡ */ retVal=CreateSsrMsg(APPLCAT_TDM,CurFillLnk,&outMsg[index]); index+=SSR_SIZE; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_TDM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_SSR_MSG); } else { @@ -247,19 +238,13 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* switch(CurFillLnk->FsfbLinInfo.SendLinkStatus) { case Fsfb_SendSSR: - /* SSR ֡ */ + /* ����SSR ֡ */ LnkInfoBuildFrame(CurFillLnk->DestDevName,SSR_SIZE+2,&outMsg[index]); index+=4; retVal = CreateSsrMsg(APPLCAT_BTM,CurFillLnk,&outMsg[index]); index +=SSR_SIZE; startFlag = 1; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_BTM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_SSR_MSG); - case Fsfb_SendBtm_Btc: if (startFlag == 1) { @@ -275,13 +260,10 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* } LnkInfoBuildFrame(CurFillLnk->DestDevName,BTC_SIZE+2,&outMsg[index]); index+=4; - /* 齨Ӧ */ + /* �齨Ӧ������ */ BuildBtcBody(pFsfbStruct->TmpDataBuff,&msgLen); retVal = CreateBtmMsg(pFsfbStruct->TmpDataBuff,msgLen,BTC_DF_SIZE,FSFB_BTC_MSG,&outMsg[index],CurFillLnk); index +=BTC_SIZE; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_BTC_MSG); - break; case Fsfb_SendBtm_Abt: msgLen =0; @@ -289,13 +271,6 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* index+=4; retVal = CreateBtmMsg(pFsfbStruct->TmpDataBuff,msgLen,ABT_DF_SIZE,FSFB_ABT_MSG,&outMsg[index],CurFillLnk); index +=ABT_SIZE; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_BTM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_ABT_MSG); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, Fsfb_SendBtm_Abt); - break; case Fsfb_SendBtm_BtdAbt: msgLen =0; @@ -304,43 +279,19 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* retVal = CreateBtmMsg(pFsfbStruct->TmpDataBuff,msgLen,ABT_DF_SIZE,FSFB_ABT_MSG,&outMsg[index],CurFillLnk); CurFillLnk->FsfbLinInfo.SendLinkStatus = Fsfb_SendBtm_Sbt; index +=ABT_SIZE; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_BTM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_ABT_MSG); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, Fsfb_SendBtm_BtdAbt); - case Fsfb_SendBtm_Ebt: msgLen =0; LnkInfoBuildFrame(CurFillLnk->DestDevName,EBT_SIZE+2,&outMsg[index]); index+=4; retVal = CreateBtmMsg(pFsfbStruct->TmpDataBuff,msgLen,EBT_DF_SIZE,FSFB_EBT_MSG,&outMsg[index],CurFillLnk); - index += EBT_SIZE; - - CurFillLnk->FsfbLinInfo.RecvLinkStatus = Fsfb_Halt; /*-< ý״̬Ϊж*/ - CurFillLnk->FsfbLinInfo.SendLinkStatus = Fsfb_Halt; /*-< ÷״̬Ϊж*/ - CurFillLnk->FsfbLinInfo.NoRecvDataCycleNum = 0u; /*-< */ - CurFillLnk->FsfbLinInfo.NoAppDataCycleNum = 0u; /*-< ޷*/ - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_BTM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_EBT_MSG); - + index +=EBT_SIZE; break; case Fsfb_SendSSE: - /* ֡ͷ */ + /* ����֡ͷ */ LnkInfoBuildFrame(CurFillLnk->DestDevName,SSE_SIZE+2,&outMsg[index]); index+=4; retVal = CreateSseMsg(APPLCAT_BTM,CurFillLnk,&outMsg[index]); index +=SSE_SIZE; - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_DATA_TYPE); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, CurFillLnk->DestDevName); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, APPLCAT_BTM); - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, FSFB_SSE_MSG); - break; default: retVal =1; @@ -354,7 +305,7 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* #if 0 if (CurFillLnk->FsfbLinInfo.RecvLinkStatus == Fsfb_SendBtm_Sbt) { - /* SBT֡ */ + /* ����SBT֡ */ LnkInfoBuildFrame(CurFillLnk->DestDevName,SBT_SIZE+2,&outMsg[index]); index+=4; retVal = CreateTsdOrSbtMsg(NULL,0,APPLCAT_BTM,&outMsg[index],&msgLen,CurFillLnk); @@ -380,42 +331,42 @@ UINT8 ArrordLnkInfoCreateFrame(FSFB_INFO_STRU* pFsfbStruct,UINT8* outMsg,UINT16* } /*********************************************************************** -* : BuildBtcBody -* :齨BTC֡Body֡ -* : -* +* ������ : BuildBtcBody +* �������� :�齨BTC֡��Body���֡� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- -* pOutDataBuff UINT8* OUT -* outDataLen UINT16* OUT ݳ -* ֵ : +* pOutDataBuff UINT8* OUT ������� +* outDataLen UINT16* OUT ���ݳ��� +* ����ֵ : �� ***********************************************************************/ void BuildBtcBody(UINT8* pOutDataBuff,UINT16* outDataLen) { UINT8 index=0; #if 0 - /* ֽڵOperation Type */ + /* �����ֽڵ�Operation Type */ ShortToChar(0x0000,&pOutDataBuff[index]); index+=2; - /* 2ֽڵBuffer Type */ + /* 2���ֽڵ�Buffer Type */ ShortToChar(0x000A,&pOutDataBuff[index]); index+=2; - /* 2ֽڵSub_bufer Number Start */ + /* 2���ֽڵ�Sub_bufer Number Start */ ShortToChar(0x0001,&pOutDataBuff[index]); index+=2; - /* 2ֽڵNumber of Sub-buffer to Transmit */ + /* 2���ֽڵ�Number of Sub-buffer to Transmit */ ShortToChar(0xFFFF,&pOutDataBuff[index]); index+=2; #else - /* ֽڵOperation Type */ + /* �����ֽڵ�Operation Type */ ShortToChar(0x0000,&pOutDataBuff[index]); index+=2; - /* 2ֽڵBuffer Type */ + /* 2���ֽڵ�Buffer Type */ ShortToChar(0x0000,&pOutDataBuff[index]); index+=2; - /* 2ֽڵSub_bufer Number Start */ + /* 2���ֽڵ�Sub_bufer Number Start */ ShortToChar(0,&pOutDataBuff[index]); index+=2; - /* 2ֽڵNumber of Sub-buffer to Transmit */ + /* 2���ֽڵ�Number of Sub-buffer to Transmit */ ShortToChar(0,&pOutDataBuff[index]); index+=2; #endif @@ -423,37 +374,37 @@ void BuildBtcBody(UINT8* pOutDataBuff,UINT16* outDataLen) } /*********************************************************************** -* : LnkInfoBuildFrame -* :齨Ӧݵ֡ͷ -* : -* +* ������ : LnkInfoBuildFrame +* �������� :�齨�����Ӧ�����ݵ�֡ͷ�� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- -* devName UINT16 IN 豸 -* msgLen UINT16 IN ݳ -* pOutDataBuff UINT8* OUT -* ֵ : +* devName UINT16 IN �豸���� +* msgLen UINT16 IN ���ݳ��� +* pOutDataBuff UINT8* OUT ������� +* ����ֵ : �� ***********************************************************************/ void LnkInfoBuildFrame(UINT16 devName,UINT16 msgLen,UINT8* pOutDataBuff) { - /* ֽڵ֡ͷ */ + /* �����ֽڵ�֡ͷ */ ShortToChar(msgLen,pOutDataBuff); - /* 1ֽڵ豸, 1ֽڵ豸ID */ + /* 1���ֽڵ��豸����, 1���ֽڵ��豸ID */ ComDevName2TypeId(devName,&pOutDataBuff[2],&pOutDataBuff[3]); } /*********************************************************************** - * : FsfbAnalysisSseMsg - * : յSSEϢн֡ȡϢ - * : - * + * ������ : FsfbAnalysisSseMsg + * �������� : ���������յ���SSE��Ϣ���н�֡����ȡ�������Ϣ�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devName UINT16* IN 豸 + * devName UINT16* IN �豸���� * applyCat UINT8 IN application catory - * pAppData UINT8* IN Ӧ - * FSFB_INFO_STRU *pFsfbStruct FSFBͳһṹ - * RecordArray UINT8* INOUT ¼ - * RecordArraySize UINT16 IN ¼С - * ֵ : UINT8 1 0:󷵻 + * pAppData UINT8* IN Ӧ������ + * FSFB_INFO_STRU *pFsfbStruct FSFBͳһ�ṹ�� + * RecordArray UINT8* INOUT ��¼���� + * RecordArraySize UINT16 IN ��¼�����С + * ����ֵ : UINT8 1���������� 0:���󷵻� ***********************************************************************/ UINT8 FsfbAnalysisSseMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO_STRU *pFsfbStruct,UINT8 *RecordArray, UINT16 RecordArraySize) { @@ -466,7 +417,7 @@ UINT8 FsfbAnalysisSseMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO UINT16 srcAddr =0; Fsfb_Lnk_Info_Node_Stru *retLnkNodePtr = NULL; - /* CRC 趨 */ + /* CRC �趨 */ calcCrc16 = ComComputeMsgCRC16(pAppData,SSE_SIZE-FSFB_CRC_16_LEN); crc16 = ShortFromCharLE(&pAppData[SSE_SIZE-FSFB_CRC_16_LEN]); if(calcCrc16 == crc16) @@ -474,48 +425,46 @@ UINT8 FsfbAnalysisSseMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO srcAddr = ShortFromCharLE(&pAppData[FSFB_SRC_ADD_POS]); desAddr = ShortFromCharLE(&pAppData[FSFB_DEST_ADD_POS]); retLnkNodePtr = FsfbSearchNodeByName(devName,applyCat, pFsfbStruct); - /* жͨŽڵǷ */ + /* �ж�ͨ�Žڵ��Ƿ���� */ if( NULL != retLnkNodePtr) { - /* ͨŽڵڣô鱨ĵϢǷ͸ͨŽڵһ */ + /* ͨ�Žڵ���ڣ���ô��鱨�ĵ���Ϣ�Ƿ�͸�ͨ�Žڵ��һ�� */ retVal = FsfbCheckInfoAddr(srcAddr,desAddr,retLnkNodePtr); if(0 == retVal) { - /* һ ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��һ�� ����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_ADDR_ERR); /*ַ*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } - else /* ͨ */ + else /* ���ͨ�� */ { - /* ·Ϣṹ */ + /* ������·������Ϣ�ṹ�� */ retVal = FsfbUptLnkNodeInfoBySSE(pAppData,retLnkNodePtr); } } else { - /* ¼ ͨŽڵ㲻 */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ ͨ�Žڵ㲻���� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Node Not Exist.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_NO_LNK); /*·*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } } else { - /* ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ �������� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Msg Len Err.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_CRC_ERR); /*CRC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, calcCrc16); - PrintRecArray2ByteB(RecordArray, RecordArraySize, crc16); + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_LEN_ERR|FSFB_ERROR_NULL); #endif } retVal = 1; @@ -524,18 +473,18 @@ UINT8 FsfbAnalysisSseMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO /*********************************************************************** - * : FsfbAnalysisSsrMsg - * : յSSRϢн֡ȡϢ - * : - * + * ������ : FsfbAnalysisSsrMsg + * �������� : ���������յ���SSR��Ϣ���н�֡����ȡ�������Ϣ�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devName UINT16* IN 豸 + * devName UINT16* IN �豸���� * applyCat UINT8 IN application catory - * pAppData UINT8* IN Ӧ - * pFsfbStruct FSFB_INFO_STRU* FSFBͳһṹ - * RecordArray UINT8* INOUT ¼ - * RecordArraySize UINT16 IN ¼С - * ֵ : UINT8 1 + * pAppData UINT8* IN Ӧ������ + * pFsfbStruct FSFB_INFO_STRU* FSFBͳһ�ṹ�� + * RecordArray UINT8* INOUT ��¼���� + * RecordArraySize UINT16 IN ��¼�����С + * ����ֵ : UINT8 1���������� ***********************************************************************/ UINT8 FsfbAnalysisSsrMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO_STRU *pFsfbStruct,UINT8 *RecordArray, UINT16 RecordArraySize) { @@ -546,69 +495,69 @@ UINT8 FsfbAnalysisSsrMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO UINT16 SrcAddr = 0; UINT16 DesAddr = 0; - /* CRC 趨 */ + /* CRC �趨 */ calcCrc16 = ComComputeMsgCRC16(pAppData,SSR_SIZE-FSFB_CRC_16_LEN); crc16 =ShortFromCharLE(&pAppData[SSR_SIZE-FSFB_CRC_16_LEN]); - /* ֤CRCǷϷ */ + /* ��֤CRC�Ƿ�Ϸ� */ if(crc16 == calcCrc16) { SrcAddr = ShortFromCharLE(&pAppData[FSFB_SRC_ADD_POS]); DesAddr = ShortFromCharLE(&pAppData[FSFB_DEST_ADD_POS]); retLnkNodePtr = FsfbSearchNodeByName(devName,applyCat,pFsfbStruct); - /* жͨŽڵǷ */ + /* �ж�ͨ�Žڵ��Ƿ���� */ if( NULL != retLnkNodePtr) { - /* ͨŽڵڣô鱨ĵϢǷ͸ͨŽڵһ */ + /* ͨ�Žڵ���ڣ���ô��鱨�ĵ���Ϣ�Ƿ�͸�ͨ�Žڵ��һ�� */ retVal = FsfbCheckInfoAddr(SrcAddr,DesAddr,retLnkNodePtr); if(0 == retVal) { - /* һ ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��һ�� ����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_ADDR_ERR); /*ַ*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } - else /* ͨ */ + else /* ���ͨ�� */ { - /* ·Ϣṹ */ + /* ������·������Ϣ�ṹ�� */ retVal = FsfbUptLnkNodeInfoBySsr(pAppData,applyCat,pFsfbStruct,retLnkNodePtr); if( 0 == retVal) { - /* ³˵ǶӦSSR ô¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ���³���˵�����Ƕ�Ӧ��SSR���� ��ô��¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:SSR Msg Err.\n"); #endif - +#ifdef FSFB_RECORD_SIMPLIFY_BIN + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_SSR_NOT_ILLEGAL|FSFB_ERROR_NULL); +#endif } else { - /* ʲô */ + /* ʲô���� */ } } } else { - /* ¼ ͨŽڵ㲻 */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ ͨ�Žڵ㲻���� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_NO_LNK); /*·*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } } - else /* Ȳ */ + else /* ���Ȳ��� */ { - /* ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ �������� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Msg Len Err.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_CRC_ERR); /*CRC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, calcCrc16); - PrintRecArray2ByteB(RecordArray, RecordArraySize, crc16); + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_LEN_ERR|FSFB_ERROR_NULL); #endif } @@ -621,18 +570,18 @@ UINT8 FsfbAnalysisSsrMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO /*********************************************************************** - * : FsfbAnalysisAbtMsg - * : յABTϢн֡ȡϢ - * : - * + * ������ : FsfbAnalysisAbtMsg + * �������� : ���������յ���ABT��Ϣ���н�֡����ȡ�������Ϣ�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devName UINT16* IN 豸 + * devName UINT16* IN �豸���� * applyCat UINT8 IN application catory - * pAppData UINT8* IN Ӧ - * pFsfbStruct FSFB_INFO_STRU* FSFBͳһṹ - * RecordArray UINT8* INOUT ¼ - * RecordArraySize UINT16 IN ¼С - * ֵ : UINT8 1 + * pAppData UINT8* IN Ӧ������ + * pFsfbStruct FSFB_INFO_STRU* FSFBͳһ�ṹ�� + * RecordArray UINT8* INOUT ��¼���� + * RecordArraySize UINT16 IN ��¼�����С + * ����ֵ : UINT8 1���������� ***********************************************************************/ UINT8 FsfbAnalysisAbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO_STRU *pFsfbStruct,UINT8 *RecordArray, UINT16 RecordArraySize) { @@ -644,13 +593,13 @@ UINT8 FsfbAnalysisAbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO UINT16 DesAddr = 0; UINT16 tmpSds =0; - /* CRC 趨 */ + /* CRC �趨 */ calcCrc16 = ComComputeMsgCRC16(pAppData,ABT_SIZE-FSFB_CRC_16_LEN); crc16 =ShortFromCharLE(&pAppData[ABT_SIZE-FSFB_CRC_16_LEN]); - /* ֤CRCǷϷ */ + /* ��֤CRC�Ƿ�Ϸ� */ if(crc16 == calcCrc16) { - /* ȫݴС */ + /* ��ȫ���ݴ�С */ tmpSds = ShortFromCharLE(&pAppData[FSFB_DATA_SIZE_POS]); if ((tmpSds != ABT_SDS)||(applyCat != APPLCAT_BTM)) { @@ -660,62 +609,63 @@ UINT8 FsfbAnalysisAbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO SrcAddr = ShortFromCharLE(&pAppData[FSFB_SRC_ADD_POS]); DesAddr = ShortFromCharLE(&pAppData[FSFB_DEST_ADD_POS]); retLnkNodePtr = FsfbSearchNodeByName(devName,applyCat,pFsfbStruct); - /* жͨŽڵǷ */ + /* �ж�ͨ�Žڵ��Ƿ���� */ if( NULL != retLnkNodePtr) { - /* ͨŽڵڣô鱨ĵϢǷ͸ͨŽڵһ */ + /* ͨ�Žڵ���ڣ���ô��鱨�ĵ���Ϣ�Ƿ�͸�ͨ�Žڵ��һ�� */ retVal = FsfbCheckInfoAddr(SrcAddr,DesAddr,retLnkNodePtr); if(0 == retVal) { - /* һ ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��һ�� ����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_ADDR_ERR); /*ַ*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } - else /* ͨ */ + else /* ���ͨ�� */ { - /* ·Ϣṹ */ + /* ������·������Ϣ�ṹ�� */ retVal = FsfbUptLnkNodeInfoByAbt(pAppData,pFsfbStruct,retLnkNodePtr); if( 0 == retVal) { - /* ³˵ǶӦSSR ô¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ���³���˵�����Ƕ�Ӧ��SSR���� ��ô��¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:SSR Msg Err.\n"); +#endif +#ifdef FSFB_RECORD_SIMPLIFY_BIN + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_SSR_NOT_ILLEGAL|FSFB_ERROR_NULL); #endif } else { - /* ʲô */ + /* ʲô���� */ } } } else { - /* ¼ ͨŽڵ㲻 */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ ͨ�Žڵ㲻���� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_NO_LNK); /*·*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } } - else /* Ȳ */ + else /* ���Ȳ��� */ { - /* ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ �������� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Msg Len Err.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_CRC_ERR); /*CRC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, calcCrc16); - PrintRecArray2ByteB(RecordArray, RecordArraySize, crc16); + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_LEN_ERR|FSFB_ERROR_NULL); #endif } @@ -724,18 +674,18 @@ UINT8 FsfbAnalysisAbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO } /*********************************************************************** - * : FsfbAnalysisEbtMsg - * : յEBTϢн֡ȡϢ - * : - * + * ������ : FsfbAnalysisEbtMsg + * �������� : ���������յ���EBT��Ϣ���н�֡����ȡ�������Ϣ�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devName const UINT16 IN 豸 + * devName const UINT16 IN �豸���� * applyCat UINT8 IN application Catory - * pAppData UINT8* IN յ - * RecordArray UINT8* INOUT ¼ - * RecordArraySize UINT16 IN ¼С - * pFsfbStruct FSFB_INFO_STRU * IN FSFBЭͳһṹ - * ֵ : UINT8 1 + * pAppData UINT8* IN ���յ������� + * RecordArray UINT8* INOUT ��¼���� + * RecordArraySize UINT16 IN ��¼�����С + * pFsfbStruct FSFB_INFO_STRU * IN FSFBЭ��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� ***********************************************************************/ UINT8 FsfbAnalysisEbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO_STRU *pFsfbStruct,UINT8 *RecordArray, UINT16 RecordArraySize) { @@ -747,13 +697,13 @@ UINT8 FsfbAnalysisEbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO UINT16 DesAddr = 0; UINT16 tmpSds =0; - /* CRC 趨 */ + /* CRC �趨 */ calcCrc16 = ComComputeMsgCRC16(pAppData,EBT_SIZE-FSFB_CRC_16_LEN); crc16 =ShortFromCharLE(&pAppData[EBT_SIZE-FSFB_CRC_16_LEN]); - /* ֤CRCǷϷ */ + /* ��֤CRC�Ƿ�Ϸ� */ if(crc16 == calcCrc16) { - /* ȫݴС */ + /* ��ȫ���ݴ�С */ tmpSds = ShortFromCharLE(&pAppData[FSFB_DATA_SIZE_POS]); if ((tmpSds != EBT_SDS)||(applyCat != APPLCAT_BTM)) { @@ -763,60 +713,60 @@ UINT8 FsfbAnalysisEbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO SrcAddr = ShortFromCharLE(&pAppData[FSFB_SRC_ADD_POS]); DesAddr = ShortFromCharLE(&pAppData[FSFB_DEST_ADD_POS]); retLnkNodePtr = FsfbSearchNodeByName(devName,applyCat,pFsfbStruct); - /* жͨŽڵǷ */ + /* �ж�ͨ�Žڵ��Ƿ���� */ if( NULL != retLnkNodePtr) { - /* ͨŽڵڣô鱨ĵϢǷ͸ͨŽڵһ */ + /* ͨ�Žڵ���ڣ���ô��鱨�ĵ���Ϣ�Ƿ�͸�ͨ�Žڵ��һ�� */ retVal = FsfbCheckInfoAddr(SrcAddr,DesAddr,retLnkNodePtr); if(0 == retVal) { - /* һ ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��һ�� ����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_ADDR_ERR); /*ַ*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } - else /* ͨ */ + else /* ���ͨ�� */ { - /* ·Ϣṹ */ + /* ������·������Ϣ�ṹ�� */ retVal = FsfbUptLnkNodeInfoByEbt(devName,pAppData,pFsfbStruct,retLnkNodePtr); if( 0 == retVal) { - /* ³˵ǶӦSSR ô¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ���³���˵�����Ƕ�Ӧ��SSR���� ��ô��¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:SSR Msg Err.\n"); #endif - +#ifdef FSFB_RECORD_SIMPLIFY_BIN + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_SSR_NOT_ILLEGAL|FSFB_ERROR_NULL); +#endif } else { - /* ʲô */ + /* ʲô���� */ } } } else { - /* ¼ ͨŽڵ㲻 */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ ͨ�Žڵ㲻���� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_NO_LNK); /*·*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } } - else /* Ȳ */ + else /* ���Ȳ��� */ { - /* ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ �������� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Msg Len Err.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_CRC_ERR); /*CRC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, calcCrc16); - PrintRecArray2ByteB(RecordArray, RecordArraySize, crc16); + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_LEN_ERR|FSFB_ERROR_NULL); #endif } @@ -825,25 +775,25 @@ UINT8 FsfbAnalysisEbtMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO } /*********************************************************************** - * : FsfbAnalysisBtdMsg - * : յBTDϢн֡ȡϢ, - Լݰһĸʽ - * : - * + * ������ : FsfbAnalysisBtdMsg + * �������� : ���������յ���BTD��Ϣ���н�֡����ȡ�������Ϣ, + �Լ������ݰ�һ���ĸ�ʽ����� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devName const UINT16 IN 豸 + * devName const UINT16 IN �豸���� * applyCat UINT8 IN application Catory - * pAppData UINT8* IN յ - * RecordArray UINT8* INOUT ¼ - * RecordArraySize UINT16 IN ¼С - * pFsfbStruct FSFB_INFO_STRU * IN FSFBЭͳһṹ - * ֵ : UINT8 1 + * pAppData UINT8* IN ���յ������� + * RecordArray UINT8* INOUT ��¼���� + * RecordArraySize UINT16 IN ��¼�����С + * pFsfbStruct FSFB_INFO_STRU * IN FSFBЭ��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� ***********************************************************************/ UINT8 FsfbAnalysisBtdMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO_STRU *pFsfbStruct,UINT8 *RecordArray, UINT16 RecordArraySize) { UINT8 retVal = 0; - UINT16 calcCrc16=0; /* żCRCֵ */ - UINT16 crc16 =0; /* еCRCֵ */ + UINT16 calcCrc16=0; /* ��ż����CRCֵ */ + UINT16 crc16 =0; /* ���������е�CRCֵ */ Fsfb_Lnk_Info_Node_Stru *retLnkNodePtr = NULL; UINT16 SrcAddr = 0; UINT16 DesAddr = 0; @@ -852,64 +802,62 @@ UINT8 FsfbAnalysisBtdMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO ComTypeId2DevName(pFsfbStruct->LocalType,pFsfbStruct->LocalID,&localDevName); - /* CRC 趨 */ + /* CRC �趨 */ calcCrc16 = ComComputeMsgCRC16(pAppData,BTD_SIZE-FSFB_CRC_16_LEN); crc16 =ShortFromCharLE(&pAppData[BTD_SIZE-FSFB_CRC_16_LEN]); - /* ֤CRCǷϷ */ + /* ��֤CRC�Ƿ�Ϸ� */ if(crc16 == calcCrc16) { - /* ȫݴС */ + /* ��ȫ���ݴ�С */ tmpSds = ShortFromCharLE(&pAppData[FSFB_DATA_SIZE_POS]); if ((tmpSds != BTD_SDS)||(applyCat != APPLCAT_BTM)) { - PrintRecArrayByte(RecordArray, RecordArraySize, IN_BTD_LEN_ERR); /*BTDijȴ*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, tmpSds); - PrintRecArrayByte(RecordArray, RecordArraySize, applyCat); - retVal = 0; return retVal; } SrcAddr = ShortFromCharLE(&pAppData[FSFB_SRC_ADD_POS]); DesAddr = ShortFromCharLE(&pAppData[FSFB_DEST_ADD_POS]); retLnkNodePtr = FsfbSearchNodeByName(devName,applyCat,pFsfbStruct); - /* жͨŽڵǷ */ + /* �ж�ͨ�Žڵ��Ƿ���� */ if( NULL != retLnkNodePtr) { - /* ͨŽڵڣô鱨ĵϢǷ͸ͨŽڵһ */ + /* ͨ�Žڵ���ڣ���ô��鱨�ĵ���Ϣ�Ƿ�͸�ͨ�Žڵ��һ�� */ retVal = FsfbCheckInfoAddr(SrcAddr,DesAddr,retLnkNodePtr); if(0 == retVal) { - /* һ ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��һ�� ����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:NOT Node Msg.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_ADDR_ERR); /*ַ*/ + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NOT_NODE_ERR|FSFB_ERROR_NULL); #endif } - else /* ͨ */ + else /* ���ͨ�� */ { - /* BTDϢǷϷ */ + /* ���BTD��Ϣ�Ƿ�Ϸ� */ retVal=FsfbCheckBtdMsg(pAppData,retLnkNodePtr,pFsfbStruct); if (retVal == 1) { - /* ϴνյıʱΪǰں */ + /* ���ϴν��յ����ı���ʱ�����Ϊ��ǰ���ں� */ retLnkNodePtr->FsfbLinInfo.TimeStmp.LastLocalRecTC =*pFsfbStruct->CycleNum; - /* 趨Ϊ0 */ + /* �����������趨Ϊ0 */ retLnkNodePtr->FsfbLinInfo.NoRecvDataCycleNum = 0; retLnkNodePtr->FsfbLinInfo.SendLinkStatus = Fsfb_SendBtm_BtdAbt; retLnkNodePtr->IsSendFlag = 1; - /* ɹ */ + /* ����ɹ� */ retVal =1; } else { - /* ¼ ͨŽڵ㲻 */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ ͨ�Žڵ㲻���� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:BTD InVaild.\n"); #endif - - /* ֤ʧ */ +#ifdef FSFB_RECORD_SIMPLIFY_BIN + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_NO_INVALID|FSFB_ERROR_NULL); +#endif + /* ��֤ʧ�� */ retVal =0; } } @@ -917,73 +865,68 @@ UINT8 FsfbAnalysisBtdMsg(UINT16 devName,UINT8 applyCat,UINT8* pAppData,FSFB_INFO else { retVal = 0; - - PrintRecArrayByte(RecordArray, RecordArraySize, IN_NO_LNK); /*·*/ - - /* ¼ͨŽڵ㲻Ϸ */ + /* ��¼ͨ�Žڵ㲻�Ϸ� */ } } - else /* Ȳ */ + else /* ���Ȳ��� */ { retVal = 0; - /* ¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ + /* ��¼ �������� */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Tsd CRC Err.\n"); #endif #ifdef FSFB_RECORD_SIMPLIFY_BIN - PrintRecArrayByte(RecordArray, RecordArraySize, IN_CRC_ERR); /*CRC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, calcCrc16); - PrintRecArray2ByteB(RecordArray, RecordArraySize, crc16); + PrintRecArray2ByteB(RecordArray,RecordArraySize,FSFB_WARN|FSFB_RECEIVE|FSFB_MSG_CRC_ERR|FSFB_ERROR_NULL); #endif } return retVal; } /*-------------------------------------------------------------------- - * Ĵģⲿӿں End + * ���Ĵ���ģ���ⲿ�ӿں��� End *--------------------------------------------------------------------*/ /*-------------------------------------------------------------------- - * Ĵģڲӿں Start + * ���Ĵ���ģ���ڲ��ӿں��� Start *--------------------------------------------------------------------*/ /*********************************************************************** -* : CreateTsdOrSbtMsg -* : Ӧ TSDSBTġ -* : -* +* ������ : CreateTsdOrSbtMsg +* �������� : ����Ӧ������ ���� TSD��SBT���ġ� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- -* pAppData const UINT8* IN Ӧò㵽Rsspжнڵ -* DataLen UINT8 IN pAppDataݳ -* OutTsdOrSbtMsg UINT8* OUT FSFDϢ֡ -* outPutDataLen UINT16* OUT ij -* pPNode Lnk_Info_Node_Stru_WL** OUT ¶Ӧڵڷ -1 +* pAppData const UINT8* IN Ӧ�ò㵽Rssp���������ж��нڵ� +* DataLen UINT8 IN ����pAppData�����ݳ��� +* OutTsdOrSbtMsg UINT8* OUT FSFD��Ϣ֡ +* outPutDataLen UINT16* OUT ������ij��� +* pPNode Lnk_Info_Node_Stru_WL** OUT ���¶�Ӧ�ڵ����������������ڷ��� -1 -* ֵ : UINT8 1 0󷵻 +* ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 CreateTsdOrSbtMsg(const UINT8 *pAppData,UINT16 DataLen,UINT8 applyCat, UINT8 *OutTsdOrSbtMsg,UINT16* outPutDataLen, Fsfb_Lnk_Info_Node_Stru* pPNode) { UINT8 ret = 0; - UINT16 CRC16 = 0; /* FSFBϢCRC */ - UINT32 CRCM[2] ={0}; /* CRCM */ + UINT16 CRC16 = 0; /* FSFB��ϢCRC */ + UINT32 CRCM[2] ={0}; /* CRCM���� */ pPNode->Applcat = applyCat; switch(applyCat) { case APPLCAT_BTM: *outPutDataLen = SBT_SIZE; - /* ·״̬ */ + /* ��·״̬���� */ pPNode->FsfbLinInfo.RecvLinkStatus = Fsfb_WaitBtm_SbtAbt; - /* 趨SBT֡ͷ */ + /* �趨SBT֡ͷ */ SetFsfbMsgHead(applyCat,FSFB_SBT_MSG, pPNode->FsfbLinInfo.sendSrcAdd,pPNode->FsfbLinInfo.sendDestAdd,OutTsdOrSbtMsg); ret=1; break; case APPLCAT_TDM: *outPutDataLen = TSD_SIZE; - /*·״̬*/ + /*��·״̬����*/ pPNode->FsfbLinInfo.RecvLinkStatus = Fsfb_WaitSse; - /* TSD֡ͷ */ + /* ����TSD֡ͷ */ SetFsfbMsgHead(applyCat,FSFB_TSD_MSG, pPNode->FsfbLinInfo.sendSrcAdd,pPNode->FsfbLinInfo.sendDestAdd,OutTsdOrSbtMsg); - /*жݳǷΪTSD ݳ */ + /*�ж����ݳ����Ƿ�ΪTSD �����ݳ��� */ if(DataLen != TSD_DF_SIZE) { ret =0; @@ -998,19 +941,19 @@ static UINT8 CreateTsdOrSbtMsg(const UINT8 *pAppData,UINT16 DataLen,UINT8 applyC ret = 0; break; } - /* Body 趨 + /* Body �趨 * ------------------------------------------------------------------ - * | SDS | ȫݳ | CRCM_1 | CRCM_2 | Ӧ | - * 4ֽ | 2ֽ | 2ֽ | 4ֽ | 4ֽ | 36ֽ | + * ������ | SDS | ��ȫ���ݳ��� | CRCM_1 | CRCM_2 | Ӧ������ | + * 4�ֽ� | 2�ֽ� | 2�ֽ� | 4�ֽ� | 4�ֽ� | 36�ֽ� | * ------------------------------------------------------------------ */ - /* Ӧ */ - /* pAppDataʼ MsgLenӦݵ */ + /* Ӧ������ */ + /* ��pAppData��ʼ���� MsgLen��Ӧ�����ݵ� ������ */ if(ret != 0) { if(DataLen ==0) { - /* 齨SBT֡body */ + /* �齨SBT֡��body */ DataLen = SBT_DF_SIZE; BuildSbtFrameDf(pPNode,&OutTsdOrSbtMsg[FSFB_DATA_POS]); } @@ -1019,7 +962,7 @@ static UINT8 CreateTsdOrSbtMsg(const UINT8 *pAppData,UINT16 DataLen,UINT8 applyC ComMemCopy(pAppData, & OutTsdOrSbtMsg[FSFB_DATA_POS],DataLen); } - /* CRCMֵ,(϶1 ) */ + /* ����CRCMֵ,(�϶�����1 ) */ ret = ComCalcCRCM(&OutTsdOrSbtMsg[FSFB_DATA_POS],DataLen, @@ -1027,21 +970,21 @@ static UINT8 CreateTsdOrSbtMsg(const UINT8 *pAppData,UINT16 DataLen,UINT8 applyC pPNode->FsfbLinInfo.TimeStmp.NowTn, CRCM); - /* 趨 4ֽ */ + /* ������ �趨 4�ֽ� */ LongToCharLE(pPNode->FsfbLinInfo.TimeStmp.TC, &OutTsdOrSbtMsg[FSFB_TC_POS]); - /* ȫݳ Ӧ+ 2CRCM 2ֽ */ + /* ��ȫ���ݳ��� Ӧ������+ 2��CRCM���� 2�ֽ� */ ShortToCharLE((UINT16)(DataLen+2*FSFB_CRCM_LEN), &OutTsdOrSbtMsg[FSFB_DATA_SIZE_POS]); - /* CRCM[0] CRCM[1] 趨 4 ֽ */ + /* CRCM[0] CRCM[1] �趨 4 �ֽ� */ LongToCharLE(CRCM[0],&OutTsdOrSbtMsg[FSFB_CRCM_1_POS]); LongToCharLE(CRCM[1],&OutTsdOrSbtMsg[FSFB_CRCM_2_POS]); - /* 16λ CRC 趨 2 ֽ */ + /* 16λ CRC �趨 2 �ֽ� */ CRC16 = ComComputeMsgCRC16(OutTsdOrSbtMsg,(UINT16)((*outPutDataLen)-FSFB_CRC_16_LEN)); ShortToCharLE(CRC16,&OutTsdOrSbtMsg[(UINT16)((*outPutDataLen)-FSFB_CRC_16_LEN)]); - /* ޷ӦΪ 0 */ + /* �޷���Ӧ��������Ϊ 0 */ pPNode->FsfbLinInfo.NoAppDataCycleNum = 0; ret = 1; } @@ -1055,87 +998,87 @@ void BuildSbtFrameDf(Fsfb_Lnk_Info_Node_Stru* pNode,UINT8* pMsgDataBuff) UINT16 index =0; UINT32 crcValue =0; - /* ʼΪ 0 */ + /* �������ʼ��Ϊ 0 */ ComMemSet(pMsgDataBuff,SBT_DF_SIZE,0); - /* 2ֽڵԴַ */ + /* 2���ֽڵ�Դ��ַ */ ShortToCharLE(pNode->FsfbLinInfo.sendSrcAdd,pMsgDataBuff+index); index +=2; - /* 1ֽڵ record Flag 1޼¼ 0м¼ */ + /* 1���ֽڵ� record Flag 1�����޼�¼ 0�����м�¼ */ pMsgDataBuff[index]=0x01; index+=1; - /* 1ֽڵԤ */ + /* 1���ֽڵ�Ԥ�� */ index+=1; - /* 8ֽڵChannel1&2 SID */ + /* 8���ֽڵ�Channel1&2 SID */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.SIDr[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.SIDr[1],pMsgDataBuff+index); index +=4; - /* 8ֽڵChannel1&2 SINIT */ + /* 8���ֽڵ�Channel1&2 SINIT */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.SINITr[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.SINITr[1],pMsgDataBuff+index); index +=4; - /* 1ֽڵ */ + /* 1���ֽڵ������������ */ pMsgDataBuff[index++]=MAX_BTM_LOST; - /* 1ֽڵDelta Time Counter max */ + /* 1���ֽڵ�Delta Time Counter max */ pMsgDataBuff[index++]=Delta_Time_Counter_max; - /* 2ֽԤ */ + /* 2���ֽ�Ԥ�� */ index +=2; - /* 8ֽڵChannel1&2 DATAVER */ + /* 8���ֽڵ�Channel1&2 DATAVER */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.DATAVER[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.DATAVER[1],pMsgDataBuff+index); index +=4; - /* 28ֽڵԤ */ + /* 28���ֽڵ�Ԥ�� */ index +=28; - /* 1ֽڵ NUM_DATAVER */ + /* 1���ֽڵ� NUM_DATAVER */ pMsgDataBuff[index++]=pNode->FsfbLinInfo.LocalNode.NumDataVer[0]; - /* 3ֽԤ */ + /* 3���ֽ�Ԥ�� */ index +=3; - /* 1ֽڵWorldFip Periodic variable Address */ + /* 1���ֽڵ�WorldFip Periodic variable Address */ pMsgDataBuff[index++]=0x01; - /* 1ֽ Segment */ + /* 1���ֽ� Segment */ index+=1; - /* 2ֽ FSFB2Դַ */ + /* 2���ֽ� FSFB2Դ��ַ */ ShortToCharLE(pNode->FsfbLinInfo.sendDestAdd,pMsgDataBuff+index); index +=2; - /* 8ֽڵChannel1&2 SID */ + /* 8���ֽڵ�Channel1&2 SID */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.SIDe[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.SIDe[1],pMsgDataBuff+index); index +=4; - /* 8ֽڵChannel1&2 SINIT */ + /* 8���ֽڵ�Channel1&2 SINIT */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.SINITe[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.SINITe[1],pMsgDataBuff+index); index +=4; - /* 1ֽԤ */ + /* 1���ֽ�Ԥ�� */ pMsgDataBuff[index++]=MAX_BTM_LOST; - /* 1ֽڵDelta Time Counter max */ + /* 1���ֽڵ�Delta Time Counter max */ pMsgDataBuff[index++]=Delta_Time_Counter_max; - /* 2ֽԤ */ + /* 2���ֽ�Ԥ�� */ index +=2; - /* 8ֽڵChannel1&2 DATAVER */ + /* 8���ֽڵ�Channel1&2 DATAVER */ LongToCharLE(pNode->FsfbLinInfo.LocalNode.DATAVER[0],pMsgDataBuff+index); index +=4; LongToCharLE(pNode->FsfbLinInfo.LocalNode.DATAVER[1],pMsgDataBuff+index); index +=4; - /* 1ֽڵ NUM_DATAVER */ + /* 1���ֽڵ� NUM_DATAVER */ pMsgDataBuff[index++]=pNode->FsfbLinInfo.LocalNode.NumDataVer[0]; - /* 3ֽԤ */ + /* 3���ֽ�Ԥ�� */ index +=3; - /* 8ֽڵSYSCKW + /* 8���ֽڵ�SYSCKW D channel 1&2 */ LongToCharLE(COM_SYS_CHK_WD_1,pMsgDataBuff+index); index +=4; LongToCharLE(COM_SYS_CHK_WD_2,pMsgDataBuff+index); index +=4; - /* 4ֽڵCRC_1 */ + /* 4���ֽڵ�CRC_1 */ crcValue =Crc32(pMsgDataBuff,index); LongToCharLE(crcValue^0xFFFFFFFF,pMsgDataBuff+index); index +=4; - /* 4ֽڵCRC_2 */ + /* 4���ֽڵ�CRC_2 */ LongToCharLE(crcValue^0xFFFFFFFF,pMsgDataBuff+index); index +=4; if (index != SBT_DF_SIZE) @@ -1148,46 +1091,46 @@ void BuildSbtFrameDf(Fsfb_Lnk_Info_Node_Stru* pNode,UINT8* pMsgDataBuff) } /*********************************************************************** -* : CreateSseMsg -* : Ӧ SSEġ -* : -* +* ������ : CreateSseMsg +* �������� : ����Ӧ������ ����SSE���ġ� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- * applyCate UINT8 IN application cate -* pLnkNodeInfo Fsfb_Lnk_Info_Node_Stru** OUT ¶Ӧڵڷ -1 -* outSseMsg UINT8* OUT FSFDϢ֡ -* ֵ : UINT8 1 0󷵻 +* pLnkNodeInfo Fsfb_Lnk_Info_Node_Stru** OUT ���¶�Ӧ�ڵ����������������ڷ��� -1 +* outSseMsg UINT8* OUT FSFD��Ϣ֡ +* ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 CreateSseMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo,UINT8* outSseMsg) { UINT8 ret =0; UINT16 crc16 =0; - UINT32 tmpSeqEng=0;/* ʱSEQENQ */ - /* ͨ״̬Ϣ */ - /* Applicationcat */ + UINT32 tmpSeqEng=0;/* ��ʱ����SEQENQ */ + /* ͨ��״̬��Ϣ���� */ + /* ����Application��cat */ pLnkNodeInfo->Applcat = applyCate; - /* 趨սڵΪȴSSR*/ + /* �趨���սڵ�Ϊ�ȴ�SSR*/ pLnkNodeInfo->FsfbLinInfo.RecvLinkStatus = Fsfb_WaitSSR; pLnkNodeInfo->FsfbLinInfo.SendLinkStatus = Fsfb_Halt; - /* ͨŽڵδΪ0 */ + /* ͨ�Žڵ�δ������������Ϊ0 */ pLnkNodeInfo->FsfbLinInfo.NoRecvDataCycleNum =0; pLnkNodeInfo->IsSendFlag=0; - /* SSE ʱںͶӦʱ */ - pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTC = pLnkNodeInfo->FsfbLinInfo.TimeStmp.TC;/* Ӧֵ֤SSRļֵ */ - pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTn[0] = pLnkNodeInfo->FsfbLinInfo.TimeStmp.NowTn[0]; /* ӦʱյSSRʱʼSINITֵ */ + /* SSE ����ʱ�����ںͶ�Ӧ��ʱ������ */ + pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTC = pLnkNodeInfo->FsfbLinInfo.TimeStmp.TC;/* ��Ӧ������ֵ��������֤SSR������ļ�����ֵ */ + pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTn[0] = pLnkNodeInfo->FsfbLinInfo.TimeStmp.NowTn[0]; /* ��Ӧ��ʱ������յ�SSRʱ�����ʼSINITֵ */ pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTn[1]=pLnkNodeInfo->FsfbLinInfo.TimeStmp.NowTn[1]; - /* ֡ͷϢ趨 */ + /* ֡ͷ��Ϣ�趨 */ SetFsfbMsgHead(applyCate,FSFB_SSE_MSG,pLnkNodeInfo->FsfbLinInfo.sendSrcAdd,pLnkNodeInfo->FsfbLinInfo.sendDestAdd,outSseMsg); - /* Boby 趨 */ - /* 4*/ + /* Boby �趨 */ + /*������ 4*/ LongToCharLE(pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTC,&outSseMsg[FSFB_TC_POS]); /* SEQENQ_1 4*/ @@ -1198,7 +1141,7 @@ static UINT8 CreateSseMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo, tmpSeqEng = pLnkNodeInfo->FsfbLinInfo.LocalNode.SIDr[1]^pLnkNodeInfo->FsfbLinInfo.TimeStmp.SseTn[1]; LongToCharLE(tmpSeqEng,&outSseMsg[FSFB_SSE_ENQ_2_POS]); - /* CRC 趨 */ + /* CRC �趨 */ crc16 = ComComputeMsgCRC16(outSseMsg,SSE_SIZE-FSFB_CRC_16_LEN); ShortToCharLE(crc16,&outSseMsg[SSE_SIZE-FSFB_CRC_16_LEN]); @@ -1208,25 +1151,25 @@ static UINT8 CreateSseMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo, } /*********************************************************************** -* : CreateSsrMsg -* : Ӧ SSRġ -* : -* +* ������ : CreateSsrMsg +* �������� : ����Ӧ������ ���� SSR���ġ� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- * applyCate UINT8 IN application cate -* pLnkNodeInfo Fsfb_Lnk_Info_Node_Stru** OUT ¶Ӧڵڷ -1 -* OutSsrMsg UINT8* OUT FSFDϢ֡ -* ֵ : UINT8 1 0󷵻 +* pLnkNodeInfo Fsfb_Lnk_Info_Node_Stru** OUT ���¶�Ӧ�ڵ����������������ڷ��� -1 +* OutSsrMsg UINT8* OUT FSFD��Ϣ֡ +* ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 CreateSsrMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo,UINT8* outSsrMsg) { UINT8 ret =0; UINT16 crc16 =0; - UINT32 tmpSeqIni=0;/* ʱSEQIni */ - /* ͨ״̬Ϣ */ - /* Applicationcat */ + UINT32 tmpSeqIni=0;/* ��ʱ����SEQIni */ + /* ͨ��״̬��Ϣ���� */ + /* ����Application��cat */ pLnkNodeInfo->Applcat = applyCate; - /* 趨սڵΪȴSSR*/ + /* �趨���սڵ�Ϊ�ȴ�SSR*/ if (applyCate == APPLCAT_TDM) { pLnkNodeInfo->FsfbLinInfo.SendLinkStatus = Fsfb_Halt; @@ -1238,14 +1181,14 @@ static UINT8 CreateSsrMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo, pLnkNodeInfo->IsSendFlag=1; } - /* ֡ͷϢ趨 */ + /* ֡ͷ��Ϣ�趨 */ SetFsfbMsgHead(applyCate,FSFB_SSR_MSG,pLnkNodeInfo->FsfbLinInfo.rcvDestAdd,pLnkNodeInfo->FsfbLinInfo.rcvSrcAdd,outSsrMsg); - /* Boby 趨 */ - /* replier 4*/ + /* Boby �趨 */ + /*������ replier 4*/ LongToCharLE(pLnkNodeInfo->FsfbLinInfo.TimeStmp.TC,&outSsrMsg[FSFB_TC_POS]); - /* enqurier 4*/ + /*������ enqurier 4*/ LongToCharLE(pLnkNodeInfo->FsfbLinInfo.TimeStmp.RecvSseTCe,&outSsrMsg[FSFB_SSR_TCENQ_POS]); /* SEQENQ_1 4*/ @@ -1258,10 +1201,10 @@ static UINT8 CreateSsrMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo, ^pLnkNodeInfo->FsfbLinInfo.LocalNode.DATAVER[1]^pLnkNodeInfo->FsfbLinInfo.TimeStmp.NowTn[1]; LongToCharLE(tmpSeqIni,&outSsrMsg[FSFB_SSR_ENQ_2_POS]); - /* NUM_DATAVER 趨 ŵһ */ + /* NUM_DATAVER �趨 �����ŵ�һ�� */ outSsrMsg[FSFB_SSR_NUM_POS]=pLnkNodeInfo->FsfbLinInfo.LocalNode.NumDataVer[0]; - /* CRC 趨 */ + /* CRC �趨 */ crc16 = ComComputeMsgCRC16(outSsrMsg,SSR_SIZE-FSFB_CRC_16_LEN); ShortToCharLE(crc16,&outSsrMsg[SSR_SIZE-FSFB_CRC_16_LEN]); @@ -1271,45 +1214,45 @@ static UINT8 CreateSsrMsg(UINT8 applyCate,Fsfb_Lnk_Info_Node_Stru *pLnkNodeInfo, } /*********************************************************************** -* : CreateBtmMsg -* : BTMSBTʽɱġ -* : -* +* ������ : CreateBtmMsg +* �������� : ����BTM��SBT��ʽ���ɱ��ġ� +* ������� : +* ������ ���� ������� ���� * ------------------------------------------------------------------------------- * applyCate UINT8 IN application cate -* DataLen UINT16 IN ݳ -* userDataLen UINT16 IN ݲִС -* OutBtmMsg UINT8* OUT FSFDϢ֡ -* pPNode Fsfb_Lnk_Info_Node_Stru** OUT ¶Ӧڵڷ -1 +* DataLen UINT16 IN ���ݳ��� +* userDataLen UINT16 IN ���ݲ��ִ�С +* OutBtmMsg UINT8* OUT FSFD��Ϣ֡ +* pPNode Fsfb_Lnk_Info_Node_Stru** OUT ���¶�Ӧ�ڵ����������������ڷ��� -1 -* ڽڵҪпǣTodo -* ֵ : UINT8 1 0󷵻 +* ���ڽڵ�������Ҫ���п��ǣ�Todo�� +* ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 CreateBtmMsg(const UINT8 *pAppData,UINT16 DataLen,UINT16 userDataLen,UINT8 messType, UINT8 *OutBtmMsg, Fsfb_Lnk_Info_Node_Stru* pPNode) { UINT8 ret = 0; - UINT16 CRC16 = 0; /* FSFBϢCRC */ - UINT32 CRCM[2] ={0}; /* CRCM */ /* Ӧݳ */ + UINT16 CRC16 = 0; /* FSFB��ϢCRC */ + UINT32 CRCM[2] ={0}; /* CRCM���� */ /* Ӧ�����ݳ��� */ if (pPNode != NULL) { - /* ֡ͷ趨 */ + /* ֡ͷ�趨 */ SetFsfbMsgHead(APPLCAT_BTM,messType, pPNode->FsfbLinInfo.sendSrcAdd,pPNode->FsfbLinInfo.sendDestAdd,OutBtmMsg); - /* Body 趨 + /* Body �趨 * ------------------------------------------------------------------ - * | SDS | ȫݳ | CRCM_1 | CRCM_2 | Ӧ | - * 4ֽ | 2ֽ | 2ֽ | 4ֽ | 4ֽ | 36ֽ | + * ������ | SDS | ��ȫ���ݳ��� | CRCM_1 | CRCM_2 | Ӧ������ | + * 4�ֽ� | 2�ֽ� | 2�ֽ� | 4�ֽ� | 4�ֽ� | 36�ֽ� | * ------------------------------------------------------------------ */ - /* Ӧ */ - /* pAppDataʼ MsgLenӦݵ */ + /* Ӧ������ */ + /* ��pAppData��ʼ���� MsgLen��Ӧ�����ݵ� ������ */ if(userDataLen == DataLen) { ComMemCopy(pAppData, &OutBtmMsg[FSFB_DATA_POS],DataLen); - /* CRCMֵ,(϶1 ) */ + /* ����CRCMֵ,(�϶�����1 ) */ if((messType == FSFB_BTC_MSG)||(messType == FSFB_EBT_MSG)) { ComAddTimeStamp(&pPNode->FsfbLinInfo.TimeStmp); @@ -1320,21 +1263,21 @@ static UINT8 CreateBtmMsg(const UINT8 *pAppData,UINT16 DataLen,UINT16 userDataLe pPNode->FsfbLinInfo.TimeStmp.NowTn, CRCM); - /* 趨 4ֽ */ + /* ������ �趨 4�ֽ� */ LongToCharLE(pPNode->FsfbLinInfo.TimeStmp.TC, &OutBtmMsg[FSFB_TC_POS]); - /* ȫݳ Ӧ+ 2CRCM 2ֽ */ + /* ��ȫ���ݳ��� Ӧ������+ 2��CRCM���� 2�ֽ� */ ShortToCharLE((UINT16)(DataLen+2*FSFB_CRCM_LEN), &OutBtmMsg[FSFB_DATA_SIZE_POS]); - /* CRCM[0] CRCM[1] 趨 4 ֽ */ + /* CRCM[0] CRCM[1] �趨 4 �ֽ� */ LongToCharLE(CRCM[0],&OutBtmMsg[FSFB_CRCM_1_POS]); LongToCharLE(CRCM[1],&OutBtmMsg[FSFB_CRCM_2_POS]); - /* 16λ CRC 趨 2 ֽ */ + /* 16λ CRC �趨 2 �ֽ� */ CRC16 = ComComputeMsgCRC16(OutBtmMsg,(UINT16)(userDataLen+FSFB_BTM_HEAD_LEN)); ShortToCharLE(CRC16,&OutBtmMsg[(UINT16)(userDataLen+FSFB_BTM_HEAD_LEN)]); - /* ޷ӦΪ 0 */ + /* �޷���Ӧ��������Ϊ 0 */ pPNode->FsfbLinInfo.NoAppDataCycleNum = 0; pPNode->IsSendFlag=0; /*pPNode->FsfbLinInfo.RecvLinkStatus = Fsfb_WaitBtm_AbtOrSse;*/ @@ -1343,7 +1286,7 @@ static UINT8 CreateBtmMsg(const UINT8 *pAppData,UINT16 DataLen,UINT16 userDataLe } else { - /* Ӵ¼ */ + /* ���Ӵ����¼�� */ ret = 0; } } @@ -1351,61 +1294,58 @@ static UINT8 CreateBtmMsg(const UINT8 *pAppData,UINT16 DataLen,UINT16 userDataLe return ret; } /*********************************************************************** -* : SetFsfbMsgHead -* : FsfbϢ֡ͷɡ -* : -* +* ������ : SetFsfbMsgHead +* �������� : Fsfb��Ϣ֡ͷ���ɡ� +* ������� : +* ������ ���� ������� ���� * -------------------------------------------------------------- -* applCat UINT8 IN Ӧò -* MsgType UINT8 IN Ϣ -* SrcAddr UINT16 IN Դַ -* DestAddr UINT16 IN Ŀַ -* OutFsfbMsg UINT8* OUT FsfbϢ֡ -* ֵ : +* applCat UINT8 IN Ӧ�ò��� +* MsgType UINT8 IN ��Ϣ���� +* SrcAddr UINT16 IN Դ��ַ +* DestAddr UINT16 IN Ŀ���ַ +* OutFsfbMsg UINT8* OUT Fsfb��Ϣ֡ +* ����ֵ : �� ***********************************************************************/ static void SetFsfbMsgHead(UINT8 applCat,UINT8 MsgType, UINT16 SrcAddr, UINT16 DestAddr, UINT8 *OutFsfbMsg) { OutFsfbMsg[FSFB_APP_CTGRY_POS] = applCat; /* signaling variables */ - OutFsfbMsg[FSFB_MSG_TYPE_POS] = MsgType; /* Ϣ趨 */ - ShortToCharLE(SrcAddr,&OutFsfbMsg[FSFB_SRC_ADD_POS]); /* 趨ԴַLITTLE endian */ - ShortToCharLE(DestAddr,&OutFsfbMsg[FSFB_DEST_ADD_POS]); /* 趨ԴַLITTLE endian */ + OutFsfbMsg[FSFB_MSG_TYPE_POS] = MsgType; /* ��Ϣ�����趨 */ + ShortToCharLE(SrcAddr,&OutFsfbMsg[FSFB_SRC_ADD_POS]); /* �趨Դ��ַ��LITTLE endian */ + ShortToCharLE(DestAddr,&OutFsfbMsg[FSFB_DEST_ADD_POS]); /* �趨Դ��ַ��LITTLE endian */ } /*********************************************************************** - * : FsfbCheckBtdMsg - * : ֤BTDĵȷԡ - * : - * + * ������ : FsfbCheckBtdMsg + * �������� : ��֤BTD���ĵ���ȷ�ԡ� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pBsdMsg const UINT8 * IN Bsd - * pLnkNode Fsfb_Lnk_Info_Node_Stru INOUT FSFB·Ϣ - * pFsfbStruct FSFB_INFO_STRU * INOUT Эͳһṹ - * ֵ : UINT8 1 0󷵻 + * pBsdMsg const UINT8 * IN Bsd���� + * pLnkNode Fsfb_Lnk_Info_Node_Stru INOUT FSFB��·��Ϣ + * pFsfbStruct FSFB_INFO_STRU * INOUT Э��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 FsfbCheckBtdMsg(const UINT8 *pBtdMsg,Fsfb_Lnk_Info_Node_Stru *pLnkNode, FSFB_INFO_STRU *pFsfbStruct) { - UINT8 retVal = 1; /* ʼΪ */ + UINT8 retVal = 1; /* ��ʼ��Ϊ�������� */ UINT8 tmpret = 0; - INT32 DelayTCr = 0; /* */ - INT32 Tout = 0; /* ϴյĵʱ */ - UINT32 TCr = 0; /* ʱ */ - UINT32 SidXorTn[2] = {0}; /* SID XOR TN BSDļ */ - ComTimeStampStru *pTmStmp = &pLnkNode->FsfbLinInfo.TimeStmp; /* ʱṹ */ - const FsfbNodeParamInfoStru *pNodeParam = &pLnkNode->FsfbLinInfo.LocalNode; /* ڵϢṹ */ + INT32 DelayTCr = 0; /* ������ */ + INT32 Tout = 0; /* �����ϴ��յ����ĵ�ʱ��� */ + UINT32 TCr = 0; /* ����ʱ�� */ + UINT32 SidXorTn[2] = {0}; /* SID XOR TN ��BSD���ļ������ */ + ComTimeStampStru *pTmStmp = &pLnkNode->FsfbLinInfo.TimeStmp; /* ʱ����ṹ�� */ + const FsfbNodeParamInfoStru *pNodeParam = &pLnkNode->FsfbLinInfo.LocalNode; /* �ڵ������Ϣ�ṹ�� */ UINT8 *RecordArray = pFsfbStruct->RecordArray; UINT16 RecordArraySize = pFsfbStruct->RecordArraySize; - PrintRecArrayByte(RecordArray, RecordArraySize, IN_BTD_STATUS); /*BTD״̬*/ - PrintRecArrayByte(RecordArray, RecordArraySize, pLnkNode->FsfbLinInfo.RecvLinkStatus); - - /* ͨŽڵ״̬Ϊ ״̬ */ + /* ͨ�Žڵ����״̬Ϊ ��������״̬ */ if( Fsfb_RecvData == pLnkNode->FsfbLinInfo.RecvLinkStatus) { - /* ʱ */ + /* ����ʱ�� */ TCr = LongFromCharLE(&pBtdMsg[FSFB_TC_POS]); /* - * ϴαĵʱһ(ͬһͬʱܵBSDĺSSR)ñ - * 鶪Ƿʱ + * ������ϴα��ĵ�ʱ��һ��(��ͬһ������ͬʱ�ܵ�BSD���ĺ�SSR����)�������ñ��� + * ���� ��鶪�����Ƿ�ʱ */ if( TCr != pTmStmp->NowRecvTCr) { @@ -1418,7 +1358,7 @@ static UINT8 FsfbCheckBtdMsg(const UINT8 *pBtdMsg,Fsfb_Lnk_Info_Node_Stru *pLnkN if(DelayTCr >= 0) { - /* ijʱ */ + /* ���ij�ʱ ��� */ if(pTmStmp->LastLocalRecTC != *pFsfbStruct->CycleNum) { Tout = ComCheckTimeStamp(*pFsfbStruct->CycleNum, @@ -1426,85 +1366,57 @@ static UINT8 FsfbCheckBtdMsg(const UINT8 *pBtdMsg,Fsfb_Lnk_Info_Node_Stru *pLnkN } else { - /* ˵Ѿյһ֡ݣҪʱ */ + /* ˵���������Ѿ��յ�һ֡�����ݣ�����Ҫ������ʱ��� */ Tout = 0; } - if (Tout >= 0) /* Ϸʱյ */ + if(Tout >= 0) /* �Ϸ�ʱ�����յ����� */ { - /* RSDȡSID XOR TN CRCM[chan] ^ CRC[chan] ^ SYS_CHK_WD[chan] */ - tmpret = ComGetSidXorTn(pBtdMsg, SidXorTn); - /* CRCMЧ */ - retVal = ComCheckCRCM(SidXorTn, pTmStmp->NowSINIT_ADD_SID_XOR_Tn, - DelayTCr, pNodeParam->TSD_POST_RXDADA_K); - if ((1 == retVal) && (tmpret == 1)) /* ɹ ӦϢ */ + /* ��RSD������ȡ��SID XOR TN ��CRCM[chan] ^ CRC[chan] ^ SYS_CHK_WD[chan] */ + tmpret = ComGetSidXorTn(pBtdMsg,SidXorTn); + /* ����CRCM����Ч�� */ + retVal = ComCheckCRCM(SidXorTn,pTmStmp->NowSINIT_ADD_SID_XOR_Tn , + DelayTCr,pNodeParam->TSD_POST_RXDADA_K); + if((1 == retVal)&&(tmpret == 1)) /* ���ɹ� �������Ӧ��Ϣ */ { - /* ʱṹ : pTmStmpStruǿգֵ϶Ϊ1 */ - retVal = ComUpdtTmStmpStru(SidXorTn, TCr, DelayTCr, pNodeParam->PREC_SINIT_K, pTmStmp); - retVal = 1; /* */ + /* ����ʱ����ṹ�� : pTmStmpStru�ǿգ�����ֵ�϶�Ϊ1 */ + retVal = ComUpdtTmStmpStru(SidXorTn,TCr,DelayTCr,pNodeParam->PREC_SINIT_K,pTmStmp); + retVal = 1; /* �������� */ } else { -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ - PrintFiles(RecordArray, RecordArraySize, "W:CRCM Error.\n"); +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ + PrintFiles(RecordArray,RecordArraySize,"W:CRCM Error.\n"); #endif - - PrintRecArrayByte(RecordArray, RecordArraySize, IN_BTD_SVC_ERR); /*BTDSVC*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, pLnkNode->DestDevName); /*DestDevName*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, SidXorTn[0]); /*sidXorTn[0]*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, SidXorTn[1]); /*sidXorTn[1]*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, pTmStmp->NowSINIT_ADD_SID_XOR_Tn[0]); /*NowSINIT_ADD_SID_XOR_Tn[0]*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, pTmStmp->NowSINIT_ADD_SID_XOR_Tn[1]); /*NowSINIT_ADD_SID_XOR_Tn[1]*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, TCr); /*tc*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, pTmStmp->NowRecvTCr); /*NowRecvTCr*/ - PrintRecArrayByte(RecordArray, RecordArraySize, pNodeParam->MaxLost); /*BTDSVC*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, DelayTCr); /*delayTc*/ - - /* ʧ 󷵻 */ + /* ���ʧ�� ���󷵻� */ retVal = 0; - } + } } - else /* ʱ */ + else /* ��ʱ */ { -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:Time Out.\n"); #endif - - PrintRecArrayByte(RecordArray, RecordArraySize, IN_BTD_DELAY_ERR); /*BTDӳٳ*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, pLnkNode->DestDevName); /*DestDevName*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, *pFsfbStruct->CycleNum); /*tc*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, pTmStmp->LastLocalRecTC); /*NowRecvTCr*/ - PrintRecArrayByte(RecordArray, RecordArraySize, pNodeParam->Tout); - PrintRecArray4ByteB(RecordArray, RecordArraySize, Tout); - retVal = 0; } } else { -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ - PrintFiles(RecordArray, RecordArraySize, "DelayTCr > MaxLost\n"); +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ + PrintFiles(RecordArray,RecordArraySize,"DelayTCr > MaxLost\n"); #endif - - PrintRecArrayByte(RecordArray, RecordArraySize, IN_BTD_LOST_ERR); /*BTDʧ*/ - PrintRecArray2ByteB(RecordArray, RecordArraySize, pLnkNode->DestDevName); /*DestDevName*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, TCr); /*tc*/ - PrintRecArray4ByteB(RecordArray, RecordArraySize, pTmStmp->NowRecvTCr); /*NowRecvTCr*/ - PrintRecArrayByte(RecordArray, RecordArraySize, pNodeParam->MaxLost); - PrintRecArray4ByteB(RecordArray, RecordArraySize, DelayTCr); /*delayTc*/ - - /* Ķ طSSEͬ */ + /* ���������� ���Ķ����� �ط�SSE����ͬ�� */ pLnkNode->FsfbLinInfo.RecvLinkStatus = Fsfb_SendBtm_Sbt; retVal = 0; - } + } } else if( Fsfb_Halt == pLnkNode->FsfbLinInfo.RecvLinkStatus) { - pLnkNode->FsfbLinInfo.RecvLinkStatus = Fsfb_SendBtm_Sbt; /* ״̬ΪSBT */ + pLnkNode->FsfbLinInfo.RecvLinkStatus = Fsfb_SendBtm_Sbt; /* ״̬����Ϊ����SBT */ retVal = 0; } - else /* ״̬ */ + else /* ����״̬�������� */ { -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordArraySize,"W:RecvStatus() not RecvData or Halt.Discard Bsd Msg."); PrintFileHex(RecordArray,RecordArraySize,&pLnkNode->FsfbLinInfo.RecvLinkStatus,1); PrintFiles(RecordArray,RecordArraySize,"\n"); @@ -1515,5 +1427,5 @@ static UINT8 FsfbCheckBtdMsg(const UINT8 *pBtdMsg,Fsfb_Lnk_Info_Node_Stru *pLnkN return retVal; } /*-------------------------------------------------------------------- - * Ĵģڲӿں END + * ���Ĵ���ģ���ڲ��ӿں��� END *--------------------------------------------------------------------*/ diff --git a/TSCP/src/protocol/fsfb/common_fsfb/FsfbProtcl.c b/TSCP/src/protocol/fsfb/common_fsfb/FsfbProtcl.c index 484dd2f..261d5f6 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/FsfbProtcl.c +++ b/TSCP/src/protocol/fsfb/common_fsfb/FsfbProtcl.c @@ -1,55 +1,55 @@ /** ****************************************************** * -* ļ FsfbProtcl.c -* Ȩ˵ ؿƼ޹˾ -* 汾 1.0 -* ʱ䣺 2013.09.05 -* -* FSFBЭʵ -* ʹע⣺ +* �ļ��� �� FsfbProtcl.c +* ��Ȩ˵���� �������ؿƼ����޹�˾ +* �汾�� �� 1.0 +* ����ʱ�䣺 2013.09.05 +* ���� �� ������ +* ���������� FSFBЭ��ʵ�� +* ʹ��ע�⣺ * -* ޸ļ¼ -* 2014.5.21 -* ޸ݣFsfbProtclRefreshLnkˣ tmpInput = ShortFromChar(pLnkStatusData); -* ޸ɣ֮ǰûлȡݵijȣ޷ʵָ +* �޸ļ�¼�� +* 2014.5.21 ������ +* �޸����ݣ���FsfbProtclRefreshLnk���������������ˣ� tmpInput = ShortFromChar(pLnkStatusData); +* �޸����ɣ�֮ǰû�л�ȡ�������ݵij��ȣ�����޷�ʵ�ָ��� -* 2014.5.21 -* ޸ݣFsfbProtclRefreshLnkУ -* FsfbVarArray2LnkNodeInfo(pLnkStatusData, CurLnk); -* ΪFsfbVarArray2LnkNodeInfo((UINT8 *)&pLnkStatusData[2+FSFB_VAR_NODE_LEN * i], CurLnk); -* ֮ǰˢϢһֱΪıˢ²ȫ - ޸: ֮ǰˢϢһֱΪıˢ²ȫ +* 2014.5.21 ������ +* �޸����ݣ���FsfbProtclRefreshLnk���������У� +* ����FsfbVarArray2LnkNodeInfo(pLnkStatusData, CurLnk); +* ��ΪFsfbVarArray2LnkNodeInfo((UINT8 *)&pLnkStatusData[2+FSFB_VAR_NODE_LEN * i], CurLnk); +* ֮ǰ����ˢ����Ϣ������һֱΪ�ı����ˢ�²���ȫ����� + �޸�����: ֮ǰ����ˢ����Ϣ������һֱΪ�ı����ˢ�²���ȫ����� -* 2014.5.30 - ޸: FsfbStructInit(): pFsfbStruct->AppArrayijֶγʼΪ0 - ޸: Ϊ4ֽlong +* 2014.5.30 ������ + �޸�����: ��FsfbStructInit()��: pFsfbStruct->AppArray�ij����ֶγ�ʼ��Ϊ0 + �޸�����: ����Ϊ4���ֽ�long ֮ǰ:ShortToChar(0, pFsfbStruct->AppArray); - Ϊ:LongToChar(0, pFsfbStruct->AppArray); + ��Ϊ:LongToChar(0, pFsfbStruct->AppArray); - 2014.5.30 - ޸: FsfbStructInit()pFsfbStruct->VarArrayijֶεijʼ - ޸: ʼʱӦñʼ + 2014.5.30 ������ + �޸�����: ��FsfbStructInit()�������pFsfbStruct->VarArray�ij����ֶεij�ʼ�� + �޸�����: ��ʼ��ʱ����Ӧ�ñ���ʼ�� - 2014.5.30 - ޸:FsfbStructInit()е"·ջռ"ģ - ˶ջʼɶջʼ - ޸:ʹģ黯 + 2014.5.30 ������ + �޸�����:��FsfbStructInit()�е�"������·������ջ�ռ�"ģ�� + �����˶�ջ��ʼ������������ɶ�ջ��ʼ�� + �޸�����:������ʹ�����������ģ�黯 - 2014.5.30 - ޸:FsfbStructInit()е"ʱĻ"ģ - ʱڴռijʼ - ޸:¿ٵڴռӦýгʼ - 2014.8.05 - ޸:ReadQueueData()У޸BTD֧ķֵBTD֤ͨ - ֻǽ򵥵Ķ崻 - ޸:Ҫ - 2014.8.05 - ޸:ReadQueueData()Уһ֡ݳ:ݳ+2󳤶ʱ - ֡ݶִ - ޸:֮ǰδ˷֧ - 2014.8.14 - ޸ݣFsfbProtclOutPutȡÿһ֡Դ֡ݳȽ֤Ϸ֡ - ޸ɣ֮ǰֻǶԵһ֡ݳȷûж֡ݳȷҶԲϷ֡ûнӦ + 2014.5.30 ������ + �޸�����:��FsfbStructInit()�е�"��ʱ���Ļ�����"ģ������� + ��ʱ�������ڴ�ռ�ij�ʼ�� + �޸�����:�¿��ٵ��ڴ�ռ�Ӧ�ý��г�ʼ�� + 2014.8.05 ������ + �޸�����:ReadQueueData()�����У��޸���BTD��֧�ķ���ֵ�����BTD��֤��ͨ���� + ֻ�ǽ���򵥵Ķ������������崻��� + �޸�����:������Ҫ + 2014.8.05 ������ + �޸�����:ReadQueueData()�����У���һ֡���ݳ���:���������ݳ���+2�����������󳤶�ʱ�� + ����֡���ݶ���������ִ�� + �޸�����:֮ǰδ���˷�֧���� + 2014.8.14 ������ + �޸����ݣ�FsfbProtclOutPut������ȡ��ÿһ֡���Դ�֡���ݳ��Ƚ�����֤���Ϸ�����������֡ + �޸����ɣ�֮ǰֻ�ǶԵ�һ֡�������ݳ��ȷ�����û�ж�����֡�����ݳ��ȷ����ҶԲ��Ϸ�֡û�н�����Ӧ���� * ------------ ------ --------------- ********************************************************/ #include "string.h" @@ -58,14 +58,14 @@ #include "CommonRecord.h" #include "dsuFsfbFunc.h" #include "FsfbConfig.h" -#include "FsfbRecordDelare.h " +#include "FsfbRecordDelare.h" #include "FsfbProtclCommon.h" #include "FsfbLnkNodeMgr.h" #include "FsfbMessageInfo.h" #include "RpHandleInterface.h" /*-------------------------------------------------------------------- - * FSFBЭڲ Start + * FSFBЭ���ڲ��������� Start *--------------------------------------------------------------------*/ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct); static UINT8 FsfbInitLnkMngr(FSFB_INFO_STRU *pFsfbStruct); @@ -76,21 +76,21 @@ static void ClearNetsRecvPkgNum(FSFB_INFO_STRU* fsfb); static void SetNetsRecvPkgNum(FSFB_INFO_STRU* fsfb, const UINT16 dstDevName, const UINT8 netIdx); /*-------------------------------------------------------------------- - * FSFBЭڲ End + * FSFBЭ���ڲ��������� End *--------------------------------------------------------------------*/ /*-------------------------------------------------------------------- - * FSFBЭⲿӿں Start + * FSFBЭ���ⲿ�ӿں��� Start *--------------------------------------------------------------------*/ /****************************************************************************************** -* : Эʼ - 1. ڵô˺֮ǰӦҪͳһṹInputSizeOutputSize,MaxNumLink, - MaxNumPerCycle,OutnetQueueSizeȱֵ -* : UINT8 * fileName ݵļַ -* : FSFB_INFO_STRU* pFsfbStruct Эͳһṹָ -* : -* ȫֱ : -* ֵ : ʼ1򷵻0 +* �������� : Э���ʼ������ + 1. �ڵ��ô˺���֮ǰ��Ӧ��Ҫ��ͳһ�ṹ����InputSize��OutputSize,MaxNumLink, + MaxNumPerCycle,OutnetQueueSize�ȱ�����ֵ +* ������� : UINT8 * fileName ������ݵ��ļ������ַ +* ����������� : FSFB_INFO_STRU* pFsfbStruct Э��ͳһ�ṹ��ָ�� +* ������� : +* ȫ�ֱ��� : +* ����ֵ : ������ʼ������1�����򷵻�0 *******************************************************************************************/ UINT8 FsfbProtclInit(UINT8* fileName,FSFB_INFO_STRU* pFsfbStruct) { @@ -102,31 +102,31 @@ UINT8 FsfbProtclInit(UINT8* fileName,FSFB_INFO_STRU* pFsfbStruct) return retVal; } - /* DSUѯгʼ */ + /* ��DSU���ѯ�������г�ʼ������ */ retVal = dsuFsFbInit(fileName); if( 0 == retVal ) { - /* DSUѯʼʧ */ + /* DSU��ѯ�������ʼ��ʧ�� */ return retVal; } else { - /* ʲô */ + /* ʲô���� */ } - /* FSFBṹʼ */ + /* FSFB�ṹ���ʼ�� */ retVal = FsfbStructInit(pFsfbStruct); if(0 == retVal) { - /* ¼ */ + /* ��¼ */ return retVal; } else { - /* ʲô */ + /* ʲô���� */ } - /* ͨ·ʼ */ + /* ͨ����·������ʼ�� */ if(!FsfbInitLnkMngr(pFsfbStruct)) { retVal =0; @@ -136,62 +136,58 @@ UINT8 FsfbProtclInit(UINT8* fileName,FSFB_INFO_STRU* pFsfbStruct) retVal = InitFsfbRedunStruct(pFsfbStruct, &pFsfbStruct->RpInfoStru); if(0 == retVal) { - /* ʧ ʲô */ + /* ����ʧ�� ʲô���� ���� */ return retVal; } else { - /*ʼɹ*/ + /*��ʼ���ɹ�*/ } - /* ʼ */ + /* �����ʼ�� */ retVal = RpHandleInit(&pFsfbStruct->RpInfoStru); if(0 == retVal) { - /* ʼʧ */ + /* ��ʼ��ʧ�� */ return retVal; } else { - /* 㴦ɹ */ + /* ����㴦��ɹ� */ } return retVal; } /****************************************************************************************** -* : ЭԪ,ЭĹ,Ӧô֡, - ΪݱȽϵԪ׼ñ,ͬʱά· -* : -* : FSFB_INFO_STRU* pFsfbStruct Эͳһṹָ : -* ֵ : ȷ1󷵻0 +* �������� : Э�������Ԫ��������,����Э��Ĺ���,��Ӧ�ô�����������֡, + ��Ϊ���ݱȽϵ�Ԫ׼���ñ��������,ͬʱά����·����� +* ������� : +* ����������� : FSFB_INFO_STRU* pFsfbStruct Э��ͳһ�ṹ��ָ�� : +* ����ֵ : ��ȷ����1�����󷵻�0 *******************************************************************************************/ UINT8 FsfbProtclOutPut(FSFB_INFO_STRU* pFsfbStruct) { - UINT8 retVal = 1;/*ֵ*/ - UINT8 tmpRetVal = 1;/*ʱֵ*/ + UINT8 retVal = 1;/*��������ֵ*/ + UINT8 tmpRetVal = 1;/*��ʱ��������ֵ*/ UINT32 index =0; - UINT16 msgLen = 0;/* Ϣ */ - UINT16 outputDataLen =0; /* һ֡ݳ */ - UINT16 maxMagLen = 0; /* һ֡ݵ󳤶 */ - UINT8 tmpBuff[2]={0}; /* ɱĵʱ */ - UINT16 fsfbVarLen = 0;/*FSFBЭм*/ - UINT16 redunVarLen = 0;/*мݳ*/ - Fsfb_Lnk_Info_Node_Stru* pNode = NULL; /* ͨŽڵָ */ - Fsfb_Lnk_Info_Node_Stru* CurFillLnk;/*嵱ǰָ;*/ - - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_APP); /**/ - PrintRecArray4ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, QueueStatus(&pFsfbStruct->OutputDataQueue)); + UINT16 msgLen = 0;/* ��Ϣ���� */ + UINT16 outputDataLen =0; /* ���һ֡���ݳ��� */ + UINT16 maxMagLen = 0; /* һ֡���ݵ���󳤶� */ + UINT8 tmpBuff[2]={0}; /* ���ɱ��ĵ���ʱ������ */ + UINT16 fsfbVarLen = 0;/*FSFBЭ���м��������*/ + UINT16 redunVarLen = 0;/*������м�������ݳ���*/ + Fsfb_Lnk_Info_Node_Stru* pNode = NULL; /* ͨ�Žڵ�ָ�� */ + Fsfb_Lnk_Info_Node_Stru* CurFillLnk;/*���嵱ǰָ��;*/ CurFillLnk=pFsfbStruct->LnkHead; - /* ޷ۼ */ + /* �޷����������ۼ� */ while(CurFillLnk!= NULL) { CurFillLnk->FsfbLinInfo.NoAppDataCycleNum++; ComAddTimeStamp(&CurFillLnk->FsfbLinInfo.TimeStmp); - /* TDM֡*/ + /* �����TDM֡*/ CurFillLnk =CurFillLnk->NextNode; } @@ -200,52 +196,45 @@ UINT8 FsfbProtclOutPut(FSFB_INFO_STRU* pFsfbStruct) index =4; if(QueueStatus(&pFsfbStruct->OutputDataQueue)>2) { - /*Ҫ͵Ӧ*/ + /*��������Ҫ���͵�Ӧ������*/ while (QueueStatus(&pFsfbStruct->OutputDataQueue)>2) { - /* ɨֽڵij:һ֡Ӧݵij */ + /* ɨ�������ֽڵij���:һ֡Ӧ�����ݵij��� */ QueueScan(2,tmpBuff,&pFsfbStruct->OutputDataQueue); msgLen = ShortFromChar(tmpBuff); if(msgLen <= maxMagLen) - {/* нڵݳ Сڵ */ + {/* ���нڵ����ݳ��� С�ڵ��� ������� */ - /*ȡһ֡ */ + /*��ȡһ֡���� */ tmpRetVal = QueueRead((UINT32)(msgLen+2),pFsfbStruct->TmpDataBuff,&pFsfbStruct->OutputDataQueue); if (tmpRetVal == 1) { - /*ϢͬϢ */ + /*���������Ϣ������ͬ����Ϣ���� */ tmpRetVal =AccordInfoCreateFrameData(pFsfbStruct->TmpDataBuff,(msgLen+2),pFsfbStruct->AppArray+index,&outputDataLen,&pNode,pFsfbStruct); index +=outputDataLen; } if (tmpRetVal == 0) { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_READ_ERR); /*Ӧݴ*/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, fsfbVarLen); - LongToChar(0,pFsfbStruct->AppArray); break; } } else { - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_FRAME_LEN_ERR); /*Ӧ֡ݳȴ*/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, msgLen); - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, maxMagLen); - - QueueElementDiscard( msgLen, &pFsfbStruct->OutputDataQueue);/*֡*/ + QueueElementDiscard( msgLen, &pFsfbStruct->OutputDataQueue);/*������֡����*/ } } } else { - /*Ҫ͵Ӧ*/ + /*��������Ҫ���͵�Ӧ������*/ QueueClear(&pFsfbStruct->OutputDataQueue); LongToChar(0,pFsfbStruct->AppArray); ShortToChar(0,pFsfbStruct->VarArray); } - /* ·ϢӦ֡ */ + /* ������·��Ϣ�������Ӧ֡ */ tmpRetVal = ArrordLnkInfoCreateFrame(pFsfbStruct,&pFsfbStruct->AppArray[index],&outputDataLen); index+=outputDataLen; @@ -257,35 +246,30 @@ UINT8 FsfbProtclOutPut(FSFB_INFO_STRU* pFsfbStruct) { LongToChar(index-4,pFsfbStruct->AppArray); - /*дм*/ - /*ݽṹ*/ + /*д���м����*/ + /*���ݽṹ*/ /******************************************************* - ܳ |FSFBЭм |м - 2ֽ | N | M + �����ܳ��� |FSFBЭ���м���� |�����м���� + 2�ֽ� | N | M *******************************************************/ fsfbVarLen = FsfbWriteToVarArray(&pFsfbStruct->VarArray[2],pFsfbStruct); - redunVarLen = RpHandleOutput(&pFsfbStruct->RpInfoStru, pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize); - /*ദṹемFSFBЭм*/ + redunVarLen = RpHandleOutput(&pFsfbStruct->RpInfoStru); + /*�����ദ��ṹ���е��м����������FSFBЭ���м������*/ ComMemCopy(pFsfbStruct->RpInfoStru.VarArray,&pFsfbStruct->VarArray[2+fsfbVarLen],redunVarLen); - /*дмܳ*/ + /*д���м�����ܳ���*/ if(fsfbVarLen+redunVarLen <= 65535) { ShortToChar((UINT16)(fsfbVarLen+redunVarLen),pFsfbStruct->VarArray); } else { - /*Ҫ͵Ӧ*/ + /*��������Ҫ���͵�Ӧ������*/ QueueClear(&pFsfbStruct->OutputDataQueue); LongToChar(0,pFsfbStruct->AppArray); ShortToChar(0,pFsfbStruct->VarArray); - /*Խ,Ӧò崻*/ - - PrintRecArrayByte(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, OUT_ALL_LEN_ERR); /**/ - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, fsfbVarLen); - PrintRecArray2ByteB(pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, redunVarLen); - + /*����Խ��,������Ӧ�ò�崻�*/ retVal = 0; } } @@ -293,63 +277,57 @@ UINT8 FsfbProtclOutPut(FSFB_INFO_STRU* pFsfbStruct) } /*********************************************************************** - * : FsfbProtclReceiveData - * : ԺݽFSFBİȫȫݽӦá - * : - * + * ������ : FsfbProtclReceiveData + * �������� : �Ժ������������ݽ���FSFB��İ�ȫ��������ȫ���ݽ���Ӧ�á� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭͳһṹ - * УpFsfbStruct->OutnetQueueA + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭ��ͳһ�ṹ�� + * ������У�pFsfbStruct->OutnetQueueA * pFsfbStruct->OutnetQueueB - * УpFsfbStruct->DataToApp + * ������У�pFsfbStruct->DataToApp * - * ֵ : UINT8 1 0󷵻 + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ UINT8 FsfbProtclReceiveData(FSFB_INFO_STRU* pFsfbStruct) { UINT8 retVal =0; - UINT16 MaxLen = 0; /* һ֡С */ - UINT8 *RecordArray = pFsfbStruct->RecordArray; /* ¼ */ - UINT16 RecordSize = pFsfbStruct->RecordArraySize; /* ¼С */ - UINT32 inputQueLen = 0u; /*г*/ + UINT16 MaxLen = 0; /* һ֡��������С */ + UINT8 *RecordArray = pFsfbStruct->RecordArray; /* ��¼ */ + UINT16 RecordSize = pFsfbStruct->RecordArraySize; /* ��¼�����С */ - /* ¼ */ + /* ��¼���� */ ShortToChar(0,pFsfbStruct->RecordArray); -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ PrintFiles(RecordArray,RecordSize,"FSFB Receive:\n"); #endif -#ifdef FSFB_RECORD_SIMPLIFY_BIN /* */ - /* RSR뵥Ԫʶ */ - PrintRecArray2ByteB(RecordArray, RecordSize, FSFB_CYCLE_TAG); /* ڿʼ0xEE */ /* M_2010_05_10 */ - PrintRecArray4ByteB(RecordArray,RecordSize,*pFsfbStruct->CycleNum); /* ں */ /*M_2010_05_10 */ - PrintRecArrayByte(RecordArray,RecordSize,pFsfbStruct->LocalType); /* */ - PrintRecArrayByte(RecordArray,RecordSize,pFsfbStruct->LocalID); /* ID */ - inputQueLen = QueueStatus(&pFsfbStruct->OutnetQueueR); - PrintRecArray4ByteB(RecordArray, RecordSize, inputQueLen); /**/ - inputQueLen = QueueStatus(&pFsfbStruct->OutnetQueueB); - PrintRecArray4ByteB(RecordArray, RecordSize, inputQueLen); /**/ +#ifdef FSFB_RECORD_SIMPLIFY_BIN /* ������ */ + /* RSR���뵥Ԫ��ʶ */ + PrintRecArrayByte(RecordArray,RecordSize,FSFB_CYCLE_TAG); /* �����ڿ�ʼ��0xEE */ /* M_2010_05_10 */ + PrintRecArray4ByteB(RecordArray,RecordSize,*pFsfbStruct->CycleNum); /* ���ں� */ /*M_2010_05_10 */ + PrintRecArrayByte(RecordArray,RecordSize,FSFB_RCV_TAG); + PrintRecArrayByte(RecordArray,RecordSize,pFsfbStruct->LocalType); /* �������� */ + PrintRecArrayByte(RecordArray,RecordSize,pFsfbStruct->LocalID); /* ����ID */ #endif - QueueClear(&pFsfbStruct->DataToApp); /* */ + QueueClear(&pFsfbStruct->DataToApp); /* ������� */ - /* нڵݳ = InputSize + FSFBϢ̶ + й̶(4+ 2) */ + /* ���нڵ�������ݳ��� = InputSize + FSFB��Ϣ�̶����� + ���й̶�����(4+ 2) */ MaxLen = pFsfbStruct->InputSize + FSFB_FIXED_LEN + 6; ClearNetsRecvPkgNum(pFsfbStruct); - /* Ժյݽд */ - PrintRecArrayByte(RecordArray, RecordSize, IN_RED); /**/ + /* �Ժ������յ������ݽ��д��� */ retVal = ReadQueueData(&pFsfbStruct->OutnetQueueR, MaxLen, pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, 0, pFsfbStruct); - /* յݽд */ - PrintRecArrayByte(RecordArray, RecordSize, IN_BLUE); /**/ + /* ���������յ������ݽ��д��� */ retVal = ReadQueueData(&pFsfbStruct->OutnetQueueB, MaxLen, pFsfbStruct->RecordArray, pFsfbStruct->RecordArraySize, 1, pFsfbStruct); - /* ı 浽ʱ */ + /* ����������ı��� ��������� ���浽��ʱ���������� */ - /* ״̬ */ + /* ����״̬���� */ retVal=FsfbRecvLnkStatusMng(pFsfbStruct); @@ -357,22 +335,22 @@ UINT8 FsfbProtclReceiveData(FSFB_INFO_STRU* pFsfbStruct) } /*********************************************************************** - * : FsfbProtclDeleteLnk - * : 豸ͺ豸IDɾ· - * : - * + * ������ : FsfbProtclDeleteLnk + * �������� : �����豸���ͺ��豸IDɾ����·�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devType UINT8 IN 豸 - * devId UINT8 IN 豸ID - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭͳһṹ - * ֵ : UINT8 1 0󷵻 + * devType UINT8 IN �豸���� + * devId UINT8 IN �豸ID + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭ��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ UINT8 FsfbProtclDeleteLnk(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStruct) { UINT8 retVal =0; Fsfb_Lnk_Info_Node_Stru *LastIndex; Fsfb_Lnk_Info_Node_Stru *CurIndex; - UINT16 destDevName;/*long豸name*/ + UINT16 destDevName;/*long���豸name*/ UINT8 ret = 0; if(pFsfbStruct == NULL) @@ -384,15 +362,15 @@ UINT8 FsfbProtclDeleteLnk(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStruct) ComTypeId2DevName(devType,devId,&destDevName); LastIndex = NULL; - /*ǰָͷָ뿪ʼ*/ + /*��ǰָ�������ͷָ�뿪ʼ*/ CurIndex = pFsfbStruct -> LnkHead; while(CurIndex != NULL) { - /*ҵҪɾڵ*/ + /*�ҵ�Ҫɾ���ڵ�*/ if(destDevName == CurIndex->DestDevName) { - /*ɾڵͷڵ*/ + /*���ɾ���ڵ���ͷ�ڵ�*/ if(LastIndex == NULL) { pFsfbStruct ->LnkHead = CurIndex->NextNode; @@ -403,10 +381,10 @@ UINT8 FsfbProtclDeleteLnk(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } - }/*if(һָLastIndex == NULL)*/ - /*ɾڵ㲻ͷڵ*/ + }/*if(��һ��ָ��LastIndex == NULL)*/ + /*���ɾ���ڵ㲻��ͷ�ڵ�*/ else { LastIndex->NextNode = CurIndex->NextNode; @@ -417,45 +395,45 @@ UINT8 FsfbProtclDeleteLnk(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } } } else { - /*޲*/ + /*�޲���*/ } - /*ûҵҪɾڵ㣬һָ͵ǰָ붼һڵ*/ + /*û���ҵ�Ҫɾ���ڵ㣬����һ��ָ��͵�ǰָ�붼������һ���ڵ�*/ LastIndex = CurIndex; CurIndex = CurIndex->NextNode; }/*end while(CurIndex != NULL)*/ - /*ɾ·Ϣ*/ + /*ɾ��������·��Ϣ*/ retVal = RpHandleLnkDelete(destDevName,&pFsfbStruct->RpInfoStru); return retVal; } /*********************************************************************** - * : FsfbProtclGetLnkStatus - * : 豸ͺ豸IDȡ豸״̬ - * : - * + * ������ : FsfbProtclGetLnkStatus + * �������� : �����豸���ͺ��豸ID��ȡ�豸״̬�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * devType UINT8 IN 豸 - * devId UINT8 IN 豸ID - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭͳһṹ - * ֵ : 0ͨŽڵ㲻 - 0x2b:ͨж - 0x17: + * devType UINT8 IN �豸���� + * devId UINT8 IN �豸ID + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭ��ͳһ�ṹ�� + * ����ֵ : 0��ͨ�Žڵ㲻���� + 0x2b:ͨ���ж� + 0x17:���������� ***********************************************************************/ UINT8 FsfbProtclGetLnkStatus(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStruct) { UINT8 retVal =0; Fsfb_Lnk_Info_Node_Stru *pNode; - UINT16 destDevName =0;/*long豸name*/ + UINT16 destDevName =0;/*long���豸name*/ if(pFsfbStruct == NULL) { @@ -473,26 +451,26 @@ UINT8 FsfbProtclGetLnkStatus(UINT8 devType,UINT8 devId,FSFB_INFO_STRU* pFsfbStru } else if( pNode->FsfbLinInfo.RecvLinkStatus == Fsfb_RecvData) { - /* */ + /* ���������� */ retVal = 0x17; } else { - /* ͨ״̬*/ + /* ͨ��״̬������*/ retVal = 0x2b; } return retVal; } /*********************************************************************** - * : FsfbProtclRefreshLnk - * : мˢ·״̬ - * : - * + * ������ : FsfbProtclRefreshLnk + * �������� : ����������м����ˢ����·״̬�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pLnkStatusData UINT8* IN м - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭͳһṹ - * ֵ : UINT8 1 0󷵻 + * pLnkStatusData UINT8* IN �м�������� + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭ��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) { @@ -503,11 +481,11 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) UINT16 sLnksNums =0; INT16 tmpInput =0; UINT16 inputDataLnk =0; - UINT16 lnkStatusTotalLen = 0;/*·״̬ܳ*/ - UINT16 redunStatusLen = 0;/*·Ϣ*/ - UINT16 fsfbStatusLen = 0;/*FSFBЭ·Ϣ*/ + UINT16 lnkStatusTotalLen = 0;/*��·״̬�ܳ���*/ + UINT16 redunStatusLen = 0;/*������·��Ϣ����*/ + UINT16 fsfbStatusLen = 0;/*FSFBЭ����·��Ϣ����*/ - UINT16 index = 0;/*ƫ*/ + UINT16 index = 0;/*����ƫ��*/ if((pLnkStatusData == NULL)||(pFsfbStruct == NULL)) { @@ -527,11 +505,11 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) CurLnk = CurLnk->NextNode; } - /*2ֽڵ·Ϣܳ*/ + /*2���ֽڵ���·��Ϣ�ܳ���*/ lnkStatusTotalLen = ShortFromChar(pLnkStatusData); index += 2; - /*ȡFSFB·Ϣ*/ + /*��ȡFSFB����·��Ϣ����*/ fsfbStatusLen = ShortFromChar(&pLnkStatusData[index]); index += 2; tmpInput = fsfbStatusLen; @@ -541,9 +519,9 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) for( i = 0; i < sLnksNums; i++) { CurLnk = (Fsfb_Lnk_Info_Node_Stru *)ComPopStack(&pFsfbStruct->LnkStack); - if(CurLnk != 0) /*ӶջܹõĽڵַ*/ + if(CurLnk != 0) /*�Ӷ�ջ���ܹ��������õĽڵ��ַ*/ { - /*ʷˢ·Ϣ*/ + /*������ʷ����ˢ����·������Ϣ*/ FsfbVarArray2LnkNodeInfo((UINT8 *)&pLnkStatusData[index+FSFB_VAR_NODE_LEN * i], CurLnk); if( i == 0) @@ -561,7 +539,7 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) tmpInput = tmpInput - FSFB_VAR_NODE_LEN; if( 0 == ( tmpInput % FSFB_VAR_NODE_LEN ) ) { - /* */ + /* �������� */ } else { @@ -578,16 +556,16 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) } index += (sLnksNums*FSFB_VAR_NODE_LEN); - /*ȡദ·Ϣij*/ + /*��ȡ���ദ����·��Ϣ�ij���*/ redunStatusLen = ShortFromChar(&pLnkStatusData[index]); if ((redunStatusLen+2) == (lnkStatusTotalLen-2-fsfbStatusLen)) { - /*ˢ·Ϣ*/ + /*ˢ����·��Ϣ*/ retVal = RpHandleRefresh(redunStatusLen,&pLnkStatusData[index+2],&pFsfbStruct->RpInfoStru); } else { - /*·Ϣ*/ + /*��·��Ϣ����*/ retVal = 0; } } @@ -600,13 +578,13 @@ UINT8 FsfbProtclRefreshLnk(UINT8* pLnkStatusData,FSFB_INFO_STRU* pFsfbStruct) } /*********************************************************************** - * : FsfbProtclFreeSpace - * : ͷſռ䡣 - * : - * + * ������ : FsfbProtclFreeSpace + * �������� : �ͷſռ䡣 + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭͳһṹ - * ֵ : UINT8 1 0󷵻 + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBЭ��ͳһ�ṹ�� + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) { @@ -618,7 +596,7 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } else { - /* */ + /* ������ */ } if(pFsfbStruct->AppArray != NULL) @@ -628,7 +606,7 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } if(pFsfbStruct->VarArray != NULL) @@ -638,7 +616,7 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } if(pFsfbStruct->RecordArray != NULL) @@ -648,9 +626,9 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } - /*ͷŶеĿռ*/ + /*�ͷŶ��еĿռ�*/ QueueElementFree(&pFsfbStruct->OutnetQueueR); QueueElementFree(&pFsfbStruct->OutnetQueueB); QueueElementFree(&pFsfbStruct->OutputDataQueue); @@ -663,7 +641,7 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } else { - /*޲*/ + /*�޲���*/ } retVal = RpHandleFreeSpace(&pFsfbStruct->RpInfoStru); @@ -672,19 +650,19 @@ UINT8 FsfbProtclFreeSpace(FSFB_INFO_STRU* pFsfbStruct) } /*-------------------------------------------------------------------- - * FSFBЭⲿӿں End + * FSFBЭ���ⲿ�ӿں��� End *--------------------------------------------------------------------*/ /*-------------------------------------------------------------------- - * FSFBЭڲӿں Start + * FSFBЭ���ڲ��ӿں��� Start *--------------------------------------------------------------------*/ /*********************************************************************** - * : FsfbStructInit - * : ͨúʵֶRSRijʼӦ趨ĻֵеĴС - * : - * + * ������ : FsfbStructInit + * �������� : ͨ���ú�����ʵ�ֶ�RSR��ij�ʼ������������Ӧ���趨�Ļ���ֵ����������еĴ�С�� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pFsfbStruct FSFB_INFO_STRU* INOUT FSFBͳһṹ壬гʼֵá - * ֵ : UINT8 1 0󷵻 + * pFsfbStruct FSFB_INFO_STRU* INOUT FSFB��ͳһ�ṹ�壬����г�ʼֵ���á� + * ����ֵ : UINT8 1���������� 0�����󷵻� ***********************************************************************/ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) { @@ -697,15 +675,15 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) inputSize = pFsfbStruct->InputSize; outputSize = pFsfbStruct->OutputSize; - /* */ + /* ��������� */ maxMsg = pFsfbStruct->InputSize > pFsfbStruct->OutputSize? pFsfbStruct->InputSize:pFsfbStruct->OutputSize; - maxMsg += 2 + 4 + FSFB_FIXED_LEN +32; /* źŲй̶(2+4) + RSSP̶ + 32 */ + maxMsg += 2 + 4 + FSFB_FIXED_LEN +32; /* �źŲ���й̶�����(2+4) + RSSP��̶����� + 32���� */ - /* ʼ */ - maxMsgNum = pFsfbStruct->MaxNumLink *(pFsfbStruct->MaxNumPerCycle + 2); /* */ + /* ���������ʼ�� */ + maxMsgNum = pFsfbStruct->MaxNumLink *(pFsfbStruct->MaxNumPerCycle + 2); /* ������� */ - /* FSFBģ */ + /* FSFB�����ģ��������� */ pFsfbStruct->AppArraySize = (pFsfbStruct->OutputSize+11+26)*(pFsfbStruct->MaxNumPerCycle)*(pFsfbStruct->MaxNumLink)+2; pFsfbStruct->AppArray = (UINT8 *)malloc(pFsfbStruct->AppArraySize); if(pFsfbStruct->AppArray == NULL) @@ -718,12 +696,12 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) LongToChar(0, pFsfbStruct->AppArray); } - /* FSFBģмС */ + /* FSFB���ģ������м���������С */ pFsfbStruct->VarArraySize = FSFB_VAR_NODE_LEN * pFsfbStruct->MaxNumLink+32; pFsfbStruct->VarArray = (UINT8*)malloc(pFsfbStruct->VarArraySize); if( NULL == pFsfbStruct->VarArray) { - /* ¼ */ + /* ��¼ */ retVal =0; return retVal; } @@ -732,8 +710,8 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) ShortToChar(0, pFsfbStruct->VarArray); } - /* ЭӦõݶг */ - pFsfbStruct->DataToAppSize = (inputSize + 6) * maxMsgNum; /* ЭӦõݶг */ + /* Э�������Ӧ�õ����ݶ��г��� */ + pFsfbStruct->DataToAppSize = (inputSize + 6) * maxMsgNum; /* Э�������Ӧ�õ����ݶ��г��� */ retVal = QueueInitial(&pFsfbStruct->DataToApp,pFsfbStruct->DataToAppSize); if(0 == retVal) { @@ -741,10 +719,10 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) } else { - /* ʲô */ + /* ʲô���� */ } - /* ӦøЭݶг */ + /* Ӧ�ø�Э����������ݶ��г��� */ pFsfbStruct->OutputDataQueueSize= (outputSize + 8 )*maxMsgNum; retVal = QueueInitial(&pFsfbStruct->OutputDataQueue,pFsfbStruct->OutputDataQueueSize); if(0 == retVal) @@ -753,12 +731,12 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) } else { - /* ʲô */ + /* ʲô���� */ } - /* ܶг */ + /* �������ܶ��г��� */ pFsfbStruct->OutnetQueueSize = (pFsfbStruct->InputSize + 2 + 11)*pFsfbStruct->MaxNumPerCycle*pFsfbStruct->MaxNumLink; - /* */ + /* �������� */ retVal = QueueInitial(&pFsfbStruct->OutnetQueueR,pFsfbStruct->OutnetQueueSize); if(0 == retVal) { @@ -766,10 +744,10 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) } else { - /* ʲô */ + /* ʲô���� */ } - /* */ + /* �������� */ retVal = QueueInitial(&pFsfbStruct->OutnetQueueB,pFsfbStruct->OutnetQueueSize); if(0 == retVal) { @@ -777,14 +755,14 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) } else { - /* ʲô */ + /* ʲô���� */ } - /* ¼ */ + /* ��¼���� */ pFsfbStruct->RecordArray = (UINT8*)malloc(pFsfbStruct->RecordArraySize); if( NULL == pFsfbStruct->RecordArray) { - /* ¼ */ + /* ��¼ */ retVal =0; return retVal; } @@ -793,7 +771,7 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) ComMemSet(pFsfbStruct->RecordArray ,pFsfbStruct->RecordArraySize,0x0); } - /* ·ջռ */ + /* ������·������ջ�ռ� */ pFsfbStruct->LnkStack.maxNodeNum = pFsfbStruct->MaxNumLink; retVal = StackInitial(&pFsfbStruct->LnkStack.stack,pFsfbStruct->LnkStack.maxNodeNum); @@ -803,10 +781,10 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) } else { - /* */ + /* �������� */ } - /* ʱĻ */ + /* ��ʱ���Ļ����� */ pFsfbStruct->TmpDataBuff = (UINT8 *)malloc(maxMsg); if( NULL == pFsfbStruct->TmpDataBuff) { @@ -835,23 +813,23 @@ static UINT8 FsfbStructInit(FSFB_INFO_STRU *pFsfbStruct) /****************************************************************************************** -* : ʼͨ·(һָͷڵһά) - 1. ̬·ջռ䣬гʼ - 2. ·ͷָΪգ -* : -* : FSFB_INFO_STRU* pFsfbStruct Эʹõͳһṹָ -* : -* ȫֱ : -* ֵ : ɹ1,ʧܷ0 +* �������� : ��ʼ��ͨ����·����������(����һ��ָ��ͷ�ڵ��һά����) + 1. ��̬������·������ջ�ռ䣬��������г�ʼ���� + 2. ����·������ͷָ����Ϊ�գ� +* ������� : +* ����������� : FSFB_INFO_STRU* pFsfbStruct Э��ʹ�õ�ͳһ�ṹ��ָ�� +* ������� : +* ȫ�ֱ��� : +* ����ֵ : �ɹ�����1,ʧ�ܷ���0 *******************************************************************************************/ -static UINT8 FsfbInitLnkMngr(FSFB_INFO_STRU *pFsfbStruct) /*·ʼ*/ +static UINT8 FsfbInitLnkMngr(FSFB_INFO_STRU *pFsfbStruct) /*��·������ʼ������*/ { UINT8 retVal =0; - /*·ڵ洢ռ*/ + /*���������·�ڵ����洢�ռ�*/ if(!FsfbInitLnkMngrStack(&pFsfbStruct->LnkStack)) { - /*¼¼*/ + /*��¼��¼*/ retVal = 0; return retVal; } @@ -862,25 +840,25 @@ static UINT8 FsfbInitLnkMngr(FSFB_INFO_STRU *pFsfbStruct) /* } /****************************************************************************************** -* : ʼ·ջ -* ʼضСضṹĶջ,ͬĽṹֻҪѹ벻ָͬʹ÷ʽɲͬĹջ -* : ComStackElement* s ջָ -* : -* : -* ȫֱ : -* ֵ : ɹ1,ʧܷ0 +* �������� : ��ʼ����·������ջ +* ��ʼ���ض���С�ض��ṹ�Ķ�ջ,��ͬ�Ľṹ��ֻ��Ҫ����ѹ�벻ͬ��ָ��ʹ�÷�ʽ��������ɲ�ͬ�Ĺ����ջ +* ������� : ComStackElement* s ��ջ��ָ�� +* ����������� : +* ������� : +* ȫ�ֱ��� : +* ����ֵ : �ɹ�����1,ʧ�ܷ���0 *******************************************************************************************/ static UINT8 FsfbInitLnkMngrStack(ComStackElement *s)/* %RELAX */ { - UINT16 i;/*ѭ*/ + UINT16 i;/*ѭ������*/ Fsfb_Lnk_Info_Node_Stru *pLnkMngrStack = NULL; UINT8 retVal =0; - StackClear(&s->stack); /* */ + StackClear(&s->stack); /* ��������*/ pLnkMngrStack = (Fsfb_Lnk_Info_Node_Stru *)malloc(sizeof(Fsfb_Lnk_Info_Node_Stru) * s->maxNodeNum); if(pLnkMngrStack == NULL) { - /*ӡӡ*/ + /*��ӡ��ӡ*/ retVal = 0; return retVal; } @@ -889,11 +867,11 @@ static UINT8 FsfbInitLnkMngrStack(ComStackElement *s)/* %RELAX */ ComMemSet((UINT8*)pLnkMngrStack, sizeof(Fsfb_Lnk_Info_Node_Stru) * s->maxNodeNum, 0x00); } for (i = 0;i < s->maxNodeNum;i++) - { /*ѹtotalsizeڵ*/ + { /*ѹ��totalsize���ڵ�*/ if(ComPushStack(s,(STACK_DATA_TYPE)&pLnkMngrStack[i]) != 1) { retVal = 0; - return retVal;/*ѹڵʧ*/ + return retVal;/*ѹ��ڵ�ʧ��*/ } else { @@ -905,97 +883,88 @@ static UINT8 FsfbInitLnkMngrStack(ComStackElement *s)/* %RELAX */ } /*********************************************************************** - * : ReadQueueData - * : Խյݽش - * : - * + * ������ : ReadQueueData + * �������� : �Խ��յ������ݽ�����ش��� + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pQueueData QueueStruct* IN ӦýյݵĶ - * MaxLen UINT16 IN - * RecordArray UINT8* INOUT ¼ + * pQueueData QueueStruct* IN ��Ӧ�ý��յ����ݵĶ��� + * MaxLen UINT16 IN ������� + * RecordArray UINT8* INOUT ��¼���� * RecordArraySize UINT16 - * pFsfbStruct FSFB_INFO_STRU * INOUT FSFBЭͳһṹ - * ֵ : DataNode_WL* ʱͷ + * pFsfbStruct FSFB_INFO_STRU * INOUT FSFBЭ��ͳһ�ṹ�� + * ����ֵ : DataNode_WL* ��ʱ���������ͷ ***********************************************************************/ static UINT8 ReadQueueData(QueueStruct *pQueueData,UINT16 MaxLen,UINT8 *RecordArray, UINT16 RecordSize, const UINT8 netIdx,FSFB_INFO_STRU *pFsfbStruct) { UINT8 retVal = 0; UINT8 flag =0; - UINT16 index = 0; /* ݱ־λ */ + UINT16 index = 0; /* ���ݱ�־λ */ UINT8 destDevType =0; UINT8 destDevId =0; UINT16 desDevName =0; - UINT16 MsgLen = 0; /* Ϣ */ + UINT16 MsgLen = 0; /* ��Ϣ���� */ UINT8 applyCat = 0; - UINT8 messageType =0; /* Ϣ */ + UINT8 messageType =0; /* ��Ϣ���� */ UINT8 tmpBtd[2]={0}; - UINT32 rcvBtdSn = 0;/*յBTD֡к*/ - UINT32 rcvOtherSn = 0;/*յ֡к*/ - const UINT8 SENDER_TYPE_QUE_POS = 0; /* 淢ͷ͵λ */ - const UINT8 SENDER_ID_QUE_POS = SENDER_TYPE_QUE_POS+1; /* 淢ͷIdλ */ - const UINT8 SENDER_EMPTY_QUE_POS =SENDER_ID_QUE_POS+1; /* Ԥֽ*/ + UINT32 rcvBtdSn = 0;/*���յ�BTD֡�����к�*/ + UINT32 rcvOtherSn = 0;/*���յ�����֡�����к�*/ + const UINT8 SENDER_TYPE_QUE_POS = 0; /* ���淢�ͷ����͵�λ�� */ + const UINT8 SENDER_ID_QUE_POS = SENDER_TYPE_QUE_POS+1; /* ���淢�ͷ�Id��λ�� */ + const UINT8 SENDER_EMPTY_QUE_POS =SENDER_ID_QUE_POS+1; /* ����Ԥ���ֽ�*/ retVal =1; - /* г>2 */ + /* ���г���>2 */ while(2 <= QueueStatus(pQueueData)) { - /* нڵʽ + /* ���нڵ��ʽ * ---------------------------------------------------------------------- - * | ͷType | ͷID | Ԥֽ| Ϣ֡ʽ - * 2ֽ| 1ֽ | 1 ֽ | 2bytes | + * ���� | ���ͷ�Type | ���ͷ�ID | Ԥ���ֽ�| ������Ϣ��֡��ʽ + * 2�ֽ�| 1�ֽ� | 1 �ֽ� | 2bytes | * ----------------------------------------------------------------------- */ index=0; - QueueRead(2,pFsfbStruct->TmpDataBuff,pQueueData); /* ɨֽڵij */ + QueueRead(2,pFsfbStruct->TmpDataBuff,pQueueData); /* ɨ�������ֽڵij��� */ MsgLen = ShortFromChar(pFsfbStruct->TmpDataBuff); if((MsgLen+2) <= MaxLen) { - /* һ֡ */ + /* ����һ֡���� */ retVal =QueueRead(MsgLen,pFsfbStruct->TmpDataBuff,pQueueData); if (retVal == 0) { - /* ʧʣµݴССMsgLen+2¼ */ -#ifdef FSFB_RECORD_ERR_ASCII /* ַʽ */ - PrintFiles(RecordArray,RecordSize,"W:Write Que Err\n"); /* ʧ */ + /* ������ʧ�������ʣ�µ����ݴ�СС��MsgLen+2�����¼ */ +#ifdef FSFB_RECORD_ERR_ASCII /* �ַ�����ʽ */ + PrintFiles(RecordArray,RecordSize,"W:Write Que Err\n"); /* ������ʧ�� */ #endif -#ifdef FSFB_RECORD_SIMPLIFY_BIN /* */ - PrintRecArrayByte(RecordArray, RecordSize, IN_READ_FRAME_ERR); /*ȡ֡ȴ*/ - PrintRecArray2ByteB(RecordArray, RecordSize, MsgLen); /*֡ȴ*/ +#ifdef FSFB_RECORD_SIMPLIFY_BIN /* ������ */ + PrintRecArray2ByteB(RecordArray,RecordSize,FSFB_WARN|FSFB_RECEIVE|FSFB_ERROR_NULL|FSFB_QUEUE_READ); /* ������ʧ�� */ #endif break; } - /* 豸Type*/ + /* �豸��Type*/ destDevType = pFsfbStruct->TmpDataBuff[SENDER_TYPE_QUE_POS]; - /* 豸ID */ + /* �豸��ID */ destDevId = pFsfbStruct->TmpDataBuff[SENDER_ID_QUE_POS]; ComTypeId2DevName(destDevType,destDevId,&desDevName); SetNetsRecvPkgNum(pFsfbStruct, desDevName, netIdx); - /* Ԥֽռ*/ + /* Ԥ���ֽ�ռ����*/ index = SENDER_EMPTY_QUE_POS+2; while((MsgLen-index)>0) { - /* 1ֽڵApplication Catory */ + /* 1���ֽڵ�Application Catory */ applyCat = pFsfbStruct->TmpDataBuff[index+FSFB_APP_CTGRY_POS]; - /* 1ֽ Ϣ */ + /* 1���ֽ� ��Ϣ���� */ messageType = pFsfbStruct->TmpDataBuff[index+FSFB_MSG_TYPE_POS]; - - PrintRecArrayByte(RecordArray, RecordSize, IN_READ_FRAME); /*ȡ֡*/ - PrintRecArrayByte(RecordArray, RecordSize, applyCat); /*֡*/ - PrintRecArrayByte(RecordArray, RecordSize, messageType); /*֡*/ - PrintRecArray2ByteB(RecordArray, RecordSize, desDevName); /*豸ID*/ - PrintRecArray2ByteB(RecordArray, RecordSize, ShortFromCharLE(&pFsfbStruct->TmpDataBuff[index + FSFB_SRC_ADD_POS])); /*֡Դ豸ID*/ - PrintRecArray2ByteB(RecordArray, RecordSize, ShortFromCharLE(&pFsfbStruct->TmpDataBuff[index + FSFB_DEST_ADD_POS])); /*֡Ŀ豸ID*/ - PrintRecArray4ByteB(RecordArray, RecordSize, LongFromCharLE(&pFsfbStruct->TmpDataBuff[index + FSFB_TC_POS])); /*֡*/ switch(messageType) { case FSFB_SSE_MSG: - /* SSE֡ */ + /* ����SSE֡ */ if(applyCat == APPLCAT_BTM) { rcvOtherSn = LongFromCharLE(&pFsfbStruct->TmpDataBuff[index+FSFB_TC_POS]); @@ -1017,11 +986,11 @@ static UINT8 ReadQueueData(QueueStruct *pQueueData,UINT16 MaxLen,UINT8 *RecordAr retVal = FsfbAnalysisSsrMsg(desDevName,applyCat,&pFsfbStruct->TmpDataBuff[index],pFsfbStruct,pFsfbStruct->RecordArray,pFsfbStruct->RecordArraySize); index +=SSR_SIZE; - /* SSR֡ʼ */ + /* ��SSR֡��ʼ���� */ break; case FSFB_TSD_MSG: - /* ܽյ */ - /* յֱӶ */ + /* �����ܽ��յ� */ + /* ����յ�ֱ�Ӷ��� */ index +=TSD_SIZE; break; case FSFB_ABT_MSG: @@ -1032,26 +1001,26 @@ static UINT8 ReadQueueData(QueueStruct *pQueueData,UINT16 MaxLen,UINT8 *RecordAr index +=ABT_SIZE; break; case FSFB_SBT_MSG: - /* յֱӶ */ + /* ����յ�ֱ�Ӷ��� */ index +=SBT_SIZE; break; case FSFB_BTC_MSG: - /* յֱӶ */ + /* ����յ�ֱ�Ӷ��� */ index +=BTC_SIZE; break; case FSFB_EBT_MSG: - /* EBT */ + /* ����EBT���� */ retVal =FsfbAnalysisEbtMsg(desDevName,applyCat,&pFsfbStruct->TmpDataBuff[index],pFsfbStruct,pFsfbStruct->RecordArray,pFsfbStruct->RecordArraySize); index +=EBT_SIZE; break; case FSFB_BTD_MSG: - /* ЧԼ*/ + /* ������Ч�Լ��*/ rcvBtdSn = LongFromCharLE(&pFsfbStruct->TmpDataBuff[index+FSFB_TC_POS]); retVal = ReadRpHandleQueueData(desDevName,rcvBtdSn,&pFsfbStruct->RpInfoStru); if(1 == retVal) { - /* ݣ·״̬ */ + /* ���������ݣ�������·״̬��������� */ retVal =FsfbAnalysisBtdMsg(desDevName,applyCat,&pFsfbStruct->TmpDataBuff[index],pFsfbStruct,pFsfbStruct->RecordArray,pFsfbStruct->RecordArraySize); if(1 == retVal) { @@ -1066,12 +1035,12 @@ static UINT8 ReadQueueData(QueueStruct *pQueueData,UINT16 MaxLen,UINT8 *RecordAr } else { - retVal=1;/*ڲϷBTDֻ֡ǽ䶪崻*/ + retVal=1;/*���ڲ��Ϸ�BTD֡��ֻ�ǽ��䶪�����������崻�*/ } } else { - /* ֡ */ + /* ������֡���� */ retVal=1; } index +=BTD_SIZE; @@ -1087,36 +1056,33 @@ static UINT8 ReadQueueData(QueueStruct *pQueueData,UINT16 MaxLen,UINT8 *RecordAr } } else - {/*֡ݶ*/ + {/*����֡���ݶ���*/ QueueElementDiscard(MsgLen,pQueueData); - - PrintRecArrayByte(RecordArray, RecordSize, IN_FRAME_LEN_ERR); /*֡ȴ*/ - PrintRecArray2ByteB(RecordArray, RecordSize, MsgLen); /*֡*/ } } return retVal; } /*********************************************************************** - * : InitRedunStruct - * : ͳһṹгʼ - * : - * + * ������ : InitRedunStruct + * �������� : ������ͳһ�ṹ����г�ʼ������ + * ������� : + * ������ ���� ������� ���� * -------------------------------------------------------------- - * pFsfbStruct const FSFB_INFO_STRU* IN FSFBͳһṹ - * pRedunInfoStru RPHANDLE_INFO_STRU * IN ͳһṹ + * pFsfbStruct const FSFB_INFO_STRU* IN FSFB��ͳһ�ṹ�� + * pRedunInfoStru RPHANDLE_INFO_STRU * IN �����ͳһ�ṹ�� * - * ֵ : UINT8 0󷵻 1 + * ����ֵ : UINT8 0�����󷵻� 1���������� ***********************************************************************/ static UINT8 InitFsfbRedunStruct(const FSFB_INFO_STRU *pFsfbStruct, RPHANDLE_INFO_STRU *pRedunInfoStru) { - UINT8 ret = 0;/*ֵ*/ + UINT8 ret = 0;/*��������ֵ*/ - pRedunInfoStru->LocalType = pFsfbStruct->LocalType; /* 豸ID */ + pRedunInfoStru->LocalType = pFsfbStruct->LocalType; /* �����豸ID */ - pRedunInfoStru->MaxNumPerCycle = pFsfbStruct->MaxNumPerCycle; /* */ - pRedunInfoStru->RecordArraySize = pFsfbStruct->RecordArraySize; /* ¼ */ + pRedunInfoStru->MaxNumPerCycle = pFsfbStruct->MaxNumPerCycle; /* ������� */ + pRedunInfoStru->RecordArraySize = pFsfbStruct->RecordArraySize; /* ����¼�� */ pRedunInfoStru->MaxNumLink = pFsfbStruct->MaxNumLink; @@ -1125,11 +1091,11 @@ static UINT8 InitFsfbRedunStruct(const FSFB_INFO_STRU *pFsfbStruct, RPHANDLE_INF } /* -*: հ -*: FSFB_INFO_STRU* fsfb fsfb -*: -*: -*ֵ: +*��������: ��������հ��� +*�������: FSFB_INFO_STRU* fsfb fsfb���� +*�������: �� +*�������: �� +*����ֵ: �� */ static void ClearNetsRecvPkgNum(FSFB_INFO_STRU* fsfb) { @@ -1145,29 +1111,29 @@ static void ClearNetsRecvPkgNum(FSFB_INFO_STRU* fsfb) } /* -*: øհ -*: FSFB_INFO_STRU* fsfb fsfb -* const UINT32 dstDevName Ŀ豸 -* const UINT8 netIdx ± -*: -*: -*ֵ: +*��������: ���ø����հ��� +*�������: FSFB_INFO_STRU* fsfb fsfb���� +* const UINT32 dstDevName Ŀ���豸���� +* const UINT8 netIdx ���±� +*�������: �� +*�������: �� +*����ֵ: �� */ static void SetNetsRecvPkgNum(FSFB_INFO_STRU* fsfb, const UINT16 dstDevName, const UINT8 netIdx) { UINT16 i = 0u; - if ((NULL != fsfb) && (NULL != fsfb->NetsRecvPkgNums) && ((0u == netIdx) || (1u == netIdx))) /**/ + if ((NULL != fsfb) && (NULL != fsfb->NetsRecvPkgNums) && ((0u == netIdx) || (1u == netIdx))) /*�������*/ { for (i = 0; i < fsfb->NetsRecvPkgNumsLen; i++) { - if (dstDevName == fsfb->NetsRecvPkgNums[i].DstDevName) /*ҵ*/ + if (dstDevName == fsfb->NetsRecvPkgNums[i].DstDevName) /*�ҵ�*/ { fsfb->NetsRecvPkgNums[i].NetsPkgNum[netIdx]++; break; } } - if ((i == fsfb->NetsRecvPkgNumsLen) && (fsfb->NetsRecvPkgNumsLen < fsfb->MaxNumLink)) /*δҵ,һ豸*/ + if ((i == fsfb->NetsRecvPkgNumsLen) && (fsfb->NetsRecvPkgNumsLen < fsfb->MaxNumLink)) /*δ�ҵ�,���һ�豸*/ { fsfb->NetsRecvPkgNums[fsfb->NetsRecvPkgNumsLen].DstDevName = dstDevName; ComMemSet((UINT8*)fsfb->NetsRecvPkgNums[i].NetsPkgNum, 2 * sizeof(UINT16), 0u); @@ -1178,28 +1144,28 @@ static void SetNetsRecvPkgNum(FSFB_INFO_STRU* fsfb, const UINT16 dstDevName, con } /* -*: ȡFSFBյ -*: FSFB_INFO_STRU* fsfb fsfb -* const UINT8 dstType Ŀ豸 -* const UINT8 dstId Ŀ豸ID -*: UINT16* redRecvPkgNum յ -* UINT16* blueRecvPkgNum յ -*: -*ֵ: +*��������: ��ȡFSFB�����յ����� +*�������: FSFB_INFO_STRU* fsfb fsfb���� +* const UINT8 dstType Ŀ���豸���� +* const UINT8 dstId Ŀ���豸ID +*�������: UINT16* redRecvPkgNum �����յ����� +* UINT16* blueRecvPkgNum �����յ����� +*�������: �� +*����ֵ: �� */ void FsfbProtclGetNetsRecvPkgNum(FSFB_INFO_STRU* fsfb, const UINT8 dstType, const UINT8 dstId, UINT16* redRecvPkgNum, UINT16* blueRecvPkgNum) { UINT16 i = 0u; UINT16 dstDevName = 0u; - if ((NULL != fsfb) && (NULL != fsfb->NetsRecvPkgNums) && (NULL != redRecvPkgNum) && (NULL != blueRecvPkgNum)) /**/ + if ((NULL != fsfb) && (NULL != fsfb->NetsRecvPkgNums) && (NULL != redRecvPkgNum) && (NULL != blueRecvPkgNum)) /*�������*/ { (*redRecvPkgNum) = 0u; (*blueRecvPkgNum) = 0u; ComTypeId2DevName(dstType, dstId, &dstDevName); - for (i = 0; i < fsfb->NetsRecvPkgNumsLen; i++) /**/ + for (i = 0; i < fsfb->NetsRecvPkgNumsLen; i++) /*����*/ { - if (dstDevName == fsfb->NetsRecvPkgNums[i].DstDevName) /*ҵ*/ + if (dstDevName == fsfb->NetsRecvPkgNums[i].DstDevName) /*�ҵ�*/ { (*redRecvPkgNum) = fsfb->NetsRecvPkgNums[i].NetsPkgNum[0]; (*blueRecvPkgNum) = fsfb->NetsRecvPkgNums[i].NetsPkgNum[1]; @@ -1210,5 +1176,5 @@ void FsfbProtclGetNetsRecvPkgNum(FSFB_INFO_STRU* fsfb, const UINT8 dstType, cons } /*-------------------------------------------------------------------- - * FSFBЭڲӿں End + * FSFBЭ���ڲ��ӿں��� End *--------------------------------------------------------------------*/ diff --git a/TSCP/src/protocol/fsfb/common_fsfb/FsfbRecordDelare.h b/TSCP/src/protocol/fsfb/common_fsfb/FsfbRecordDelare.h index b22288c..d79a357 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/FsfbRecordDelare.h +++ b/TSCP/src/protocol/fsfb/common_fsfb/FsfbRecordDelare.h @@ -23,43 +23,7 @@ ********************************************************************************/ /* ־λ */ -#define FSFB_CYCLE_TAG (0xF4FB) /* FSFBڿʼʶ */ -#define IN_RED (0x01) /**/ -#define IN_BLUE (0x02) /**/ -#define IN_FRAME_LEN_ERR (0x03) /*֡ȴ*/ -#define IN_READ_FRAME_ERR (0x04) /*ȡ֡ȴ*/ -#define IN_READ_FRAME (0x05) /*ȡ֡*/ -#define IN_CRC_ERR (0x06) /*CRC*/ -#define IN_NO_LNK (0x07) /*·*/ -#define IN_CAT_ERR (0x08) /*֡*/ -#define IN_ADDR_ERR (0x09) /*֡*/ -#define IN_SSR_STATUS_ERR (0x0A) /*SSR״̬*/ -#define IN_SSR_SSE_TC_ERR (0x0B) /*SSRSSEŴ*/ -#define IN_ABT_STATUS (0x0C) /*ABT״̬*/ -#define IN_ABT_SVC_ERR (0x0D) /*ABTSVC*/ -#define IN_ABT_OLD_ERR (0x0E) /*ABTŴ*/ -#define IN_ABT_SSE_BTC (0x0F) /*ABTSSEBTC*/ -#define IN_BTD_LEN_ERR (0x10) /*BTDijȴ*/ -#define IN_BTD_STATUS (0x11) /*BTD״̬*/ -#define IN_BTD_LOST_ERR (0x12) /*BTDʧ*/ -#define IN_BTD_DELAY_ERR (0x13) /*BTDӳٳ*/ -#define IN_BTD_SVC_ERR (0x14) /*BTDSVC*/ -#define OUT_APP (0x15) /**/ -#define OUT_FRAME_LEN_ERR (0x16) /*Ӧ֡ݳȴ*/ -#define OUT_READ_ERR (0x17) /*Ӧݴ*/ -#define OUT_APP_FRAME (0x18) /*Ӧ֡*/ -#define OUT_FRAME_TYPE_ERR (0x19) /*֡ʹ*/ -#define OUT_ADDR_ERR (0x1A) /*ַ*/ -#define OUT_FIND_LNK_ERR (0x1B) /*ѯ·*/ -#define OUT_INSERT_NODE_ERR (0x1C) /*ڵ*/ -#define OUT_INIT_NODE_ERR (0x1D) /*ʼڵ*/ -#define OUT_DATA_TYPE (0x1E) /**/ -#define OUT_LNK (0x1F) /*·*/ -#define OUT_RP_LNK (0x20) /*RP·*/ -#define OUT_ALL_LEN_ERR (0x21) /*ܳȴ*/ - - - +#define FSFB_CYCLE_TAG 0xDD /* FSFBڿʼʶ */ #define FSFB_RCV_TAG 0xF4 /* FSFB뵥Ԫʶ */ #define FSFB_OUT_TAG 0xF5 /* FSFBԪʶ */ #define FSFB_MSG_IN_TAG 0x04 /* FSFBһ֡Ϣʼʶ(B 0000 0100) */ diff --git a/TSCP/src/protocol/fsfb/common_fsfb/RpHandleInterface.c b/TSCP/src/protocol/fsfb/common_fsfb/RpHandleInterface.c index 4119842..27077b2 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/RpHandleInterface.c +++ b/TSCP/src/protocol/fsfb/common_fsfb/RpHandleInterface.c @@ -16,7 +16,6 @@ #include "CommonMemory.h" #include "RpHandlePlatform.h" #include "dsuFsfbFunc.h" -#include "FsfbRecordDelare.h" UINT8 RpHandle_init_SnStack(RPHANDLE_INFO_STRU *pRedunStruct); @@ -105,7 +104,7 @@ UINT8 RpHandleInit(RPHANDLE_INFO_STRU *pRedunStruct)/* %RELAX */ * RPHANDLE_INFO_STRU *pRedunStruct ͳһṹ *ֵ:ݳ *****************************************************************************************/ -UINT16 RpHandleOutput(RPHANDLE_INFO_STRU *pRedunStruct,UINT8* recordArray,UINT16 recordArraySize)/* %RELAX */ +UINT16 RpHandleOutput(RPHANDLE_INFO_STRU *pRedunStruct)/* %RELAX */ { UINT8 ret = 0; UINT16 index = 0; @@ -136,13 +135,6 @@ UINT16 RpHandleOutput(RPHANDLE_INFO_STRU *pRedunStruct,UINT8* recordArray,UINT16 /* 1ֽ 󶪰 */ pRedunStruct->VarArray[index] = CurNumLink->SnLink_Info.maxLostSn; index++; - - - PrintRecArrayByte(recordArray, recordArraySize, OUT_RP_LNK); /*RP·*/ - PrintRecArray2ByteB(recordArray, recordArraySize, CurNumLink->SnLink_Info.DestDevName); - PrintRecArray4ByteB(recordArray, recordArraySize, CurNumLink->SnLink_Info.LastSn); - PrintRecArrayByte(recordArray, recordArraySize, CurNumLink->SnLink_Info.maxLostSn); - CurNumLink = CurNumLink->NextNode; } diff --git a/TSCP/src/protocol/fsfb/common_fsfb/RpHandlePlatform.h b/TSCP/src/protocol/fsfb/common_fsfb/RpHandlePlatform.h index f74e5dc..4e2a260 100644 --- a/TSCP/src/protocol/fsfb/common_fsfb/RpHandlePlatform.h +++ b/TSCP/src/protocol/fsfb/common_fsfb/RpHandlePlatform.h @@ -111,7 +111,7 @@ UINT8 RpHandleReceive(QueueStruct* OutnetQueueA,QueueStruct* OutnetQueueB, RPHAN *ֵ: * ദЭм; *****************************************************************************************/ -UINT16 RpHandleOutput(RPHANDLE_INFO_STRU* pRpStruct, UINT8* recordArray, UINT16 recordArraySize); +UINT16 RpHandleOutput(RPHANDLE_INFO_STRU *pRpStruct); /***************************************************************************************** *: * ˢм diff --git a/TSCP/src/protocol/sfp_record_cbtc1/common_sfp_nr_config/sfpConfig.h b/TSCP/src/protocol/sfp_record_cbtc1/common_sfp_nr_config/sfpConfig.h index 7998cbb..0756986 100644 --- a/TSCP/src/protocol/sfp_record_cbtc1/common_sfp_nr_config/sfpConfig.h +++ b/TSCP/src/protocol/sfp_record_cbtc1/common_sfp_nr_config/sfpConfig.h @@ -1,27 +1,27 @@ /******************************************************************************* -* �ļ��� �� sfpConfig.h -* ��Ȩ˵�� �� -* �汾�� �� 1.0 -* ����ʱ�� �� 2010.05.04 -* ���� �� ���� -* �������� �� ���ļ�ΪSFPЭ�������ļ� -* ʹ��ע�� �� - �� -* �޸ļ�¼ �� +* ļ sfpConfig.h +* Ȩ˵ +* 汾 1.0 +* ʱ 2010.05.04 +* +* ļΪSFPЭļ +* ʹע + +* ޸ļ¼ *******************************************************************************/ #ifndef _SFPCONFIG_H #define _SFPCONFIG_H -/**************************Э���¼�궨�忪��**********************************/ -/*#define PRTCL_RECORD_DATA_ASC*/ /*���ݲ����ַ��ͼ�¼����*/ -/*#define PRTCL_RECORD_ERR_ASC*/ /*���󲿷��ַ��ͼ�¼����*/ +/**************************Э¼궨忪**********************************/ +/*#define PRTCL_RECORD_DATA_ASC*/ /*ݲַͼ¼*/ +/*#define PRTCL_RECORD_ERR_ASC*/ /*󲿷ַͼ¼*/ -#define PRTCL_RECORD_SIMPLIFY_BIN /*�����Ƽ�¼����*/ -#define USE_DSU_SFP /*ʹ��SFP��ѯ����*/ -#define SWAP_CRC /*����CRC*/ +#define PRTCL_RECORD_SIMPLIFY_BIN /*Ƽ¼*/ +#define USE_DSU_SFP /*ʹSFPѯ*/ +/*#define SWAP_CRC */ /*CRC*/ #else #endif