User's Manual
Enhanced Class 1 Bluetooth v2.1 Module
User’s Guide
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852-2923-0610
www.lairdtech.com/wireless
56
CONN-GUIDE-BT740_v0.2
Unknown command values result in an EVT_UNKNOWN_COMMAND event, with the command value
reflected in the data field. If the octet value is specified in the range 128 to 255 (0x80 to 0xFF), then
reflecting that value in the data field of an EVT_UNKNOWN_COMMAND instead of the COMMAND field
of a response packet guarantees that the packet is NOT mistakenly processed as an event.
Confirm packets are not queued by the UART packet processor in the module and are processed as soon
they are received. As an example, this allows passkeys and pincodes to submit to the module while a
response is awaited by the CMD_CONNECTION_MAKE command. In other words, confirm packets
always go to the head of the packet queue.
8.6 Data Packets
The format for data packets is displayed in Table 8-2 and can arrive at any time; that is, they do not
adhere to a client/server model. The only method by which the host can be stopped from sending this
message is by sending a zero value in the FLOW_OUT field of a response or status message. The
module is prepared to receive at least one data packet after deasserting the appropriate flow control bit.
Table 8-2: Data packet format
Octe
t
Field
Description
0
LENGTH
Total length of this packet, including this octet
1
CHANNEL
0 is an invalid value as this marks the packet as command/response or event.
1 to 7 are dedicated serial port profile connections.
128 is dedicated as Hid Device data channel.
All other channels are reserved for future use.
2..N
DATA[]
For channels 1 to 7, this data array unconditionally sends over the air in the
appropriate.
For channel 128 data is interpreted before appropriate HIT reports transmit.
8.7 Packet Processing Logic
Data and Confirm packets process as soon as they are received.
A command packet processes in a transaction, meaning it processes as soon as it is received if and only
if there is no previous command processing and waiting for completion. Completion happens when an
appropriate response packet is sent to the host. If a command transaction is currently in progress, then
the packet inserts in a first-in, first-out queue. When an on-going command transaction completes, the
queue is inspected and, if non-empty, the oldest queued command is processed.
8.7.1 Module to Host Packets
These packets convey responses or events from the module and raw data received over an open
Bluetooth connection or internal data source. Response packets are always a result of a command
packet and event packets asynchronously send to the host as and when required. The host shall ensure
that it is always ready to accept response and event packets, especially event packets as they can be
sent at any time including where there is an incomplete transaction in progress.