docs: Fix the layout in multiple .rst files for the PDF output

Fixes formatting issues in the following categories:
 - BLE HS
 - btshell
 - mesh
This commit is contained in:
Wojciech Pietraszewski
2024-09-26 17:45:18 +02:00
committed by Szymon Janc
parent 1cdbbe8a79
commit 5baa3f4ba0
5 changed files with 1069 additions and 1026 deletions
+312 -294
View File
@@ -121,317 +121,335 @@ Return codes - Core
The precise meaning of each of these error codes depends on the function that returns it. The precise meaning of each of these error codes depends on the function that returns it.
The API reference for a particular function indicates the conditions under which each of these codes are returned. The API reference for a particular function indicates the conditions under which each of these codes are returned.
+---------+------------------------------+---------------------------------------------------------------------------------------------+ .. table:: Return codes - Core
| Value | Name | Condition | :widths: 10 30 60
+=========+==============================+=============================================================================================+
| 0x00 | *N/A* | Success | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | Value | Name | Condition |
| 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. | +=========+==============================+=============================================================================================+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x00 | *N/A* | Success |
| 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. |
| 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. |
| 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. |
| 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. |
| 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. |
| 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. |
| 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. |
| 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. |
| 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. |
| 0x0b | BLE\_HS\_EOS | Mynewt OS error. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. |
| 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0b | BLE\_HS\_EOS | Mynewt OS error. |
| 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. |
| 0x0e | BLE\_HS\_EDONE | Operation completed successfully. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. |
| 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0e | BLE\_HS\_EDONE | Operation completed successfully. |
| 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. |
| 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. |
| 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. |
| 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). |
| 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. |
| 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). |
| 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. |
| 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. |
| 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. |
| 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. |
| 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. |
| 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. |
| 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. | +---------+------------------------------+---------------------------------------------------------------------------------------------+
+---------+------------------------------+---------------------------------------------------------------------------------------------+ | 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
Return codes - ATT Return codes - ATT
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. table:: Return codes - ATT
| NimBLE Value | Formal Value | Name | Condition | :widths: 11 10 45 34
+================+================+============================================+===========================================================================================================================================+
| 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | NimBLE Value | Formal Value | Name | Condition |
| 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. | +================+================+============================================+===========================================================================================================================================+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. |
| 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. |
| 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. |
| 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. |
| 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. |
| 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. |
| 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. |
| 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. |
| 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. |
| 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. |
| 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. |
| 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. |
| 0x010e | 0x0e | BLE\_ATT\_ERR\_UNLIKELY | The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. |
| 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010e | 0x0e | BLE\_ATT\_ERR\_UNLIKELY | The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. |
| 0x0110 | 0x10 | BLE\_ATT\_ERR\_UNSUPPORTED\_GROUP | The attribute type is not a supported grouping attribute as defined by a higher layer specification. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. |
| 0x0111 | 0x11 | BLE\_ATT\_ERR\_INSUFFICIENT\_RES | Insufficient Resources to complete the request. | +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0110 | 0x10 | BLE\_ATT\_ERR\_UNSUPPORTED\_GROUP | The attribute type is not a supported grouping attribute as defined by a higher layer specification. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0111 | 0x11 | BLE\_ATT\_ERR\_INSUFFICIENT\_RES | Insufficient Resources to complete the request. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
Return codes - HCI Return codes - HCI
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ .. table:: Return codes - HCI
| NimBLE Value | Formal Value | Name | Condition | :widths: 11 10 39 40
+================+================+====================================+================================================================================+
| 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | NimBLE Value | Formal Value | Name | Condition |
| 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier | +================+================+====================================+================================================================================+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command |
| 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier |
| 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure |
| 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout |
| 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure |
| 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing |
| 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded |
| 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout |
| 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded |
| 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded |
| 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists |
| 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed |
| 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources |
| 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons |
| 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR |
| 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded |
| 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value |
| 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters |
| 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection |
| 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources |
| 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off |
| 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host |
| 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts |
| 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed |
| 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU |
| 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature |
| 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected |
| 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected |
| 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected |
| 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters |
| 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error |
| 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value |
| 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed |
| 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout |
| 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision |
| 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed |
| 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable |
| 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed |
| 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported |
| 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed |
| 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported |
| 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision |
| 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter |
| 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected |
| 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported |
| 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security |
| 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range |
| 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending |
| 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation |
| 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed |
| 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large |
| 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host |
| 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing |
| 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found |
| 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy |
| 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters |
| 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout |
| 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure |
| 0x023f | 0x3f | BLE\_ERR\_MAC\_CONN\_FAIL | MAC Connection Failed | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established |
| 0x0240 | 0x40 | BLE\_ERR\_COARSE\_CLK\_ADJ | Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging | +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ | 0x023f | 0x3f | BLE\_ERR\_MAC\_CONN\_FAIL | MAC Connection Failed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0240 | 0x40 | BLE\_ERR\_COARSE\_CLK\_ADJ | Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
Return codes - L2CAP Return codes - L2CAP
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+----------------------------------------------+------------------------------------------------------+ .. table:: Return codes - L2CAP
| NimBLE Value | Formal Value | Name | Condition | :widths: 11 10 50 29
+================+================+==============================================+======================================================+
| 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. | +----------------+----------------+----------------------------------------------+------------------------------------------------------+
+----------------+----------------+----------------------------------------------+------------------------------------------------------+ | NimBLE Value | Formal Value | Name | Condition |
| 0x0301 | 0x01 | BLE\_L2CAP\_SIG\_ERR\_MTU\_EXCEEDED | Incoming packet too large. | +================+================+==============================================+======================================================+
+----------------+----------------+----------------------------------------------+------------------------------------------------------+ | 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. |
| 0x0302 | 0x02 | BLE\_L2CAP\_SIG\_ERR\_INVALID\_CID | No channel with specified ID. | +----------------+----------------+----------------------------------------------+------------------------------------------------------+
+----------------+----------------+----------------------------------------------+------------------------------------------------------+ | 0x0301 | 0x01 | BLE\_L2CAP\_SIG\_ERR\_MTU\_EXCEEDED | Incoming packet too large. |
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
| 0x0302 | 0x02 | BLE\_L2CAP\_SIG\_ERR\_INVALID\_CID | No channel with specified ID. |
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
Return codes - Security manager (us) Return codes - Security manager (us)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. table:: Return codes - Security manager (us)
| NimBLE Value | Formal Value | Name | Condition | :widths: 11 10 39 40
+================+================+===================================+===========================================================================================================================================+
| 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | NimBLE Value | Formal Value | Name | Condition |
| 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | +================+================+===================================+===========================================================================================================================================+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
| 0x0403 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
| 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0403 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. |
| 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
| 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
| 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
| 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
| 0x0409 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
| 0x040a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0409 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. |
| 0x040b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesnt match the one calculated by the local device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x040a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. |
| 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x040b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesnt match the one calculated by the local device. |
| 0x040d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
| 0x040e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x040d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x040e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
Return codes - Security manager (peer) Return codes - Security manager (peer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. table:: Return codes - Security manager (peer)
| NimBLE Value | Formal Value | Name | Condition | :widths: 11 10 39 40
+================+================+===================================+===========================================================================================================================================+
| 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | NimBLE Value | Formal Value | Name | Condition |
| 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | +================+================+===================================+===========================================================================================================================================+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
| 0x0503 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
| 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0503 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. |
| 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
| 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
| 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
| 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
| 0x0509 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
| 0x050a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x0509 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. |
| 0x050b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesnt match the one calculated by the local device. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x050a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. |
| 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x050b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesnt match the one calculated by the local device. |
| 0x050d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
| 0x050e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | 0x050d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x050e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
File diff suppressed because it is too large Load Diff
+97 -96
View File
@@ -1,108 +1,109 @@
GATT feature API for btshell GATT feature API for btshell
============================ ============================
GATT(GENERIC ATTRIBUTE PROFILE) describes a service framework using the Attribute Protocol for discovering services, Generic Attribute Profile (GATT) describes a service framework using the Attribute Protocol for discovering services,
and for reading and writing characteristic values on a peer device. There are 11 features defined in the GATT Profile, and for reading and writing characteristic values on a peer device. There are 11 features defined in the GATT Profile,
and each of the features is mapped to procedures and sub-procedures: and each of the features is mapped to procedures and sub-procedures:
Available commands Available commands
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Parameters default values (if applicable) are marked red.
Configuration Configuration
------------- -------------
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ .. table:: Configuration
| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | :widths: 20 15 20 45
+====================================+=================+============================+===========================================================+
| **gatt-discover-characteristic** | | | Discover GATT characteristics | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **Command** | **Parmeters** | **Possible values** | **Description** |
| | conn | [UINT16] | Connection handle | +====================================+=================+============================+===========================================================+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-discover-characteristic** | | | Discover GATT characteristics |
| | uuid | [UINT16] | Characteristic UUID | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | start | [UINT16] | Discovery start handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | uuid | [UINT16] | Characteristic UUID |
| | end | [UINT16] | Discovery end handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | start | [UINT16] | Discovery start handle |
| **gatt-discover-descriptor** | | | Discover GATT descriptors | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | end | [UINT16] | Discovery end handle |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-discover-descriptor** | | | Discover GATT descriptors |
| | start | [UINT16] | Discovery start handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | end | [UINT16] | Discovery end handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | start | [UINT16] | Discovery start handle |
| **gatt-discover-service** | | | Discover services | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | end | [UINT16] | Discovery end handle |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-discover-service** | | | Discover services |
| | uuid16 | [UINT16] | Service UUID | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| **gatt-discover-full** | | | Discover services, characteristic and descriptors | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | uuid16 | [UINT16] | Service UUID |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-discover-full** | | | Discover services, characteristic and descriptors |
| **gatt-find-included-services** | | | Find included services | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-find-included-services** | | | Find included services |
| | start | [UINT16] | Discovery start handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | end | [UINT16] | Discovery end handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | start | [UINT16] | Discovery start handle |
| **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | end | [UINT16] | Discovery end handle |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure |
| **gatt-read** | | | Read attribute | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-read** | | | Read attribute |
| | long | [``0``-1] | Long read | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | attr | [UINT16] | Attribute handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | long | [``0``-1] | Long read |
| | offset | [UINT16] | Long read offset value | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | attr | [UINT16] | Attribute handle |
| | uuid | [UINT16] | Characteristic UUID | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | offset | [UINT16] | Long read offset value |
| | start | [UINT16] | Discovery start handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | uuid | [UINT16] | Characteristic UUID |
| | end | [UINT16] | Discovery end handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | start | [UINT16] | Discovery start handle |
| **gatt-notify** | | | Send notification or indication to all subscribed peers | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | end | [UINT16] | Discovery end handle |
| | attr | [UINT16] | Attribute handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-notify** | | | Send notification or indication to all subscribed peers |
| **gatt-service-changed** | | | Send Services Changed notification | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | attr | [UINT16] | Attribute handle |
| | start | [UINT16] | Start handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-service-changed** | | | Send Services Changed notification |
| | end | [UINT16] | End handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | start | [UINT16] | Start handle |
| **gatt-service-visibility** | | | Set service visibility | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | end | [UINT16] | End handle |
| | handle | [UINT16] | Service handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-service-visibility** | | | Set service visibility |
| | visibility | [``0``-1] | Service visibility | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | handle | [UINT16] | Service handle |
| **gatt-show** | | | Show remote devices discovered databases structure | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | visibility | [``0``-1] | Service visibility |
| **gatt-show-local** | | | Show local database structure | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-show** | | | Show remote devices discovered databases structure |
| **gatt-write** | | | Write attribute | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-show-local** | | | Show local database structure |
| | conn | [UINT16] | Connection handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | **gatt-write** | | | Write attribute |
| | no\_rsp | [``0``-1] | Use Write Without Response | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | conn | [UINT16] | Connection handle |
| | long | [``0``-1] | Use Long Write procedure | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | no\_rsp | [``0``-1] | Use Write Without Response |
| | attr | [UINT16] | Attribute handle | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | long | [``0``-1] | Use Long Write procedure |
| | offset | [UINT16] | Long write offset value | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | attr | [UINT16] | Attribute handle |
| | value | XX:XX:XX... | Data to write | +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ | | offset | [UINT16] | Long write offset value |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | value | XX:XX:XX... | Data to write |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
+43 -39
View File
@@ -6,42 +6,46 @@ formats used for Extended Inquiry Response (EIR), Advertising Data (AD), and OOB
to the Bluetooth Core Specification, CSSv6, available for download to the Bluetooth Core Specification, CSSv6, available for download
`here <https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=302735&_ga=1.133090766.1368218946.1444779486>`__. `here <https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=302735&_ga=1.133090766.1368218946.1444779486>`__.
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ .. table:: Advertisement Data Fields
| **Name** | **Definition** | **Details** | **btshell Notes** | :class: longtable
+===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+ :widths: 20 20 45 15
| flags | Indicates basic information about the advertiser. | Flags used over the LE physical channel are: \* Limited Discoverable Mode \* General Discoverable Mode \* BR/EDR Not Supported \* Simultaneous LE and BR/EDR to Same Device Capable (Controller) \* Simultaneous LE and BR/EDR to Same Device Capable (Host) | NimBLE will auto-calculate if set to 0. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid16 | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | | **Name** | **Definition** | **Details** | **btshell Notes** |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+
| uuid16\_is\_complete | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | | flags | Indicates basic information about the advertiser. | Flags used over the LE physical channel are: \* Limited Discoverable Mode \* General Discoverable Mode \* BR/EDR Not Supported \* Simultaneous LE and BR/EDR to Same Device Capable (Controller) \* Simultaneous LE and BR/EDR to Same Device Capable (Host) | NimBLE will auto-calculate if set to 0. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid32 | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | | uuid16 | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid32\_is\_complete | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | | uuid16\_is\_complete | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. | | uuid32 | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | | | uuid32\_is\_complete | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| tx\_power\_level | TX Power Level | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: pathloss = Tx Power Level RSSI where “RSSI” is the received signal strength, in dBm, of the packet received. | NimBLE will auto-calculate if set to -128. | | uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| slave\_interval\_range | Slave Connection Interval Range | Contains the Peripherals preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: connIntervalmin = Conn\_Interval\_Min \* 1.25 ms Conn\_Interval\_Min range: 0x0006 to 0x0C80 Value of 0xFFFF indicates no specific minimum. The other 2 octets defines the maximum value for the connection interval in the following manner: connIntervalmax = Conn\_Interval\_Max \* 1.25 ms Conn\_Interval\_Max range: 0x0006 to 0x0C80 Conn\_Interval\_Max shall be equal to or greater than the Conn\_Interval\_Min. Value of 0xFFFF indicates no specific maximum. | | | uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| service\_data\_uuid16 | Service Data - 16 bit UUID | Size: 2 or more octets The first 2 octets contain the 16 bit Service UUID followed by additional service data | | | tx\_power\_level | TX Power Level | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: pathloss = Tx Power Level RSSI where “RSSI” is the received signal strength, in dBm, of the packet received. | NimBLE will auto-calculate if set to -128. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| public\_target\_address | Public Target Address | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | | slave\_interval\_range | Slave Connection Interval Range | Contains the Peripherals preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: connIntervalmin = Conn\_Interval\_Min \* 1.25 ms Conn\_Interval\_Min range: 0x0006 to 0x0C80 Value of 0xFFFF indicates no specific minimum. The other 2 octets defines the maximum value for the connection interval in the following manner: connIntervalmax = Conn\_Interval\_Max \* 1.25 ms Conn\_Interval\_Max range: 0x0006 to 0x0C80 Conn\_Interval\_Max shall be equal to or greater than the Conn\_Interval\_Min. Value of 0xFFFF indicates no specific maximum. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| appearance | Appearance | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | | service\_data\_uuid16 | Service Data - 16 bit UUID | Size: 2 or more octets The first 2 octets contain the 16 bit Service UUID followed by additional service data | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | | | public\_target\_address | Public Target Address | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| service\_data\_uuid32 | Service Data - 32 bit UUID | Size: 4 or more octets The first 4 octets contain the 32 bit Service UUID followed by additional service data | | | appearance | Appearance | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| service\_data\_uuid128 | Service Data - 128 bit UUID | Size: 16 or more octets The first 16 octets contain the 128 bit Service UUID followed by additional service data | | | advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uri | Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string | | | service\_data\_uuid32 | Service Data - 32 bit UUID | Size: 4 or more octets The first 4 octets contain the 32 bit Service UUID followed by additional service data | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| mfg\_data | Manufacturer Specific data | Size: 2 or more octets The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data | | | service\_data\_uuid128 | Service Data - 128 bit UUID | Size: 16 or more octets The first 16 octets contain the 128 bit Service UUID followed by additional service data | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| eddystone\_url | | | | | uri | Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| mfg\_data | Manufacturer Specific data | Size: 2 or more octets The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| eddystone\_url | | | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
+1
View File
@@ -84,6 +84,7 @@ Lightness Server Model.
.. figure:: mesh_lightning_model.jpg .. figure:: mesh_lightning_model.jpg
:alt: Light Lightness Server model (source: Mesh Model Specification 1.0) :alt: Light Lightness Server model (source: Mesh Model Specification 1.0)
:width: 450
Mesh Node features supported by Apache Mynewt Mesh Node features supported by Apache Mynewt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~