131 lines
3.5 KiB
C
131 lines
3.5 KiB
C
|
#ifndef BTCTRLER_TASK_H
|
||
|
#define BTCTRLER_TASK_H
|
||
|
|
||
|
#include "typedef.h"
|
||
|
#include "system/task.h"
|
||
|
|
||
|
enum {
|
||
|
LMP_EVENT = Q_USER + 1,
|
||
|
LMP_HCI_CMD,
|
||
|
LMP_HCI_CMD_TO_CONN,
|
||
|
HCI_COMMON_CMD,
|
||
|
LL_EVENT,
|
||
|
HCI_CMD_TO_LL,
|
||
|
TWS_LMP_EVENT,
|
||
|
MSG_BT_UPDATA_START,
|
||
|
MSG_BT_UPDATE_LOADER_DOWNLOAD_START,
|
||
|
MSG_BLE_TEST_UPDATA_START,
|
||
|
MSG_BLE_TEST_OTA_LOADER_DOWNLOAD_START,
|
||
|
MSG_TASK_READY,
|
||
|
MSG_TASK_DEL,
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
BTCTRLER_EVENT_RESUME_REQ = 1,
|
||
|
};
|
||
|
|
||
|
#define SYS_EVENT_FROM_CTRLER (('C' << 24) | ('T' << 16) | ('R' << 8) | '\0')
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
int bredr_link_event(void *link, int argc, ...);
|
||
|
|
||
|
int bredr_tws_link_event(void *link, int argc, ...);
|
||
|
|
||
|
int btctrler_hci_cmd_to_task(int cmd, int argc, ...);
|
||
|
|
||
|
int lmp_hci_cmd_to_conn_for_handle(u16 handle, int argc, ...);
|
||
|
|
||
|
int lmp_hci_cmd_to_conn_for_addr(u8 *addr, int argc, ...);
|
||
|
|
||
|
int lmp_hci_cmd_to_conn(void *conn, int argc, ...);
|
||
|
|
||
|
|
||
|
#define lmp_hci_cmd_to_task(argc, ...) btctrler_hci_cmd_to_task(LMP_HCI_CMD, argc, ## __VA_ARGS__)
|
||
|
|
||
|
#define ll_hci_cmd_to_task(argc, ...) btctrler_hci_cmd_to_task(HCI_CMD_TO_LL, argc, ## __VA_ARGS__)
|
||
|
|
||
|
|
||
|
int btctrler_task_init(const void *transport, const void *config);
|
||
|
|
||
|
void btctrler_resume_req();
|
||
|
|
||
|
void btctrler_resume();
|
||
|
|
||
|
int btctrler_suspend(u8 suepend_rx_bulk);
|
||
|
|
||
|
int btctrler_task_ready();
|
||
|
|
||
|
int btctrler_task_exit();
|
||
|
|
||
|
int btctrler_task_close_bredr();
|
||
|
void btctrler_task_init_bredr();
|
||
|
|
||
|
void set_idle_period_slot(u16 slot);
|
||
|
enum {
|
||
|
TESTBOX_INFO_VBAT_VALUE = 0, //(u16 (*handle)(void))
|
||
|
TESTBOX_INFO_VBAT_PERCENT, //(u8 (*handle)(void))
|
||
|
TESTBOX_INFO_BURN_CODE, //(u8 *(*handle)(u8 *len))
|
||
|
TESTBOX_INFO_SDK_VERSION, //(u8 *(*handle)(u8 *len))
|
||
|
};
|
||
|
|
||
|
void bt_testbox_ex_info_get_handle_register(u8 info_type, void *handle);
|
||
|
u8 bredr_bulk_change_rx_bulk(u8 mode);
|
||
|
void lmp_set_features_req_step(u8 *addr);
|
||
|
|
||
|
struct ble_dut_tx_param_t {
|
||
|
u8 ch_index; //data[0]
|
||
|
u8 payload_len; //data[1]
|
||
|
u8 payload_type;//data[2]
|
||
|
u8 phy_type; //data[3]
|
||
|
};
|
||
|
|
||
|
struct ble_dut_rx_param_t {
|
||
|
u8 ch_index; //data[0]
|
||
|
u8 phy_type; //data[1]
|
||
|
};
|
||
|
|
||
|
enum BLE_DUT_CTRL_TYPE {
|
||
|
BLE_DUT_SET_RX_MODE = 0, //param1:struct ble_dut_rx_param_t *param;
|
||
|
BLE_DUT_SET_TX_MODE, //param1:struct ble_dut_tx_param_t *param;
|
||
|
BLE_DUT_SET_TEST_END, //param1:u16 *pkt_valid_cnt,param2:u16 *pkt_err_cnt;
|
||
|
};
|
||
|
|
||
|
struct ble_dut_ops_t {
|
||
|
|
||
|
/* *****************************************************************************/
|
||
|
/**
|
||
|
* @brief : initialize the ble dut test module
|
||
|
*
|
||
|
* @param : void
|
||
|
*
|
||
|
* @return : pointer to instance of test module
|
||
|
*/
|
||
|
/* *****************************************************************************/
|
||
|
void *(*init)(void);
|
||
|
|
||
|
/* *****************************************************************************/
|
||
|
/**
|
||
|
* @brief : ble dut test control api,such as setting rx/tx mode,stop testing
|
||
|
*
|
||
|
* @param : control type,using enum BLE_DUT_CTRL_TYPE value;
|
||
|
* @param : vary from different control type;
|
||
|
*/
|
||
|
/* *****************************************************************************/
|
||
|
int (*ioctrl)(int ctrl, ...);
|
||
|
|
||
|
/* *****************************************************************************/
|
||
|
/**
|
||
|
* @brief : exit the ble dut test module
|
||
|
*
|
||
|
* @param : poniter to instance of test module
|
||
|
*/
|
||
|
/* *****************************************************************************/
|
||
|
void (*exit)(void *priv);
|
||
|
};
|
||
|
|
||
|
extern const struct ble_dut_ops_t *__ble_dut_ops;
|
||
|
|
||
|
#endif
|