Texas Instruments CC2650DK 사용자 설명서

다운로드
페이지 1570
Bluetooth Low Energy
Table 23-124. End of Scanner Operation (continued)
Condition
Status Code
Result
Observed trigger indicated by pParams->timeoutTrigger, then performed Action
BLE_DONE_RXTIMEOUT
True
Number1, 2, 3, 4, or 5
Observed trigger indicated by pParams->endTrigger while waiting for sync on
BLE_DONE_ENDED
False
ADV*_IND
Observed trigger indicated by pParams->endTrigger, then performed Action Number1,
BLE_DONE_ENDED
False
2, 3, 4, or 5
Observed CMD_STOP while waiting for sync on ADV*_IND
BLE_DONE_STOPPED
False
Observed CMD_STOP, then performed Action Number1, 2, 3, 4, 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
Scan request data length field has illegal value
BLE_ERROR_PAR
Abort
23.6.4.6 Initiator Command
An initiator operation is started by a CMD_BLE_INITIATOR command. In the command structure, it has a
pParams parameter of the type defined in
and a pOutput parameter of the type defined in
. At the start of an initiator operation, the radio CPU waits for the start trigger, then programs
the frequency based on the channel parameter of the command structure. The channel parameter is not
allowed to be in the range 0–36, as these are data channels. The radio CPU sets up the advertising
channel access address and uses the CRC initialization value 0x555555. The whitener is set up as
defined in the whitening parameter. The radio CPU then configures the receiver.
When having tuned to the correct channel, the radio CPU starts listening for an advertising channel
packet. If sync is obtained on the demodulator, the message is received into the RX queue. The header is
checked, and if it is not a connectable advertising packet, reception is stopped and sync search restarted.
The bCrcErr and bIgnore bits are set according to the CRC result and the received message. The
parameter pParams->initConfig.bUseWhiteList determines if the initiator must try to connect to a specific
device or against the white list. If this parameter is 0, the white list is not used, and 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. Otherwise, pParams->pWhiteList points to a white
list. If the white list is not used, the received AdvA field in the message is checked against the address
found in pParams->pWhiteList, and the TXAdd bit of the received header is checked against pParams-
>initConfig.peerAddrType. If the white list is used, the received AdvA field in the message, along with the
TXAdd bit of the received header is checked against white list as described in
White List
Processing. For ADV_DIRECT_IND messages, the received InitA field and RXAdd bit are checked against
pParams->deviceAddr and pParams->initConfig.deviceAddrType, respectively. Depending on this, the
actions taken are as given in
where the definition of each action, including the value used
on bCrcErr and bIgnore, is given in
If pParams->initConfig.bStrictLenFilter is 1, only length
fields compliant with the BLE specification are considered valid. For an ADV_DIRECT_IND, valid means a
length field of 12, and for ADV_IND messages it means a length field in the range 6–37. If pParams -
>initConfig.bStrictLenFilter is 0, all received packets with a length field less than or equal to the maximum
length of an advertiser packet (37, if not overridden) are considered valid. If the length is not valid, the
receiver is stopped.
Table 23-125. Actions on Received Packets by Initiator
Action
PDU Type
CRC Result
AdvA Match
InitA Match
Number
ADV_IND
OK
No
N/A
1
ADV_IND
OK
Yes
N/A
2
ADV_IND
NOK
X
N/A
3
ADV_DIRECT_IND
OK
No
X
1
ADV_DIRECT_IND
OK
Yes
No
1
ADV_DIRECT_IND
OK
Yes
Yes
2
1540Radio
SWCU117A – February 2015 – Revised March 2015
Copyright © 2015, Texas Instruments Incorporated