HCI Extension Commands
In addition to the BLE HCI commands, the following HCI Extension vendor specific commands are also available.
HCI_EXT_SetRxGainCmd
Opcode: | 0xFC00 |
Command Description: |
| Set the receiver gain. |
Command Parameters
RX Gain: | Set RX gain to standard or high.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
RX Gain Standard |
1 |
RX Gain High |
|
|
Events Generated
When this command has completed, an HCI_EXT_SetRxGainDone event shall be generated.
HCI_EXT_SetTxPowerCmd
Opcode: | 0xFC01 |
Command Description: |
| This command is used to set the RF transmitter output power. |
Command Parameters
TX Power: | Tx power to use.
Size: | 1 byte(s)
|
Default: | 2
|
Range: |
Value |
Description |
0 |
CC26xx: -21 dBm CC254x: -23 dBm |
1 |
CC26xx: -18 dBm CC254x: -6 dBm |
2 |
CC26xx: -15 dBm CC254x: 0 dBm |
3 |
CC26xx: -12 dBm CC254x: 4 dBm |
4 |
CC26xx: -9 dBm |
5 |
CC26xx: -6 dBm |
6 |
CC26xx: -3 dBm |
7 |
CC26xx: 0 dBm |
8 |
CC26xx: 1 dBm |
9 |
CC26xx: 2 dBm |
10 |
CC26xx: 3 dBm |
11 |
CC26xx: 4 dBm |
12 |
CC26xx: 5 dBm |
|
|
Events Generated
When this command has completed, an HCI_EXT_SetTxPowerDone event shall be generated.
HCI_EXT_OnePktPerEvtCmd
Opcode: | 0xFC02 |
Command Description: |
| This command is used to configure the Link Layer to only allow one packet per connection event. This command can be used to tradeoff throughput and power consumption during a connection. When enabled, power can be conserved during a connection by limiting the number of packets per connection event to one, at the expense of more limited throughput. When disabled, the number of packets transferred during a connection event is not limited, at the expense of higher power consumption. |
Command Parameters
Control: | Enable or disable allowing only one packet per event.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Events Generated
When this command has completed, an HCI_EXT_OnePacketPerEventDone event shall be generated.
HCI_EXT_DecryptCmd
Opcode: | 0xFC05 |
Command Description: |
| This command is used to decrypt encrypted text using AES128. |
Command Parameters
Key: | 128 bit key for the decryption of the data given in the command. The most significant octet of the data corresponds to key[0] using the notation specified in FIPS 197.
Size: | 16 byte(s) |
Default: | “BF:01:FB:9D:4E:F3:BC:36:D8:74:F5:39:41:38:68:4C” |
Range: | Any 16 byte value |
|
Data: | 128 bit encrypted data to be decrypted. The most significant octet of the key corresponds to key[0] using the notation specified in FIPS 197.
Size: | 16 byte(s) |
Default: | “66:C6:C2:27:8E:3B:8E:05:3E:7E:A3:26:52:1B:AD:99” |
Range: | Any 16 byte value |
|
Events Generated
When this command has completed, an HCI_EXT_DecryptCommandDone event shall be generated.
HCI_EXT_SetLocalSupportedFeaturesCmd
Opcode: | 0xFC06 |
Command Description: |
| This command is used to set the Controllers Local Supported Features. For a complete list of supported LE features, please see [1], Part B, Section 4.6. Note: This command can be issued either before or after one or more connections are formed. However, the local features set in this manner are only effective if performed before a Feature Exchange Procedure has been initiated by the Master. Once this control procedure has been completed for a particular connection, only the exchanged feature set for that connection will be used. Since the Link Layer may initiate the feature exchange procedure autonomously, it is best to use this command before the connection is formed. |
Command Parameters
FeatureSet: | Write LL local supported features.
Size: | 8 byte(s)
|
Default: | 0x0000000000000001
|
Range: |
Value |
Description |
0x0000000000000000 |
No Events Specified |
0x0000000000000001 |
Encryption |
0x0000000000000002 |
Connection Parameters Request |
0x0000000000000004 |
Reject Extended Indication |
0x0000000000000008 |
Slave Features Exchange |
0x0000000000000010 |
Ping |
0x0000000000000020 |
Data Packet Length Extension |
0x0000000000000040 |
Privacy |
0x0000000000000080 |
Extended Scanner Filter Policies |
0x0000000000000100 |
2M PHY |
0x0000000000000200 |
Stable Modulation Index Tx |
0x0000000000000400 |
Stable Modulation Index Rx |
0x0000000000000800 |
Coded PHY |
0x0000000000001000 |
Extended Advertising |
0x0000000000002000 |
Periodic Advertising |
0x0000000000004000 |
Channel Selection Algorithm #2 |
0x0000000000008000 |
LE Power Class 1 |
0x0000000000010000 |
Minimum Number of Used Channels |
|
|
Events Generated
When this command has completed, an HCI_EXT_WriteLocalFeatureSupportDone event shall be generated.
HCI_EXT_ModemTestTxCmd
Opcode: | 0xFC08 |
Command Description: |
| This API is used to start a continuous transmitter modem test, using either a modulated or unmodulated carrier wave tone, at the frequency that corresponds to the specified RF channel. Use the HCI_EXT_EndModemTest command to end the test. Note: The RF channel, not the BLE frequency, is specified! You can obtain the RF channel from the BLE frequency as follows: RF Channel = (BLE Frequency - 2402) / 2. Note: When the HCI_EXT_EndModemTest is issued to stop this test, a Controller reset will take place. Note: The device will transmit at the default output power (0 dBm) unless changed by HCI_EXT_SetTxPowerCmd. Note: This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66. |
Command Parameters
CW Mode: | Set Modem Test CW modulation.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Modulated Transmit Carrier |
1 |
Unmodulated Transmit Carrier |
|
|
TX RF Channel: | RF channel of transmit frequency.
Size: | 1 byte(s) |
Default: | 0 |
Range: | 0-39 |
|
Events Generated
When this command has completed, an HCI_EXT_ModemTestTxDone event shall be generated.
HCI_EXT_ModemHopTestTxCmd
Opcode: | 0xFC09 |
Command Description: |
| This API is used to start a continuous transmitter direct test mode test using a modulated carrier wave and transmitting a 37 byte packet of pseudo-random 9 bit data. A packet is transmitted on a different frequency (linearly stepping through all RF channels 0..39) every 625us. Use the HCI_EXT_EndModemTest command to end the test. Note: When the HCI_EXT_EndModemTest is issued to stop this test, a Controller reset will take place. Note: The device will transmit at the default output power (0 dBm) unless changed by HCI_EXT_SetTxPowerCmd. Note: This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66. |
Events Generated
When this command has completed, an HCI_EXT_ModemHopTestTxDone event shall be generated.
HCI_EXT_ModemTestRxCmd
Opcode: | 0xFC0A |
Command Description: |
| This API is used to start a continuous receiver modem test using a modulated carrier wave tone, at the frequency that corresponds to the specific RF channel. Any received data is discarded. Receiver gain may be adjusted using the HCI_EXT_SetRxGain command. RSSI may be read during this test by using the HCI_ReadRssi command. Use HCI_EXT_EndModemTest command to end the test. Note: The RF channel, not the BLE frequency, is specified! You can obtain the RF channel from the BLE frequency as follows: RF Channel = (BLE Frequency - 2402) / 2. Note: When the HCI_EXT_EndModemTest is issued to stop this test, a Controller reset will take place. Note: This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66. |
Command Parameters
RX RF Channel: | RF channel of receive frequency.
Size: | 1 byte(s) |
Default: | 0 |
Range: | 0-39 |
|
Events Generated
When this command has completed, an HCI_EXT_ModemTestRxDone event shall be generated.
HCI_EXT_EnhancedModemTestTxCmd
Opcode: | 0xFC27 |
Command Description: |
| This API is used start the enhanced BLE5 continuous transmitter modem test, using either a modulated or unmodulated carrier wave tone, at the frequency that corresponds to the specified RF channel, for a given PHY (1M, 2M, Coded S2, or Coded S8). Use LL_EXT_EndModemTest to end the test.Note: A Controller reset will be issued by the HCI_EXT_EndModemTest command! Note: The BLE device will transmit at the current TX power setting. Note: This API can be used to verify this device meets Japan’s TELEC regulations. |
Command Parameters
CW Mode: | Set Enhanced Modem Test Tx CW modulation.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Modulated Transmit Carrier |
1 |
Unmodulated Transmit Carrier |
|
|
RF PHY: | PHY to transmit on
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0x00 |
1 Mbps Phy |
0x01 |
2 Mbps Phy |
0x02 |
Coded S8 Phy (125kpbs) |
0x06 |
Coded S2 Phy (500 kbps) |
|
|
RF Channel: | RF channel of transmit frequency.
Size: | 1 byte(s) |
Default: | 0 |
Range: | 0-39 |
|
Events Generated
When this command has completed, an HCI_EXT_EnhancedModemTestTxDone event shall be generated.
HCI_EXT_EnhancedModemHopTestTxCmd
Opcode: | 0xFC28 |
Command Description: |
| This API is used to start the enhanced continuous transmitter direct test mode test using a modulated carrier wave. A test reference data packet is transmitted on a different frequency (linearly stepping through all RF channels 0..39), for a given PHY (1M, 2M, Coded S2, or Coded S8), every period (depending on the payload length, as given Vol. 6, Part F, section 4.1.6). Use LL_EXT_EndModemTest to end the test. Note: A Controller reset will be issued by the HCI_EXT_EndModemTest command! Note: The BLE device will transmit at the current TX power setting. Note: This API can be used to verify this device meets Japan’s TELEC regulations. |
Command Parameters
Payload Length: | Data payload length in bytes
Size: | 1 byte(s) |
Default: | 37 |
Range: | 0-37 |
|
Payload Type: | DTM Packet Pattern Type
Size: | 1 byte(s)
|
Default: | 0x00
|
Range: |
Value |
Description |
0x00 |
PRBS9 |
0x01 |
0x0F |
0x02 |
0x55 |
0x03 |
PRBS15 |
0x04 |
0xFF |
0x05 |
0x00 |
0x06 |
0xF0 |
0x07 |
0xAA |
|
|
RF PHY: | PHY to transmit on
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0x00 |
1 Mbps Phy |
0x01 |
2 Mbps Phy |
0x02 |
Coded S8 Phy (125kpbs) |
0x06 |
Coded S2 Phy (500 kbps) |
|
|
Events Generated
When this command has completed, an HCI_EXT_EnhancedModemHopTestTxDone event shall be generated.
HCI_EXT_EnhancedModemTestRxCmd
Opcode: | 0xFC29 |
Command Description: |
| This API is used to start the enhanced BLE5 continuous receiver modem test using a modulated carrier wave tone, at the frequency that corresponds to the specific RF channel, for a given PHY (1M, 2M, Coded S2, or Coded S8). Any received data is discarded. RSSI may be read during this test by using the LL_ReadRssi command. Use LL_EXT_EndModemTest command to end the test. Note: A Controller reset will be issued by LL_EXT_EndModemTest! |
Command Parameters
RF PHY: | PHY to transmit on
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0x00 |
1 Mbps Phy |
0x01 |
2 Mbps Phy |
0x02 |
Coded S8 Phy (125kpbs) |
0x06 |
Coded S2 Phy (500 kbps) |
|
|
RF Channel: | RF Channel
Size: | 1 byte(s) |
Default: | 0 |
Range: | 0 to 39 |
|
Events Generated
When this command has completed, an HCI_EXT_EnhancedModemTestRxDone event shall be generated.
HCI_EXT_EndModemTestCmd
Opcode: | 0xFC0B |
Command Description: |
| This API is used to end a modem test. A Controller reset will take place. |
Events Generated
When this command has completed, an HCI_EXT_EndModemTestDone event shall be generated.
HCI_EXT_SetBDADDRCmd
Opcode: | 0xFC0C |
Command Description: |
| This command is used to set this devices BLE address (BDADDR). This address will override the devices address determined when the device is reset (i.e. a hardware reset, not an HCI Controller Reset). To restore the devices initialized address, issue this command with an invalid address. Note: This command is only allowed when the Controller is in the Standby state. Note: This command is intended to only be used during initialization. Changing the devices BDADDR after various BLE operations have already taken place may cause unexpected problems. |
Command Parameters
BDADDR: | BLE Public Address (MSB..LSB). Use “FF:FF:FF:FF:FF:FF” to restore the device address to that which was determined at initialization.
Size: | 6 byte(s) |
Default: | “00:00:00:00:00:00” |
Range: | Any 6 byte value |
|
Events Generated
When this command has completed, an HCI_EXT_SetBDADDRDone event shall be generated.
HCI_EXT_SetSCACmd
Opcode: | 0xFC0D |
Command Description: |
| This command is used to set this devices Sleep Clock Accuracy (SCA) value, in parts per million (PPM), from 0 to 500. For a Master device, the value is converted to one of eight ordinal values representing a SCA range (per [1], Volume 6, Part B, Section 2.3.3.1, Table 2.2), which will be used when a connection is created. For a Slave device, the value is directly used. The system default value for a Master and Slave device is 50ppm and 40ppm, respectively. Note: This command is only allowed when the device is not in a connection. Note: The devices SCA value remains unaffected by an HCI Reset. |
Command Parameters
SCA: | BLE Device Sleep Clock Accuracy (PPM).
Size: | 2 byte(s) |
Default: | “40” |
Range: | (0..500) |
|
Events Generated
When this command has completed, an HCI_EXT_SetSCADone event shall be generated.
HCI_EXT_EnablePTMCmd
Opcode: | 0xFC0E |
Command Description: |
| This command is used to enable Production Test Mode (PTM). This mode is used by the customer during assembly of their product to allow limited access to the BLE Controller for testing and configuration. This command is only available when the BLE Controller is built without external access to the Controller (i.e. when no transport interface such as RS232 is permitted). This mode will remain enabled until the device is reset. Please see the related application note for additional details. Note: This command is only allowed as a direct function call, and is only intended to be used by an embedded application. No vendor specific Command Complete event will be generated. |
Events Generated
When this command has completed, will simply return. No vendor specific Command Complete event will be generated.
HCI_EXT_SetMaxDtmTxPowerCmd
Opcode: | 0xFC11 |
Command Description: |
| This command is used to override the RF transmitter output power used by the Direct Test Mode (DTM). Normally, the maximum transmitter output power setting used by DTM is the maximum transmitter output power setting for the device (i.e. 4 dBm for the CC2540; 0 dBm for the CC2541; 5 dBm for the CC264x). This command will change the value used by DTM. Note: When DTM is ended by a call to HCI_LE_TestEndCmd, or a HCI_Reset is used, the transmitter output power setting is restored to the default value of 0 dBm. |
Command Parameters
TX Power: | Set TX power to -23, -6, 0, or 4 dBm.
Size: | 1 byte(s)
|
Default: | 3
|
Range: |
Value |
Description |
0 |
CC26xx: -21 dBm CC254x: -23 dBm |
1 |
CC26xx: -18 dBm CC254x: -6 dBm |
2 |
CC26xx: -15 dBm CC254x: 0 dBm |
3 |
CC26xx: -12 dBm CC254x: 4 dBm |
4 |
CC26xx: -9 dBm |
5 |
CC26xx: -6 dBm |
6 |
CC26xx: -3 dBm |
7 |
CC26xx: 0 dBm |
8 |
CC26xx: 1 dBm |
9 |
CC26xx: 2 dBm |
10 |
CC26xx: 3 dBm |
11 |
CC26xx: 4 dBm |
12 |
CC26xx: 5 dBm |
|
|
Events Generated
When this command has completed, an HCI_EXT_SetMaxDtmTxPowerDone event shall be generated.
HCI_EXT_DisconnectImmedCmd
Opcode: | 0xFC13 |
Command Description: |
| This command is used to disconnect a connection immediately. This command can be useful for when a connection needs to be ended without the latency associated with the normal BLE Controller Terminate control procedure. Note that the Host issuing the command will still receive the HCI Disconnection Complete event with a Reason status of 0x16 (i.e. Connection Terminated by Local Host), followed by an HCI Vendor Specific Event. |
Command Parameters
Connection Handle: |
| Handle used to identify a connection
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | 0x0000 to 0x0EFF |
|
Events Generated
When this command has completed, an HCI_EXT_DisconnectImmedDone event shall be generated.
HCI_EXT_PacketErrorRateCmd
Opcode: | 0xFC14 |
Command Description: |
| This command is used to Reset or Read the Packet Error Rate counters for a connection. When Reset, the counters are cleared; when Read, the total number of packets received, the number of packets received with a CRC error, the number of events, and the number of missed events are returned. The system default value upon hardware reset is Reset. Note: The counters are only 16 bits. At the shortest connection interval, this provides a little over 8 minutes of data. Note: This command is only valid for a valid connection handle (i.e. for an active connection). It is therefore not possible to read the packet error rate data once the connection has ended. |
Command Parameters
Connection Handle: |
| Handle used to identify a connection
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | 0x0000 to 0x0EFF |
|
PER Test Command: |
| Reset or Read the PER counters.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Reset PER Counters |
1 |
Read PER Counters |
|
|
Events Generated
When this command has completed, an HCI_EXT_PER event shall be generated.
HCI_EXT_AdvEventNoticeCmd
Opcode: | 0xFC17 |
Command Description: |
| This command is used to configure the device to set a user tasks event when an Advertisement event completes. Only a single task event value is allowed (i.e. must be a power of two). A non-zero taskEvent value is taken to be “enable”, while a zero valued taskEvent is taken to be “disable”. The default value is “disable”. Note: This command does not check if the taskID and/or taskEvent are valid! Note: For the CC254x and CC264x R1 devices, this command is only allowed as a direct function call, and is only intended to be used by an embedded application. No vendor specific Command Complete event will be generated. For future devices, this command can also be issued via the Network Processor Interface (NPI). In this case, a non-zero taskID value is taken to be “enable”, while a zero valued taskID is taken to be “disable”. The default value is “disable”. |
Command Parameters
Mode: | Enable or Disable notice event
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Event: | Doesn’t matter for NPI
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | N/A |
|
Events Generated
When this command has completed, a CommandStatus event will be generated and a HCI_EXT_AdvEventNoticeDone shall be generated at the end of each Advertisement event.
HCI_EXT_ConnEventNoticeCmd
Opcode: | 0xFC18 |
Command Description: |
| This command is used to configure the device to set a user tasks event when a Connection event completes. Only a single task event value is allowed (i.e. must be a power of two). A non-zero taskEvent value is taken to be “enable”, while a zero valued taskEvent is taken to be “disable”. The default value is “disable”. Note: This command does not check if the taskID and/or taskEvent are valid! Note: This feature is automatically disabled once the connection ends, and therefore this command must be called each time another connection is formed in order to continue its use. Note: For the CC254x and CC264x R1 devices, this command is only allowed as a direct function call, and is only intended to be used by an embedded application. No vendor specific Command Complete event will be generated. For future devices, this command can also be issued via the Network Processor Interface (NPI). In this case, a non-zero taskID value is taken to be “enable”, while a zero valued taskID is taken to be “disable”. The default value is “disable”. Note: When used with the NPI, the vendor specific event will not indicate the connection ID! So while you can enable the notice event on multipole connections, you wont be able to distinguish which event corresponds to which connection. |
Command Parameters
Connection Handle: |
| Identifies the connection to which this event notice applies.
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | 0x0000 to 0x0EFF |
|
Mode: | Enable or Disable notice event
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Event: | Doesn’t matter for NPI
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | N/A |
|
Events Generated
When this command has completed, a CommandStatus event will be generated and a HCI_EXT_ConnEventNoticeDone shall be generated at the end of each Connection Event.
HCI_EXT_SetSlaveLatencyOverrideCmd
Opcode: | 0xFC1A |
Command Description: |
| This command is used to enable or disable the Slave Latency Override, allowing the user to ensure that Slave Latency is not applied even though it is active. The default value is Disable. Note: This command will be disallowed for no connection, or the connection is not in the Slave role. |
Command Parameters
Control: | Enable or disable suspending slave latency.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Events Generated
When this command has completed, an HCI_EXT_OverrideSLDone event shall be generated.
HCI_EXT_BuildRevisionCmd
Opcode: | 0xFC1B |
Command Description: |
| This command is used to a) allow the embedded user code to set their own 16 bit revision number, and b) to read the build revision number of the BLE stack library software. The default value of the user revision number is zero. When the user updates a BLE project by adding their own code, they may use this API to set their own revision number. When called with mode set to HCI_EXT_SET_APP_REVISION, the stack will save this value. No event will be returned from this API when used this way as it is intended to be called from within the target itself. Note however that this does not preclude this command from being received via the HCI. However, no event will be returned. When this API is used from the HCI, then the second parameter is ignored, and a vendor specific event is returned with the users revision number and the build revision number of the BLE stack. |
Command Parameters
Mode: | Set User Revision or Get Build Revision.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Set User Revision Number |
1 |
Read Build Revision |
|
|
UserRevNum: | User Revision Number.
Size: | 2 byte(s) |
Default: | 0 |
Range: | Any 16 bit value |
|
Events Generated
When this command has completed, an HCI_EXT_BuildRevisionDone event shall be generated but only when the value of mode is HCI_EXT_READ_BUILD_REVISION.
HCI_EXT_ResetSystemCmd
Opcode: | 0xFC1D |
Command Description: |
| This command is used to issue a hard or soft system reset. A hard reset is caused by setting the SYSRESET bit in the System Controller Reset Control register. The soft reset is currently not supported on the CC264x. |
Command Parameters
type: | Reset Type
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0x00 |
Chip Reset |
0x01 |
Soft Reset |
|
|
Events Generated
When this command has completed, an HCI_EXT_ResetSystemDone event shall be generated.
HCI_EXT_NumComplPktsLimitCmd
Opcode: | 0xFC1F |
Command Description: |
| This command is used to set the limit on the minimum number of complete packets before a Number of Completed Packets event is returned by the Controller. If the limit is not reached by the end of a connection event, then the Number of Completed Packets event will be returned (if non-zero) based on the flushOnEvt flag. The limit can be set from one to the maximum number of HCI buffers (please see the LE Read Buffer Size command in the Bluetooth Core specification). The default limit is one; the default flushOnEvt flag is FALSE. |
Command Parameters
Limit: | Set Number of Completed Packets Limit.
Size: | 1 byte(s) |
Default: | 1 |
Range: | 0x01 to the value returned from HCI_LE_ReadBufSizeCmd |
|
flushOnEvt: | Enable or disable flush of Number of Completed Packets at end of Event.
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Events Generated
When this command has completed, an HCI_EXT_NumComplPktsLimitDone event shall be generated.
HCI_EXT_GetConnInfoCmd
Opcode: | 0xFC20 |
Command Description: |
| This command (which replaces Get Number Connections) is used to get the number of allocated connections, the number of active connections, and for each active connection, the connection handle, the connection role, the peer device address and peer device address type. The number of allocated connections is based on a default build value that can be changed in the project using MAX_NUM_BLE_CONNS (please see the software users guide for additional details). The number of active connections refers to active BLE connections. The information per connection is based on the structure hciConnInfo_t provided in hci.h. If all parameters are NULL, then the call to this command is considered a network processor call via a transport layer, and the results will be provided via a vendor specific command complete event.If any parameter is not NULL, then the call to this command is considered a direct function call and the valid pointers will be used to store the result. In this case, it is the users responsibility to ensure there is sufficient memory allocated! Note that partial results can be obtained by selective use of the pointers. For example, if only the number of active connections is desired, this can be obtained as follows: |
Events Generated
When this command has completed, an HCI_EXT_GetConnInfoDone event shall be generated.
HCI_EXT_SetMaxDataLenCmd
Opcode: | 0xFC21 |
Command Description: |
| This command is used to set the Data Length Extension internal variables supportedMaxTxOctets, supportedMaxTxTime, supportedMaxRxOctets and supportedMaxRxTime that are normally set exclusively by the Controller to the maximum data length and duration allowed by this device (default Tx and Rx Octets is 251; default Tx and Rx Time is 2120 us [but note that any future change to support PHYs could alter the default values of Time]). |
Command Parameters
Tx Octets: | Maximum number of payload octets that the local Controller supports for transmission of a single Link Layer Data Channel PDU.
Size: | 2 byte(s) |
Default: | 0 |
Range: | 0x001B to 0x00FB |
|
Tx Time: | Maximum time, in microseconds, that the local Controller supports for transmission of a single Link Layer Data Channel PDU.
Size: | 2 byte(s) |
Default: | 0 |
Range: | 0x0148 to 0x0848 |
|
Rx Octets: | Maximum number of payload octets that the local Controller supports for reception of a single Link Layer Data Channel PDU.
Size: | 2 byte(s) |
Default: | 0 |
Range: | 0x001B to 0x00FB |
|
Rx Time: | Maximum time, in microseconds, that the local Controller supports for reception of a single Link Layer Data Channel PDU.
Size: | 2 byte(s) |
Default: | 0 |
Range: | 0x0148 to 0x0848 |
|
Events Generated
When this command has completed, an HCI_EXT_SetMaxDataLengthDone event shall be generated.
HCI_EXT_ScanEventNotice
Opcode: | 0xFC22 |
Command Description: |
| This command is used to configure the device to set a user tasks OSAL event when a Scan event completes. Only a single OSAL task event value is allowed (i.e. must be a power of two). A non-zero OSAL taskEvent value is taken to be “enable”, while a zero valued OSAL taskEvent is taken to be “disable”. The default value is “disable”. Note: This command does not check if the taskID and/or taskEvent are valid! Note: For the CC254x and CC264x R1 devices, this command is only allowed as a direct function call, and is only intended to be used by an embedded application. No vendor specific Command Complete event will be generated. For future devices, this command can also be issued via the Network Processor Interface (NPI). In this case, a non-zero taskID value is taken to be “enable”, while a zero valued taskID is taken to be “disable”. The default value is “disable”. |
Command Parameters
Mode: | Enable or Disable notice event
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Event: | Doesn’t matter for NPI
Size: | 2 byte(s) |
Default: | 0x0000 |
Range: | N/A |
|
Events Generated
When this command has completed, a CommandStatus event will be generated and a HCI_EXT_ScanEventNoticeDone shall be generated at the end of each scan.
HCI_EXT_ScanReqRptCmd
Opcode: | 0xFC23 |
Command Description: |
| This command is used to enable/disable Scan Request Reports. The default system value for this feature is disabled. When enabled, a received Scan Request from a peer device during Advertising will result in a Scan Request Report sent from the Controller (in much the same way an Advertisement Report is sent during Scanning). However, unlike Scan, there is no duplicate filtering associated with this command, although the Advertising Filter Policy still applies. Please note that the BLE Generic Event will be used for the report (i.e. Opcode 0x3E), with an Event Opcode of 0x80 - a non-BLE specified value - as unfortunately, there is no Vendor Specific Event Opcode defined. Also note that there is only one value for Event Type, and this is always zero. |
Command Parameters
Mode: | Enable or Disable notice event
Size: | 1 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0 |
Disable |
1 |
Enable |
|
|
Events Generated
When this command has completed, a CommandStatus event will be generated and a HCI_EXT_ScanReqRptCmdDone shall be generated for each scan request.
HCI_EXT_SetDtmTxPktCntCmd
Opcode: | 0xFC24 |
Command Description: |
| This API is used to set the DTM TX packet count. |
Command Parameters
TX Packet Count: |
| Number of DTM packets to transmit
Size: | 2 byte(s)
|
Default: | 0
|
Range: |
Value |
Description |
0x0000 |
Continuous Tx |
|
|
Events Generated
When this command has completed, an HCI_EXT_SetDtmTxPktCntDone event shall be generated.