/********************************************************
*                                                                                                            
* 文 件 名： InterlockLogicManage.h   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2012-04-10
* 作    者： 联锁组
* 功能描述： 联锁逻辑管理函数头文件  
* 函数包括：
* 使用注意：
* 修改记录：   
*
********************************************************/ 

#ifndef _TRAD_INTERLOCK_LOGIC_MANAGE_H_
#define _TRAD_INTERLOCK_LOGIC_MANAGE_H_



#include "../System/SystemParameterManage.h"
#include "../System/CiSystemDefine.h"
#include "../Switch/SwitchDefine.h"
#include "../Switch/SwitchDataManage.h"
#include "../Switch/SwitchConfigDataManage.h"
#include "../Signal/SignalDefine.h"
#include "../Signal/SignalDataManage.h"
#include "../Signal/SignalConfigDataManage.h"
#include "../Section/SectionDefine.h"
#include "../Section/PhysicalSectionDataManage.h"
#include "../Section/PhysicalSectionConfigDataManage.h"
#include "../Route/RouteDefine.h"
#include "../Route/RouteDataManage.h"
#include "../Route/RouteConfigDataManage.h"
#include "../ReverseRoute/ReverseRouteConfigDataManage.h"
#include "../2oo2/2oo2InterfaceDataManage.h"
#include "../ERROR/ErrorDataManage.h"
#include "../ERROR/ErrorDefine.h"
#include "../DataManage/DeviceDataManage.h"
#include "../ParsePack/CiInterfaceDefine.h"
#include "../ParsePack/ParsePackAtsData.h"
#include "../LogicProcess/InterlockLogicCheck.h"
#include "../LogicManage/InterlockCommonManage.h"

#include "../LogRecord/LogRecord.h"

#ifdef SCADE_MODE
#include "../LogicManage/General/LogicManageScadeInterface.h"
#else
#include "../LogicProcess/InterlockLogicProcess.h"
#include "../LogicProcess/TradInterlockLogicProcess.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif


/*
* 功能描述： 联锁逻辑主处理
* 参数说明： void
* 返回值  ：    
*/
void TradInterlockLogicMainProc(void);

/*
* 功能描述： 非进路逻辑处理
* 参数说明： void
* 返回值  ：    
*/
void NonRouteLogicProcess(void);

/*
* 功能描述： 非进路调车选排管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void NonRouteXuanPaiDeal(UINT8 nonRouteId);

/*
* 功能描述： 非进路调车锁闭管理
* 参数说明： 
* 返回值  ： void   
*/
void NonRouteLockDeal(UINT8 nonRouteId);

/*
* 功能描述： 非进路调车开放管理
* 参数说明： 
* 返回值  ： void   
*/
void NonRouteOpenDeal(UINT8 nonRouteId);

/*
* 功能描述： 非进路调车延时解锁处理
* 参数说明： 
* 返回值  ： void   
*/
void NonRouteDelayUnlockDeal(UINT8 nonRouteId);

/*
* 功能描述： 非进路调车故障延时解锁处理
* 参数说明： 
* 返回值  ： void   
*/
void NonRouteFaultDelayUnlockDeal(UINT8 nonRouteId);

/*
* 功能描述： 进路逻辑处理
* 参数说明： void
* 返回值  ：    
*/
void LongRouteLogicProcess(void);

/*
* 功能描述： 长调进路选排管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void LongRouteXuanPaiDeal(const UINT16 longRouteId);

/*
* 功能描述： 长调进路选排管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void LongRouteLockDeal(const UINT16 longRouteId);

/*
* 功能描述： 进路逻辑处理
* 参数说明： void
* 返回值  ：    
*/
void RouteLogicProcess(void);

/*
* 功能描述： 进路选排管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void CommonRouteXuanPaiDeal(const UINT16 routeId);

/*
* 功能描述： 引导进路选排管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void LeadRouteXuanPaiDeal(const UINT16 routeId);

/*
* 功能描述： 进路初锁处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteFirstLockDeal(const UINT16 routeId);

/*
* 功能描述： 进路初锁异常处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteFirstLockErrDeal(const UINT16 routeId);

/*
* 功能描述： 进路预先锁闭管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteYuXianLockDeal(const UINT16 routeId);

/*
* 功能描述： 进路预先开放管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteYuXianOpenDeal(const UINT16 routeId);

/*
* 功能描述： 进路接近锁闭管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteNearLockDeal(const UINT16 routeId);

/*
* 功能描述： 进路接近锁闭异常管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteNearLockErrDeal(const UINT16 routeId);

/*
* 功能描述： 进路接近开放管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteNearOpenDeal(const UINT16 routeId);

/*
* 功能描述： 进路延时解锁管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteDelayUnlockDeal(const UINT16 routeId);

/*
* 功能描述： 进路物理区段自动解锁管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteSecAutoUnlockDeal(const UINT16 routeId);

/*
* 功能描述： 进路物理区段自动解锁异常管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteSecAutoUnlockErrDeal(const UINT16 routeId);

/*
* 功能描述： 进路引导锁闭管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteLeadLockDeal(const UINT16 routeId);

/*
* 功能描述： 进路引导开放管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteLeadOpenDeal(const UINT16 routeId);

/*
* 功能描述： 进路引导锁闭异常管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteLeadLockErrDeal(const UINT16 routeId);

/*
* 功能描述： 应急盘功能处理
* 参数说明： void
* 返回值  ：    
*/
void JKJRelayLogicProcess(void);

/*
* 功能描述： 开放进路信号处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： CI_SUCCESS
*            CI_ERROR
*/
UINT8 OpenCommRouteSigProc(const UINT16 routeId);

/*
* 功能描述： 保持开放进路信号处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： UINT8   
*/
UINT8 KeepCommRouteSigProc(const UINT16 routeId);

/*
* 功能描述： 进路延时解锁处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： UINT8   
*/
UINT8 CommRouteDelayUnlockProc(const UINT16 routeId);

/*
* 功能描述： 物理区段延时解锁处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteSecDelayUnlockProc(const UINT16 routeId);

/*
* 功能描述： 上电解锁逻辑处理
* 参数说明： void
* 返回值  ： 
*/
void StartupUnlockM(void);

/*
* 功能描述： 办理普通进路逻辑管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void SetCommonRouteLogicM(const UINT16 routeId);

/*
* 功能描述： 办理组合进路逻辑管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void SetZuHeRouteLogicM(const UINT16 routeId);

/*
* 功能描述： 取消组合调车进路逻辑管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void
*/
void CancelZuHeRouteLogicM(const UINT16 routeId);

/*
* 功能描述： 取消组合列车进路逻辑管理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void
*/
void CancelZuHeLieCheRouteLogicM(const UINT16 routeId);

/*
* 功能描述： 办理引导进路逻辑处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ：    
*/
void SetLeadRouteM(const UINT16 signalId);

/*
* 功能描述： 总取消进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void ZongQuXiaoRouteM(const UINT16 routeId);

/*
* 功能描述： 总人解进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void ZongRenJieRouteM(const UINT16 routeId);

/*
* 功能描述： 重开信号逻辑管理
* 参数说明： const UINT16 signalId, 信号机ID
* 返回值  ： void   
*/
void RepeatOpenSignalM(const UINT16 signalId);

/*
* 功能描述： 设置道岔封锁逻辑处理
* 参数说明： const UINT16 switchId, 道岔ID
* 返回值  ： void   
*/
void SetSwitchFengSuoM(const UINT16 switchId);

/*
* 功能描述： 设置道岔单锁逻辑处理
* 参数说明： const UINT16 switchId, 道岔ID
* 返回值  ： void   
*/
void SetSwitchDanSuoM(const UINT16 switchId);

/*
* 功能描述： 设置信号封锁逻辑处理
* 参数说明： const UINT16 signalId, 信号机ID
* 返回值  ：    
*/
void SetSignalFengSuoM(const UINT16 signalId);

/*
* 功能描述： 取消道岔封锁逻辑处理
* 参数说明： UINT16 switchId, 道岔ID
* 返回值  ：    
*/
void CancelSwitchFengSuoM(const UINT16 switchId);

/*
* 功能描述： 取消道岔单锁逻辑处理
* 参数说明： UINT16 switchId, 道岔ID
* 返回值  ：    
*/
void CancelSwitchDanSuoM(const UINT16 switchId);

/*
* 功能描述： 取消信号封锁逻辑处理
* 参数说明： const UINT16 signalId, 信号机ID
* 返回值  ：    
*/
void CancelSignalFengSuoM(const UINT16 signalId);

/*
* 功能描述： 设置道岔位置逻辑处理
* 参数说明： UINT16 switchId, 道岔ID
*            const UINT8 switchSetPos, 道岔位置
* 返回值  ：    
*/
void SetSwitchPositionM(const UINT16 switchId, const UINT8 switchSetPos);

/*
* 功能描述： 办理非进路逻辑处理
* 参数说明： 
UINT8 nonRouteId - 非进路调车ID
* 返回值  ：    
*/
void SetNonRouteM(UINT8 nonRouteId);


/*
* 功能描述： 取消非进路逻辑处理
* 参数说明： 
UINT8 nonRouteId - 非进路调车ID
* 返回值  ：    
*/
void CancelNonRouteM(UINT8 nonRouteId);

/*
* 功能描述： 故障取消非进路逻辑处理
* 参数说明： 
UINT8 nonRouteId - 非进路调车ID
* 返回值  ：    
*/
void FaultCancelNonRouteM(UINT8 nonRouteId);

/*
* 功能描述： 设置停止检查
* 参数说明： void
* 返回值  ：    
*/
void SetStopCheckM(void);

/*
* 功能描述： 取消停止检查
* 参数说明： void
* 返回值  ：    
*/
void CancelStopCheckM(void);

/*
* 功能描述： 进路总取消处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void      
*/
void RouteZongQuXiaoDeal(const UINT16 routeId);

/*
* 功能描述： 进路总人解处理
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： void   
*/
void RouteZongRenJieDeal(const UINT16 routeId);

/*
* 功能描述： 非进路取消处理
* 参数说明： 
UINT8 nonRouteId - 非进路调车ID
* 返回值  ： void      
*/
void NonRouteCancelDeal(UINT8 nonRouteId);

/*
* 功能描述： 更新照查继电器
* 参数说明： 
            const UINT16 routeId, UINT8 routeState
* 返回值  ：    
            CI_ERROR
            CI_SUCCESS
*/
void UpdateZhaoChaDeal(const UINT16 routeId, const UINT8 routeState);


/*
* 功能描述： 非进路锁闭驱动道岔处理
* 参数说明： const UINT16 routeId, 非进路ID
* 返回值  ： UINT8 
*/
UINT8 NonRouteLockDrvSwitchDeal(const UINT8 nonRouteId);

/*
* 功能描述： 区段故障解锁异常锁闭处理
* 参数说明： UINT16 phySecId 物理区段ID
*	返回值：1：有
*         0: 无
*/
void PhySecFaultRelatedUnLockDeal(const UINT16 phySecId, const UINT16 belongRouteId);

/*
* 功能描述： 设置进路状态处理
* 参数说明： UINT16 routeId 进路号
*	返回值：1：有
*         0: 无
*/
void SetRouteStateDeal(const UINT16 routeId, const UINT8 routeState);

/*
* 功能描述： 设置长调进路状态处理
* 参数说明： UINT16 routeId 进路号
*	返回值：1：有
*         0: 无
*/
void SetLongRouteStateDeal(const UINT16 longRouteId, const UINT8 longRouteState);

/*
* 功能描述： 设置非进路状态处理
* 参数说明： UINT16 routeId 非进路号   UINT8 nonRouteState，非进路状态
*	返回值：1：有
*         0: 无
*/
void SetNonRouteStateDeal(UINT8 nonRouteId,const UINT8 nonRouteState);

/*
* 功能描述： 设置非进路物理区段征用状态
* 参数说明： UINT16 routeId 非进路号    const UINT8 usingState 物理区段征用状态
*	返回值：1：有
*         0: 无
*/
void SetNonRoutePhySecUsingState(UINT8 nonRouteId,const UINT8 usingState);

/*
* 功能描述： 设置非进路物理区段锁闭状态
* 参数说明： UINT16 routeId 非进路号    const UINT8 lockState 锁闭状态
*	返回值：1：有
*         0: 无
*/
void SetNonRoutePhySecLockState(const UINT8 nonRouteId, const UINT8 lockState);

/*
* 功能描述： 设置非进路关联防护道岔防护锁闭状态
* 参数说明： const UINT16 nonRouteId, 进路ID
*            const UINT8 lockCommand, 锁闭状态
* 返回值  ： 0 失败
*			 1 成功
*/
UINT8 SetNonRouteRelatedProtSwLockSta(const UINT16 nonRouteId, const UINT8 lockCommand);

/*
* 功能描述： 清空进路选排状态
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ：    
*/
void CancelLongRouteXuanPai(const UINT16 routeId);

/*
* 功能描述： 清空进路选排状态
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ：    
*/
void CancelRouteXuanPai(const UINT16 routeId);

/*
* 功能描述： 取消非进路选排处理
* 参数说明： 
* 返回值  ：    
*/
void CancelNonRouteXuanPai(UINT8 nonRouteId);

/*
* 功能描述： 非进路道岔检查
* 参数说明： const UINT16 switchId, 道岔ID
* 返回值  ： 0: 不属于已办理非进路
*			 1: 属于已办理非进路   
*/
UINT8 CheckSwitchBelongNonRoute(const UINT16 switchId);

/*
* 功能描述： 非进路信号机检查
* 参数说明： const UINT16 signalId, 信号机ID
* 返回值  ： 0: 不属于已办理非进路
*			 1: 属于已办理非进路   
*/
UINT8 CheckSignalBelongNonRoute(const UINT16 signalId);

/*
* 功能描述： 非进路物理区段检查
* 参数说明： const UINT16 switchId, 道岔ID
* 返回值  ： 0: 不属于已办理非进路
*			 1: 属于已办理非进路
*/
UINT8 CheckPhySecBelongNonRoute(const UINT16 phySecId);

/*
* 功能描述： 驱动非进路信号机关闭
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ： 0:失败
*			 1:成功   
*/
void DriveNonRouteSignalClose(UINT8 nonRouteId);

/*
* 功能描述： 驱动非进路信号机开放
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ： 0:失败
*			 1:成功   
*/
void DriveNonRouteSignalOpen(UINT8 nonRouteId);

/*
* 功能描述： 非进路信号机完全关闭检查
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ： 0:失败
*			 1:成功   
*/
UINT8 CheckNonRouteSignalAllClose(UINT8 nonRouteId);

/*
* 功能描述： 非进路信号机完全开放检查
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ： 0:失败
*			 1:成功   
*/
UINT8 CheckNonRouteSignalAllOpen(UINT8 nonRouteId);


/*
* 功能描述： 清除进路之前占用状态
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： UINT8 
*/
#if 0
void CleanRoutePreOccupyState(const UINT16 routeId);
#endif


/*
* 功能描述： 检查进路物理区段未故障延时
* 参数说明： UINT16 routeId 进路号
*	返回值：1：是
*         0: 否
*/	
UINT8 CheckRoutePhySecUnfaultDelay(const UINT16 routeId);

/*
* 功能描述：进路有车驶入
* 参数说明： const UINT16 routeId, 进路ID
* 返回值  ： SUCCESS：成功
*            ERROR：  失败   
*/
UINT8 CheckTrainEnterRoute(const UINT16 routeId);

/*
* 功能描述： 设置进路停止检查标志管理
* 参数说明： const UINT16 routeId, 进路ID
*            UINT8 setState, 设置状态
* 返回值  ： 无   
*/
void SetRouteStopFlagManage(const UINT16 routeId, UINT8 setState);

/*
* 功能描述： 设置道岔封锁状态处理
* 参数说明： UINT16 switchId 道岔号
*	返回值：1：有
*         0: 无
*/
void SetSwitchFengSuoStateDeal(const UINT16 switchId, const UINT8 flockState);

/*
* 功能描述： 设置道岔单锁状态处理
* 参数说明： UINT16 switchId 道岔号
*	返回值：1：有
*         0: 无
*/
void SetSwitchDanSuoStateDeal(const UINT16 switchId, const UINT8 lockCommand);

/*
* 功能描述： 区段故障解锁延时解锁处理
* 参数说明： UINT16 phySecId 物理区段ID
*	返回值：1：有
*         0: 无
*/
UINT8 CheckPhySecFaultTrainUnEnterR(const UINT16 belongRouteId);

/*
* 功能描述： 区段故障解锁不延时处理
* 参数说明： UINT16 const switchId
* 返回值  ： CI_ERROR
*            CI_SUCCESS
* 故障编码： EFUNC_SET_SWITCH_FLOCK
*/
UINT8 SectionFaultUnlockUndelayP(const UINT16 phySectionId);

/*
* 功能描述： 区段故障解锁延时处理
* 参数说明： UINT16 const switchId
* 返回值  ： CI_ERROR
*            CI_SUCCESS
* 故障编码： EFUNC_SET_SWITCH_FLOCK
*/
UINT8 SectionFaultUnlockDelayP(const UINT16 phySectionId);

/*
* 功能描述： 调车折返解锁逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void DTrainReturnUnlockP(void);

/*
* 功能描述： 调车折返解锁进路完整锁闭逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId);


/*
* 功能描述： 调车折返解锁进路部分锁闭逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void DTrainRtnUnlockRoutePartLockP(const UINT16 routeId);


/*
* 功能描述： 获取进路并置信号机ID
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT16 GetRouteBingZhiSignalId(const UINT16 routeId);

/*
* 功能描述： 获取进路差置信号机ID
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT16 GetRouteChaZhiSignalId(const UINT16 routeId);

/*
* 功能描述： 获取进路中途折返信号机ID
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT16 GetRouteMidwayReturnSignalId(const UINT16 routeId);

/*
* 功能描述： 进路区段全部空闲检查
* 参数说明： UINT16 routeId,    进路号
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 RouteAllLockSecNoOccupyCheck(UINT16 const routeId);


/*
* 功能描述： 车库门开门逻辑管理
* 参数说明： const UINT16 garageDoorId, 车库门ID
* 返回值  ： void   
*/
void SetGarageDoorOpenLogicM(const UINT16 garageDoorId);

/*
* 功能描述： 车库门关门逻辑管理
* 参数说明： const UINT16 garageDoorId, 车库门ID
* 返回值  ： void   
*/
void SetGarageDoorCloseLogicM(const UINT16 garageDoorId);

/*
* 功能描述： 车辆段区段故障解锁逻辑特殊处理，若当前区段为调车进路非最后一个区段，相邻区段为无岔区段则带动解锁
* 参数说明： const UINT16 phySectionId, 物理区段ID
*            const UINT16 lockBelongRouteId 锁闭所属进路ID
* 返回值: CI_SUCCESS 成功
*         CI_ERROR   失败
*/
UINT8 CLDPhySectionFaultUnlockDeal(const UINT16 phySectionId,const UINT16 lockBelongRouteId);

/*
* 功能描述： 获取折返信号机ID
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ： 折返信号机ID
*/
UINT16 GetReturnId(const UINT16	routeId);

/*
* 功能描述： 调车折返解锁远端进路完整锁闭逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId);

/*
* 功能描述： 取消洗车逻辑管理
* 参数说明： void
* 返回值  ： void   
*/
void CancelWashWorkLogicM(void);

/*
* 功能描述： 进路调车同意逻辑管理
* 参数说明： void
* 返回值  ： void
* by cgh 20250523
*/
void RouteDCTYLogic(UINT16 routeId);

/*
* 功能描述： 调车进路调车同意联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*			 RETURN_OPEN_ERR_SIGOPEN
*/
UINT8 DRouteDCTYCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 车辆段：保持开放列车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 KeepOpenLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述：设置非进路逻辑区段锁闭状态
* 参数说明： const UINT16 nonRouteId, 非进路ID
*            const UINT8 lockState, 锁闭状态
* 返回值  ： void
* cgh-20230529-修复YF0083-823
*/
void SetNonRouteLogSecLockState(const UINT8 nonRouteId, const UINT8 lockState);

/*
* 功能描述：检查非进路是否包含此逻辑区段
* 参数说明： const UINT16 chNonRouteId, 非进路ID
*            const UINT16 wLogSecId    逻辑区段ID
* 返回值  ： CI_ERROR 不包含
*            CI_SUCCESS  包含
* cgh-20230529-修复YF0083-823
*/
UINT8 NonRouteLogSecCheck(const UINT8 chNonRouteId, const UINT16 wLogSecId);
/*
* 功能描述： 转换轨调车折返解锁进路部分锁闭逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：无
* 创建 ： fan0824
*/
void ZHGDTrainRtnUnlockRouteProc(const UINT16 routeId);
/*
* 功能描述： 车库门逻辑处理
* 参数说明： 无
* 返回值  ： 无
*/
void GargeDoorLogicProcess(void);

/*
* 功能描述： 办理引导进路检查
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ： CI_ERROR 失败
*            CI_SUCCESS 成功
* by cgh 20250224
*/
UINT8 SetLeadRouteCheck(const UINT16 routeId);

/*
* 功能描述： 引导进路办理区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR 失败
*            CI_SUCCESS 成功
* by cgh 20250224
*/
UINT8 LeadRouteSetSectionCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
#ifdef __cplusplus
}
#endif

#endif
