LE Controller Commands
======================

LE Controller commands provide access and control of the
capabilities of the Bluetooth hardware, as well as methods
for the Host to affect how the Link Layer manages the piconet
and controls connections. The OGF is 0x08.

Set Event Mask
--------------

Enable/disable subevents generated by the Controller for the Host.
Setting a bit to 1 enables the corresponding subevent.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EVENT_MASK
      - 0x0001
      - LE_Event_Mask
      - Status

Parameters
``````````

.. list-table:: LE_Event_Mask, size = 8 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit
      - LE Subevent
    * - 0
      - LE Connection Complete
    * - 1
      - LE Advertising Report
    * - 2
      - LE Connection Update Complete
    * - 3
      - LE Read Remote Features Complete
    * - 4
      - LE Long Term Key Request
    * - 5
      - LE Remote Connection Parameter Request
    * - 6
      - LE Data Length Change
    * - 7
      - LE Read Local P-256 Public Key Complete
    * - 8
      - LE Generate DHKey Complete
    * - 9
      - LE Enhanced Connection Complete
    * - 10
      - LE Directed Advertising Report
    * - 11
      - LE PHY Update Complete
    * - 12
      - LE Extended Advertising Report
    * - 13
      - LE Periodic Advertising Sync Established
    * - 14
      - LE Periodic Advertising Report
    * - 15
      - LE Periodic Advertising Sync Lost
    * - 16
      - LE Scan Timeout
    * - 17
      - LE Advertising Set Terminated
    * - 18
      - LE Scan Request Received
    * - 19
      - LE Channel Selection Algorithm
    * - 20
      - LE Connectionless IQ Report
    * - 21
      - LE Connection IQ Report
    * - 22
      - LE CTE Request Failed
    * - 23
      - LE Periodic Advertising Sync Transfer Received
    * - 24
      - LE CIS Established
    * - 25
      - LE CIS Request
    * - 26
      - LE Create BIG Complete
    * - 27
      - LE Terminate BIG Complete
    * - 28
      - LE BIG Sync Established
    * - 29
      - LE BIG Sync Lost
    * - 30
      - LE Request Peer SCA Complete
    * - 31
      - LE Path Loss Threshold
    * - 32
      - LE Transmit Power Reporting
    * - 33
      - LE BIGInfo Advertising Report
    * - 34
      - LE Subrate Change
    * - 35 to 63
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Buffer Size
----------------

Read maximum size of ACL and ISO packet data sent from the Host
to the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_BUF_SIZE_V2
      - 0x0060
      - 
      - | Status
        | LE_ACL_Data_Packet_Length
        | Total_Num_LE_ACL_Data_Packets
        | ISO_Data_Packet_Length
        | Total_Num_ISO_Data_Packets
    * - READ_BUF_SIZE
      - 0x0002
      - 
      - | Status
        | LE_ACL_Data_Packet_Length
        | Total_Num_LE_ACL_Data_Packets

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: LE_ACL_Data_Packet_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - No dedicated LE Buffer exists.
    * - 0x0001 to 0x001A
      - [Reserved for future use].
    * - 0x001B to 0xFFFF
      - Maximum length (in octets) of ACL packet data.

.. list-table:: Total_Num_LE_ACL_Data_Packets, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No dedicated LE Buffer exists.
    * - 0x01 to 0xFF
      - Total number of HCI ACL packets that can be stored in the Controller data buffers.

.. list-table:: ISO_Data_Packet_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - No dedicated ISO Buffer exists.
    * - 0x0001 to 0xFFFF
      - Maximum length (in octets) of ISO packet data.

.. list-table:: Total_Num_ISO_Data_Packets, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No dedicated ISO Buffer exists.
    * - 0x01 to 0xFF
      - Total number of HCI ISO packets that can be stored in the Controller data buffers.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Local Supported Features
-----------------------------

Read the list of supported LE features from the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_LOCAL_SUP_FEAT
      - 0x0003
      - 
      - | Status
        | LE_Features

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.   

.. list-table:: LE_Features, size = 8 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | Bit mask for LE features, such that when
        | Bit X = 1: Feature indicated by Bit X is supported
        | Bit X = 0: Feature indicated by Bit X is not supported.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Random Address
------------------

Set the LE Random Device Address in the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_RAND_ADDR
      - 0x0005
      - Random_Address
      - Status

Parameters
``````````

.. list-table:: Random_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Desired random device address.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed. 

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Advertising Parameters
--------------------------

Set the advertising parameters.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_ADV_PARAM
      - 0x0006
      - | Advertising_Interval_Min
        | Advertising_Interval_Max
        | Advertising_Type
        | Own_Address_Type
        | Peer_Address_Type
        | Peer_Address
        | Advertising_Channel_Map
        | Advertising_Filter_Policy
      - Status

Parameters
``````````

.. list-table:: Advertising_Interval_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0020 to 0x4000
      - | Minimum advertising interval.
        | Time = value * 0.625ms
        | Time Range = 20ms to 10.24s

.. list-table:: Advertising_Interval_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0020 to 0x4000
      - | Maximum advertising interval.
        | Time = value * 0.625ms
        | Time Range = 20ms to 10.24s

.. list-table:: Advertising_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Connectable and scannable undirected advertising.
    * - 0x01
      - Connectable high duty cycle directed advertising.
    * - 0x02
      - Scannable undirected advertising.
    * - 0x03
      - Non-connectable undirected advertising.
    * - 0x04
      - Connectable low duty cycle directed advertising.
    * - All other values
      - [Reserved for future use].

.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address
    * - 0x01
      - Random Device Address or Random Identity Address
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be connected.

.. list-table:: Advertising_Channel_Map, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Channel 37 will be used (possibly among others).
    * - 1
      - Channel 38 will be used (possibly among others).
    * - 2
      - Channel 39 will be used (possibly among others).
    * - All other bits
      - [Reserved for future use].

.. list-table:: Advertising_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Process scan and connection requests from all devices.
    * - 0x01
      - Process connection requests from all devices and scan request from devices in the Filter Accept List.
    * - 0x02
      - Process scan requests from all devices and connection requests from devices in the Filter Accept List.
    * - 0x03
      - Process scan and connection requests from devices in the Filter Accept List.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Advertising Physical Channel TX Power
------------------------------------------

Read the TX power level used for LE advertising physical channel
packets.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_ADV_TX_POWER
      - 0x0007
      - 
      - | Status
        | TX_Power_Level

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: TX_Power_Level, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | TX power level (signed value).
        | Range: -127dBm to 20dBm

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Advertising Data
--------------------

Set the data used in advertising packets that have a data field.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_ADV_DATA
      - 0x0008
      - | Advertising_Data_Length
        | Advertising_Data
      - Status

Parameters
``````````

.. list-table:: Advertising_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - The number of significant octets in the Advertising_Data

.. list-table:: Advertising_Data, size = 31 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Advertising data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Scan Response Data
----------------------

Set the data used in Scanning packets that have a data field.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_SCAN_RESP_DATA
      - 0x0009
      - | Scan_Response_Data_Length
        | Scan_Response_Data
      - Status

Parameters
``````````

.. list-table:: Scan_Response_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - The number of significant octets in Scan_Response_Data.
    
.. list-table:: Scan_Response_Data, size = 31 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Scan reponse data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Advertising Enable
----------------------

Tell the Controller to start or stop advertising.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_ADV_ENABLE
      - 0x000A
      - Advertising_Enable
      - Status

Parameters
``````````

.. list-table:: Advertising_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable advertising
    * - 0x01
      - Enable advertising
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
------------------

- COMMAND_COMPLETE
- CONNECTION_COMPLETE or ENHANCED_CONNECTION COMPLETE (if advertising type is undirected connectable, high duty cycle directed connectable, or low duty cycle directed connectable)


Set Scan Parameters
-------------------

Set the scan parameters.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_SCAN_PARAM
      - 0x000B
      - | LE_Scan_Type
        | LE_Scan_Interval
        | LE_Scan_Window
        | Own_Address_Type
        | Scanning_Filter_Policy
      - Status

Parameters
``````````
.. list-table:: LE_Scan_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Passive scanning. No scanning PDUs will be sent.
    * - 0x01
      - Active scanning. Scanning PDUs may be sent.
    * - All other values
      - [Reserved for future use].

.. list-table:: LE_Scan_Interval, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scanning interval.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: LE_Scan_Window, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scan duration. Must be less than or equal to LE_Scan_Interval.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scanning_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Basic unfiltered scanning filter policy.
    * - 0x01
      - Basic filtered scanning filter policy.
    * - 0x02
      - Extended unfiltered scanning filter policy.
    * - 0x03
      - Extended filtered scanning filter policy.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Scan Enable
---------------

Tell the controller to start/stop scanning. Command is only valid for
legacy PDUs, not for extended. For extended scanning, see the
SET_EXT_SCAN_ENABLE command.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_SCAN_ENABLE
      - 0x000C
      - | LE_Scan_Enable
        | Filter_Duplicates
      - Status

Parameters
``````````

.. list-table:: LE_Scan_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable scanning.
    * - 0x01
      - Enable scanning.
    * - All other values
      - [Reserved for future use].

.. list-table:: Filter_Duplicates, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable duplicate filtering.
    * - 0x01
      - Enable duplicate filtering.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- ADVERTISING_REPORT (if scanning filter policy is basic unfiltered or basic filtered.)
- DIRECTED_ADVERTISING_REPORT (if scanning filter policy is extended unfiltered or extended filtered.)


Create Connection
-----------------

Create an ACL connected to a connectable advertiser.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CREATE_CONN
      - 0x000D
      - | LE_Scan_Interval
        | LE_Scan_Window
        | Initiator_Filter_Policy
        | Peer_Address_Type
        | Peer_Address
        | Own_Address_Type
        | Connection_Interval_Min
        | Connection_Inverval_Max
        | Max_Latency
        | Supervision_Timeout
        | Min_CE_Length
        | Max_CE_Length
      - 

Parameters
``````````

.. list-table:: LE_Scan_Interval, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scanning interval. 
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: LE_Scan_Window, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scan duration. Must be less than or equal to LE_Scan_Interval.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: Initiator_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Filter Accept List not used to determine connection. Peer_Address and Peer_Address_Type will be used.
    * - 0x01
      - Filter Accept List used to determine connection. Peer_Address and Peer_Address_Type will not be used.
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Public Identity Address. Only used if Set Privacy Mode command is not supported.
    * - 0x03
      - Random Identity Address. Only used if Set Privacy Mode command is not supported.

.. list-table:: Peer_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be connected.

.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.

.. list-table:: Connection_Interval_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval minimum. Must be less than or equal to Connection_Inverval_Max.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Connection_Interval_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval maximum. Must be greater than or equal to Connection_Inverval_Min.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Max_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000 to 0x01F3
      - Maximum peripheral latency for the connection given as a number of connection events.

.. list-table:: Supervision_Timeout, 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Supervision timeout for the LE link.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

.. list-table:: Min_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The minimum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

.. list-table:: Max_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The maximum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- CONNECTION_COMPLETE
- CHANNEL_SELECTION_ALGORITHM (if Controller support LE Channel Selection Algorithm #2)


Create Connection Cancel
------------------------

Cancel the Create Connection or Extended Create Connection command.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CREATE_CONN_CANCEL
      - 0x000E
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- CONNECTION_COMPLETE or ENHANCED_CONNECTION_COMPLETE (if cancellation was successful)


Read Filter Accept List Size
----------------------------

Read the total number of Filter Accept List entries that can be
stored in the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_WHITE_LIST_SIZE
      - 0x000F
      - 
      - | Status
        | Filter_Accept_List_Size

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Filter_Accept_List_Size, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x1 to 0xFF
      - Total number of Filter Accept List entries that can be stored in the Controller.
    * - 0x0
      - [Reserved for future use].

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Clear Filter Accept List
------------------------

Clear the Controller's Filter Accept List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CLEAR_WHITE_LIST
      - 0x0010
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Add Device to Filter Accept List
--------------------------------

Add a single device to the Controller's Filter Accept List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ADD_DEV_WHITE_LIST
      - 0x0011
      - | Address_Type
        | Address
      - Status

Parameters
``````````

.. list-table:: Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0xFF
      - Devices sending anonymous advertisments.
    * - All other values
      - [Reserved for future use].

.. list-table:: Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be added to the Filter Accept List.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remove Device from Filter Accept List
-------------------------------------

Remove a single device from the Controller's Filter Accept List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_DEV_WHITE_LIST
      - 0x0012
      - | Address_Type
        | Address
      - Status

Parameters
``````````

.. list-table:: Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0xFF
      - Devices sending anonymous advertisements.
    * - All other values
      - [Reserved for future use].

.. list-table:: Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be removed from the Filter Accept List.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Connection Update
-----------------

Change the ACL connection parameters.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CONN_UPDATE
      - 0x0013
      - | Connection_Handle
        | Connection_Interval_Min
        | Connection_Interval_Max
        | Max_Latency
        | Supervision_Timeout
        | Min_CE_Length
        | Max_CE_Length
      - 

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

.. list-table:: Connection_Interval_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval minimum. Must be less than or equal to Connection_Inverval_Max.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Connection_Interval_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval maximum. Must be greater than or equal to Connection_Inverval_Min.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Max_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum peripheral latency for the connection given as a number of connection events.

.. list-table:: Supervision_Timeout, 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Supervision timeout for the LE link.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

.. list-table:: Min_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The minimum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

.. list-table:: Max_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The maximum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- CONNECTION_UPDATE_COMPLETE

Set Host Channel Classification
-------------------------------

Specify a channel classification for the data, secondary advertising, 
periodic, and isochronous physical channels based on Host "local information".

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_HOST_CHAN_CLASS
      - 0x0014
      - Channel_Map
      - Status

Parameters
``````````

.. list-table:: Channel_Map, size = 5 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | Channel classifications, such that when
        | Bit X = 0: Channel indicated by Bit X is bad.
        | Bit X = 1: Channel indicated by Bit X is unknown.
        | Only the lower 37 bits are used. Upper bits are reserved.
        | At least one channel must be marked as unknown.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
    
Read Channel Map
----------------

Read the channel map for the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_CHAN_MAP
      - 0x0015
      - Connection_Handle
      - | Status
        | Connection_Handle
        | Channel_Map

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection Handle.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection Handle.

.. list-table:: Channel_Map, size = 5 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | Channel classifications, such that when
        | Bit X = 0: Channel indicated by Bit X is unused.
        | Bit X = 1: Channel indicated by Bit X is used.
        | Only the lower 37 bits are used. Upper bits are reserved.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Remote Features
--------------------

Request the features used on the connection and the features
supported from the remote device indicated by a connection handle.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_REMOTE_FEAT
      - 0x0016
      - Connection_Handle
      -

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection to read remote feautures for.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.READ_REMOTE_FEATURES_COMPLETE


Encrypt
-------

Request the Controller to encrypt data based on the given key.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ENCRYPT
      - 0x0017
      - | Key
        | Plaintext_Data
      - | Status
        | Encrypted_Data

Parameters
``````````

.. list-table:: Key, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 128 bit key to use for encryption. Byte order is little endian using the notation specified in FIPS 197.

.. list-table:: Plaintext_Data, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 128 bite data block to encrypt. Byte order is little endian using the notation specified in FIPS 197.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Encrypted_Data, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 128 bit encrypted data block. Byte order is little endian using the notation specified in FIPS 197.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Rand
----

Request the controller to generate 8 octets of random data.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - RAND
      - 0x0018
      - 
      - | Status
        | Random_Number

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Random_Number, size = 8 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Generated random number.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Enable Encryption
-----------------

Authenticate the encryption key associated with the remote device
indicated by a connection handle and encrypt the connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - START_ENCRYPTION
      - 0x0019
      - | Connection_Handle
        | Random_Number
        | Encrypted_Diversifier
        | Long_Term_Key
      - 

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

.. list-table:: Random_Number, size = 8 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 64-bit random number.

.. list-table:: Encrypted_Diversifier, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 16-bit encrypted diversifier.

.. list-table:: Long_Term_Key, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 128 bit long term key.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- ENC_CHANGE (if connection is not already encrypted)
- ENC_KEY_REFRESH_COMPLETE (if connection is already encrypted)


Long Term Key Request Reply
---------------------------

Reply to a Long Term Key Request event.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - LTK_REQ_REPL
      - 0x001A
      - | Connection_Handle
        | Long_Term_Key
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection Handle

.. list-table:: Long_Term_Key, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - 128 bit long term key for the indicated connection.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Long Term Key Request Negative Reply
------------------------------------

Reply to a Long Term Key Request event when the Host cannot
provide a long term key for the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - LTK_REQ_NEG_REPL
      - 0x001B
      - Connection_Handle
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Supported States
---------------------

Read the states and state combinations that the Link Layer
supports.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_SUP_STATES
      - 0x001C
      - 
      - | Status
        | LE_States

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: LE_States, size = 8 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit
      - Supported States & Roles
    * - 0
      - [Reserved for future use].
    * - 1
      - [Reserved for future use].
    * - 2
      - Connectable and Scannable Undirected Advertising
    * - 3
      - High Duty Cycle Connectable Directed Advertising
    * - 4
      - Passive Scanning
    * - 5
      - Active Scanning
    * - 6
      - Initiating
    * - 7
      - Connection (Peripheral Role)
    * - 8
      - | Non-Connectable and Non-Scannable Undirected Advertising
        | Passive Scanning
    * - 9
      - | Scannable Undirected Advertising
        | Passive Scanning
    * - 10
      - | Connectable and Scannable Undirected Advertising
        | Passive Scanning
    * - 11
      - | High Duty Cycle Connectable Directed Advertising
        | Passive Scanning
    * - 12
      - | Non-Connectable and Non-Scannable Undirected Advertising
        | Active Scanning
    * - 13
      - | Scannable Undirected Advertising
        | Active Scanning
    * - 14
      - | Connectable and Scannable Undirected Advertising
        | Acive Scanning
    * - 15
      - | High Duty Cycle Connectable Directed Advertising
        | Active Scanning
    * - 16
      - | Non-Connectable and Non-Scannable Undirected Advertising
        | Initiating
    * - 17
      - | Scannable Undirected Advertising
        | Initiating
    * - 18
      - | Non-Connectable and Non-Scannable Undirected Advertising
        | Connection (Central Role)
    * - 19
      - | Scannable Undirected Advertising
        | Connection (Central Role)
    * - 20
      - | Non-Connectable and Non-Scannable Undirected Advertising
        | Connection (Peripheral Role)
    * - 21
      - | Scannable Undirected Advertising
        | Connection (Peripheral Role)
    * - 22
      - | Passive Scanning
        | Initiating
    * - 23
      - | Active Scanning
        | Initiating
    * - 24
      - | Passive Scanning
        | Connection (Central Role)
    * - 25
      - | Active Scanning
        | Connection (Central Role)
    * - 26
      - | Passive Scanning
        | Connection (Peripheral Role)
    * - 27
      - | Active Scanning
        | Connection (Peripheral Role)
    * - 28
      - | Initiating
        | Connection (Central Role)
    * - 29
      - Low Duty Cycle Connectable Directed Advertising
    * - 30
      - | Low Duty Cycle Connectable Directed Advertising
        | Passive Scanning
    * - 31
      - | Low Duty Cycle Connectable Directed Advertising
        | Active Scanning
    * - 32
      - | Connectable and Scannable Undirected Advertising
        | Initiating
    * - 33
      - | High Duty Cycle Connectable Directed Advertising
        | Initiating
    * - 34
      - | Low Duty Cycle Connectable Directed Advertising
        | Initiating
    * - 35
      - | Connectable and Scannable Undirected Advertising
        | Connection (Central Role)
    * - 36
      - | High Duty Cycle Connectable Directed Advertising
        | Connection (Central Role)
    * - 37
      - | Low Duty Cycle Connectable Directed Advertising
        | Connection (Central Role)
    * - 38
      - | Connectable and Scannable Undirected Advertising
        | Connection (Peripheral Role)
    * - 39
      - | High Duty Cycle Connectable Directed Advertising
        | Connection (Peripheral Role)
    * - 40
      - | Low Duty Cycle Connectable Directed Advertising
        | Connection (Peripheral Role)
    * - 41
      - | Initiating
        | Connection (Peripheral Role)
    * - 42 to 63
      - [Reserved for future use].

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Receiver Test
-------------

Start a test where the DUT receives test referece packets at a
fixed interval.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - RECEIVER_TEST_V3
      - 0x004F
      - | RX_Channel
        | PHY
        | Modulation_Index
        | Expected_CTE_Length
        | Expected_CTE_Type
        | Slot_Durations
        | Switching_Pattern_Length
        | Antenna_IDs[i]
      - Status
    * - ENHANCED_RECEIVER_TEST
      - 0x0033
      - | RX_Channel
        | PHY
        | Modulation_Index
      - Status
    * - RECEIVER_TEST
      - 0x001D
      - RX_Channel
      - Status

Parameters
``````````

.. list-table:: RX_Channel, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x27
      - DTM mode channel to receive on. 

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M PHY.
    * - 0x02
      - Use LE 2M PHY.
    * - 0x03
      - Use LE Coded PHY.
    * - All other values
      - [Reserved for future use].

.. list-table:: Modulation_Index, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Assume transmitter has a standard modulation index.
    * - 0x01
      - Assume transmitter has a stable modulation index.
    * - All other values
      - [Reserved for future use].

.. list-table:: Expected_CTE_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No Constant Tone Extension expected.
    * - 0x02 to 0x14
      - Expected length of Constant Tone Extension in 8 microsecond units.
    * - All other values
      - [Reserved for future use].

.. list-table:: Expected_CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Expect AoA CTE.
    * - 0x01
      - Expect AoD CTE with 1 microsecond slots.
    * - 0x02
      - Expect AoD CTE with 2 microsecond slots.
    * - All other values
      - [Reserved for future use].

.. list-table:: Slot_Durations, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Switching and sampling slots are 1 microseconds each.
    * - 0x02
      - Switching and sampling slots are 2 microseconds each.
    * - All other values
      - [Reserved for future use].

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].
    
.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.CONNECTIONLESS_IQ_REPORT (if Expected CTE Length is set to 0)


Transmitter Test
----------------

Start a test where DUT generates test reference packets at a
fixed interval. For v4, command parameters should be organized 
as such:

| TX_Channel
| Test_Data_Length
| Packet_Payload
| PHY
| CTE_Length
| CTE_Type
| Switching_Pattern_Length
| Antenna_IDs[0]
| ...
| Antenna_IDs[i]
| TX_Power_Level

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - TRANSMITTER_TEST_V4
      - 0x007B
      - | TX_Channel
        | Test_Data_Length
        | Packet_Payload
        | PHY
        | CTE_Length
        | CTE_Type
        | Switching_Pattern_Length
        | Antenna_IDs[i]
        | TX_Power_Level
      - Status
    * - TRANSMITTER_TEST_V3
      - 0x0050
      - | TX_Channel
        | Test_Data_Length
        | Packet_Payload
        | PHY
        | CTE_Length
        | CTE_Type
        | Switching_Pattern_Length
        | Antenna_IDs
      - Status
    * - ENHANCED_TRANSMITTER_TEST
      - 0x0034
      - | TX_Channel
        | Test_Data_Length
        | Packet_Payload
        | PHY
      - Status
    * - TRANSMITTER_TEST
      - 0x001E
      - | TX_Channel
        | Test_Data_Length
        | Packet_Payload
      - Status

Parameters
``````````

.. list-table:: TX_Channel, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x27
      - DTM mode channel to transmit on.

.. list-table:: Test_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Packet payload data length in bytes.

.. list-table:: Packet_Payload, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - PRBS9 payload.
    * - 0x01
      - Repeated 11110000 payload.
    * - 0x02
      - Repeated 10101010 payload.
    * - 0x03
      - PRBS15 payload.
    * - 0x04
      - Repeated 11111111 payload.
    * - 0x05
      - Repeated 00000000 payload.
    * - 0x06
      - Repeated 00001111 payload.
    * - 0x07
      - Repeated 01010101 payload.
    * - All other values
      - [Reserved for future use].

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M PHY.
    * - 0x02
      - Use LE 2M PHY.
    * - 0x03
      - Use LE Coded PHY with S=8 data coding.
    * - 0x04
      - Use LE Coded PHY with S=2 data coding.
    * - All other values
      - [Reserved for future use].

.. list-table:: CTE_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Do not transmit a Constant Tone Extention.
    * - 0x02 to 0x14
      - Length of the Constant Tone Extension in 8 microsecond units.
    * - All other values
      - [Reserved for future use].

.. list-table:: CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - AoA CTE.
    * - 0x01
      - AoD CTE with 1 microsecond slots.
    * - 0x02
      - AoD CTE with 2 microsecond slots.
    * - All other values
      - [Reserved for future use].

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0c4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].

.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

.. list-table:: TX_Power_Level, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x7E
      - Set transmitter to minimum transmit power level.
    * - 0x7F
      - Set transmitter to maximum transmit power level.
    * - All other values
      - | Set transmitter to the specified or nearest transmit power level (signed value).
        | Range = -127dBm to 20dBm

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Test End
--------

Request that any test in progress be stopped.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - TEST_END
      - 0x001F
      - 
      - | Status
        | Num_Packets

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Num_Packets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Number of received packets. For a TX test, this value is always 0x0000.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remote Connection Parameter Request Reply
-----------------------------------------

Reply to a Remote Connection Parameter Request event.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REM_CONN_PARAM_REP
      - 0x0020
      - | Connection_Handle
        | Interval_Min
        | Interval_Max
        | Max_Latency
        | Timeout
        | Min_CE_Length
        | Max_CE_Length
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

.. list-table:: Interval_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Minimum value of the connection interval.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Interval_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Maximum value of the connection interval.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Max_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum allowed peripheral latency given as the number of subrated connection events.
  
.. list-table:: Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Supervision timeout.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

.. list-table:: Min_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | Minimum needed connection event length.
        | Time = value * 0.625ms
        | Time Range = 0ms to 40.9s

.. list-table:: Max_CE_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | Maximum needed connection event length.
        | Time = value * 0.625ms
        | Time Range = 0ms to 40.9s

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remote Connection Parameter Request Negative Reply
--------------------------------------------------

Reply to the Remote Connection Parameter Request event when
the connection parameters are invalid.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REM_CONN_PARAM_NEG_REP
      - 0x0021
      - | Connection_Handle
        | Reason
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

.. list-table:: Reason, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x3B
      - Reason the connection parameter was requested. In this case: Unacceptable Connection Parameters.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Data Length
---------------

Set the maximum TX payload size and maximum TX packet transmission
time used for LL Data PDUs on the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_DATA_LEN
      - 0x0022
      - | Connection_Handle
        | TX_Octets
        | TX_Time
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.

.. list-table:: TX_Octets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001B to 0x00FB
      - Preffered maximum number of payload octets per LL Data PDU.

.. list-table:: TX_Time, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0148 to 0x4290
      - Prefference maximum number of microseconds taken to transmit an LL Data PDU.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection_Handle

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.DATA_LENGTH_CHANGE (if the maximum size or maximum time is changed)

Read Suggested Default Data Length
----------------------------------

Read the suggested values for maximum payload size and maximum
packet transmission time for LL Data PDUs to be used for new
connections.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_DEF_DATA_LEN
      - 0x0023
      - 
      - | Status
        | Suggested_Max_TX_Octets
        | Suggested_Max_TX_Time

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Suggested_Max_TX_Octets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001B to 0x00FB
      - Suggested maximum number of payload octets per LL Data PDU.

.. list-table:: Suggested_Max_TX_Time, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0148 to 0x4290
      - Suggested maximum number of microseconds taken to transmit an LL Data PDU.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Write Suggested Default Data Length
-----------------------------------

Specify the suggested values for maximum payload size and maximum
packet transmission time for LL Data PDUs to use for new
connections.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - WRITE_DEF_DATA_LEN
      - 0x0024
      - | Suggested_Max_TX_Octets
        | Suggested_Max_TX_Time
      - Status

Parameters
``````````

.. list-table:: Suggested_Max_TX_Octets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001B to 0x00FB
      - Suggested maximum number of payload octets per LL Data PDU.

.. list-table:: Suggested_Max_TX_Time, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0148 to 0x4290
      - Suggested maximum number of microseconds taken to transmit an LL Data PDU.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Local P-256 Public Key
---------------------------

Read the local P-256 public key from the Controller. Controller
will generate a new P-256 public/private key pair upon receipt
of this request.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_LOCAL_P256_PUB_KEY
      - 0x0025
      - 
      -

Parameters
``````````

None.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.READ_LOCAL_P256_PUBLIC_KEY_COMPLETE


Generate DHKey
--------------

Request generation of a Diffie-Hellman key for use over the
LE transport.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - GENERATE_DHKEY_V2
      - 0x005E
      - | Key_X_Coordinate
        | Key_Y_Coordinate
        | Key_Type
      -
    * - GENERATE_DHKEY
      - 0x0026
      - | Key_X_Coordinate
        | Key_Y_Coordinate
      - 

Parameters
``````````

.. list-table:: Key_X_Coordinate, size = 32 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Remote P-256 public key X coordinate.
  
.. list-table:: Key_Y_Coordinate, size = 32 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Remote P-256 public key Y coordinate.

.. list-table:: Key_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Use the generated private key.
    * - 0x01
      - Use the debug private key.
    * - All other values
      - Reserved for future use.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.GENERATE_DHKEY_COMPLETE


Add Device to Resolving List
----------------------------

Request that a single device be added to the resolving list used
by the Controller to generate/resolve Resolvable Private Addresses.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ADD_DEV_RES_LIST
      - 0x0027
      - | Peer_Identity_Address_Type
        | Peer_Identity_Address
        | Peer_IRK
        | Local_IRK
      - Status

Parameters
``````````

.. list-table:: Peer_Identity_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Identity Address.
    * - 0x01
      - Random (static) Identity Address
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Identity_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Peer device identity address.

.. list-table:: Peer_IRK, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - IRK of the peer device.
  
.. list-table:: Local_IRK, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - IRK of the local device.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remove Device from Resolving List
---------------------------------

Remove a single device from the resolving list used by the
Controller to resolve Resolvable Private Addresses.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_DEV_RES_LIST
      - 0x0028
      - | Peer_Identity_Address_Type
        | Peer_Identity_Address
      - Status

Parameters
``````````

.. list-table:: Peer_Identity_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Identity Address
    * - 0x01
      - Random (static) Identity Address
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Identity_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Peer device identity address.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Clear Resolving List
--------------------

Remove all devices from the resolving list used by the Controller
to resolve Resolvable Private Addresses.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CLEAR_RES_LIST
      - 0x0029
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Resolving List Size
------------------------

Read the total number of entries that can be stored in
the resolving list. This value may change as time progresses.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_RES_LIST_SIZE
      - 0x002A
      - 
      - | Status
        | Resolving_List_Size

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Resolving_List_Size, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Number of entries in the resolving list.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Peer Resolvable Address
----------------------------

Read the current peer Resolvable Private Address.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_PEER_RES_ADDR
      - 0x002B
      - | Peer_Identity_Address_Type
        | Peer_Identity_Address
      - | Status
        | Peer_Resolvable_Address

Parameters
``````````

.. list-table:: Peer_Identity_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Identity Address.
    * - 0x01
      - Random (static) identity address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Identity_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Peer device identity address.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Peer_Resolvable_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Peer device Resolvable Private Address.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Local Resolvable Address
-----------------------------

Read the current local Resolvable Private Address being used
for the indicated peer identity address.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_LOCAL_RES_ADDR
      - 0x002C
      - | Peer_Identity_Address_Type
        | Peer_Identity_Address
      - | Status
        | Local_Resolvable_Address

Parameters
``````````

.. list-table:: Peer_Identity_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Identity Address.
    * - 0x01
      - Random (static) identity address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Identity_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Peer device identity address.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Local_Resolvable_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Resolvable Private Address used by the local device.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Address Resolution Enable
-----------------------------

Enable resolution of Resolvable Private Addresses in the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_ADDR_RES_ENABLE
      - 0x002D
      - Address_Resolution_Enable
      - Status

Parameters
``````````

.. list-table:: Address_Resolution_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable address resolution in Controllor.
    * - 0x01
      - Enable address resolution in Controller.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Resolvable Private Address Timeout
--------------------------------------

Set amount of time that a Resolvable Private Address is used by
the Controller before a new one must be generated.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_RES_PRIV_ADDR_TO
      - 0x002E
      - RPA_Timeout
      - Status

Parameters
``````````

.. list-table:: RPA_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x0E10
      - | Timeout given in seconds.
        | Time range = 1s to 1h.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Maximum Data Length
------------------------

Read the maximum support payload size in octets and packet duration
times for transmission and reception.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_MAX_DATA_LEN
      - 0x002F
      - 
      - | Status
        | Supported_Max_TX_Octets
        | Supported_Max_TX_Time
        | Supported_Max_RX_Octets
        | Supported_Max_RX_Time

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Supported_Max_TX_Octets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001B to 0x00FB
      - Maximum payload size in octets supported for a single LL packet on ACL connection.
  
.. list-table:: Supported_Max_TX_Time, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0148 to 0x4290
      - Maximum supported time for a single LL packet on ACL connection, in microseconds.

.. list-table:: Supported_Max_RX_Octets, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001B to 0x00FB
      - Maximum paylod size in octets supported for a single LL packet on ACL connection.
  
.. list-table:: Supported_Max_RX_Time, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0148 to 0x4290
      - Maximum support time for a single LL packet on ACL connection, in microseconds.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read PHY
--------

Read the current TX and RX PHY used by the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_PHY
      - 0x0030
      - Connection_Handle
      - | Status
        | Connection_Handle
        | TX_PHY
        | RX_PHY

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle to read the PHY values for.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle.
    
.. list-table:: TX_PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Connection uses LE 1M for the TX PHY.
    * - 0x02
      - Connection uses LE 2M for the TX PHY.
    * - 0x03
      - Connection uses LE Coded for the TX PHY.
    * - All other values
      - [Reserved for future use].

.. list-table:: RX_PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Connection uses LE 1M for the RX PHY.
    * - 0x02
      - Connection uses LE 2M for the RX PHY.
    * - 0x03
      - Connection uses LE Coded for the RX PHY.
    * - All other values
      - [Reserved for future use]. 

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Default PHY
---------------

Set preferred default PHY selections.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_DEF_PHY
      - 0x0031
      - | All_PHYs
        | TX_PHYs
        | RX_PHYs
      - Status

Parameters
``````````

.. list-table:: All_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host has no preference for the transmitter PHY.
    * - 1
      - Host has no preference for the receiver PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: TX_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host prefers LE 1M TX PHY (possibly among others).
    * - 1
      - Host prefers LE 2M TX PHY (possibly among others).
    * - 2
      - Host prefers LE Coded TX PHY (possibly among others).
    * - All other bits
      - [Reserved for future use].

.. list-table:: RX_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host prefers LE 1M RX PHY (possibly among others).
    * - 1
      - Host prefers LE 2M RX PHY (possible among others).
    * - 2
      - Host prefers LE Coded PHY (possibly among others).
    * - All other bits
      - [Reserved for future use].


Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set PHY
-------

Set the PHY preferences for the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PHY
      - 0x0032
      - | Connection_Handle
        | All_PHYs
        | TX_PHYs
        | RX_PHYs
        | PHY_Options
      -

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection handle to set PHY preferences for.

.. list-table:: All_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host has no preference for the transmitter PHY.
    * - 1
      - Host has no preference for the receiver PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: TX_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host prefers LE 1M TX PHY (possibly among others).
    * - 1
      - Host prefers LE 2M TX PHY (possibly among others).
    * - 2
      - Host prefers LE Coded TX PHY (possibly among others).
    * - All other bits
      - [Reserved for future use].

.. list-table:: RX_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - Host prefers LE 1M RX PHY (possibly among others).
    * - 1
      - Host prefers LE 2M RX PHY (possible among others).
    * - 2
      - Host prefers LE Coded PHY (possibly among others).
    * - All other bits
      - [Reserved for future use].

.. list-table:: PHY_Options, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0 to 1
      - | 0 = Host has no preferred coding for LE Coded PHY.
        | 1 = Host prefers S=2 coding for LE Coded PHY.
        | 2 = Host prefers S=8 coding for LE Coded PHY.
        | 3 = [Reserved for future use].
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.PHY_UPDATE_COMPLETE


Set Advertising Set Random Address
----------------------------------

Set the randome device address in the Controller for the indicated
advertising set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_ADV_SET_RAND_ADDR
      - 0x0035
      - | Advertising_Handle
        | Random_Address
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Random_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Random Device Address.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Advertising Parameters
-----------------------------------

Set the extended selection of advertising parameters.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_ADV_PARAM
      - 0x0036
      - | Advertising_Handle
        | Advertising_Event_Properties
        | Primary_Advertising_Interval_Min
        | Primary_Advertising_Interval_Max
        | Primary_Advertising_Channel_Map
        | Own_Address_Type
        | Peer_Address_Type
        | Peer_Address
        | Advertising_Filter_Policy
        | Advertising_TX_Power
        | Primary_Advertising_PHY
        | Secondary_Advertising_Max_Skip
        | Secondary_Advertising_PHY
        | Advertising_SID
        | Scan_Request_Notification_Enable
      - | Status
        | Selected_TX_Power

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Advertising_Event_Properties, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Connectable advertising.
    * - 1
      - Scannable advertising.
    * - 2
      - Directed advertising.
    * - 3
      - High Duty Cycle Directed Connectable advertising.
    * - 4
      - Use legacy advertising PDUs.
    * - 5
      - Omit advertiser's addres from all PDUs, i.e. anonymous advertising.
    * - 6
      - Include TX power in the extended header of at least one advertising PDU.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Primary_Advertising_Interval_Min, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000020 to 0xFFFFFF
      - | Minimum advertising interval for undirected and low duty cycle directed advertising.
        | Time = value * 0.625ms
        | Time Range = 20ms to 10485.76s

.. list-table:: Primary_Advertising_Interval_Max, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000020 to 0xFFFFFF
      - | Maximum advertising interval for undirected and low duty cycle directed advertising.
        | Time = value * 0.625ms
        | Time Range = 20ms to 10485.76s

.. list-table:: Primary_Advertising_Channel_Map, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Use channel 37 (possibly among others).
    * - 1
      - Use channel 38 (possibly among others).
    * - 2
      - Use channel 39 (possibly among others).
    * - All other bits
      - [Reserved for future use].
    
.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address.
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address
    * - 0x01
      - Random Device Address or Random Identity Address
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be connected.

.. list-table:: Advertising_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Process scan and connection requests from all devices.
    * - 0x01
      - Process connection requests from all devices and scan request from devices in the Filter Accept List.
    * - 0x02
      - Process scan requests from all devices and connection requests from devices in the Filter Accept List.
    * - 0x03
      - Process scan and connection requests from devices in the Filter Accept List.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_TX_Power, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x7F
      - Host has no preference.
    * - All other values
      - | Desired advertising TX power (signed value.)
        | Range = -127dBm to 20dBm

.. list-table:: Primary_Advertising_PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M as primary advertising PHY.
    * - 0x03
      - Use LE Coded as primary advertising PHY.
    * - All other values
      - [Reserved for future use].

.. list-table:: Secondary_Advertising_Max_Skip, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - AUX_ADV_IND shall be sent prior to the next advertising event.
    * - 0x01 to 0xFF
      - Maximum advertising events the Controller can skip before sending AUX_ADV_IND on the secondary physical channel.
    
.. list-table:: Secondary_Advertising_PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M as secondary advertising PHY.
    * - 0x02
      - Use LE 2M as secondary advertising PHY.
    * - 0x03
      - Use LE Coded as secondary advertising PHY.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_SID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0 to 0xF
      - Advertising SID subfield value.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scan_Request_Notification_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable scan request notifications.
    * - 0x01
      - Enable scan request notifications.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Selected_TX_Power, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | Selected TX power (signed value).
        | Range = -127dBm to 20dBm

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Advertising Data
-----------------------------

Set the data used in advertising PDUs that have a data field.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_ADV_DATA
      - 0x0037
      - | Advertising_Handle
        | Operation
        | Fragment_Preference
        | Advertising_Data_Length
        | Advertising_Data
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Operation, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Intermediate fragment of fragmented exteded advertising data.
    * - 0x01
      - First fragment of fragmented extended advertising data.
    * - 0x02
      - Last fragment of fragmented extended advertising data.
    * - 0x03
      - Complete extended advertising data.
    * - 0x04
      - Unchanged data (just update the Advertising DID).
    * - All other values
      - [Reserved for future use].
  
.. list-table:: Fragment_Preference, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Controller may fragment all Host advertising data.
    * - 0x01
      - Controller should not fragment or should minimize fragmentation of Host advertising data.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFB
      - The number of octets in the Advertising_Data parameter.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_Data, size = Advertising_Data_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - Variable
      - Advertising Data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Scan Response Data
-------------------------------

Set scan response data used in scanning response PDUs.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_SCAN_RESP_DATA
      - 0x0038
      - | Advertising_Handle
        | Operation
        | Fragment_Preference
        | Scan_Response_Data_Length
        | Scan_Response_Data
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Operation, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Intermediate fragment of fragmented scan response data.
    * - 0x01
      - First fragment of fragmented scan response data.
    * - 0x02
      - Last fragment of fragmented scan reponse data.
    * - 0x03
      - Complete scan response data.
    * - All other values
      - [Reserved for future use].
  
.. list-table:: Fragment_Preference, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Controller may fragment all scan response data.
    * - 0x01
      - Controller should not fragment or should minimize fragmentation of scan reponse data.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scan_Response_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFB
      - The number of octets in the Scan_Response_Data parameter.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scan_Response_Data, size = Scan_Response_Data_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - Variable
      - Scan Response Data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Advertising Enable
-------------------------------

Enable or disable one or more advertising sets as indicated. The
command paramaters are organized as such:

| Enable
| Num_Sets
| Advertising_Handle[0]
| Duration[0]
| Max_Extended_Advertising_Events[0]
| ...
| Advertising_Handle[i]
| Duration[i]
| Max_Extended_Advertising_Events[i]

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_ADV_ENABLE
      - 0x0039
      - | Enable
        | Num_Sets
        | Advertising_Handle[i]
        | Duration[i]
        | Max_Extended_Advertising_Events[i]
      - Status

Parameters
``````````

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable advertising.
    * - 0x01
      - Enable advertising.
    * - All other values
      - [Reserved for future use].

.. list-table:: Num_Sets, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable all advertising sets.
    * - 0x01 to 0x3F
      - Number of advertising sets to enable or disable.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_Handle, size = 1*Num_Sets octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier

.. list-table:: Duration, size = 2*Num_Sets octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - No duration. Advertising continues until disabled by the Host.
    * - 0x0001 to 0xFFFF
      - | Advertising duration.
        | Time = value * 10ms
        | Time Range = 10ms to 655350ms.

.. list-table:: Max_Extended_Advertising_Events, 1*Num_Sets octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No maximum number of advertising events.
    * - 0x01 to 0xFF
      - Maximum number of advertising events to send prior to terminating advertising.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.ADVERTISING_SET_TERMINATED (conditional)
- LE_META.CONNECTION_COMPLETE or LE_META.ENHANCED_CONNECTION_COMPLETE (conditional)



Read Maximum Advertising Data Length
------------------------------------

Read the maximum length of advertisment or scan response data
supported by the controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_MAX_ADV_DATA_LEN
      - 0x003A
      - 
      - | Status
        | Max_Advertising_Data_Length

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Max_Advertising_Data_Length, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x001F to 0x0672
      - Maximum supported advertising data length.
    * - All other values
      - [Reserved for future use].

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Number of Supported Advertising Sets
-----------------------------------------

Read the maximum number of advertising sets the Controller can
support at the same time.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_NUM_SUP_ADV_SETS
      - 0x003B
      - 
      - | Status
        | Num_Supported_Advertising_Sets

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Num_Supported_Advertising_Sets, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0xF0
      - Number of advertising sets that can be supported at the same time.
    * - All other values
      - [Reserved for future use].

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remove Advertising Set
----------------------

Remove an advertising set from the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_ADV_SET
      - 0x003C
      - Advertising_Handle
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Clear Advertising Sets
----------------------

Remove all existing advertising sets from the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CLEAR_ADV_SETS
      - 0x003D
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Periodic Advertising Parameters
-----------------------------------

Set the parameters for periodic advertising.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PER_ADV_PARAM
      - 0x003E
      - | Advertising_Handle
        | Periodic_Advertising_Interval_Min
        | Periodic_Advertising_Interval_Max
        | Periodic_Advertising_Properties
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Periodic advertising train identifier.

.. list-table:: Periodic_Advertising_Interval_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0xFFFF
      - | Minimum advertising interval for periodic advertising.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 81.91s

.. list-table:: Periodic_Advertising_Interval_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0xFFFF
      - | Maximum advertising interval for periodic advertising.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 81.91s

.. list-table:: Periodic_Advertising_Properties, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 6
      - Include TX Power in the advertising PDU
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Periodic Advertising Data
-----------------------------

Specify the data used in periodic advertising PDUs.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PER_ADV_DATA
      - 0x003F
      - | Advertising_Handle
        | Operation
        | Advertising_Data_Length
        | Advertising_Data
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Operation, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Intermediate fragment of fragmented periodic advertising data.
    * - 0x01
      - First fragment of fragmented periodic advertising data.
    * - 0x02
      - Last fragment of fragmented periodic advertising data.
    * - 0x03
      - Complete periodic advertising data.
    * - 0x04
      - Unchanged data (just update the Advertising DID).
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_Data_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFB
      - The number of octets in the Advertising_Data parameter.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertising_Data, size = Advertising_Data_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - Variable
      - Periodic Advertising Data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Periodic Advertising Enable
-------------------------------

Enable or disable periodic advertising for the indicated advertising
set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PER_ADV_ENABLE
      - 0x0040
      - | Enable
        | Advertising_Handle
      - Status

Parameters
``````````

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Enable periodic advertising
    * - 1
      - Include the ADI field in AUX_SYNC_IND PDUs.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.


Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Scan Parameters
----------------------------

Set the extended scanning parameters to be used on the advertising
physical channels. Command parameters should be organized as such:

| Own_Address_Type
| Scanning_Filter_Policy
| Scanning_PHYs
| Scan_Type[0]
| Scan_Interval[0]
| Scan_Window[0]
| ...
| Scan_Type[i]
| Scan_Interval[i]
| Scan_Window[i]

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_SCAN_PARAM
      - 0x0041
      - | Own_Address_Type
        | Scanning_Filter_Policy
        | Scanning_PHYs
        | Scan_Type[i]
        | Scan_Interval[i]
        | Scan_Window[i]
      - Status

Parameters
``````````

.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address
    * - 0x01
      - Random Device Address
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scanning_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Basic unfiltered scanning filter policy.
    * - 0x01
      - Basic filtered scanning filter policy.
    * - 0x02
      - Extended unfiltered scanning filter policy.
    * - 0x03
      - Extended filtered scanning filter policy.
    * - All other values
      - [Reserved for future use].

.. list-table:: Scanning_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Scan advertisements on LE 1M PHY.
    * - 2
      - Scan advertisements on LE Coded Phy.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Scan_Type, size = 1*(Bits set in Scanning_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Passive Scanning. No scan request PDUs will be sent.
    * - 0x01
      - Active Scanning. Scan request PDUs may be sent.

.. list-table:: Scan_Interval, size = 2*(Bits set in Scanning_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0xFFFF
      - | Time interval between scans.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 40.95s

.. list-table:: Scan_Window, size = 2*(Bits set in Scanning_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0xFFFF
      - | Duration of each scan.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 40.95s

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Extended Scan Enable
------------------------

Enable or disable scanning.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_EXT_SCAN_ENABLE
      - 0x0042
      - | Enable
        | Filter_Duplicates
        | Duration
        | Period
      - Status

Parameters
``````````

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable Scanning.
    * - 0x01
      - Enable Scanning.
    * - All other values
      - [Reserved for future use].

.. list-table:: Filter_Duplicates, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable duplicate filtering.
    * - 0x01
      - Enable duplicate filtering.
    * - 0x02
      - Duplicate filtering enabled, reset for each scan period.
    * - All other values
      - [Reserved for future use].

.. list-table:: Duration, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - Continuous scanning until explicitly disabled.
    * - 0x0001 to 0xFFFF
      - | Scan duration.
        | Time = value * 10ms
        | Time Range = 10ms to 655.35s

.. list-table:: Period, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - Scan continuously.
    * - 0x0001 to 0xFFFF
      - | Time interval between the start of one Scan_Duration and the start of the next.
        | Time = value * 1.28s
        | Time Range = 1.28s to 83884.8s

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.EXTENDED_ADVERTISING_REPORT
- LE_META.SCAN_TIMEOUT (if duration is non-zero and period is zero)


Extended Create Connection
--------------------------

Create an ACL connection. Command parameters should be organized
as such:

| Initiator_Filter_Policy
| Own_Address_Type
| Peer_Address_Type
| Peer_Address
| Initiating_PHYs
| Scan_Interval[0]
| Scan_Window[0]
| Connection_Interval_Min[0]
| Connection_Interval_Max[0]
| Max_Latency[0]
| Supervision_Timeout[0]
| Min_CE_Length[0]
| Max_CE_Length[0]
| ...
| Scan_Interval[i]
| Scan_Window[i]
| Connection_Interval_Min[i]
| Connection_Interval_Max[i]
| Max_Latency[i]
| Supervision_Timeout[i]
| Min_CE_Length[i]
| Max_CE_Length[i]

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - EXT_CREATE_CONN
      - 0x0043
      - | Initiator_Filter_Policy
        | Own_Address_Type
        | Peer_Address_Type
        | Peer_Address
        | Initiating_PHYs
        | Scan_Interval[i]
        | Scan_Window[i]
        | Connection_Interval_Min[i]
        | Connection_Interval_Max[i]
        | Max_Latency[i]
        | Supervision_Timeout[i]
        | Min_CE_Length[i]
        | Max_CE_Length[i]
      -

Parameters
``````````

.. list-table:: Initiator_Filter_Policy, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Filter Accept List not used to determine connection. Peer_Address and Peer_Address_Type will be used.
    * - 0x01  
      - Filter Accept List used to determine connection. Peer_Address and Peer_Address_Type will not be used.
    * - All other values
      - [Reserved for future use].

.. list-table:: Own_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address
    * - 0x01
      - Random Device Address.
    * - 0x02
      - Generate Resolvable Private Address if possible, else use public address.
    * - 0x03
      - Generate Resolvable Private Address if possible, else use random address.

.. list-table:: Peer_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address.
    * - 0x01
      - Random Device Address or Random Identity Address.
    * - All other values
      - [Reserved for future use].
   
.. list-table:: Peer_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Address of the device to be connected.

.. list-table:: Initiating_PHYs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Scan connectable advertisements on LE 1M PHY. Connection parameters are provided.
    * - 1
      - Connection parameters for LE 2M PHY are provided.
    * - 2
      - Scan connectable advertisements on LE Coded PHY. Connection parameters are provided.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Scan_Interval, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scanning interval. 
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: Scan_Window, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x4000
      - | Scan duration. Must be less than or equal to LE_Scan_Interval.
        | Time = value * 0.625ms
        | Time Range = 2.5ms to 10.24s

.. list-table:: Connection_Interval_Min, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval minimum. Must be less than or equal to Connection_Inverval_Max.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Connection_Interval_Max, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0006 to 0x0C80
      - | Connection interval maximum. Must be greater than or equal to Connection_Inverval_Min.
        | Time = value * 1.25ms
        | Time Range = 7.5ms to 4s

.. list-table:: Max_Latency, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000 to 0x01F3
      - Maximum peripheral latency for the connection given as a number of connection events.

.. list-table:: Supervision_Timeout, 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Supervision timeout for the LE link.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

.. list-table:: Min_CE_Length, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The minimum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

.. list-table:: Max_CE_Length, size = 2*(Bits set in Initiating_PHYs) octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - | The maximum recommended connection event length.
        | Time = value * 0.625ms
        | Time Range = 0s to 40.95s

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.ENHANCED_CONNECTION_COMPLETE
- LE_META.CHANNEL_SELECTION_ALGORITHM


Periodic Advertising Create Sync
--------------------------------

Synchronize with a periodic advertising train and begin receiving
periodic advertising packets.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - PER_ADV_CREATE_SYNC
      - 0x0044
      - | Options
        | Advertising_SID
        | Advertiser_Address_Type
        | Advertiser_Address
        | Skip
        | Sync_Timeout
        | Sync_CTE_Type
      -

Parameters
``````````

.. list-table:: Options, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - | Determine which advertiser to listen to using:
        | 0: Advertiser SID, Address Type, and Address.
        | 1: Periodic Advertiser List.
    * - 1
      - | Reporting initially:
        | 0: Disabled.
        | 1: Enabled.
    * - 2
      - | Duplicate filtering initially:
        | 0: Disabled.
        | 1: Enabled.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Advertising_SID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x0F
      - Advertising SID subfield value.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertiser_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address.
    * - 0x01
      - Random Device Address or Random Identity Address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertiser_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Advertiser device/identity address.

.. list-table:: Skip, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum number of periodic advertising events that can be skipped after a successful receive.

.. list-table:: Sync_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x4000
      - | Synchronization timeout for the periodic advertising train.
        | Time = value * 10ms
        | Time Range = 100ms to 163.84s

.. list-table:: Sync_CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Do not sync to packets with AoA CTE.
    * - 1
      - Do not sync to packets with AoD CTE with 1 microsecond slots.
    * - 2
      - Do not sync to packets with AoD CTE with 2 microsecond slots.
    * - 3
      - Do not sync to packets with a type 3 CTE (currently reserved for future use).
    * - 4
      - Do not sync to packets without a CTE.
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.PERIODIC_ADVERTISING_SYNC_ESTABLISHED
- LE_META.PERIODIC_ADVERTISING_REPORT


Periodic Advertising Create Sync Cancel
---------------------------------------

Cancel the creation of a periodic advertising sync while it is
pending.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - PER_ADV_CREATE_SYNC_CANCEL
      - 0x0045
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.PERIODIC_ADVERTISING_SYNC_ESTABLISHED


Periodic Advertising Terminate Sync
-----------------------------------

Stop reception of the indicated periodic advertising train.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - PER_ADV_TERM_SYNC
      - 0x0046
      - Sync_Handle
      - Status

Parameters
``````````

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Add Device to Periodic Advertiser List
--------------------------------------

Add a single device to the Controller's Periodic Advertiser List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ADD_DEV_PER_ADV_LIST
      - 0x0047
      - | Advertiser_Address_Type
        | Advertiser_Address
        | Advertising_SID
      - Status

Parameters
``````````

.. list-table:: Advertiser_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address.
    * - 0x01
      - Random Device Address or Random Identity Address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertiser_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Advertiser device/identity address.

.. list-table:: Advertising_SID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x0F
      - Advertising SID subfield value.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remove Device From Periodic Advertiser List
-------------------------------------------

Remove a single device from the Controller's Periodic Advertiser
List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_DEV_PER_ADV_LIST
      - 0x0048
      - | Advertiser_Address_Type
        | Advertiser_Address
        | Advertising_SID
      - Status

Parameters
``````````

.. list-table:: Advertiser_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Device Address or Public Identity Address.
    * - 0x01
      - Random Device Address or Random Identity Address.
    * - All other values
      - [Reserved for future use].

.. list-table:: Advertiser_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Advertiser device/identity address.

.. list-table:: Advertising_SID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x0F
      - Advertising SID subfield value.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Clear Periodic Advertiser List
------------------------------

Remove all entries from the Controller's Periodic Advertiser List.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CLEAR_PER_ADV_LIST
      - 0x0049
      - 
      - Status

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Periodic Advertiser List Size
----------------------------------

Read the total number of Periodic Advertiser list entries that
can be stored in the controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_PER_ADV_LIST_SIZE
      - 0x004A
      - 
      - | Status
        | Periodic_Advertiser_List_Size

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Periodic_Advertiser_List_Size, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0xFF
      - Maximum number of Periodic Advertiser list entries allowed.
    * - 0x00
      - [Reserved for future use]. 

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read TX Power
-------------

Read the minimum and maximum TX power support by the Controller
across all PHYs.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_TX_POWER
      - 0x004B
      - 
      - | Status
        | Min_TX_Power
        | Max_TX_Power

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Min_TX_Power, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | Minimum TX power (signed value).
        | Range = -127dBm to 20dBm

.. list-table:: Max_TX_Power, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | Maximum TX power (signed value).
        | Range = -127dBm to 20dBm

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read RF Path Compensation
-------------------------

Read the RF path compensation value parameters used in TX power
level and RSSI calculation.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_RF_PATH_COMP
      - 0x004C
      - 
      - | Status
        | RF_TX_Path_Compensation_Value
        | RF_RX_Path_Compensation_Value

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: RF_TX_Path_Compensation_Value, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | TX path RF compensation (signed value).
        | Range = -128dB (0xFB00) to 128dB (0x0500)
        | Units = 0.1dB

.. list-table:: RF_RX_Path_Compensation_Value, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | RX path RF compensation (signed value).
        | Range = -128dB (0xFB00) to 128dB (0x0500)
        | Units = 0.1dB

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Write RF Path Compensation
--------------------------

Set the RF path compensation values.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - WRITE_RF_PATH_COMP
      - 0x004D
      - | RF_TX_Path_Compensation_Value
        | RF_RX_Path_Compensation_Value
      - Status

Parameters
``````````

.. list-table:: RF_TX_Path_Compensation_Value, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | TX path RF compensation (signed value).
        | Range = -128dB (0xFB00) to 128dB (0x0500)
        | Units = 0.1dB

.. list-table:: RF_RX_Path_Compensation_Value, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - | RX path RF compensation (signed value).
        | Range = -128dB (0xFB00) to 128dB (0x0500)
        | Units = 0.1dB

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.TRANSMIT_POWER_REPORTING


Set Privacy Mode
----------------

Specify the privacy mode used to a given entry on the resolving list.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PRIVACY_MODE
      - 0x004E
      - | Peer_Identity_Address_Type
        | Peer_Identity_Address
        | Privacy_Mode
      - Status

Parameters
``````````

.. list-table:: Peer_Identity_Address_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Public Identity Address
    * - 0x01
      - Random (static) Identity Address
    * - All other values
      - [Reserved for future use].

.. list-table:: Peer_Identity_Address, size = 6 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Advertiser identity address.

.. list-table:: Privacy_Mode, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Use Network Privacy Mode for this peer device.
    * - 0x01
      - Use Device Privacy Mode for this peer device.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Connectionless CTE Transmit Parameters
------------------------------------------

Set CTE transmit parameters on the indicated advertising set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CONNLESS_CTE_TX_PARAMS
      - 0x0051
      - | Advertising_Handle
        | CTE_Length
        | CTE_Type
        | CTE_Count
        | Switching_Pattern_Length
        | Antenna_IDs
      -

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: CTE_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x14
      - Constant Tone Extension length in 8 microsecond units.
    * - All other values
      - [Reserved for future use].

.. list-table:: CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - AoA CTE.
    * - 0x01
      - AoD CTE with 1 microsecond slots.
    * - 0x02
      - AoD CTE with 2 microsecond slots.
    * - All other values
      - [Reserved for future use].
    
.. list-table:: CTE_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x10
      - The number of CTEs to transmit in each periodic advertising interval.

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].

.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Connectionless CTE Transmit Enable
--------------------------------------

Enable or disable the use of CTEs for the indicated advertising
set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CONNLESS_CTE_TX_ENABLE
      - 0x0052
      - | Advertising_Handle
        | CTE_Enable
      - Status

Parameters
``````````

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set indentifier.

.. list-table:: CTE_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable CTEs.
    * - 0x01
      - Enable CTEs.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Connectionless IQ Sampling Enable
-------------------------------------

Enable or disable capture of IQ samples from the CTES of periodic
advertising packets in the indicated periodic advertising train.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CONNLESS_IQ_SAMP_ENABLE
      - 0x0053
      - | Sync_Handle
        | Sampling_Enable
        | Slot_Durations
        | Max_Sampled_CTEs
        | Switching_Pattern_Length
        | Antenna_IDs[i]
      - | Status
        | Sync_Handle

Parameters
``````````

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.
  
.. list-table:: Sampling_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable connectionless IQ sampling.
    * - 0x01
      - Enable connectionless IQ sampling.
    * - All other values
      - [Reserved for future use].

.. list-table:: Slot_Durations, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Switching and sampling slots are 1 microsecond each.
    * - 0x02
      - Switching and sampling slots are 2 microseconds each.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_Sampled_CTEs, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Sample and report all available CTEs.
    * - 0x01 to 0x10
      - The maximum number of CTEs to sample and report in each periodic advertising interval.

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].

.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.CONNECTIONLESS_IQ_REPORT


Set Connection CTE RX Parameters
--------------------------------

Enable or disable CTE sampling on the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CONN_CTE_RX_PARAMS
      - 0x0054
      - | Connection_Handle
        | Sampling_Enable
        | Slot_Durations
        | Switching_Pattern_Length
        | Antenna_IDs[i]
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.
  
.. list-table:: Sampling_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable connection IQ sampling.
    * - 0x01
      - Enable connection IQ sampling.
    * - All other values
      - [Reserved for future use].

.. list-table:: Slot_Durations, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Switching and sampling slots are 1 microsecond each.
    * - 0x02
      - Switching and sampling slots are 2 microseconds each.
    * - All other values
      - [Reserved for future use].

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].

.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Connection CTE Transmit Parameters
--------------------------------------

Set the antenna switching pattern and permitted CTE types for
the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CONN_CTE_TX_PARAMS
      - 0x0055
      - | Connection_Handle
        | CTE_Types
        | Switching_Pattern_Length
        | Antenna_IDs[i]
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: CTE_Types, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Allow AoA CTE reponse.
    * - 0x01
      - Allow AoD CTE response with 1 microsecond slots.
    * - 0x02
      - Allow AoD CTE response with 2 microsecond slots.
    * - All other values
      - [Reserved for future use].

.. list-table:: Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - The number of Antenna IDs in the pattern.
    * - All other values
      - [Reserved for future use].

.. list-table:: Antenna_IDs, size = 1*Switching_Pattern_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Antenna ID in the pattern.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Connection CTE Request Enable
-----------------------------

Start or stop the CTE request procedure on the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CONN_CTE_REQ_ENABLE
      - 0x0056
      - | Connection_Handle
        | Enable  
        | CTE_Request_Interval
        | Requested_CTE_Length
        | Requested_CTE_Type
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable CTE request for the connection.
    * - 0x01
      - Enable CTE request for the connection.
    * - All other values
      - [Reserved for future use].

.. list-table:: CTE_Request_Interval, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000
      - Initiate the CTE request procedure one time, ASAP.
    * - 0x0001 to 0xFFFF
      - Interval for initiation CTE Request procedure given in number of underlying connection events.

.. list-table:: Requested_CTE_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x14
      - Minimum CTE length given in 8 microsecond units.
    * - All other values
      - [Reserved for future use].

.. list-table:: Requested_CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - AoA CTE.
    * - 0x01
      - AoD CTE with 1 microsecond slots.
    * - 0x02
      - AoD CTE with 2 microsecond slots.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.CONNECTION_IQ_REPORT
- LE_META.CTE_REQUEST_FAILED


Connection CTE Response Enable
------------------------------

Request the the Contoller responds to CTE requests on the indicated
connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CONN_CTE_RESP_ENABLE
      - 0x0057
      - | Connection_Handle
        | Enable
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable CTE response for the connection.
    * - 0x01
      - Enable CTE response for the connection.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Antenna Information
------------------------

Read antenna parameters supported by the controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_ANTENNA_INFO
      - 0x0058
      - 
      - | Status
        | Supported_Switching_Sampling_Rates
        | Num_Antennae
        | Max_Switching_Pattern_Length
        | Max_CTE_Length

Parameters
``````````

None.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Supported_Switching_Sampling_Rates, sizez = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Meaning
    * - 0
      - 1 microsecond switching supported for AoD transmission.
    * - 1
      - 1 microsecond sampling supported for AoD reception.
    * - 2
      - 1 microsecond switching and sampling supported for AoA reception.
    * - 3 to 7
      - [Reserved for future use].

.. list-table:: Num_Antennae, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x4B
      - The number of antennae supported by the Controller.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_Switching_Pattern_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x4B
      - Maximum antenna switching pattern length supported by the Controller.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_CTE_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x02 to 0x14
      - Maximum CTE length supported in 8 microsecond units.
    * - All other values
      - [Reserved for future use.]
    

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Periodic Advertising Receive Enable
---------------------------------------

Enable or disable reports for the indicated periodic advertising
train.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PER_ADV_RCV_ENABLE
      - 0x0059
      - | Sync_Handle
        | Enable
      - Status

Parameters
``````````

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - | Reporting:
        | 0: Disabled
        | 1: Enabled
    * - 1
      - | Duplicate filtering:
        | 0: Disabled
        | 1: Enabled
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Periodic Advertising Sync Transfer
----------------------------------

Send synchronization information about the indicated periodic
advertising train across the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - PER_ADV_SYNC_TRANSFER
      - 0x005A
      - | Connection_Handle
        | Service_Data
        | Sync_Handle
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Service_Data, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value provided by the Host.

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Periodic Advertising Set Info Transfer
--------------------------------------

Send synchronization information about the indicated periodic
advertising set across the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - PER_ADV_SET_INFO_TRANSFER
      - 0x005B
      - | Connection_Handle
        | Service_Data
        | Advertising_Handle
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Service_Data, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value provided by the Host.

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Periodic Advertising Sync Transfer Parameters
-------------------------------------------------

Specify how periodic advertising synchronization information
received on the indicated connection should be processed.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PAST_PARAM
      - 0x005C
      - | Connection_Handle
        | Mode
        | Skip
        | Sync_Timeout
        | CTE Type
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Mode, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No attempt made to synchronize, no Sync Transfer Receive event is sent to the Host.
    * - 0x01
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are disabled.
    * - 0x02
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are enabled, duplicate filtering is disabled.
    * - 0x03
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are enabled, duplicate filtering is enabled.
    * - All other values
      - [Reserved for future use].

.. list-table:: Skip, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum number of periodic advertising events that can be skipped after a successful receive.

.. list-table:: Sync_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x4000
      - | Synchronization timeout for the periodic advertising train.
        | Time = value * 10ms
        | Time Range = 100ms to 163.84s

.. list-table:: CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Do not sync to packets with AoA CTE.
    * - 1
      - Do not sync to packets with AoD CTE with 1 microsecond slots.
    * - 2
      - Do not sync to packets with AoD CTE with 2 microsecond slots.
    * - 3
      - Do not sync to packets with a type 3 CTE (currently reserved for future use).
    * - 4
      - Do not sync to packets without a CTE.
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Default Periodic Advertising Sync Transfer Parameters
---------------------------------------------------------

Set the default period advertising sync transfer parameters for
all subsequent connections.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_DEFAULT_PAST_PARAM
      - 0x005D
      - | Mode
        | Skip
        | Sync_Timeout
        | CTE_Type 
      - Status

Parameters
``````````

.. list-table:: Mode, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No attempt made to synchronize, no Sync Transfer Receive event is sent to the Host.
    * - 0x01
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are disabled.
    * - 0x02
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are enabled, duplicate filtering is disabled.
    * - 0x03
      - Sync Transfer Received event is sent to the Host, Periodic Advertising Reports are enabled, duplicate filtering is enabled.
    * - All other values
      - [Reserved for future use].

.. list-table:: Skip, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum number of periodic advertising events that can be skipped after a successful receive.

.. list-table:: Sync_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x4000
      - | Synchronization timeout for the periodic advertising train.
        | Time = value * 10ms
        | Time Range = 100ms to 163.84s

.. list-table:: CTE_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Do not sync to packets with AoA CTE.
    * - 1
      - Do not sync to packets with AoD CTE with 1 microsecond slots.
    * - 2
      - Do not sync to packets with AoD CTE with 2 microsecond slots.
    * - 3
      - Do not sync to packets with a type 3 CTE (currently reserved for future use).
    * - 4
      - Do not sync to packets without a CTE.
    * - All other bits
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Modify Sleep Clock Accuracy
---------------------------

Modify the Controller's sleep clock accuracy for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - MODIFY_SLEEP_CLK_ACC
      - 0x005F
      - Action
      - Status

Parameters
``````````

.. list-table:: Action, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Switch to a more accurate clock.
    * - 0x01
      - Switch to a less accurate clock.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read ISO TX Sync
----------------

Read the TX timestamp and time offset of a transmitted SDU.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_ISO_TX_SYNC
      - 0x0061
      - Connection_Handle
      - | Status
        | Connection_Handle
        | Packet_Sequence_Number
        | TX_Time_Stamp
        | Time_Offset

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Packet_Sequence_Number, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - The SDU packet sequence number.

.. list-table:: TX_Time_Stamp, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00000000 to 0xFFFFFFFF
      - The CIG reference point or BIG anchor point of a transmitted SDU given in microseconds.

.. list-table:: Time_Offset, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000000 to 0xFFFFFF
      - The time offset that is associated with the SDU given in microseconds.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set CIG Parameters
------------------

Create a CIG and set the parameters of one or more CISes that
as associated with a CIG in the Controller.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CIG_PARAMS
      - 0x0062
      - | CIG_ID
        | SDU_Interval_C_To_P
        | SDU_Interval_P_To_C
        | Worst_Case_SCA
        | Packing
        | Framing
        | Max_Transport_Latency_C_To_P
        | Max_Transport_Latency_P_To_C
        | CIS_Count
        | CIS_ID[i]
        | Max_SDU_C_To_P[i]
        | Max_SDU_P_To_C[i]
        | PHY_C_To_P[i]
        | PHY_P_To_C[i]
        | RTN_C_To_P[i]
        | RTN_P_To_C[i]
      - | Status
        | CIG_ID
        | CIS_Count
        | Connection_Handle[i]

Parameters
``````````

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

.. list-table:: SDU_Interval_C_To_P, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interface, in microseconds of periodic SDUs from the Cental.
    * - All other values
      - [Reserved for future use].

.. list-table:: SDU_Interval_P_To_C, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interface, in microseconds of periodic SDUs from the Peripheral.
    * - All other values
      - [Reserved for future use].

.. list-table:: Worst_Case_SCA, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - 251 ppm to 500 ppm.
    * - 0x01
      - 151 ppm to 250 ppm.
    * - 0x02
      - 101 ppm to 150 ppm.
    * - 0x03
      - 76 ppm to 100 ppm.
    * - 0x04
      - 51 ppm to 75 ppm.
    * - 0x05
      - 31 ppm to 50 ppm.
    * - 0x06
      - 21 ppm to 30 ppm.
    * - 0x07
      - 0 ppm to 20 ppm.
    * - All other values
      - [Reserved for future use].

.. list-table:: Packing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Sequential.
    * - 0x01
      - Interleaved.
    * - All other values
      - [Reserved for future use].

.. list-table:: Framing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unframed.
    * - 0x01
      - Framed.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_Transport_Latency_C_To_P, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0005 to 0x0FA0
      - Maximum transport latency from Central Controller to Peripheral Controller given in milliseconds.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_Transport_Latency_P_To_C, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0005 to 0x0FA0
      - Maximum transport latency from Peripheral Controller to Central Controller given in milliseconds.
    * - All other values
      - [Reserved for future use].

.. list-table:: CIS_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - Number of CIS configurations in the CIG being added or changed.
    * - All other values
      - [Reserved for future use].

.. list-table:: CIS_ID, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIS identifier.

.. list-table:: Max_SDU_C_To_P, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum SDU payload size from the Central.

.. list-table:: Max_SDU_P_To_C, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum SDU payload size from the Peripheral.

.. list-table:: PHY_C_To_P, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Central transmitter uses LE 1M PHY.
    * - 1
      - Central transmitter uses LE 2M PHY.
    * - 2
      - Central transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].
  
.. list-table:: PHY_P_To_C, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Peripheral transmitter uses LE 1M PHY.
    * - 1
      - Peripheral transmitter uses LE 2M PHY.
    * - 2
      - Peripheral transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: RTN_C_To_P, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Number of times each CIS Data PDU should be retransmitted from Central to Peripheral.

.. list-table:: RTN_P_To_C, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Number of times each CIS Data PDU should be retransmitted from Peripheral to Central.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

.. list-table:: CIS_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - Number of CIS configurations in the CIG that were added or changed.
    * - All other values
      - [Reserved for future use].

.. list-table:: Connection_Handle, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set CIG Parameters Test
-----------------------

Nearly identical to the Set CIG Parameters command, but should
only be used for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_CIG_PARAMS_TEST
      - 0x0063
      - | CIG_ID
        | SDU_Interval_C_To_P
        | SDU_Interval_P_To_C
        | FT_C_To_P
        | FT_P_To_C
        | ISO_Interval
        | Worst_Case_SCA
        | Packing
        | Framing
        | CIS_Count
        | CIS_ID[i]
        | NSE[i]
        | Max_SDU_C_To_P[i]
        | Max_SDU_P_To_C[i]
        | Max_PDU_C_To_P[i]
        | Max_PDU_P_To_C[i]
        | PHY_C_To_P[i]
        | PHY_P_To_C[i]
        | BN_C_To_P[i]
        | BN_P_To_C[i]
      - | Status
        | CIG_ID
        | CIS_Count
        | Connection_Handle[i]

Parameters
``````````

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

.. list-table:: SDU_Interval_C_To_P, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interface, in microseconds of periodic SDUs from the Cental.
    * - All other values
      - [Reserved for future use].

.. list-table:: SDU_Interval_P_To_C, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interface, in microseconds of periodic SDUs from the Peripheral.
    * - All other values
      - [Reserved for future use].

.. list-table:: FT_C_To_P, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0xFF
      - Flush timeout in multiples of ISO_Interval for each payload sent from Central to Peripheral.

.. list-table:: FT_C_To_P, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0xFF
      - Flush timeout in multiples of ISO_Interval for each payload sent from Peripheral to Central.
      
.. list-table:: ISO_Interval, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x0C80
      - | Time between consecutive CIS anchor points.
        | Time = value * 1.25ms
        | Time Range = 5ms to 4s

.. list-table:: Worst_Case_SCA, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - 251 ppm to 500 ppm.
    * - 0x01
      - 151 ppm to 250 ppm.
    * - 0x02
      - 101 ppm to 150 ppm.
    * - 0x03
      - 76 ppm to 100 ppm.
    * - 0x04
      - 51 ppm to 75 ppm.
    * - 0x05
      - 31 ppm to 50 ppm.
    * - 0x06
      - 21 ppm to 30 ppm.
    * - 0x07
      - 0 ppm to 20 ppm.
    * - All other values
      - [Reserved for future use].

.. list-table:: Packing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Sequential.
    * - 0x01
      - Interleaved.
    * - All other values
      - [Reserved for future use].

.. list-table:: Framing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unframed.
    * - 0x01
      - Framed.
    * - All other values
      - [Reserved for future use].

.. list-table:: CIS_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - Number of CIS configurations in the CIG being added or changed.
    * - All other values
      - [Reserved for future use].

.. list-table:: CIS_ID, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIS identifier.

.. list-table:: NSE, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Maximum number of subevents in each CIS event.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_SDU_C_To_P, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum SDU payload size from the Central.

.. list-table:: Max_SDU_P_To_C, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum SDU payload size from the Peripheral.

.. list-table:: Max_PDU_C_To_P, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum PDU payload size from the Central Link Layer.

.. list-table:: Max_PDU_P_To_C, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Maximum PDU payload size from the Peripheral Link Layer.

.. list-table:: PHY_C_To_P, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Central transmitter uses LE 1M PHY.
    * - 1
      - Central transmitter uses LE 2M PHY.
    * - 2
      - Central transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].
  
.. list-table:: PHY_P_To_C, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Peripheral transmitter uses LE 1M PHY.
    * - 1
      - Peripheral transmitter uses LE 2M PHY.
    * - 2
      - Peripheral transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: BN_C_To_P, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No isochronous data from Central to Peripheral
    * - 0x01 to 0x0F
      - The burst number for Central to Peripheral transmission.
    * - All other values
      - [Reserved for future use].

.. list-table:: BN_P_To_C, size = 1*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - No isochronous data from Peripheral to Central.
    * - 0x01 to 0x0F
      - The burst number for Peripheral to Central transmission.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

.. list-table:: CIS_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - Number of CIS configurations in the CIG that were added or changed.
    * - All other values
      - [Reserved for future use].

.. list-table:: Connection_Handle, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Create CIS
----------

Create one of more CISes using the indicated connections.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CREATE_CIS
      - 0x0064
      - | CIS_Count
        | CIS_Connection_Handle[i]
        | ACL_Connection_Handle[i]
      -

Parameters
``````````

.. list-table:: CIS_Count, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1F
      - Total number of CISes to be created.
    * - All other values
      - [Reserved for future use].

.. list-table:: CIS_Connection_Handle, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

.. list-table:: ACL_Connection_Handle, size = 2*CIS_Count octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - ACL connection identifier.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.CIS_ESTABLISHED


Remove CIG
----------

Remove a single CIG.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_CIG
      - 0x0065
      - CIG_ID
      - | Status
        | CIG_ID

Parameters
``````````

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: CIG_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - CIG identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Accept CIS Request
------------------

Accept the request for the indicated CIS.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ACCEPT_CIS_REQ
      - 0x0066
      - Connection_Handle
      -

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.CIS_ESTABLISHED


Reject CIS Request
------------------

Reject the request for the indicated CIS.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REJECT_CIS_REQ
      - 0x0067
      - | Connection_Handle
        | Reason
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

.. list-table:: Reason, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Reason the CIS request was rejected.    

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully.
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - CIS connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Create BIG
----------

Create a BIG with one or more BISes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CREATE_BIG
      - 0x0068
      - | BIG_Handle
        | Advertising_Handle
        | Num_BIS
        | SDU_Interval
        | Max_SDU
        | Max_Transport_Latency
        | RTN
        | PHY
        | Packing
        | Framing
        | Encryption
        | Broadcast_Code
      - 

Parameters
``````````

.. list-table:: BIG_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Periodic advertising train identifier.

.. list-table:: Num_BIS, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Total number of BISes in the BIG.
    * - All other values
      - [Reserved for future use].

.. list-table:: SDU_Interval, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interval, in microseconds of periodic SDUs.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_SDU, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0xFFFF
      - Maximum size of an SDU in octets.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_Transport_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0005 to 0x0FA0
      - Maximum transport latency in milliseconds.
    * - All other values
      - [Reserved for future use].

.. list-table:: RTN, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x1E
      - Number of times that each BIS Data PDU should be retransmitted.
    * - All other values
      - [Reserved for future use].

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Transmitter uses LE 1M PHY.
    * - 1
      - Transmitter uses LE 2M PHY.
    * - 2
      - Transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Packing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Sequential.
    * - 0x01
      - Interleaved.
    * - All other values
      - [Reserved for future use].

.. list-table:: Framing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unframed.
    * - 0x01
      - Framed.
    * - All other values
      - [Reserved for future use].

.. list-table:: Encryption, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unecrypted.
    * - 0x01
      - Encrypted.
    * - All other values
      - [Reserved for future use].

.. list-table:: Broadcast_Code, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - The code used to derive the session key that is used for encryption/decryption.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.CREATE_BIG_COMPLETE


Create BIG Test
---------------

Nearly identical to the Create BIG command, but should only be
used for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - CREATE_BIG_TEST
      - 0x0069
      - | BIG_Handle
        | Advertising_Handle
        | Num_BIS
        | SDU_Interval
        | ISO_Interval
        | NSE
        | Max_SDU
        | Max_PDU
        | PHY
        | Packing
        | Framing
        | BN
        | IRC
        | PTO
        | Encryption
        | Broadcast_Code
      -

Parameters
``````````

.. list-table:: BIG_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Periodic advertising train identifier.

.. list-table:: Num_BIS, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Total number of BISes in the BIG.
    * - All other values
      - [Reserved for future use].

.. list-table:: SDU_Interval, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000FF to 0x0FFFFF
      - The interval, in microseconds of periodic SDUs.
    * - All other values
      - [Reserved for future use].

.. list-table:: ISO_Interval, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0004 to 0x0C80
      - | Time between consecutive BIG anchor points.
        | Time = value * 1.25ms
        | Time Range = 5ms to 4s

.. list-table:: NSE, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Maximum number of subevents in each interval of each BIS in the BIG.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_SDU, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0xFFFF
      - Maximum size of an SDU in octets.
    * - All other values
      - [Reserved for future use].

.. list-table:: Max_PDU, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x00FB
      - Maximum size of the payload in octets.
    * - All other values
      - [Reserved for future use].

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Transmitter uses LE 1M PHY.
    * - 1
      - Transmitter uses LE 2M PHY.
    * - 2
      - Transmitter uses LE Coded PHY.
    * - All other bits
      - [Reserved for future use].

.. list-table:: Packing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Sequential.
    * - 0x01
      - Interleaved.
    * - All other values
      - [Reserved for future use].

.. list-table:: Framing, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unframed.
    * - 0x01
      - Framed.
    * - All other values
      - [Reserved for future use].

.. list-table:: BN, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x07
      - The number of new payloads in each interval for each BIS.
    * - All other values
      - [Reserved for future use].

.. list-table:: IRC, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x0F
      - The number of times the schedules payloads are transmitted in a given event.
    * - All other values
      - [Reserved for future use].

.. list-table:: PTO, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x0F
      - Offset used for pre-transmissions.
    * - All other values
      - [Reserved for future use].

.. list-table:: Encryption, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unecrypted.
    * - 0x01
      - Encrypted.
    * - All other values
      - [Reserved for future use].

.. list-table:: Broadcast_Code, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - The code used to derive the session key that is used for encryption/decryption.


Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.CREATE_BIG_COMPLETE


Terminate BIG
-------------

Terminate the indicated BIG.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - TERMINATE_BIG
      - 0x006A
      - | BIG_Handle
        | Reason
      -

Parameters
``````````

.. list-table:: BIG_Handle, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

.. list-table:: Reason, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Reason the BIG is terminated. 

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.TERMINATE_BIG_COMPLETE
- LE_META.CREATE_BIG_COMPLETE (conditional)


BIG Create Sync
---------------

Synchronize to a BIG described in the indicated periodic advertising
train.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - BIG_CREATE_SYNC
      - 0x006B
      - | BIG_Handle
        | Sync_Handle
        | Encryption
        | Broadcast_Code
        | MSE
        | BIG_Sync_Timeout
        | Num_BIS
        | BIS[i]
      -

Parameters
``````````

.. list-table:: BIG_Handle, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

.. list-table:: Sync_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Periodic advertising train identifier.

.. list-table:: Encryption, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Unecrypted.
    * - 0x01
      - Encrypted.
    * - All other values
      - [Reserved for future use].

.. list-table:: Broadcast_Code, size = 16 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - The code used to derive the session key that is used for encryption/decryption.

.. list-table:: MSE, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - The controller can schedule reception of any number of subevents up to the value of NSE.
    * - 0x01 to 0x1F
      - Maximum number of subevents that should be used to receive data payloads in each BIS event.
    * - All other values
      - [Reserved for future use].

.. list-table:: BIG_Sync_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x4000
      - | Synchronization timeout for BIG.
        | Time = value * 10ms
        | Time Range = 100ms to 163.84s

.. list-table:: Num_BIS, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Total number of BISes in the BIG.
    * - All other values
      - [Reserved for future use].

.. list-table:: BIS, size = 1*Num_BIS octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01 to 0x1F
      - Index of a BIS.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.BIG_SYNC_ESTABLISHED


BIG Terminate Sync
------------------

Stop or cancel the process of synchronizing to the indicated
BIG.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - BIG_TERMINATE_SYNC
      - 0x006C
      - BIG_Handle
      - | Status
        | BIG_Handle

Parameters
``````````

.. list-table:: BIG_Handle, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: BIG_Handle, size = 1 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - BIG identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.BIG_SYNC_ESTABLISHED (conditional)


Request Peer SCA
----------------

Read the Sleep Clock Accuracy of the peer device.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REQUEST_PEER_SCA
      - 0x006D
      - Connection_Handle
      -

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.REQUEST_PEER_SCA_COMPLETE


Setup ISO Data Path
-------------------



.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SETUP_ISO_DATA_PATH
      - 0x006E
      - | Connection_Handle
        | Data_Path_Direction
        | Data_Path_ID
        | Codec_ID
        | Controller_Delay
        | Codec_Configuration_Length
        | Codec_Configuration
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Data_Path_Direction, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Input (Host to Controller)
    * - 0x01
      - Output (Controller to Host)
    * - All other values
      - [Reserved for future use].

.. list-table:: Data_Path_ID, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - HCI
    * - 0x01 to 0xFE
      - Logic channel number, vendor-specific.
    * - 0xFF
      - [Reserved for future use].

.. list-table:: Codec_ID, size = 5 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Octet Number
      - Parameter Description
    * - 0
      - Codec ID, or 0xFF for vendor-specific codec.
    * - 1 to 2
      - Company ID, ignored if octet 0 is not 0xFF.
    * - 3 to 4
      - Vendor-defined codec ID, ignored if octet 0 is not 0xFF.

.. list-table:: Controller_Delay, size = 3 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000000 to 0x3D0900
      - | Controller delay in microseconds.
        | Time Range = 0s to 4s

.. list-table:: Codec_Configuration_Length, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Length of codec configuration.

.. list-table:: Codec_Configuration, size = Codec_Capability_Length octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - Variable
      - Codec-specific configuration data.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Remove ISO Data Path
--------------------

Remote and ISO input or output data path.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - REMOVE_ISO_DATA_PATH
      - 0x006F
      - | Connection_Handle
        | Data_Path_Direction
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Data_Path_Direction, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Input (Host to Controller)
    * - 0x01
      - Output (Controller to Host)
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


ISO Transmit Test
-----------------

ISO TX test. Should only be used in ISO test mode, and only
for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ISO_TX_TEST
      - 0x0070
      - | Connection_Handle
        | Payload_Type
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Payload_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Zero-length payload.
    * - 0x01
      - Variable-length payload.
    * - 0x02
      - Maximum-length payload.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


ISO Receive Test
----------------

ISO RX test. Should only be used in ISO test mode, and only
for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ISO_RX_TEST
      - 0x0071
      - | Connection_Handle
        | Payload_Type
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Payload_Type, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Zero-length payload.
    * - 0x01
      - Variable-length payload.
    * - 0x02
      - Maximum-length payload.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


ISO Read Test Counters
----------------------

Read ISO test counters. Should only be used in ISO test mode, and only
for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ISO_READ_TEST_COUNTERS
      - 0x0072
      - | Connection_Handle
      - | Status
        | Connection_Handle
        | Received_SDU_Count
        | Missed_SDU_Count
        | Failed_SDU_Count

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Received_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of properly received SDUs.

.. list-table:: Missed_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of missed SDUs.

.. list-table:: Failed_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of failed SDUs.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


ISO Test End
------------

ISO test end. Should only be used in ISO test mode, and only
for testing purposes.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - ISO_TEST_END
      - 0x0073
      - | Connection_Handle
      - | Status
        | Connection_Handle
        | Received_SDU_Count
        | Missed_SDU_Count
        | Failed_SDU_Count

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.


Return Parameters
`````````````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Received_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of properly received SDUs.

.. list-table:: Missed_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of missed SDUs.

.. list-table:: Failed_SDU_Count, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Number of failed SDUs.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Host Feature
----------------

Set or clear a bit in the Controller Link Layer Feature Set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_HOST_FEATURE
      - 0x0074
      - | Bit_Number
        | Bit_Value
      - Status

Parameters
``````````

.. list-table:: Bit_Number, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0x3F
      - Bit position in the Feature Set
    * - All other values
      - [Reserved for future use].

.. list-table:: Bit_Value, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable the indicated feature.
    * - 0x01
      - Enable the indicated feature.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read ISO Link Quality
---------------------

Read the values of the ISO link quality counters.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_ISO_LINK_QUAL
      - 0x0075
      - Connection_Handle
      - | Status
        | Connection_Handle
        | TX_UnACKed_Packets
        | TX_Flushed_Packets
        | TX_Last_Subevent_Packets
        | Retransmitted_Packets
        | CRC_Error_Packets
        | RX_Unreceived_Packets
        | Duplicate_Packets

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: TX_UnACKed_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of TX_UnACKed_Packets counter.

.. list-table:: TX_Flushed_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of TX_Flushed_Packets counter.

.. list-table:: TX_Last_Subevent_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of TX_Last_Subevent_Packets counter.

.. list-table:: Retransmitted_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of Retransmitted_Packets counter.

.. list-table:: CRC_Error_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of CRC_Error_Packets counter.

.. list-table:: RX_Unreceived_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of RX_Unreceived_Packets counter.

.. list-table:: Duplicate_Packets, size = 4 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - N/A
      - Value of Duplicate_Packets counter.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Enhanced Read TX Power Level
----------------------------

Read the current and maximum power levels on the indicated
connection and PHY.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_ENHANCED_TX_POWER
      - 0x0076
      - | Connection_Handle
        | PHY
      - | Status
        | Connection_Handle
        | PHY
        | Current_TX_Power_Level
        | Max_TX_Power_Level

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M PHY.
    * - 0x02
      - Use LE 2M PHY.
    * - 0x03
      - Use LE Coded PHY with S=8 data coding.
    * - 0x04
      - Use LE Coded PHY with S=2 data coding.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M PHY.
    * - 0x02
      - Use LE 2M PHY.
    * - 0x03
      - Use LE Coded PHY with S=8 data coding.
    * - 0x04
      - Use LE Coded PHY with S=2 data coding.
    * - All other values
      - [Reserved for future use].

.. list-table:: Current_TX_Power_Level, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | Current TX power level (signed value).
        | Range = -127dBm to 20dBm

.. list-table:: Max_TX_Power_Level, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - | Maximum TX power level (signed value).
        | Range = -127dBm to 20dBm

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Read Remote TX Power Level
--------------------------

Read the TX power level of the remote peer device indicated by
the given connection handle.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - READ_REMOTE_TX_POWER
      - 0x0077
      - | Connection_Handle
        | PHY
      -

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: PHY, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x01
      - Use LE 1M PHY.
    * - 0x02
      - Use LE 2M PHY.
    * - 0x03
      - Use LE Coded PHY with S=8 data coding.
    * - 0x04
      - Use LE Coded PHY with S=2 data coding.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````

- COMMAND_STATUS
- LE_META.TRANSMIT_POWER_REPORTING


Set Path Loss Reporting Parameters
----------------------------------

Set the path loss threshold reporting parameters for the indicated
ACL connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PATH_LOSS_REPORTING_PARAMS
      - 0x0078
      - | Connection_Handle
        | High_Threshold
        | High_Hysteresis
        | Low_Threshold
        | Low_Hysteresis
        | Min_Time_Spent
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: High_Threshold, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0xFF
      - High threshold unused.
    * - All other values
      - High threshold for the path loss in dBm.

.. list-table:: High_Hysteresis, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Hysteresis value for the high threshold. 

.. list-table:: Low_Threshold, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Low threshold for the path loss.

.. list-table:: Low_Hysteresis, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xFF
      - Hysteresis value for the low threshold.

.. list-table:: Min_Time_Spent, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0xFFFF
      - Minimum time in number of connection events to be observed once the path crosses the threshold before an event is generated.



Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.PATH_LOSS_THRESHOLD


Set Path Loss Reporting Enable
------------------------------

Enable or disable path loss reporting for the indicated 
connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_PATH_LOSS_REPORTING_ENABLE
      - 0x0079
      - | Connection_Handle
        | Enable
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable reporting.
    * - 0x01
      - Enable reporting.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.PATH_LOSS_THRESHOLD


Set Transmit Power Reporting Enable
-----------------------------------

Enable or disable TX power reported for local and remote
Controllers on the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_TX_POWER_REPORT_ENABLE
      - 0x007A
      - | Connection_Handle
        | Local_Enable
        | Remote_Enable
      - | Status
        | Connection_Handle

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Local_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable local TX power reporting.
    * - 0x01
      - Enable local TX power reporting.
    * - All other values
      - [Reserved for future use].

.. list-table:: Remote_Enable, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Disable remote TX power reporting.
    * - 0x01
      - Enable remote TX power reporting.
    * - All other values
      - [Reserved for future use].

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE
- LE_META.TRANSMIT_POWER_REPORTING (if either local or remote reporting is enabled)


Set Data Related Address Changes
--------------------------------

Specify when the Controller should refresh Resolvable Private
Addresses associated with the indicated advertising set.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_DATA_RELATED_ADDRESS_CHANGES
      - 0x007C
      - | Advertising_Handle
        | Change_Reasons
      - Status

Parameters
``````````
.. list-table:: Advertising_Handle, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00 to 0xEF
      - Advertising set identifier.

.. list-table:: Change_Reasons, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Bit Number
      - Parameter Description
    * - 0
      - Change the address whenever the advertising data changes.
    * - 1
      - Change the address whenever the scan response data changes.
    * - All other bits
      - [Reserved for future use].


Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Set Default Subrate
-------------------

Set the initial values for the acceptable parameters for subrating
requests.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SET_DEF_SUBRATE
      - 0x007D
      - | Subrate_Min
        | Subrate_Max
        | Max_Latency
        | Continuation_Number
        | Supervision_Timeout
      - Status

Parameters
``````````

.. list-table:: Subrate_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x01F4
      - Minimum subrate factor allowed in requests by a Peripheral.

.. list-table:: Subrate_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x01F4
      - Maximum subrate factor allowed in requests by a Peripheral.

.. list-table:: Max_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum latency allowed in requests by a Peripheral, in units of subrated connection intervals.

.. list-table:: Continuation_Number, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Minimum number of underlying connection events to remain active after a LL PDU packet with a non-zero length is received in requests by a Peripheral.

.. list-table:: Supervision_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Maximum supervision timeout allowed in requests by a Peripheral.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

Return Parameters
`````````````````

.. list-table:: Status, size = 1 octet
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x00
      - Command completed successfully
    * - 0x01 to 0xFF
      - Command failed.

Event(s) Generated
``````````````````

- COMMAND_COMPLETE


Subrate Request
---------------

Request a change to the subrating factor and/or other parameters
on the indicated connection.

.. list-table::
    :width: 100%
    :widths: 30 10 30 30
    :header-rows: 1

    * - Command
      - OCF
      - Command Parameters
      - Return Parameters
    * - SUBRATE_REQ
      - 0x007E
      - | Connection_Handle
        | Subrate_Min
        | Subrate_Max
        | Max_Latency
        | Continuation_Number
        | Supervision_Timeout
      - 

Parameters
``````````

.. list-table:: Connection_Handle, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x0EFF
      - Connection identifier.

.. list-table:: Subrate_Min, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x01F4
      - Minimum subrate factor allowed in requests by a Peripheral.

.. list-table:: Subrate_Max, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0001 to 0x01F4
      - Maximum subrate factor allowed in requests by a Peripheral.

.. list-table:: Max_Latency, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Maximum latency allowed in requests by a Peripheral, in units of subrated connection intervals.

.. list-table:: Continuation_Number, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x0000 to 0x01F3
      - Minimum number of underlying connection events to remain active after a LL PDU packet with a non-zero length is received in requests by a Peripheral.

.. list-table:: Supervision_Timeout, size = 2 octets
    :width: 100%
    :widths: 20 80
    :header-rows: 1

    * - Value(s)
      - Parameter Description
    * - 0x000A to 0x0C80
      - | Maximum supervision timeout allowed in requests by a Peripheral.
        | Time = value * 10ms
        | Time Range = 100ms to 32s

Return Parameters
`````````````````

None.

Event(s) Generated
``````````````````
- COMMAND_STATUS
- LE_META.SUBRATE_CHANGE
