Bluetooth: controller: hci: Add HCI_Set_Connectionless_CTE_TX_Enable cmd
Add implementation of HCI_Set_Connecitonless_CTE_TX_Enable command to HCI. Add scratch implementation of command handling functions to controller. Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
This commit is contained in:
parent
9d711d6e09
commit
f36b7a8732
4 changed files with 45 additions and 0 deletions
|
@ -1464,6 +1464,12 @@ struct bt_hci_cp_le_set_privacy_mode {
|
||||||
uint8_t mode;
|
uint8_t mode;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
#define BT_HCI_OP_LE_SET_CL_CTE_TX_ENABLE BT_OP(BT_OGF_LE, 0x0052)
|
||||||
|
struct bt_hci_cp_le_set_cl_cte_tx_enable {
|
||||||
|
uint8_t handle;
|
||||||
|
uint8_t cte_enable;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
/* Min and max Constant Tone Extension length in 8us units */
|
/* Min and max Constant Tone Extension length in 8us units */
|
||||||
#define BT_HCI_LE_CTE_LEN_MIN 0x2
|
#define BT_HCI_LE_CTE_LEN_MIN 0x2
|
||||||
#define BT_HCI_LE_CTE_LEN_MAX 0x14
|
#define BT_HCI_LE_CTE_LEN_MAX 0x14
|
||||||
|
|
|
@ -2449,6 +2449,27 @@ static void le_df_set_cl_cte_tx_params(struct net_buf *buf,
|
||||||
|
|
||||||
*evt = cmd_complete_status(status);
|
*evt = cmd_complete_status(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void le_df_set_cl_cte_enable(struct net_buf *buf, struct net_buf **evt)
|
||||||
|
{
|
||||||
|
struct bt_hci_cp_le_set_cl_cte_tx_enable *cmd = (void *)buf->data;
|
||||||
|
uint8_t status;
|
||||||
|
uint8_t handle;
|
||||||
|
|
||||||
|
if (adv_cmds_ext_check(evt)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = ll_adv_set_by_hci_handle_get(cmd->handle, &handle);
|
||||||
|
if (status) {
|
||||||
|
*evt = cmd_complete_status(status);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = ll_df_set_cl_cte_tx_enable(handle, cmd->cte_enable);
|
||||||
|
|
||||||
|
*evt = cmd_complete_status(status);
|
||||||
|
}
|
||||||
#endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
|
#endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_BT_CTLR_DF_CONN_CTE_RSP)
|
#if IS_ENABLED(CONFIG_BT_CTLR_DF_CONN_CTE_RSP)
|
||||||
|
@ -3509,6 +3530,9 @@ static int controller_cmd_handle(uint16_t ocf, struct net_buf *cmd,
|
||||||
case BT_OCF(BT_HCI_OP_LE_SET_CL_CTE_TX_PARAMS):
|
case BT_OCF(BT_HCI_OP_LE_SET_CL_CTE_TX_PARAMS):
|
||||||
le_df_set_cl_cte_tx_params(cmd, evt);
|
le_df_set_cl_cte_tx_params(cmd, evt);
|
||||||
break;
|
break;
|
||||||
|
case BT_OCF(BT_HCI_OP_LE_SET_CL_CTE_TX_ENABLE):
|
||||||
|
le_df_set_cl_cte_enable(cmd, evt);
|
||||||
|
break;
|
||||||
#endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
|
#endif /* CONFIG_BT_CTLR_DF_ADV_CTE_TX */
|
||||||
case BT_OCF(BT_HCI_OP_LE_READ_ANT_INFO):
|
case BT_OCF(BT_HCI_OP_LE_READ_ANT_INFO):
|
||||||
le_df_read_ant_inf(cmd, evt);
|
le_df_read_ant_inf(cmd, evt);
|
||||||
|
|
|
@ -303,6 +303,9 @@ uint8_t ll_df_set_cl_cte_tx_params(uint8_t adv_handle, uint8_t cte_len,
|
||||||
uint8_t cte_type, uint8_t cte_count,
|
uint8_t cte_type, uint8_t cte_count,
|
||||||
uint8_t num_ant_ids, uint8_t *ant_ids);
|
uint8_t num_ant_ids, uint8_t *ant_ids);
|
||||||
|
|
||||||
|
/* Enables or disables CTE TX for periodic advertising */
|
||||||
|
uint8_t ll_df_set_cl_cte_tx_enable(uint8_t adv_handle, uint8_t cte_enable);
|
||||||
|
|
||||||
/* Provides information about antennae switching and sampling settings */
|
/* Provides information about antennae switching and sampling settings */
|
||||||
uint8_t ll_df_set_conn_cte_tx_params(uint16_t handle, uint8_t cte_types,
|
uint8_t ll_df_set_conn_cte_tx_params(uint16_t handle, uint8_t cte_types,
|
||||||
uint8_t switching_patterns_len,
|
uint8_t switching_patterns_len,
|
||||||
|
|
|
@ -193,6 +193,18 @@ uint8_t ll_df_set_cl_cte_tx_params(uint8_t adv_handle, uint8_t cte_len,
|
||||||
return BT_HCI_ERR_SUCCESS;
|
return BT_HCI_ERR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* @brief Function enables or disables CTE TX for periodic advertising.
|
||||||
|
*
|
||||||
|
* @param[in] handle Advertising set handle.
|
||||||
|
* @param[in] cte_enable Enable or disable CTE TX
|
||||||
|
*
|
||||||
|
* @return Status of command completion.
|
||||||
|
*/
|
||||||
|
uint8_t ll_df_set_cl_cte_tx_enable(uint8_t adv_handle, uint8_t cte_enable)
|
||||||
|
{
|
||||||
|
return BT_HCI_ERR_CMD_DISALLOWED;
|
||||||
|
}
|
||||||
|
|
||||||
/* @brief Function sets CTE transmission parameters for a connection.
|
/* @brief Function sets CTE transmission parameters for a connection.
|
||||||
*
|
*
|
||||||
* @param[in]handle Connection handle.
|
* @param[in]handle Connection handle.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue