Datasheet
Page 58 of 161
nRF8001 Product Specification
Revision 1.2
19 ACI packet types
This chapter defines the packet types sent or received on the ACI.
19.1 System commands
System commands are commands sent by the application controller to nRF8001. These commands
control nRF8001 configuration, operating mode, and behavior.
19.2 Data commands
Data commands are commands sent by the application controller to nRF8001. Data commands are used
when application data traffic exchange between nRF8001 and a peer device is required. Application data
is stored in the peer device (remote GATT server), or in nRF8001 (local GATT server).
Data commands initiate data transfer between nRF8001 and the peer device:
• When nRF8001 is acting as a GATT server it can either:
• Initiate transfer of local application data to the peer device.
• Receive application data sent from the peer device.
• When nRF8001 is acting as a GATT client it can either:
• Send application data to the peer device.
• Request application data to be transmitted from the peer device.
• Receive application data from the peer device in the form of a
Handle Value Indication or
Handle Value Notification message.
Note: The timing of radio traffic is controlled by the Bluetooth low energy radio and is thus only
indirectly tied to the timing of data commands. For example, data transmission will only occur
during the short periodic time slots in a connection interval when the radio is active. Likewise,
reception of data will only occur during a connection event if the peer device is able to
respond.
19.3 Events
Events are messages sent from nRF8001 to the application controller. Events can be either response
events or asynchronous events depending on the triggering factor for the event:
• Response events are direct acknowledgment responses to a command (for example,
CommandResponseEvent).
• Asynchronous events are messages to the application controller indicating that a condition has
occurred. For example, a
DisconnectedEvent is generated when the RF link has been lost. This
may be the result of the peer device moving out of range or having lost power. Similarly receiving
data from a peer device will generate a
DataReceivedEvent. This means that these events have
no regular or predictable time relationship to an ACI command.