HCI Extension Vendor Specific API

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 trade-off 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. Note that when set, all connections will be restricted to one packet per event.

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_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_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.

HCI Extension Events

The HCI Extension vendor specific commands generate the following vendor specific events.

HCI_EXT_SetRxGainDone

Opcode

0x0400

Event Description

This event is sent to indicate the RF receiver gain has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetTxPowerDone

Opcode

0x0401

Event Description

This event is sent to indicate the RF transmitter power has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_OnePacketPerEventDone

Opcode

0x0402

Event Description

This event is sent to indicate the One Packet Per Event feature has been enabled or disabled, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_DecryptCommandDone

Opcode

0x0405

Event Description

This event is sent to indicate Decryption has completed.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

Decrypted Data

128 bit decrypted data block. The most significant octet of plainTextData corresponds to plainTextData using the notation specified in FIPS 197.

Size

16 byte(s)

Range

Any 16 byte value

HCI_EXT_WriteLocalFeatureSupportDone

Opcode

0x0406

Event Description

This event is sent to indicate the Set Local Supported Features command has completed.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetFastTxResponseTimeDone

Opcode

0x0407

Event Description

This event is sent to indicate the Set Fast Transmit Response Time feature has been enabled or disabled, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_ModemTestTxDone

Opcode

0x0408

Event Description

This event is sent to indicate the Modem Test Transmit test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_ModemHopTestTxDone

Opcode

0x0409

Event Description

This event is sent to indicate the Modem Hop Test Transmit test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_ModemTestRxDone

Opcode

0x040A

Event Description

This event is sent to indicate the Modem Test Receive test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_EnhancedModemTestTxDone

Opcode

0x0427

Event Description

This event is sent to indicate the enhanced Modem Test Transmit test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_EnhancedModemHopTestTxDone

Opcode

0x0428

Event Description

This event is sent to indicate the enhanced Modem Hop Test Transmit test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_EnhancedModemTestRxDone

Opcode

0x0429

Event Description

This event is sent to indicate the enhanced Modem Test Receive test has started, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_EndModemTestDone

Opcode

0x040B

Event Description

This event is sent to indicate the modem test has been shutdown, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetBDADDRDone

Opcode

0x040C

Event Description

This event is sent to indicate the devices BLE address has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetSCADone

Opcode

0x040D

Event Description

This event is sent to indicate the devices SCA has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_EnablePTMDone

Opcode

0x040E

Event Description

There is not a corresponding event opcode (0x040E) and parameters for this command as it is only allowed as a direct function call by the application software.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetMaxDtmTxPowerDone

Opcode

0x0411

Event Description

This event is sent to indicate the maximum Direct Test Mode (DTM) RF transmitter power has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_DisconnectImmedDone

Opcode

0x0413

Event Description

This event is sent to indicate the Disconnect Immediate command has completed, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_PER

Opcode

0x0414

Event Description

This event is sent to indicate the Packet Error Rate Reset or Read command has completed, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

PER Command Type

Read or Reset

Size

1 byte(s)

Range

Value

Description

0

Reset PER Counters

1

Read PER Counters

RX Pkts

Number of received packets.

Condition

( cmdVal!=0x00 && cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

RX CRC Fails

Number of received packets with CRC error.

Condition

( cmdVal!=0x00 && cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

Events

Number of connection events.

Condition

( cmdVal!=0x00 && cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

Missed Events

Number of missed connection events.

Condition

( cmdVal!=0x00 && cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

HCI_EXT_OverrideSLDone

Opcode

0x041A

Event Description

This event is sent to indicate the Set Slave Latency Override feature has been enabled or disabled, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_BuildRevisionDone

Opcode

0x041B

Event Description

This event is sent to indicate the user revision number and the build revision of the stack, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

User Revision Number

The user revision number set by the application software. If no value was ever set, than 0x0000.

Condition

( cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

Build Revision Number

The build revision number of the BLE stack.

Condition

( cmdStat==0x00)

Size

2 byte(s)

Range

Any 2 byte value

HCI_EXT_ResetSystemDone

Opcode

0x041D

Event Description

This event is sent to indicate the Reset System command has completed, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_NumComplPktsLimitDone

Opcode

0x041F

Event Description

This event is sent to indicate the Number Completed Packets Limit command has completed, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_GetConnInfoDone

Opcode

0x0420

Event Description

This event is sent to indicate the Get Connection Information command has completed.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

Alloc Conns

Total number of allocated connections

Size

1 byte(s)

Range

Active Conns

Number of currently active connections

Size

1 byte(s)

Range

An array of size “numConn” will be returned containing the parameters starting here:

Conn Handle

Connection Handle

Size

1 byte(s)

Range

Conn Role
Size

1 byte(s)

Range

Value

Description

0x22

LMP/LL Response Timeout

0x23

LMP Error Transaction Collision

0x24

LMP PDU Not Allowed

0x25

Encryption Mode Not Acceptable

0x26

Link Key Can Not be Changed

0x27

Requested QoS Not Supported

0x28

Instant Passed

0x29

Pairing With Unit Key Not Supported

0x2A

Different Transaction Collision

0x2B

Reserved

0x2C

QoS Unacceptable Parameter

0x2D

QoS Rejected

0x2E

Channel Assessment Not Supported

0x2F

Insufficient Security

0x30

Parameter Out Of Mandatory Range

0x31

Reserved

0x32

Role Switch Pending

0x33

Reserved

0x34

Reserved Slot Violation

0x35

Role Switch Failed

0x36

Extended Inquiry Response Too Large

0x37

Simple Pairing Not Supported By Host

0x38

Host Busy - Pairing

0x39

Connection Rejected Due To No Suitable Channel Found

0x3A

Controller Busy

0x3B

Unacceptable Connection Interval

0x3C

Directed Advertising Timeout

0x3D

Connection Terminated Due To MIC Failure

0x3E

Connection Failed To Be Established

0x3F

MAC Connection Failed

0x40

Coarse Clock Adjust Rejected

0x41

Type0 Submap Not Defined

0x42

Unknown Advertising Identifier

0x43

Limit Reached

0x44

Operation Cancelled by Host

Peer Addr
Size

6 byte(s)

Range

Peer Addr Type
Size

1 byte(s)

Range

Value

Description

0x00

Public

0x01

Random

0x02

Public Identity

0x03

Random Identity

The array of parameters ends here.

HCI_EXT_SetMaxDataLengthDone

Opcode

0x0421

Event Description

This event is sent to indicate the Set Max Data Length command has completed.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_SetDtmTxPktCntDone

Opcode

0x0424

Event Description

This event is sent to indicate the DTM TX Packet Count has been set, or that there was an error.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

HCI_EXT_LE_ADV_EVENT

Opcode

0x0425

Event Description

Extended advertisement event.

Event Parameters

eventID
Size

1 byte(s)

Range

Value

Description

0x00

Adv Start After Enable

0x01

Adv End After Disable

0x02

Adv Start

0x03

Adv End

0x04

Adv Report

0x05

Adv Set Terminated

0x06

Scan req received

0x07

Scan Timeout

0x08

Scan Start

0x09

Scan End

0x0A

Scan Window End

0x0B

Scan Interval End

0x0C

Scan Duration End

0x0D

Scan Period End

0x0E

LL Out of memory

0x0F

Adv Data Truncated

handle
Size

1 byte(s)

Range

Adv Data Len
Condition

( eventID==0x0f)

Size

2 byte(s)

Range

Available Adv Data Len
Condition

( eventID==0x0f)

Size

1 byte(s)

Range

HCI_EXT_LE_SCAN_EVENT

Opcode

0x0426

Event Description

Extended Scanner event.

Event Parameters

eventID
Size

1 byte(s)

Range

Value

Description

0x00

Adv Start After Enable

0x01

Adv End After Disable

0x02

Adv Start

0x03

Adv End

0x04

Adv Report

0x05

Adv Set Terminated

0x06

Scan req received

0x07

Scan Timeout

0x08

Scan Start

0x09

Scan End

0x0A

Scan Window End

0x0B

Scan Interval End

0x0C

Scan Duration End

0x0D

Scan Period End

0x0E

LL Out of memory

0x0F

Adv Data Truncated

HCI_EXT_LLTestModeDone

Opcode

0x0470

Event Description

LL Test Mode event.

Event Parameters

Status
Size

1 byte(s)

Range

See Status Table

Command Opcode
Size

2 byte(s)

Range

See Command Table

CommandStatus

Opcode

0x067F

Event Description

The Command Status event is used to indicate that the command given by opCode parameter has been received and is being processed. If successful, an HCI vendor specific event that corresponds to the command will follow if applicable. Otherwise, no event will follow since the command was not started.

Event Parameters

Status
Size

1 byte(s)

Range

Value

Description

0x00

SUCCESS

0x12

bleIncorrectMode

0x02

INVALIDPARAMETER

opCode

opCode from the corresponding command

Size

2 byte(s)

Range

See Command Table

length

Payload length

Condition

(StatOpCode!=0x010C && StatOpCode!=0xFCF3 && StatOpCode!=0xFCF4 && StatOpCode!=0xFCF5 && StatOpCode!=0xFE84 && StatOpCode!=0xFE87 && StatOpCode!=0xFE3E && StatOpCode!=0xFE54 && StatOpCode!=0xFE56 && StatOpCode!=0xFE58 && StatOpCode!=0xFE61 && StatOpCode!=0x0682 && StatOpCode!=0xFE43 && StatOpCode!=0xFE37 && StatOpCode!=0xFE49)

Size

1 byte(s)

payload

See the corresponding command for payload parsing information if it exists.

Condition

(StatOpCode!=0x010C && StatOpCode!=0xFCF3 && StatOpCode!=0xFCF4 && StatOpCode!=0xFCF5 && StatOpCode!=0xFE84 && StatOpCode!=0xFE87 && StatOpCode!=0xFE3E && StatOpCode!=0xFE54 && StatOpCode!=0xFE56 && StatOpCode!=0xFE58 && StatOpCode!=0xFE61 && StatOpCode!=0x0682 && StatOpCode!=0xFE43 && StatOpCode!=0xFE37 && StatOpCode!=0xFE49)

Size

length byte(s)