
/************************************************************************
*
* 文件名   ：dquVobcCommonStru.h
* 版权说明 ：  北京交控科技科技有限公司 
* 版本号   ：  1.0
* 创建时间 ：  2011.12.08
* 作者     ：  软件部
* 功能描述 ：VOBC应用公用结构体文件
* 使用注意 ： 
* 修改记录 ：  
*
************************************************************************/

#ifndef DQU_VOBC_COMMON_STRUCT_H
#define DQU_VOBC_COMMON_STRUCT_H


#include "CommonTypes.h"


#define	 MAX_AXISSEC_SUM_IN_LOGSEC      ((UINT8)8)  /*逻辑区段关联的计轴区段的最大数量*//*add 20220920 TIOC5.0*/
#define	 MAX_LOGSEC_INCLUDE_SWITCH_NUM  ((UINT16)9) /*逻辑区段包含的道岔数量最大值*//* add 20220922 TIOC5.0*/
#define	 MAX_LOGSEC_INCLUDE_LINK_NUM	((UINT16)8) /*逻辑区段包含的LINK数量最大值*//* add 20220922 TIOC5.0*/
#define	 SW_LINK_DEFAUT					((UINT8)0)	/*非道岔link*//* add 20220922 TIOC5.0*/
#define	 SW_LINK_CON					((UINT8)1)	/*汇合link*//* add 20220922 TIOC5.0*/
#define	 SW_LINK_MAIN					((UINT8)2)	/*定位link*//* add 20220922 TIOC5.0*/
#define	 SW_LINK_SIDE					((UINT8)3)	/*反位link*//* add 20220922 TIOC5.0*/

#ifdef __cplusplus
extern "C" {
#endif


/*位置结构体*/
typedef struct
{
	UINT16 Lnk;/*Link*/
	UINT32 Off;/*Offset*/
	UINT8 Dir;/*方向*/
}LOD_STRU;


/*道岔信息：包括道岔的ID及状态*/
typedef struct{
	UCHAR   PointType;				/*道岔的类型，可以考虑不用*/
	UINT16	PointId;				/*道岔的ID*/
	UINT16	Lnk;					/*障碍物所在区段号（D_ OBSTACLEL）*/
	UINT32	Off;					/*障碍物所在区段偏移量（D_ OBSTACLEO）*/
	UCHAR	PointStatus;			/*道岔的状态*/
	UCHAR	PointExpectedStatus;	/*道岔应该的状态*/
}DQU_POINT_STATUS_STRU;


/*临时限速结构体*/
typedef struct
{
	UINT16 TsrSpd;/*限速值*/
	UINT16 TsrHeadLnk;/*TSR起点Link*/
	UINT32 TsrHeadOff;/*TSR起点Offset*/
	UINT16 TsrTailLnk;/*TSR终点Link*/
	UINT32 TsrTailOff;/*TSR终点Offset*/
}TSR_STRU;

/* 路径信息 */
typedef struct
{
	UINT8  cLinkCnt;                                     /*link数量*/
	UINT16 szLinkId[MAX_LOGSEC_INCLUDE_LINK_NUM];                      /*路径ID*/
}PATH_LINK_STRU;

/*逻辑区段包含道岔结构体*/
typedef struct
{
	UINT8 SwitchNum;
	UINT16 SwitchId[MAX_LOGSEC_INCLUDE_SWITCH_NUM];   /*道岔ID*/
	UINT8 SwitchPosition[MAX_LOGSEC_INCLUDE_SWITCH_NUM];  /*道岔位置*/
} LOGSEC_SWITCH_STRU;

typedef struct
{
	UINT16 wLinkId;		/* LINK编号 */
	UINT16 wPointType;	/* 端点类型 */
	UINT16 wPointId;	/* 端点编号 */
	UINT16 wMainLinkId;	/* 相邻正线link编号 */
	UINT16 wSideLinkId;	/* 相邻侧线link编号 */
}LINK_POINT_DATA_STRU,*pLinkPoint;

#ifdef __cplusplus
}
#endif

#endif
