Texas Instruments CC2650DK ユーザーズマニュアル

ページ / 1570
Bluetooth Low Energy
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
and a pOutput parameter of the
type defined in
The operation starts with transmission and operates as described in
Advertiser.
A connectable undirected-advertiser operation ends with one of the statuses listed in
. 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
, and a pOutput
parameter of the type defined in
The operation starts with transmission and operates as
described in
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
. 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
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
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
Copyright © 2015, Texas Instruments Incorporated