This is an automated email from the ASF dual-hosted git repository. andk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit 55cedd2060bcbcacf6d87fcb0111b3b8946453b9 Author: Andrzej Kaczmarek <[email protected]> AuthorDate: Mon Feb 7 16:53:47 2022 +0100 nimble/ll: Update LLC PDU defs to 5.3 --- nimble/controller/include/controller/ble_ll_ctrl.h | 17 ++++++++++++++++- nimble/controller/src/ble_ll_ctrl.c | 17 ++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/nimble/controller/include/controller/ble_ll_ctrl.h b/nimble/controller/include/controller/ble_ll_ctrl.h index 62e1a53..047d349 100644 --- a/nimble/controller/include/controller/ble_ll_ctrl.h +++ b/nimble/controller/include/controller/ble_ll_ctrl.h @@ -91,9 +91,16 @@ extern "C" { #define BLE_LL_CTRL_CIS_RSP (0x20) #define BLE_LL_CTRL_CIS_IND (0x21) #define BLE_LL_CTRL_CIS_TERMINATE_IND (0x22) +#define BLE_LL_CTRL_POWER_CONTROL_REQ (0x23) +#define BLE_LL_CTRL_POWER_CONTROL_RSP (0x24) +#define BLE_LL_CTRL_POWER_CHANGE_IND (0x25) +#define BLE_LL_CTRL_SUBRATE_REQ (0x26) +#define BLE_LL_CTRL_SUBRATE_IND (0x27) +#define BLE_LL_CTRL_CHAN_REPORTING_IND (0x28) +#define BLE_LL_CTRL_CHAN_STATUS_IND (0x29) /* Maximum opcode value */ -#define BLE_LL_CTRL_OPCODES (BLE_LL_CTRL_CIS_TERMINATE_IND + 1) +#define BLE_LL_CTRL_OPCODES (BLE_LL_CTRL_CHAN_STATUS_IND + 1) extern const uint8_t g_ble_ll_ctrl_pkt_lengths[BLE_LL_CTRL_OPCODES]; @@ -275,6 +282,14 @@ struct ble_ll_len_req #define BLE_LL_CTRL_CIS_IND_LEN (15) #define BLE_LL_CTRL_CIS_TERMINATE_LEN (3) +#define BLE_LL_CTRL_POWER_CONTROL_REQ_LEN (3) +#define BLE_LL_CTRL_POWER_CONTROL_RSP_LEN (4) +#define BLE_LL_CTRL_POWER_CHANGE_IND_LEN (4) +#define BLE_LL_CTRL_SUBRATE_REQ_LEN (10) +#define BLE_LL_CTRL_SUBRATE_IND_LEN (10) +#define BLE_LL_CTRL_CHAN_REPORTING_IND_LEN (3) +#define BLE_LL_CTRL_CHAN_STATUS_IND_LEN (10) + /* API */ struct ble_ll_conn_sm; void ble_ll_ctrl_proc_start(struct ble_ll_conn_sm *connsm, int ctrl_proc); diff --git a/nimble/controller/src/ble_ll_ctrl.c b/nimble/controller/src/ble_ll_ctrl.c index 919f4a5..aef2d02 100644 --- a/nimble/controller/src/ble_ll_ctrl.c +++ b/nimble/controller/src/ble_ll_ctrl.c @@ -118,7 +118,14 @@ const uint8_t g_ble_ll_ctrl_pkt_lengths[BLE_LL_CTRL_OPCODES] = BLE_LL_CTRL_CIS_REQ_LEN, BLE_LL_CTRL_CIS_RSP_LEN, BLE_LL_CTRL_CIS_IND_LEN, - BLE_LL_CTRL_CIS_TERMINATE_LEN + BLE_LL_CTRL_CIS_TERMINATE_LEN, + BLE_LL_CTRL_POWER_CONTROL_REQ_LEN, + BLE_LL_CTRL_POWER_CONTROL_RSP_LEN, + BLE_LL_CTRL_POWER_CHANGE_IND_LEN, + BLE_LL_CTRL_SUBRATE_REQ_LEN, + BLE_LL_CTRL_SUBRATE_IND_LEN, + BLE_LL_CTRL_CHAN_REPORTING_IND_LEN, + BLE_LL_CTRL_CHAN_STATUS_IND_LEN, }; /** @@ -2565,8 +2572,8 @@ ble_ll_ctrl_chk_proc_start(struct ble_ll_conn_sm *connsm) int ble_ll_ctrl_rx_pdu(struct ble_ll_conn_sm *connsm, struct os_mbuf *om) { - uint32_t features; - uint32_t feature; + uint64_t features; + uint64_t feature; uint8_t len; uint8_t opcode; uint8_t rsp_opcode; @@ -2662,6 +2669,10 @@ ble_ll_ctrl_rx_pdu(struct ble_ll_conn_sm *connsm, struct os_mbuf *om) case BLE_LL_CTRL_PERIODIC_SYNC_IND: feature = BLE_LL_FEAT_SYNC_TRANS_RECV; break; + case BLE_LL_CTRL_SUBRATE_REQ: + case BLE_LL_CTRL_SUBRATE_IND: + feature = BLE_LL_FEAT_CONN_SUBRATING; + break; default: feature = 0; break;
