/*********************************************************************************************************************
* 文件名	： AxisConfigDataManage.h  计轴器配置数据管理头文件
* 版权说明	： 交控科技
* 版本号 	： 1.0
* 创建时间	： 2022.3.11
* 作者	：		OC组
* 功能描述	： 计轴器配置数据管理
* 流程描述	：
*
* 使用注意	：
* 修改记录	：
**************************************************************************************************************/
#ifndef _AXIS_CONFIG_DATA_MANAGE_H_
#define _AXIS_CONFIG_DATA_MANAGE_H_


#ifdef __cplusplus
extern "C"
{
#endif

#define		AXIS_NUM_MAX			1000u /*计轴器最大数量*/

#include "dsuStruct.h"
typedef struct
{
	UINT16  wId;							/*编号*/
	UINT16  wType;                          /*类型信息*/
	UINT32	dwAxleKilo;						/*计轴器公里标*/
	UINT16  wLkId;							/*计轴器所处link编号*/
	UINT32	dwLkOfst;						/*计轴器所处link偏移量(cm)*/
	UINT8	chKiloType;						/*公里标类型*/
}AxisConfigStru, *pAxisConfigStru;

/*******************************全局变量声明*******************************/
extern AxisConfigStru g_szAxisData[AXIS_NUM_MAX];
extern UINT16 g_axisNum;
/**
* @brief 获取计轴器数量
* @param 无
* @return 计轴器数量
*/
extern UINT16 GetAxleNum(void);

/**
* @brief 根据ID获取存储索引
* @param wId 编号
* @return 索引
*/
extern UINT16 GetAxisIndexById(UINT16 wId);

/**
* @brief 根据ID获取公里标
* @param wId 编号
* @return 公里标
*/
extern UINT32 GetAxisKmById(UINT16 wId);

/**
* @brief 根据索引获取计轴器ID
* @param wIndex
* @return 计轴器ID
*/
extern UINT16 GetAxisIdByIndex(UINT16 wIndex);

/**
* @brief 根据ID获取计轴器所处link
* @param wId 编号
* @return 所处link编号
*/
extern UINT16 GetAxisLinkId(UINT16 wId);

/**
* @brief 根据ID获取计轴器所处link偏移量
* @param wId 编号
* @return 所处link偏移量
*/
extern UINT32 GetAxisOffsetById(UINT16 wId);
#ifdef __cplusplus
}
#endif


#endif
