Datasheet
Page 74 of 161
nRF8001 Product Specification
Revision 1.2
20.7 Set service pipe
Set pipe enables writing of application data to the nRF8001. The stored application data can then be read
from the peer device.
The Set pipe is assigned for a Characteristic with the Read property. The ACI SetLocalData command is
used to write the application data to the nRF8001.
Figure 43. Set service pipe
20.8 Service pipe availability
A service pipe to a remote server needs to associate the pipe number to the UUID of a Characteristic,
Handle of a Characteristic, and the property of the same Characteristic. This operation is performed in the
Service Discovery procedure (see Section 22.4.2 on page 85
). Once the Service Discovery procedure is
successfully completed, nRF8001 maps the relationship.
Service pipes need to be listed as available by nRF8001 before data transfer can take place. The pipe
availability status is reported to the application controller in the
PipeStatusEvent.
The
PipeStatusEvent returns two pipe lists in the form of bitmaps:
• Pipes Open Bitmap: Open pipes where data can be received (or transmitted) without further action.
• Pipes Closed Bitmap: Closed pipes where data can be received only after nRF8001 application
controller has instructed the GATT server (peer device) to send data (See Table 26 on page 61
).
The receive pipes identified in the Pipes Closed Bitmap require opening by the application controller using
the
OpenRemotePipe command. The OpenRemotePipe command configures the peer device to
transmit data on the receive pipe. The opened pipe is then listed in the Pipes Open Bitmap in the following
PipeStatusEvent.
Transmit pipes that require opening by the peer device (see Table 26 on page 61
) will appear in the Pipes
Open Bitmap when nRF8001 has received the instruction from the peer device. A new
PipeStatusEvent will occur whenever there is a change in the pipe availability status.
Application Controller nRF8001
SERVICE PIPE - ”Set” or any other pipe type with local store
Update data on the local GATT Server
SetLocalData
(
PipeNumber, data)
CommandResponseEvent
(
Opcode, Success)
GATT
Server