User manual
Bluetooth Low Energy
www.ti.com
23.6.4.4.1 Connectable Undirected-Advertiser Command
A connectable undirected-advertiser operation is started by a CMD_BLE_ADV command. In the command
structure, it has a pParams parameter of the type defined in Table 23-91, and a pOutput parameter of the
type defined in Table 23-97. The operation starts with transmission and operates as described in
Section 23.6.4.4, Advertiser.
A connectable undirected-advertiser operation ends with one of the statuses listed in Table 23-116. The
status field of the command structure after the operation is ended indicates the reason why the operation
ended. In all cases, a COMMAND_DONE interrupt is raised. In each case, it is indicated if the result is
True, False, or Abort, which decides the next action.
Table 23-116. End of Connectable Undirected Advertiser Operation
Condition Status Code Result
Performed Action Number1 after running receiver BLE_DONE_OK True
Performed Action Number2 and transmitted SCAN_RSP BLE_DONE_OK True
Performed Action Number3 after running receiver BLE_DONE_RXERR True
Performed Action Number4 after running receiver BLE_DONE_CONNECT False
Performed Action Number5 after running receiver BLE_DONE_NOSYNC True
Observed trigger indicated by pParams->endTrigger, then performed
BLE_DONE_ENDED False
Action Number1, 2, 3, or 5
Observed CMD_STOP, then performed Action Number1, 2, 3, or 5 BLE_DONE_STOPPED False
Received CMD_ABORT BLE_DONE_ABORT Abort
No space in RX buffer to store received packet BLE_ERROR_RXBUF False
Illegal value of channel BLE_ERROR_PAR Abort
Advertising data or scan response data length field has illegal value BLE_ERROR_PAR Abort
23.6.4.4.2 Connectable Directed-Advertiser Command
A connectable directed-advertiser operation is started by a CMD_BLE_ADV_DIR command. In the
command structure, it has a pParams parameter of the type defined in Table 23-91, and a pOutput
parameter of the type defined in Table 23-97. The operation starts with transmission and operates as
described in Section 23.6.4.4, Advertiser, with some modifications as described below.
For the directed advertiser, pParams->pWhiteList points to a buffer containing only the device address of
the device to connect to. The address type of the peer is given in pParams->advConfig.peerAddrType.
The first transmit operation sends an ADV_DIRECT_IND packet. The radio CPU constructs this packet as
follows. In the header, the PDU Type bits are 0001b as shown in Table 23-113. The TXAdd bit is as
shown in pParams->advConfig.deviceAddrType. The RXAdd bit is as shown in pParams-
>advConfig.peerAddrType.
The length is calculated from the size of the advertising data, pParams->advLen + 12. The RFU bits are 0.
The payload starts with the 6-byte device address, which are read from pParams->pDeviceAddress,
followed by the 6-byte peer address read from pParams->pWhiteList. By the BLE specification, there is no
more payload, but a non-compliant message may be constructed by setting pParams->advLen to a
nonzero value. If so, the rest of the payload is read from the pParams->pAdvData buffer.
The receiver is started after the ADV_DIRECT_IND packet has been transmitted as described in
Section 23.6.4.4, Advertiser, and received packets are processed as described there. When checking the
address against the white list, check the received RXAdd bit against pParams->advConfig.peerAddrType,
and the received InitA field against pParams->pWhiteList.
A directed-advertiser operation ends with one of the statuses listed in Table 23-117. The status field of the
command structure after the operation is ended indicates the reason why the operation ended. In all
cases, a COMMAND_DONE interrupt is raised. In each case, it is indicated if the result is True, False, or
Abort, which decides the next action.
1534
Radio SWCU117A–February 2015–Revised March 2015
Submit Documentation Feedback
Copyright © 2015, Texas Instruments Incorporated