/****************************************************************************** | |
* @file bqb_ll.h | |
* | |
* @brief for TLSR chips | |
* | |
* @author public@telink-semi.com; | |
* @date Sep. 30, 2010 | |
* | |
* @attention | |
* | |
* Copyright (C) 2019-2020 Telink Semiconductor (Shanghai) Co., Ltd. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* | |
*****************************************************************************/ | |
#ifndef BQB_LL_H_ | |
#define BQB_LL_H_ | |
typedef enum { | |
TP_STATUS_CONN_PKT_MAX = 1, | |
TP_STATUS_CONN_UNKNOWN_RSP, | |
TP_STATUS_CONNECTION_DATA_SEND, | |
//adv | |
TP_STATUS_ADV_PKT_MAX , | |
TP_STATUS_CONN_ESTABLISH , | |
TP_STATUS_CONN_TERMINATE , | |
TP_STATUS_CONN_PARA_REQ , | |
TP_STATUS_CONN_PARA_UPDATE , | |
TP_STATUS_CONNECTION_TIMEOUT , | |
TP_STATUS_CONNE_RCVD_L2CAP_DATA , | |
TP_STATUS_CONN_MAP_REQ , | |
TP_STATUS_CONN_MAP_UPDATE , | |
TP_STATUS_CONN_DATA_LENGTH_EXCHANGE , | |
TP_STATUS_CONN_BRX_MISS_END , | |
TP_STATUS_L2CAP_DATA_IN_IRQ_RX , | |
TP_STATUS_TERMINATE_IN_IRQ_RX , | |
TP_STATUS_BRX_START , | |
TP_STATUS_RECV_CERT_DATA , | |
TP_STATUS_PUSH_DATA_CRC_ERR , | |
TP_STATUS_PUSH_DATA_SN_ERR , | |
TP_STATUS_CONN_IN_IRQ_RX , | |
TP_STATUS_BRX_POST , | |
TP_STATUS_BRX_TX , | |
TP_STATUS_SCAN_HIT_MAX , | |
TP_STATUS_SCAN_RCVD_RSP , | |
TP_STATUS_SCAN_REQ_SENT , | |
TP_STATUS_CONN_HIT_MAX , | |
TP_STATUS_CONN_RCVD_DAT , | |
TP_STATUS_CONN_REQ_SENT , | |
TP_STATUS_TIMEOUT , | |
TP_STATUS_CONNECTION_LOST , | |
TP_STATUS_CONN_PKT_MISSING , | |
TP_STATUS_CONNECTION_RETX_MAX , | |
TP_STATUS_RCVD_NO_EMPTY_PKT , | |
TP_STATUS_CHN_MAP_FULL_USED , | |
TP_STATUS_CONN_PHY_UPDATE , | |
TP_STATUS_CONNECTION_FEATURE_REQ , | |
TP_STATUS_CONN_BTX_MIDDLE , | |
TP_STATUS_INIT = 0x8000, | |
} tp_status_t; | |
typedef int (*callback_testcase_t)(int); | |
extern callback_testcase_t p_callback_testcase; | |
typedef struct { | |
u8 En_AdvData_inc; | |
s8 AdvData_inc_step; | |
u8 En_adv_crcERR; | |
u8 En_scanRsp_crcERR; | |
u32 AdvPkt_max; | |
u32 AdvPkt_no; | |
u32 ConnPkt_max; | |
u32 ConnPkt_no; | |
u8 feature_req_skip; | |
u8 version_ind_skip; | |
u8 ver_ind_once; | |
u8 phy_req_col; | |
u8 phy_req_skip; | |
u8 phy_req_nochange; | |
u8 Disable_moreData; | |
u8 phy_no_common; | |
// u8 testEn_printRcvdData_onConnect; | |
u8 En_rcvd_l2cap_data_callback; | |
// u8 lenReq_no_support; | |
int testData_pkts; | |
int testData_no; | |
u16 brx_miss_en; | |
u16 brx_miss_delay_intervals; | |
u32 brx_miss_startTick; | |
u32 brx_miss_duration; //us | |
u8 conn_pkt_crcERR; | |
} st_bqb_ll_t; | |
extern st_bqb_ll_t bqbS; | |
extern u8 pkt_test_data[]; | |
extern u8 testData_pkts; | |
extern u32 testConnPkt_no; | |
extern u32 testConnPkt_max; | |
extern u8 testPhyUpdate_Same; | |
extern u8 testPhyUpdate_PastIns; | |
extern u8 testPhyUpdate_TO; | |
extern u8 testDiffProc_ChnMap; | |
extern u8 testDiffProc_ConUp; | |
extern u8 test_ConRecv_no; | |
extern u8 testPhyInd_TO; | |
extern u8 testNoPhyReqChan; | |
extern u8 testNoPhyRspChan; | |
void tp_set_adv_pkt_max (u16 m); | |
void tp_enable_advData_inrease(u8 en, s8 step); | |
void tp_AdvAddress_companyId_exchange(void); | |
void tp_AdvAddress_companyAssignId_exchange(void); | |
void tp_AdvAddress_companyId_companyAssignId_mismatch(void); | |
//void tp_ScanRspAddress_companyId_exchange(void); | |
//void tp_ScanRspAddress_companyAssignId_exchange(void); | |
//void tp_ScanRspAddress_companyId_companyAssignId_mismatch(void); | |
void tp_enable_adv_scanRsp_Bad_CRC (u8 advBadCrc, u8 scanRspBadCrc ); | |
void tp_set_conn_pkt_max (u32 m); | |
void tp_flip_access_address (int n); | |
void tp_set_test_data (u8 type, u8 len, u8 d, int pkts); | |
void tp_set_manual_timeout (u32 timeout); | |
void tp_disable_more_data(u8 disable); | |
void tp_enable_print_rcvd_data_connect(u8 en); | |
void tp_enable_rcvd_l2cap_data_callback(u8 en); | |
void tp_disable_data_len_exchange(u8 en); | |
void tp_set_brx_missing_time(u32 time_ms); | |
void tp_set_brx_missing_delay_intervals(int interval_num); | |
void tp_enable_conn_pkt_Bad_CRC (u8 connBadCrc ); | |
void tp_set_adv_pkt_max (u16 m); | |
void tp_disable_more_data(u8 disable); | |
void tp_set_conn_pkt_max(u32 m); | |
void tp_phy_req_col(u8 en); | |
void tp_phy_req_skip(u8 en); | |
void tp_phy_req_nochange(u8 en); | |
void tp_phy_no_common(u8 en); | |
void tp_set_test_data (u8 type, u8 len, u8 d, int pkts); | |
void tp_enable_rcvd_l2cap_data_callback(u8 en); | |
void tp_set_test_pkt(u8 num); | |
void tp_SetPhyUpdate_Same(u8 en); | |
void tp_set_PhyUpdate_InsInPast(u8 en); | |
void tp_set_PhyReq_TO(u8 en); | |
void tp_set_DiffProc_ChnMap(u8 en); | |
void tp_set_DiffProc_ConUp(u8 en); | |
void tp_setRecv_no(u8 num); | |
void tp_set_PhyInd_TO(u8 en); | |
void tp_set_NoPhyReqChan(u8 en); | |
void tp_set_NoPhyRspChan(u8 en); | |
#endif /* LL_BQB_H_ */ |