123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #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
|