1 /* 2 * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #include "esp_bt_cfg.h" 7 8 #define BLE_ERR_UNKNOWN_HCI_CMD (0x01) 9 /* LL Features */ 10 #define BLE_LL_FEAT_LE_ENCRYPTION (0x0000000001) 11 #define BLE_LL_FEAT_CONN_PARM_REQ (0x0000000002) 12 #define BLE_LL_FEAT_EXTENDED_REJ (0x0000000004) 13 #define BLE_LL_FEAT_PERIPH_INIT (0x0000000008) 14 #define BLE_LL_FEAT_LE_PING (0x0000000010) 15 #define BLE_LL_FEAT_DATA_LEN_EXT (0x0000000020) 16 #define BLE_LL_FEAT_LL_PRIVACY (0x0000000040) 17 #define BLE_LL_FEAT_EXT_SCAN_FILT (0x0000000080) 18 #define BLE_LL_FEAT_LE_2M_PHY (0x0000000100) 19 #define BLE_LL_FEAT_STABLE_MOD_ID_TX (0x0000000200) 20 #define BLE_LL_FEAT_STABLE_MOD_ID_RX (0x0000000400) 21 #define BLE_LL_FEAT_LE_CODED_PHY (0x0000000800) 22 #define BLE_LL_FEAT_EXT_ADV (0x0000001000) 23 #define BLE_LL_FEAT_PERIODIC_ADV (0x0000002000) 24 #define BLE_LL_FEAT_CSA2 (0x0000004000) 25 #define BLE_LL_FEAT_LE_POWER_CLASS_1 (0x0000008000) 26 #define BLE_LL_FEAT_MIN_USED_CHAN (0x0000010000) 27 #define BLE_LL_FEAT_CTE_REQ (0x0000020000) 28 #define BLE_LL_FEAT_CTE_RSP (0x0000040000) 29 #define BLE_LL_FEAT_CTE_TX (0x0000080000) 30 #define BLE_LL_FEAT_CTE_RX (0x0000100000) 31 #define BLE_LL_FEAT_CTE_AOD (0x0000200000) 32 #define BLE_LL_FEAT_CTE_AOA (0x0000400000) 33 #define BLE_LL_FEAT_CTE_RECV (0x0000800000) 34 #define BLE_LL_FEAT_SYNC_TRANS_SEND (0x0001000000) 35 #define BLE_LL_FEAT_SYNC_TRANS_RECV (0x0002000000) 36 #define BLE_LL_FEAT_SCA_UPDATE (0x0004000000) 37 #define BLE_LL_FEAT_REM_PKEY (0x0008000000) 38 #define BLE_LL_FEAT_CIS_CENTRAL (0x0010000000) 39 #define BLE_LL_FEAT_CIS_PERIPH (0x0020000000) 40 #define BLE_LL_FEAT_ISO_BROADCASTER (0x0040000000) 41 #define BLE_LL_FEAT_SYNC_RECV (0x0080000000) 42 #define BLE_LL_FEAT_CIS_HOST (0x0100000000) 43 #define BLE_LL_FEAT_POWER_CTRL_REQ (0x0200000000) 44 #define BLE_LL_FEAT_POWER_CHANGE_IND (0x0400000000) 45 #define BLE_LL_FEAT_PATH_LOSS_MON (0x0800000000) 46 #define BLE_LL_FEAT_PERIODIC_ADV_ADI (0x1000000000) 47 #define BLE_LL_FEAT_CONN_SUBRATING (0x2000000000) 48 #define BLE_LL_FEAT_CONN_SUBRATING_HOST (0x4000000000) 49 #define BLE_LL_FEAT_CHANNEL_CLASS (0x8000000000) 50 51 uint64_t ble_ll_supported_features; 52 53 void ble_ll_supported_features_init(void)54ble_ll_supported_features_init(void) 55 { 56 ble_ll_supported_features = BLE_LL_FEAT_EXTENDED_REJ; 57 ble_ll_supported_features |= BLE_LL_FEAT_DATA_LEN_EXT; 58 59 #if DEFAULT_BT_LE_ROLE_CENTROL || DEFAULT_BT_LE_ROLE_PERIPHERAL 60 ble_ll_supported_features |= BLE_LL_FEAT_PERIPH_INIT; 61 ble_ll_supported_features |= BLE_LL_FEAT_CONN_PARM_REQ; 62 #endif 63 64 #if CONFIG_BT_LE_FEAT_LL_ENCRYPTION 65 ble_ll_supported_features |= BLE_LL_FEAT_LE_ENCRYPTION; 66 #endif 67 68 ble_ll_supported_features |= (BLE_LL_FEAT_LL_PRIVACY | BLE_LL_FEAT_EXT_SCAN_FILT); 69 ble_ll_supported_features |= BLE_LL_FEAT_LE_PING; 70 71 #if DEFAULT_BT_LE_EXT_ADV 72 ble_ll_supported_features |= BLE_LL_FEAT_EXT_ADV; 73 #endif 74 75 #if DEFAULT_BT_LE_PERIODIC_ADV 76 ble_ll_supported_features |= BLE_LL_FEAT_PERIODIC_ADV; 77 ble_ll_supported_features |= BLE_LL_FEAT_PERIODIC_ADV_ADI; 78 #endif 79 80 #if DEFAULT_BT_LE_PAST 81 ble_ll_supported_features |= BLE_LL_FEAT_SYNC_TRANS_RECV; 82 ble_ll_supported_features |= BLE_LL_FEAT_SYNC_TRANS_SEND; 83 #endif 84 85 #if DEGAULT_BT_LE_2M_PHY 86 ble_ll_supported_features |= BLE_LL_FEAT_LE_2M_PHY; 87 #endif 88 89 #if DEGAULT_BT_LE_CODED_PHY 90 ble_ll_supported_features |= BLE_LL_FEAT_LE_CODED_PHY; 91 #endif 92 93 #if DEFAULT_BT_LE_50_FEATURE_SUPPORT 94 ble_ll_supported_features |= BLE_LL_FEAT_CSA2; 95 ble_ll_supported_features |= BLE_LL_FEAT_SCA_UPDATE; 96 ble_ll_supported_features |= BLE_LL_FEAT_REM_PKEY; 97 ble_ll_supported_features |= BLE_LL_FEAT_CHANNEL_CLASS; 98 #endif 99 } 100 101 #if !DEFAULT_BT_LE_ROLE_BROADCASTER r_ble_ll_adv_rpa_timeout(void)102void r_ble_ll_adv_rpa_timeout(void) { } r_ble_lll_adv_halt(void)103void r_ble_lll_adv_halt(void) { } r_ble_lll_adv_event_rmvd_from_sched(void)104void r_ble_lll_adv_event_rmvd_from_sched(void) { } r_ble_lll_adv_ext_event_rmvd_from_sched(void)105void r_ble_lll_adv_ext_event_rmvd_from_sched(void) { } r_ble_ll_adv_enabled(void)106int r_ble_ll_adv_enabled(void) { return 0; } r_ble_ll_adv_can_chg_whitelist(void)107int r_ble_ll_adv_can_chg_whitelist(void) { return 1; } r_ble_ll_adv_set_random_addr(void)108int r_ble_ll_adv_set_random_addr(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_reset(void)109void r_ble_ll_adv_reset(void) { } r_ble_ll_adv_init(void)110void r_ble_ll_adv_init(void) { } r_ble_ll_adv_deinit(void)111void r_ble_ll_adv_deinit(void) { } r_ble_ll_adv_env_init(void)112int r_ble_ll_adv_env_init(void) { return 0; } r_ble_ll_adv_env_deinit(void)113void r_ble_ll_adv_env_deinit(void) { } r_ble_lll_adv_rx_pkt_isr(void)114int r_ble_lll_adv_rx_pkt_isr(void) { return -1; } r_ble_ll_adv_rx_pkt_in(void)115void r_ble_ll_adv_rx_pkt_in(void) { } r_ble_ll_adv_set_adv_params(void)116int r_ble_ll_adv_set_adv_params(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_read_txpwr(void)117int r_ble_ll_adv_read_txpwr(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_set_adv_data(void)118int r_ble_ll_hci_set_adv_data(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_set_scan_rsp_data(void)119int r_ble_ll_hci_set_scan_rsp_data(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_adv_set_enable(void)120int r_ble_ll_hci_adv_set_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_vendor_hci_legacy_adv_clear(void)121int r_ble_ll_adv_vendor_hci_legacy_adv_clear(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_set_data_related_addr_change(void)122int r_ble_ll_adv_set_data_related_addr_change(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 123 #endif // !DEFAULT_BT_LE_ROLE_BROADCASTER 124 125 #if !DEFAULT_BT_LE_EXT_ADV r_ble_ll_adv_ext_check_data_itvl(void)126bool r_ble_ll_adv_ext_check_data_itvl(void) { return true; } r_ble_lll_adv_coex_dpc_update_on_aux_scheduled(void)127void r_ble_lll_adv_coex_dpc_update_on_aux_scheduled(void) { } r_ble_lll_adv_coex_dpc_calc_pti_update_itvl(void)128void r_ble_lll_adv_coex_dpc_calc_pti_update_itvl(void) { } r_ble_lll_adv_sec_done(void)129void r_ble_lll_adv_sec_done(void) { } r_ble_lll_adv_sec_schedule_next_aux(void)130int r_ble_lll_adv_sec_schedule_next_aux(void) { return 0; } r_ble_lll_adv_sec_event_done(void)131void r_ble_lll_adv_sec_event_done(void) { } r_ble_lll_adv_secondary_tx_start_cb(void)132int r_ble_lll_adv_secondary_tx_start_cb(void) { return 0; } r_ble_lll_adv_aux_schedule(void)133void r_ble_lll_adv_aux_schedule(void) { } r_ble_lll_adv_update_rsp_offset(void)134void r_ble_lll_adv_update_rsp_offset(void) { } r_ble_ll_adv_hci_set_random_addr(void)135int r_ble_ll_adv_hci_set_random_addr(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_ext_set_param(void)136int r_ble_ll_adv_ext_set_param(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_ext_set_adv_data(void)137int r_ble_ll_adv_ext_set_adv_data(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_ext_set_scan_rsp(void)138int r_ble_ll_adv_ext_set_scan_rsp(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_ext_set_enable(void)139int r_ble_ll_adv_ext_set_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_rd_max_adv_data_len(void)140int r_ble_ll_adv_rd_max_adv_data_len(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_rd_sup_adv_sets(void)141int r_ble_ll_adv_rd_sup_adv_sets(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_remove(void)142int r_ble_ll_adv_remove(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_clear_all(void)143int r_ble_ll_adv_clear_all(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 144 #endif //!DEFAULT_BT_LE_EXT_ADV 145 146 #if !DEFAULT_BT_LE_PERIODIC_ADV r_ble_ll_adv_sm_stop_periodic(void)147void r_ble_ll_adv_sm_stop_periodic(void) { } r_ble_lll_adv_periodic_event_done(void)148void r_ble_lll_adv_periodic_event_done(void) { } r_ble_lll_adv_sync_tx_start_cb(void)149int r_ble_lll_adv_sync_tx_start_cb(void) { return 0; } r_ble_lll_adv_sync_tx_end(void)150void r_ble_lll_adv_sync_tx_end(void) { } r_ble_lll_adv_periodic_start(void)151int r_ble_lll_adv_periodic_start(void) { return 0; } r_ble_lll_adv_periodic_rmvd_from_sched(void)152void r_ble_lll_adv_periodic_rmvd_from_sched(void) { } r_ble_ll_adv_periodic_set_param(void)153int r_ble_ll_adv_periodic_set_param(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_periodic_set_data(void)154int r_ble_ll_adv_periodic_set_data(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_adv_periodic_enable(void)155int r_ble_ll_adv_periodic_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 156 #endif //!DEFAULT_BT_LE_PERIODIC_ADV 157 158 #if !DEFAULT_BT_LE_ROLE_OBSERVER r_ble_lll_scan_halt(void)159void r_ble_lll_scan_halt(void) { } r_ble_ll_scan_end_adv_evt(void)160void r_ble_ll_scan_end_adv_evt(void) { } r_ble_ll_scan_rx_pkt_in(void)161void r_ble_ll_scan_rx_pkt_in(void) { } r_ble_lll_scan_rx_pkt_isr(void)162int r_ble_lll_scan_rx_pkt_isr(void) { return -1; } r_ble_ll_scan_env_init(void)163int r_ble_ll_scan_env_init(void) { return 0; } r_ble_ll_scan_env_deinit(void)164void r_ble_ll_scan_env_deinit(void) { } r_ble_ll_scan_init(void)165void r_ble_ll_scan_init(void) { } r_ble_ll_scan_deinit(void)166void r_ble_ll_scan_deinit(void) { } r_ble_ll_scan_reset(void)167void r_ble_ll_scan_reset(void) { } r_ble_ll_scan_can_chg_whitelist(void)168int r_ble_ll_scan_can_chg_whitelist(void) { return 1; } r_ble_ll_scan_enabled(void)169int r_ble_ll_scan_enabled(void) { return false; } r_ble_lll_scan_chk_resume(void)170int r_ble_lll_scan_chk_resume(void) { return -1; } r_ble_ll_scan_set_scan_params(void)171int r_ble_ll_scan_set_scan_params(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_scan_set_enable(void)172int r_ble_ll_hci_scan_set_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_scan_hci_update_adv_report_flow_ctrl(void)173int r_ble_ll_scan_hci_update_adv_report_flow_ctrl(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_scan_hci_set_adv_report_flow_ctrl(void)174int r_ble_ll_scan_hci_set_adv_report_flow_ctrl(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 175 #endif //!DEFAULT_BT_LE_ROLE_OBSERVER 176 177 #if !DEFAULT_BT_LE_EXT_SCAN r_ble_lll_scan_duration_period_timers_restart(void)178void r_ble_lll_scan_duration_period_timers_restart(void) { } r_ble_lll_scan_duration_period_timers_stop(void)179void r_ble_lll_scan_duration_period_timers_stop(void) { } r_ble_ll_hci_send_legacy_ext_adv_report(void)180int r_ble_ll_hci_send_legacy_ext_adv_report(void) { return -1; } r_ble_lll_sched_rmv_elem_type(void)181void r_ble_lll_sched_rmv_elem_type(void) { } r_ble_ll_scan_send_truncated(void)182void r_ble_ll_scan_send_truncated(void) { } r_ble_ll_scan_aux_data_unref(void)183void r_ble_ll_scan_aux_data_unref(void) { } r_ble_lll_scan_sched_remove(void)184void r_ble_lll_scan_sched_remove(void) { } r_ble_lll_scan_aux_data_free(void)185void r_ble_lll_scan_aux_data_free(void) { } r_ble_lll_aux_scan_drop(void)186void r_ble_lll_aux_scan_drop(void) { } r_ble_lll_sched_aux_scan(void)187int r_ble_lll_sched_aux_scan(void) { return -1; } r_ble_lll_scan_rx_isr_on_aux(void)188int r_ble_lll_scan_rx_isr_on_aux(void) { return -1; } r_ble_lll_scan_period_timer_cb(void)189void r_ble_lll_scan_period_timer_cb(void) { } r_ble_lll_scan_duration_timer_cb(void)190void r_ble_lll_scan_duration_timer_cb(void) { } r_ble_ll_scan_rx_pkt_in_on_aux(void)191void r_ble_ll_scan_rx_pkt_in_on_aux(void) { } r_ble_ll_set_ext_scan_params(void)192int r_ble_ll_set_ext_scan_params(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_ext_scan_set_enable(void)193int r_ble_ll_hci_ext_scan_set_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 194 #endif //!DEFAULT_BT_LE_EXT_SCAN 195 196 #if !DEFAULT_BT_LE_ROLE_CENTROL r_ble_ll_init_rx_pkt_in(void)197void r_ble_ll_init_rx_pkt_in(void) { } r_ble_lll_init_rx_pkt_isr(void)198int r_ble_lll_init_rx_pkt_isr(void) { return -1; } r_ble_ll_conn_create(void)199int r_ble_ll_conn_create(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_create_cancel(void)200int r_ble_ll_conn_create_cancel(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 201 #endif //!DEFAULT_BT_LE_ROLE_CENTROL 202 203 #if !DEFAULT_BT_LE_ROLE_CENTROL || !DEFAULT_BT_LE_EXT_SCAN r_ble_ll_ext_conn_create(void)204int r_ble_ll_ext_conn_create(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 205 #endif //!DEFAULT_BT_LE_ROLE_CENTROL || !DEFAULT_BT_LE_EXT_SCAN 206 207 #if !DEFAULT_BT_LE_ROLE_PERIPHERAL r_ble_ll_conn_slave_start(void)208int r_ble_ll_conn_slave_start(void) { return 0; } 209 #endif //!DEFAULT_BT_LE_ROLE_PERIPHERAL 210 211 #if !DEFAULT_BT_LE_ROLE_CENTROL && !DEFAULT_BT_LE_ROLE_PERIPHERAL r_ble_ll_conn_rx_data_pdu(void)212void r_ble_ll_conn_rx_data_pdu(void) { } r_ble_lll_conn_rx_pkt_isr(void)213int r_ble_lll_conn_rx_pkt_isr(void) { return -1; } r_ble_ll_hci_disconnect(void)214int r_ble_ll_hci_disconnect(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_rd_rem_ver_cmd(void)215int r_ble_ll_conn_hci_rd_rem_ver_cmd(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_update(void)216int r_ble_ll_conn_hci_update(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_rd_chan_map(void)217int r_ble_ll_conn_hci_rd_chan_map(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_read_rem_features(void)218int r_ble_ll_conn_hci_read_rem_features(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_param_rr(void)219int r_ble_ll_conn_hci_param_rr(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_param_nrr(void)220int r_ble_ll_conn_hci_param_nrr(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 221 #endif //!DEFAULT_BT_LE_ROLE_CENTROL && !DEFAULT_BT_LE_ROLE_PERIPHERAL 222 223 #if !CONFIG_BT_LE_FEAT_LL_ENCRYPTION r_ble_ll_conn_chk_phy_upd_start(void)224int r_ble_ll_conn_chk_phy_upd_start(void) { return -1; } r_ble_ll_hci_ev_encrypt_chg(void)225void r_ble_ll_hci_ev_encrypt_chg(void) { } r_ble_ll_ctrl_enc_allowed_pdu_rx(void)226int r_ble_ll_ctrl_enc_allowed_pdu_rx(void) { return 1; } r_ble_ll_ctrl_enc_allowed_pdu_tx(void)227int r_ble_ll_ctrl_enc_allowed_pdu_tx(void) { return 1; } r_ble_ll_ctrl_rx_start_enc_rsp(void)228uint8_t r_ble_ll_ctrl_rx_start_enc_rsp(void) { return 0x07; } r_ble_ll_ctrl_rx_pause_enc_rsp(void)229uint8_t r_ble_ll_ctrl_rx_pause_enc_rsp(void) { return 0x07; } r_ble_ll_hci_le_encrypt(void)230int r_ble_ll_hci_le_encrypt(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 231 #endif //!CONFIG_BT_LE_FEAT_LL_ENCRYPTION 232 233 #if !DEFAULT_BT_LE_ROLE_PERIPHERAL || !CONFIG_BT_LE_FEAT_LL_ENCRYPTION r_ble_ll_ctrl_rx_pause_enc_req(void)234uint8_t r_ble_ll_ctrl_rx_pause_enc_req(void) { return 0x07; } r_ble_ll_ctrl_rx_enc_req(void)235uint8_t r_ble_ll_ctrl_rx_enc_req(void) { return 0x07; } r_ble_ll_conn_hci_le_ltk_reply(void)236int r_ble_ll_conn_hci_le_ltk_reply(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_le_ltk_neg_reply(void)237int r_ble_ll_conn_hci_le_ltk_neg_reply(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 238 #endif //!DEFAULT_BT_LE_ROLE_PERIPHERAL || !CONFIG_BT_LE_FEAT_LL_ENCRYPTION 239 240 #if !DEFAULT_BT_LE_ROLE_CENTROL || !CONFIG_BT_LE_FEAT_LL_ENCRYPTION r_ble_ll_ctrl_rx_start_enc_req(void)241uint8_t r_ble_ll_ctrl_rx_start_enc_req(void) { return 0x07; } r_ble_ll_ctrl_rx_enc_rsp(void)242void r_ble_ll_ctrl_rx_enc_rsp(void) { } r_ble_ll_ctrl_enc_req_make(void)243void r_ble_ll_ctrl_enc_req_make(void) { } r_ble_ll_conn_hci_le_start_encrypt(void)244int r_ble_ll_conn_hci_le_start_encrypt(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 245 #endif //!DEFAULT_BT_LE_ROLE_CENTROL || !CONFIG_BT_LE_FEAT_LL_ENCRYPTION 246 247 #if !DEGAULT_BT_LE_2M_PHY && !DEGAULT_BT_LE_CODED_PHY r_ble_ll_ctrl_phy_update_proc_complete(void)248void r_ble_ll_ctrl_phy_update_proc_complete(void) { } r_ble_ll_ctrl_phy_update_cancel(void)249void r_ble_ll_ctrl_phy_update_cancel(void) { } r_ble_ll_ctrl_rx_phy_update_ind(void)250uint8_t r_ble_ll_ctrl_rx_phy_update_ind(void) { return 0x07; } r_ble_ll_ctrl_rx_phy_rsp(void)251uint8_t r_ble_ll_ctrl_rx_phy_rsp(void) { return 0x07; } r_ble_ll_ctrl_rx_phy_req(void)252uint8_t r_ble_ll_ctrl_rx_phy_req(void) { return 0x07; } r_ble_ll_ctrl_phy_req_rsp_make(void)253void r_ble_ll_ctrl_phy_req_rsp_make(void) { } 254 #endif //DEGAULT_BT_LE_2M_PHY && DEGAULT_BT_LE_CODED_PHY 255 256 #if !DEFAULT_BT_LE_PERIODIC_SYNC r_ble_lll_sync_halt(void)257void r_ble_lll_sync_halt(void) { } r_ble_lll_sync_rmvd_from_sched(void)258void r_ble_lll_sync_rmvd_from_sched(void) { } r_ble_ll_sync_list_search(void)259int r_ble_ll_sync_list_search(void) { return -1; } r_ble_ll_ctrl_rx_periodic_sync_ind(void)260uint8_t r_ble_ll_ctrl_rx_periodic_sync_ind(void) { return 0x07; } r_ble_ll_sync_rx_pkt_in(void)261void r_ble_ll_sync_rx_pkt_in(void) { } r_ble_lll_sync_rx_pkt_isr(void)262int r_ble_lll_sync_rx_pkt_isr(void) { return -1; } r_ble_ll_sync_env_init(void)263int r_ble_ll_sync_env_init(void) { return 0; } r_ble_ll_sync_env_deinit(void)264void r_ble_ll_sync_env_deinit(void) { } r_ble_ll_sync_init(void)265void r_ble_ll_sync_init(void) { } r_ble_ll_sync_deinit(void)266void r_ble_ll_sync_deinit(void) { } r_ble_ll_sync_reset(void)267void r_ble_ll_sync_reset(void) { } r_ble_ll_sync_enabled(void)268bool r_ble_ll_sync_enabled(void) { return false; } r_ble_ll_sync_create(void)269int r_ble_ll_sync_create(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_cancel(void)270int r_ble_ll_sync_cancel(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_terminate(void)271int r_ble_ll_sync_terminate(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_list_add(void)272int r_ble_ll_sync_list_add(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_list_remove(void)273int r_ble_ll_sync_list_remove(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_list_clear(void)274int r_ble_ll_sync_list_clear(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_list_size(void)275int r_ble_ll_sync_list_size(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_sync_receive_enable(void)276int r_ble_ll_sync_receive_enable(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 277 #endif //!DEFAULT_BT_LE_PERIODIC_SYNC 278 279 #if !DEFAULT_BT_LE_PAST || !DEFAULT_BT_LE_PERIODIC_ADV r_ble_ll_adv_periodic_set_info_transfer(void)280int r_ble_ll_adv_periodic_set_info_transfer(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 281 #endif //!DEFAULT_BT_LE_PAST || !DEFAULT_BT_LE_PERIODIC_ADV 282 283 #if !DEFAULT_BT_LE_PAST || !DEFAULT_BT_LE_PERIODIC_SYNC r_ble_ll_sync_transfer(void)284int r_ble_ll_sync_transfer(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_set_sync_transfer_params(void)285int r_ble_ll_set_sync_transfer_params(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_set_default_sync_transfer_params(void)286int r_ble_ll_set_default_sync_transfer_params(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 287 #endif //!DEFAULT_BT_LE_PAST || !DEFAULT_BT_LE_PERIODIC_SYNC 288 289 #if !DEFAULT_BT_LE_50_FEATURE_SUPPORT r_ble_ll_ctrl_rx_channel_reporting_ind(void)290uint8_t r_ble_ll_ctrl_rx_channel_reporting_ind(void) { return 0x07; } r_ble_ll_ctrl_rx_channel_status_ind(void)291uint8_t r_ble_ll_ctrl_rx_channel_status_ind(void) { return 0x07; } r_ble_ll_ctrl_rx_sca_req(void)292uint8_t r_ble_ll_ctrl_rx_sca_req(void) { return 0x07; } r_ble_ll_ctrl_rx_sca_rsp(void)293uint8_t r_ble_ll_ctrl_rx_sca_rsp(void) { return 0x07; } r_ble_ll_ctrl_channel_class_reporting_make(void)294void r_ble_ll_ctrl_channel_class_reporting_make(void) { } r_ble_ll_ctrl_channel_class_enable_make(void)295void r_ble_ll_ctrl_channel_class_enable_make(void) { } r_ble_ll_ctrl_sca_req_rsp_make(void)296void r_ble_ll_ctrl_sca_req_rsp_make(void) { } r_ble_ll_modify_sca(void)297int r_ble_ll_modify_sca(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_req_peer_sca(void)298int r_ble_ll_conn_req_peer_sca(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 299 #endif //!DEFAULT_BT_LE_50_FEATURE_SUPPORT 300 301 #if !DEFAULT_BT_LE_50_FEATURE_SUPPORT r_ble_ll_conn_hci_le_rd_phy(void)302int r_ble_ll_conn_hci_le_rd_phy(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_hci_le_set_def_phy(void)303int r_ble_ll_hci_le_set_def_phy(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_ll_conn_hci_le_set_phy(void)304int r_ble_ll_conn_hci_le_set_phy(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 305 #endif //!DEFAULT_BT_LE_50_FEATURE_SUPPORT 306 307 #if !CONFIG_BT_LE_DTM_ENABLED r_ble_lll_dtm_rx_pkt_in(void)308void r_ble_lll_dtm_rx_pkt_in(void) { } r_ble_lll_dtm_rx_isr_end(void)309int r_ble_lll_dtm_rx_isr_end(void) { return -1; } r_ble_lll_dtm_reset(void)310void r_ble_lll_dtm_reset(void) { } r_ble_lll_dtm_init(void)311void r_ble_lll_dtm_init(void) { } r_ble_lll_dtm_deinit(void)312void r_ble_lll_dtm_deinit(void) { } r_ble_lll_dtm_env_init(void)313int r_ble_lll_dtm_env_init(void) { return 0; } r_ble_lll_dtm_env_deinit(void)314void r_ble_lll_dtm_env_deinit(void) { } r_ble_lll_hci_dtm_tx_test(void)315int r_ble_lll_hci_dtm_tx_test(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_lll_hci_dtm_rx_test(void)316int r_ble_lll_hci_dtm_rx_test(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_lll_dtm_end_test(void)317int r_ble_lll_dtm_end_test(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_lll_hci_dtm_rx_test_v2(void)318int r_ble_lll_hci_dtm_rx_test_v2(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } r_ble_lll_hci_dtm_tx_test_v2(void)319int r_ble_lll_hci_dtm_tx_test_v2(void) { return BLE_ERR_UNKNOWN_HCI_CMD; } 320 #endif //!CONFIG_BT_LE_DTM_ENABLED 321