// 秒寻科技
// 计算主站ID
// zt
// 2023-03-12

#ifndef __BTS_ID_H__
#define __BTS_ID_H__

#include "../../sysdefine/sysdef.h"

// 供外部使用接口
void bts_id_init();
void bts_id_main(BTS_AMPL_MIRROR_DATA_T *pstBtsAmplMirrorDataList, PUB_LOCATION_DATA_T *pstLocationDataList, BTS_ID_JUDGEMENT_MAIN_BTS_T *pstJudgementMainBtsList);

// 内部使用接口
void bts_id_mirror_data(BTS_AMPL_MIRROR_DATA_T *pstBtsAmplMirrorDataList, BTS_ID_MIRROR_DATA_T *pstBtsIdMirrorDataList);
void bts_id_cal_main_bts_id(BTS_ID_MIRROR_DATA_T *pstBtsIdMirrorDataList, PUB_LOCATION_DATA_T *pstLocationDataList, BTS_ID_JUDGEMENT_MAIN_BTS_T *pstJudgementMainBtsList);
void bts_id_ampl_sort(BTS_ID_MIRROR_DATA_T *pstBtsIdMirrorDataList, uint8 *pbySortIndexList);
uint8 bts_id_cal_bts_id(BTS_ID_MIRROR_DATA_T *pstBtsIdMirrorData, uint32 *pdwResultBtsId, uint8 *pbyShiftTimes);
uint32 bts_id_cal_bit_judgement_threshold(flt32 *pfBitMaxAmplitude);
uint32 bts_id_judgement_bits(flt32 *pfBitMaxAmplitude, flt32 fThreshold);
uint8 bts_id_check_bts_id(uint32 dwCalBtsId, uint32 *pdwBtsIdList, uint32 *pdwBtsId, uint8 *pbyRightShift);
uint32 bts_id_circle_right_shift(uint32 dwBtsId);

#endif