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 API reference for a particular function indicates the conditions under which each of these codes are returned.
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| Value | Name | Condition |
+=========+==============================+=============================================================================================+
| 0x00 | *N/A* | Success |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0b | BLE\_HS\_EOS | Mynewt OS error. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0e | BLE\_HS\_EDONE | Operation completed successfully. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
.. table:: Return codes - Core
:widths: 10 30 60
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| Value | Name | Condition |
+=========+==============================+=============================================================================================+
| 0x00 | *N/A* | Success |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0b | BLE\_HS\_EOS | Mynewt OS error. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0e | BLE\_HS\_EDONE | Operation completed successfully. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
| 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. |
+---------+------------------------------+---------------------------------------------------------------------------------------------+
Return codes - ATT
^^^^^^^^^^^^^^^^^^
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+============================================+===========================================================================================================================================+
| 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
.. table:: Return codes - ATT
:widths: 11 10 45 34
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+============================================+===========================================================================================================================================+
| 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. |
+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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
^^^^^^^^^^^^^^^^^^
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+====================================+================================================================================+
| 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 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 |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
.. table:: Return codes - HCI
:widths: 11 10 39 40
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+====================================+================================================================================+
| 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established |
+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+
| 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
^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+==============================================+======================================================+
| 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. |
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
| 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. |
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
.. table:: Return codes - L2CAP
:widths: 11 10 50 29
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+==============================================+======================================================+
| 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. |
+----------------+----------------+----------------------------------------------+------------------------------------------------------+
| 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)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+===================================+===========================================================================================================================================+
| 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
.. table:: Return codes - Security manager (us)
:widths: 11 10 39 40
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+===================================+===========================================================================================================================================+
| 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+===================================+===========================================================================================================================================+
| 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
.. table:: Return codes - Security manager (peer)
:widths: 11 10 39 40
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| NimBLE Value | Formal Value | Name | Condition |
+================+================+===================================+===========================================================================================================================================+
| 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. |
+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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(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 each of the features is mapped to procedures and sub-procedures:
Available commands
~~~~~~~~~~~~~~~~~~
Parameters default values (if applicable) are marked red.
Configuration
-------------
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** |
+====================================+=================+============================+===========================================================+
| **gatt-discover-characteristic** | | | Discover GATT characteristics |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid | [UINT16] | Characteristic UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-descriptor** | | | Discover GATT descriptors |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-service** | | | Discover services |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid16 | [UINT16] | Service UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-full** | | | Discover services, characteristic and descriptors |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-find-included-services** | | | Find included services |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-read** | | | Read attribute |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | long | [``0``-1] | Long read |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | offset | [UINT16] | Long read offset value |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid | [UINT16] | Characteristic UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-notify** | | | Send notification or indication to all subscribed peers |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-service-changed** | | | Send Services Changed notification |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | End handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-service-visibility** | | | Set service visibility |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | handle | [UINT16] | Service handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | visibility | [``0``-1] | Service visibility |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-show** | | | Show remote devices discovered databases structure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-show-local** | | | Show local database structure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-write** | | | Write attribute |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | no\_rsp | [``0``-1] | Use Write Without Response |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | long | [``0``-1] | Use Long Write procedure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | offset | [UINT16] | Long write offset value |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | value | XX:XX:XX... | Data to write |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
.. table:: Configuration
:widths: 20 15 20 45
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **Command** | **Parmeters** | **Possible values** | **Description** |
+====================================+=================+============================+===========================================================+
| **gatt-discover-characteristic** | | | Discover GATT characteristics |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid | [UINT16] | Characteristic UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-descriptor** | | | Discover GATT descriptors |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-service** | | | Discover services |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid16 | [UINT16] | Service UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-discover-full** | | | Discover services, characteristic and descriptors |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-find-included-services** | | | Find included services |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-read** | | | Read attribute |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | long | [``0``-1] | Long read |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | offset | [UINT16] | Long read offset value |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | uuid | [UINT16] | Characteristic UUID |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Discovery start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | Discovery end handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-notify** | | | Send notification or indication to all subscribed peers |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-service-changed** | | | Send Services Changed notification |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | start | [UINT16] | Start handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | end | [UINT16] | End handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-service-visibility** | | | Set service visibility |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | handle | [UINT16] | Service handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | visibility | [``0``-1] | Service visibility |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-show** | | | Show remote devices discovered databases structure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-show-local** | | | Show local database structure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| **gatt-write** | | | Write attribute |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | conn | [UINT16] | Connection handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | no\_rsp | [``0``-1] | Use Write Without Response |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | long | [``0``-1] | Use Long Write procedure |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | attr | [UINT16] | Attribute handle |
+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+
| | 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
`here <https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=302735&_ga=1.133090766.1368218946.1444779486>`__.
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| **Name** | **Definition** | **Details** | **btshell Notes** |
+===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | | | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
.. table:: Advertisement Data Fields
:class: longtable
:widths: 20 20 45 15
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| **Name** | **Definition** | **Details** | **btshell Notes** |
+===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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 | |
+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| 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
:alt: Light Lightness Server model (source: Mesh Model Specification 1.0)
:width: 450
Mesh Node features supported by Apache Mynewt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~