2 Migrating from previous iWRAP versions ................................................................. 12
3 Changes from iWRAP 5.0.1 ......................................................................................... 13
3.1 New features ....................................................................................................................................... 13
5.3 Data mode ........................................................................................................................................... 20
7.6 AT ........................................................................................................................................................ 42
7.11 BER ................................................................................................................................................. 49
7.16 CLOSE ............................................................................................................................................. 58
7.22 HID GET .......................................................................................................................................... 67
7.23 HID SET ........................................................................................................................................... 68
7.25 IC ..................................................................................................................................................... 72
7.27 INFO ................................................................................................................................................ 75
7.31 LIST ................................................................................................................................................. 81
7.32 NAME .............................................................................................................................................. 84
7.34 PIO ................................................................................................................................................... 91
7.35 PLAY ................................................................................................................................................ 93
7.40 SCO OPEN ...................................................................................................................................... 99
7.44 SET ................................................................................................................................................ 107
7.45 SET BT AUTH ............................................................................................................................... 109
7.46 SET BT BDADDR .......................................................................................................................... 110
7.47 SET BT CLASS ............................................................................................................................. 111
7.48 SET BT FILTER ............................................................................................................................. 112
7.49 SET BT IDENT .............................................................................................................................. 114
7.50 SET BT LAP .................................................................................................................................. 116
7.51 SET BT MTU ................................................................................................................................. 118
7.52 SET BT NAME ............................................................................................................................... 119
7.53 SET BT PAIRCOUNT .................................................................................................................... 120
7.54 SET BT PAGEMODE .................................................................................................................... 121
Silicon Labs
21.4.2015
7.55 SET BT PAIR ................................................................................................................................. 123
7.56 SET BT POWER ........................................................................................................................... 124
7.57 SET BT ROLE ............................................................................................................................... 126
7.58 SET BT SCO ................................................................................................................................. 128
7.59 SET BT SNIFF ............................................................................................................................... 130
7.60 SET BT SSP .................................................................................................................................. 132
7.61 SET CONTROL AUDIO ................................................................................................................. 135
7.62 SET CONTROL AUTOCALL ......................................................................................................... 137
7.63 SET CONTROL AUTOPAIR .......................................................................................................... 140
7.64 SET CONTROL BATTERY ........................................................................................................... 142
7.65 SET CONTROL BAUD .................................................................................................................. 144
7.66 SET CONTROL BIND ................................................................................................................... 146
7.67 SET CONTROL CD ....................................................................................................................... 148
7.68 SET CONTROL CODEC ............................................................................................................... 150
7.69 SET CONTROL CONFIG .............................................................................................................. 152
7.70 SET CONTROL ECHO .................................................................................................................. 157
7.71 SET CONTROL ESCAPE ............................................................................................................. 158
7.72 SET CONTROL GAIN ................................................................................................................... 160
7.73 SET CONTROL INIT ..................................................................................................................... 162
7.74 SET CONTROL MICBIAS ............................................................................................................. 163
7.75 SET CONTROL MUX .................................................................................................................... 165
7.76 SET CONTROL MSC .................................................................................................................... 169
7.77 SET CONTROL PIO ...................................................................................................................... 171
7.78 SET CONTROL PREAMP ............................................................................................................. 172
7.79 SET CONTROL RINGTONE ......................................................................................................... 173
7.80 SET CONTROL READY ................................................................................................................ 174
7.81 SET CONTROL VOLSCALE ......................................................................................................... 175
7.82 SET CONTROL VREGEN ............................................................................................................. 176
7.83 SET {link_id} ACTIVE .................................................................................................................... 178
7.84 SET {link_id} MASTER .................................................................................................................. 179
7.85 SET {link_id} MSC ......................................................................................................................... 180
7.86 SET {link_id} SLAVE ..................................................................................................................... 182
7.87 SET {link_id} SNIFF ....................................................................................................................... 183
7.88 SET {link_id} SUBRATE ................................................................................................................ 185
7.89 SET {link_id} SELECT ................................................................................................................... 186
7.90 SET PROFILE ............................................................................................................................... 187
7.91 SET RESET ................................................................................................................................... 191
7.99 TEST .............................................................................................................................................. 199
8.10 NO CARRIER ................................................................................................................................ 222
8.11 NAME ............................................................................................................................................ 223
8.12 NAME ERROR .............................................................................................................................. 224
8.16 RING .............................................................................................................................................. 228
14.1 Serial Port Profile ........................................................................................................................... 263
15 Technical support ................................................................................................... 269
15.1 Sending email to technical support ............................................................................................... 269
16 Contact information ................................................................................................ 270
Silicon Labs
21.4.2015
Host Controller Interface
L2CAP / eL2CAP
RFCOMM
SDPAudio
iWRAP
Link Manager
Baseband
Radio
UART / USB
GPIO / AIO
PCM / I2S / SPDIF
Analogue
Host + application
iWRAP
Hardware
1 Introduction
iWRAP is an embedded firmware running entirely on the RISC processor of WT12, WT11, WT41 and WT32
modules. It implements the full Bluetooth protocol stack and many Bluetooth profiles as well. All software
layers, including application software, run on the internal RISC processor in a protected user software
execution environment known as a Virtual Machine (VM).
The host system can interface to iWRAP firmware through one or more physical interfaces, which are also
shown in the figure below. The most common interfacing is done through the UART interface by using the
ASCII commands that iWRAP firmware supports. With these ASCII commands, the host can access Bluetooth
functionality without paying any attention to the complexity, which lies in the Bluetooth protocol stack. GPIO
interface can be used for event monitoring and command execution. PCM, SPDIF, I2S or analog interfaces
are available for audio. The available interfaces depend on the used hardware.
The user can write application code to the host processor to control iWRAP firmware using ASCII commands
or GPIO events. In this way, it is easy to develop Bluetooth enabled applications.
On WT32 there is an extra DSP processor available for data/audio processing.
Figure 1: iWRAP Bluetooth stack
Silicon Labs
Page 10 of 270
21.4.2015
In the figure above, a Bluetooth module with iWRAP firmware could be connected to a host system for
example through the UART interface. The options are:
If the host system has a processor, software can be used to control iWRAP by using ASCII based
commands or GPIO events.
If there is no need to control iWRAP, or the host system does not need a processor, iWRAP can be
configured to be totally transparent and autonomous, in which case it only accepts connections or
automatically opens them.
GPIO lines that Bluegiga’s Bluetooth modules offer can also be used together with iWRAP to achieve
additional functionality, such as Carrier Detect or DTR signaling.
Audio interfaces can be used to transmit audio over a Bluetooth link.
Silicon Labs
Page 11 of 270
21.4.2015
WRAP THOR AI (5.0.2 build 992)
Copyright (c) 2003-2013 Bluegiga Technologies Inc.
Built-in self-test error 992.10 - please contact <www.bluegiga.com/support>
No license key found or license key is wrong!
LICENSE 00112233445566778899aabbccddeeff
RESET
WRAP THOR AI (5.0.2 build 992)
Copyright (c) 2003-2013 Bluegiga Technologies Inc.
2 Migrating from previous iWRAP versions
This section only applies when upgrading from a previous version; users of new iWRAP5 modules
can ignore this.
For users upgrading to iWRAP5 from previous versions, the first consideration is that iWRAP is no longer
locked to Bluegiga’s address range of 00:07:80:xx:xx:xx, but instead uses a per-module license key. The
module will boot without the license key, and function normally, but with the radio interface completely
disabled. The following error message will be displayed:
For new modules coming from the factory (including modules with iWRAP3 or iWRAP4), the license key will
be written at the factory, and will be preserved in the “factory settings” section of the Persistent Store.
To enter a license key obtained from www.bluegiga.com/support, you can either use PSTool to write the
license to the key “Module security code” (0x025c PSKEY_MODULE_SECURITY_CODE), or use the built-in
command LICENSE, followed by a RESET command.
For writing license files in batches while upgrading stocked modules to iWRAP5, please contact
www.bluegiga.com/support.
Silicon Labs
Page 12 of 270
21.4.2015
3 Changes from iWRAP 5.0.1
3.1 New features
SSP user confirmation auto-accept can be enabled by setting SET CONTROL CONFIG block #3 bit
#1: SET CONTROL CONFIG 2 0 0 0.
New SET PROFILE HID configuration bits #4 and #5, which allow for reception of raw HID output
reports and larger HID data channel MTU configuration.
SET CONTROL AUDIO allows routing input and output to different audio interfaces
New optional parameter for SET BT SNIFF allows automatic sniff / active mode management
3.2 Issues addressed
3.2.1 General issues
The radio power table for WT41-A and WT41-E has been adjusted to reduce the difference between
power output levels. Since the change does not affect the maximum power output, only the steps
between the minimum and maximum power level, it does not affect any radio certifications.
We have found and implemented a workaround for CSR’s S/PDIF issue with getting wrong sampling
rates. S/PDIF can be used for A2DP audio, but not for SCO audio. See IWRAP-577 in the list of
known issues
Added missing leading zeroes to SSP CONFIRM events – now iWRAP will always print 6 digits, for
example “012345” instead of “12345”. The leading zeroes are still missing from SSP PASSKEY
notification events (known issue IWRAP-579)
Command @{link_id} now works for link_ids above 9
Fixed a bug which caused link_ids above a disconnected link_id to stop working with the @
command; for example, if iWRAP had connections 0, 1 and 2, and connection #1 was disconnected,
@2 would no longer work
Fixed parts of INFO CONFIG output missing when using very low baud rates
Fixed a bug that limited the maximum number of ACL connections (unique Bluetooth devices) to 6
instead of 7 on BlueCore4-based modules (WT11i, WT12, WT41). On WT32, 6 is still the limit
Fixed PLAY command and SET CONTROL RINGTONE stopping working after a VOLUME command
was issued
Fixed SET BT PAGEMODE alternate pagemode setting threshold to count active ACLs (unique
devices connected to), not active logical links
Added missing leading zeroes to SSP CONFIRM events
Fixed a connection issue when making an L2CAP call and an RFCOMM call to a service UUID
simultaneously, and the L2CAP connection failed, which caused iWRAP to lose track of the RFCOMM
connection state, which in turn caused further SDP connections to fail
Fixed no sound issue when SPDIF or I2S is used as an audio input.
3.2.2 A2DP profile issues
Fixed a memory leak in the stream endpoint discovery subroutines, which caused iWRAP to crash
after 15 outgoing A2DP calls
Silicon Labs
Page 13 of 270
21.4.2015
Fixed a bug in SET CONTROL CODEC that would leave aptX enabled for incoming connections even
when it was disabled with SET CONTROL CODEC
Fixed problem with A2DP streaming using AptX codec from some new mobile phones
3.2.3 HID profile issues
Added missing Bluetooth HID Handshake response to SET_REPORT packets sent by the HID Host
Fixed an issue with losing characters in ASCII keyboard mode when the same letter was sent over
and over again, but with different Shift key states, e.g. “AaAaAa”
HID GET now prints the last byte of an odd-numbered HID descriptor correctly; previously it always
printed the last byte as zero, even though it was stored and sent over the air correctly
Fixed HID failure in data mode when SET CONTROL ESCAPE was disabled
3.2.4 iAP profile issues
Fixed a rare data duplication bug
Fixed iAP not working with SET CONTROL CONFIG 0040 0000 (print “OK” after each command)
Fixed a bug with iWRAP hanging in MUX mode when an iAP link was abnormally disconnected in the
middle of receiving a MUX frame from the UART that was intended for the iAP link
To start using iWRAP firmware, you can use, for example, terminal software such as HyperTerminal. When
using the terminal software, make sure that the Bluetooth module is connected to your PC’s serial port. By
default, iWRAP uses the following UART settings:
When you power up your Bluetooth module or evaluation kit, you can see the boot prompt appear on the
screen of the terminal software. After the “READY.” event iWRAP firmware is ready to be used.
Figure 2: iWRAP boot prompt
If no READY. event is received the possible reasons are:
The Bluetooth module is not equipped with iWRAP firmware, but HCI firmware
The UART logic levels are incorrect
Boot prompt is disabled with “SET CONTROL ECHO 0” setting
Silicon Labs
Page 15 of 270
21.4.2015
AT
OK
SET
SET BT BDADDR 00:07:80:ff:ff:f1
SET BT NAME WT32-A
SET BT CLASS 001f00
SET BT IDENT BT:47 f000 4.0.0 Bluegiga iWRAP
SET BT LAP 9e8b33
SET BT PAGEMODE 4 2000 1
SET BT POWER 0 0 0
SET BT ROLE 0 f 7d00
SET BT SNIFF 0 20 1 8
SET BT MTU 667
SET CONTROL BAUD 115200,8n1
SET CONTROL CD 00 0
SET CONTROL ECHO 7
SET CONTROL ESCAPE 43 00 1
SET CONTROL GAIN 8 8
SET CONTROL MSC DTE 00 00 00 00 00 00
SET CONTROL READY 00
SET PROFILE SPP Bluetooth Serial Port
SET
4.1 First course to iWRAP
A few very basic iWRAP usage examples are presented below. Just a few very basic use cases are shown
and more detailed examples will be presented later in this user guide.
AT command can be sent to iWRAP to test that the firmware is operational. An OK response tells that iWRAP
is functional.
SET command displays the settings of the local Bluetooth device.
WRAP THOR AI (4.0.0 build 317)
Copyright (c) 2003-2010 Bluegiga Technologies Inc.
READY.
INQUIRY command can be used to discover other visible Bluetooth devices in the range. An
INQUIRY_PARTIAL event is generated as soon as a device is discovered and finally is summary is displayed.
SET commands can be used to modify the settings of the local Bluetooth device. In the example below
Bluetooth PIN code required for pairing is set to “0000” and also the Secure Simple Pairing (SSP) “just works”
mode is enabled. The settings are stored on a local non-volatile memory so they need to be configured only
once. With iWRAP5 SSP is always enabled to fulfil Bluetooth 2.1 and later specifications.
A Bluetooth connection is opened with a CALL command. A CALL event indicates that a connection
establishment is in progress and a CONNECT event indicates a successful connection.
A SET RESET command can be used to return the factory level settings. iWRAP is reset as indicated by the
boot prompt.
Silicon Labs
Page 17 of 270
21.4.2015
- CONNECT event
- RING event
- Escape sequence
- SELECT command
Command
Mode
Data Mode
- NO CARRIER event
- Escape sequence
- DTR switch
5 iWRAP modes
iWRAP has two basic operational modes, command mode and data mode. In command mode, ASCII
commands can be given to iWRAP firmware to perform various actions or to change configuration settings.
Command mode is the default mode when there are no Bluetooth connections. Data mode, on the other hand,
is used to transmit and receive data over a Bluetooth link. Data mode is only available if there is a Bluetooth
connection. It is possible to switch between modes at any time assuming the conditions for data mode are
fulfilled. The mode transitions are illustrated below.
Figure 3: Mode transitions
Silicon Labs
Page 18 of 270
21.4.2015
Initial mode
Target mode
Requirements for state transition
Command Mode
(no Bluetooth connections)
In this mode, ASCII commands
can be given to iWRAP.
Data Mode
A connection is successfully created by
using the CALLcommand and
CONNECT event indicating that a
successful connection is received.
A remote device opens a Bluetooth
connection to iWRAP. A RING event
indicating that a connection is received.
If iWRAP events are disabled the carrier detect (CD) pin can also be used to
indicate data or command mode.
Data Mode
In this mode, all data is sent
transparently from UART
interface to Bluetooth connection.
Command Mode
The user switches mode by sending an
escape sequence to iWRAP firmware or
by toggling the DTR pin.
A link is terminated (closed by the remote
device or by link loss) and NO CARRIER event is received.
Command Mode
(active connection)
In this mode, ASCII commands
can be given to iWRAP.
Data Mode
User switches the mode either by sending
an escape sequence to iWRAP firmware
or by using the SELECT command.
5.1 The escape sequence
The escape sequence causes the iWRAP firmware to toggle between command mode and data mode. The
escape sequence consists of three (3) escape characters that are defined by the SET CONTROL ESCAPEcommand. By default, the escape character is ‘+’.
Do not enter any character before and/or after the escape sequence for a guard time, which is 1 second.
Furthermore, send the escape characters individually, not as a string.
With default settings, the escape sequence is:
< 1 second sleep> +++ < 1 second sleep>
When a successful state transition from data mode to command mode is made, iWRAP sends a “READY.”
event to indicate that it is ready to receive commands.
The same escape sequence or the SELECT command can be used to return to data mode.
Table 1: iWRAP mode transitions explained
Silicon Labs
Page 19 of 270
21.4.2015
5.2 Command mode
The command mode is the default mode when iWRAP is powered up. In command mode, ASCII commands
can be entered to iWRAP to perform various functions.
Notes:
In command mode, if there are active Bluetooth connections, the data from remote devices is buffered
into iWRAP buffers.
Because of the embedded nature of iWRAP, buffering capabilities are low and only small amounts of
data can be received to buffers. The amount of data which can be buffered depends on the firmware
version and the state of iWRAP. Usually, it is around 1000 bytes, but may vary radically.
The LIST command shows active connections and the amount of buffered data.
5.3 Data mode
Data mode is the default mode when there are one or more Bluetooth connections. In data mode, all data is
sent transparently from UART interface to the Bluetooth link and vice versa.
Notes:
When iWRAP enters command mode from data mode, a “READY” event occurs, unless events are
masked away by using the “SET CONTROL ECHO” command.
The DTR pin can be used instead of the escape sequence to switch from data mode to command
mode. This allows much faster mode switching and no guard time is needed. The DTR pin can be
enabled by using the “SET CONTROL ESCAPE” command.
When enabled, the DTR line can be configured also for closing the active connection or for a reset.
The Carrier Detect (CD) pin can be used to indicate either a Bluetooth connection or data mode. The
CD pin can be enabled and configured by using the “SET CONTROL CD” command.
The “SET CONTROL BIND” command can be used in conjunction with the “SET CONTROL
ESCAPE”command to allow data-command-data mode switches with the same GPIO line; consider
in fact the following commands together: “SET CONTROL ESCAPE - 20 1” and “SET CONTROL
BIND 0 20 F SELECT 0”
Silicon Labs
Page 20 of 270
21.4.2015
5.4 Multiplexing mode
In iWRAP version 2.1.0 and newer, there is a special mode called multiplexing mode. In this mode, iWRAP
does not have separate commands or data modes, but data, commands and events are all handled in one
single mode. There is, however, a special protocol to separate commands and events from the actual data.
This protocol must be used between the host system and iWRAP firmware.
The advantage of multiplexing mode is that several Bluetooth connections can be handled simultaneously and
there is no need to do time consuming data-command-data mode switching. However, the downside is that
the performance of iWRAP is reduced, since the firmware needs to handle the multiplexing protocol and it
causes overhead.
To learn more about multiplexing mode, see the description of the “SET CONTROL MUX” command.
5.5 HFP and HSP modes
iWRAP 2.2.0 and newer support Bluetooth Hands-Free (v.1.6) profile. This profile includes a lot of control
messaging and events, which are handled in command mode. In other words, when a HFP connection is
opened or received no state transition occurs, but iWRAP stays in command mode, where all HFP messaging
is done. Refer to HFP profile usage for more information.
5.6 OBEX mode
IWRAP4 and newer versions support Bluetooth Object Push Profile (OPP) or File Transfer Protocol (FTP)
modes. The operation in this mode is quite similar to HFP mode. For example, there are no separate
command and data modes, but iWRAP always stays in command mode. Refer to OPP and FTP profile usage
for more information.
5.7 A2DP mode
As of iWRAP3, Bluetooth Advanced Audio Distribution Profile (A2DP) is supported. This profile also includes
control messaging and events, which are handled in command mode. In other words, when an A2DP
connection is opened or received no state transition occurs, but iWRAP stays in command mode, where all
A2DP messaging is done.
5.8 AVRCP mode
As of IWRAP3, Bluetooth Audio/Video Remote Control Profile (AVRCP) is supported. This profile also
includes control messaging and events, which are handled in command mode. In other words, when an
AVRCP connection is opened or received no state transition occurs, but iWRAP stays in command mode,
where all AVRCP messaging is done.
5.9 PBAP mode
As of IWRAP4, Bluetooth Phone Book Access Profile (PBAP) is supported. This profile also includes control
messaging and events, which are handled in command mode. In other words, when a PBAP connection is
opened or received no state transition occurs, but iWRAP stays in command mode, where all PBAP
messaging is done.
Silicon Labs
Page 21 of 270
6 Technical details
Feature
Value
MAX simultaneous ACL connections
7 (6 with WT32)
MAX simultaneous SCO connections
1
MAX data rate
550 kbps (WTxx to BT2.0 USB dongle)
500 kbps (WTxx to WTxx)
450 kbps (WTxx to BT1.1-BT1.2 device)
N/A (MUX data rate)
50 kbps (OBEX transfer)
Just works mode
Man-in-the-middle protection (MITM)
Out-of-Band (OOB) pairing
Echo canceling and noise reduction
Clear Voice Capture (cVc) algorithm. A licensable 3rd party
product.
Table 2: Technical details
*) Alternative coding methods (aptX, FastStream) exist to reduce the delay to 40-90ms or to improve audio
quality.
**) Custom firmware needs to be request from www.bluegiga.com/support
Silicon Labs
Page 23 of 270
21.4.2015
7 iWRAP command reference
iWRAP can be used and controlled from the host system by sending ASCII commands through the
UART interface to iWRAP.
This section explains the iWRAP commands and their syntax. Some simple usage examples and tips
are also given.
NOTES:
The parser is not case sensitive!
iWRAP commands must end with a line feed “\n” character.
By default iWRAP does not print OK to indicate that the command has been executed, but this
feature can be separately enabled with SET CONTROL CONFIG command.
Silicon Labs
Page 24 of 270
21.4.2015
Command:
iWRAP version:
HW version:
Short description
AUTH
iWRAP 2.2.0
ALL
Authenticates Bluetooth pairing
BER
iWRAP 2.2.0
ALL
Reads Bit Error Rate
CALL
iWRAP 2.1.0
ALL
Opens Bluetooth connections
CLOCK
iWRAP 3.0
ALL
Reads Piconet clock
CLOSE
iWRAP 2.1.0
ALL
Closes Bluetooth connections
CONNAUTH
iWRAP 4.0.0.
ALL
Authenticate incoming connections
CONNECT
iWRAP 3.0
ALL
Connects Bluetooth links
ECHO
iWRAP 2.2.0
ALL
Echoes data to Bluetooth connection
IC
iWRAP 2.2.0
ALL
Inquiry cancel
IDENT
iWRAP 3.0
ALL
Identifies a Bluetooth device
INQUIRY
iWRAP 2.1.0
ALL
Searches other Bluetooth devices
KILL
iWRAP 3.0
ALL
Kills Bluetooth connections
L2CAP
iWRAP 3.0
ALL
Sets up L2CAP psm
LIST
iWRAP 2.1.0
ALL
Lists Bluetooth connections
NAME
iWRAP 2.2.0
ALL
Does friendly name discovery
PAIR
iWRAP 3.0
ALL
Pairs with a Bluetooth device
PING
iWRAP 2.2.0
ALL
Pings a Bluetooth connection
RFCOMM
iWRAP 3.0
ALL
Sets up RFCOMM channels
RSSI
iWRAP 2.2.0
ALL
Reads RSSI of a connection
7.1 Command listings
All the available iWRAP commands are listed and briefly described in the tables below. The detailed
description of each command can be found later.
Silicon Labs
Page 25 of 270
SCO ENABLE
iWRAP 2.2.0
ALL
Enables SCO connections
SCO OPEN
iWRAP 2.2.0
ALL
Opens SCO connection
SDP
iWRAP 2.2.0
ALL
Browse SDP records
SDP ADD
iWRAP 2.2.0
ALL
Create SDP entries
SELECT
iWRAP 2.1.0
ALL
Selects a Bluetooth connection
TEST
iWRAP 2.2.0
ALL
Enables self test modes
TESTMODE
iWRAP 2.2.0
ALL
Enables Bluetooth test mode
TXPOWER
iWRAP 2.2.0
ALL
Reads TX power level
Table 3: Commands related to Bluetooth actions
21.4.2015
Silicon Labs
Page 26 of 270
21.4.2015
Command:
iWRAP
version:
HW version:
Short description
@
iWRAP 4.0.0.
ALL
Shortcut for “SET {link_id} SELECT”
AIO
iWRAP 4.0.0
ALL
Read AIO values
A2DP
iWRAP3.0
WT32
A2DP streaming control
AT
iWRAP 2.1.0
ALL
Attention
BATTERY
iWRAP 3.0
WT32
Reads battery level
BCSP_ENABLE
iWRAP 3.0
ALL
Enables BCSP mode
BLINK
iWRAP 5.0.0
ALL
Configures LED blinking
BOOT
iWRAP 2.2.0
ALL
Boots module into different modes
BYPASSUART
iWRAP 3.0
ALL
Enables UART bypass
DEFRAG
iWRAP 3.0
ALL
Defrags PS key storage
DELAY
iWRAP 5.0.0
ALL
Delay before executing a command
HELP
iWRAP 2.2.0
ALL
Prints help
HID GET
iWRAP 5.0.0
ALL
HID descriptor reading
HID SET
iWRAP 5.0.0
ALL
HID descriptor writing
INFO
iWRAP 2.2.0
ALL
Prints firmware information
PIO
iWRAP 3.0
ALL
Reads & Writes PIO statuses
RESET
iWRAP 2.1.0
ALL
Does a software reset
SET
iWRAP 2.1.0
ALL
Lists iWRAP configuration
SET RESET
iWRAP 3.0.0
ALL
Restores factory settings
SLEEP
iWRAP 2.2.0
ALL
Enables deep sleep
TEMP
iWRAP 3.0
ALL
Reads internal temperature sensor
Silicon Labs
Page 27 of 270
VOLUME
iWRAP 3.0
ALL
Changes volume level
Table 4: Generic commands
21.4.2015
Silicon Labs
Page 28 of 270
21.4.2015
Command:
iWRAP version:
HW version:
Short description
SET BT OPP
iWRAP 2.2.0
ALL
Enable OPP profile
SET BT AUTH
iWRAP 2.1.0
ALL
Set PIN code
SET BT BDADDR
iWRAP 2.1.0
ALL
Read BD_ADDR
SET BT CLASS
iWRAP 2.1.0
ALL
Set Class-of-Device
SET BT FILTER
iWRAP 5.0.0
ALL
Inquiry result filter
SET BT IDENT
iWRAP 3.0
ALL
Set DI profile data
SET BT LAP
iWRAP 2.2.0
ALL
Set inquiry access code
SET BT MTU
iWRAP 4.0.0
ALL
Configure Bluetooth connection
MTU
SET BT NAME
iWRAP 2.1.0
ALL
Change friendly name
SET BT PAGEMODE
iWRAP 2.1.0
ALL
Set page mode and timeout
SET BT PAIR
iWRAP 2.1.0
ALL
Manage pairings
SET BT PAIRCOUNT
iWRAP 4.0.0
ALL
Limit the number of stored pairings
SET BT POWER
iWRAP 2.2.0
ALL
Set TX power levels
SET BT ROLE
iWRAP 2.1.0
ALL
Set role and supervision timeout
SET BT SCO
iWRAP 5.0.0
ALL
Configure SCO audio parameters
SET BT SNIFF
iWRAP 2.2.0
ALL
Manage automatic sniff mode
SET BT SSP
iWRAP 4.0.0
ALL
Configure SSP capabilities
Table 5: Bluetooth settings related SET commands
Silicon Labs
Page 29 of 270
21.4.2015
Command:
iWRAP
version:
HW
version:
Short description
SET CONTROL AUDIO
iWRAP 4.0.0
WT32
Configure hardware audio interfaces
SET CONTROL AUTOCALL
iWRAP 2.1.0
ALL
Manage automatic connection
control
SET CONTROL AUTOPAIR
iWRAP 5.0.0
ALL
Manage automatic pairing
SET CONTROL BATTERY
iWRAP 4.0.0.
WT32
Change battery configuration
SET CONTROL BAUD
iWRAP 2.1.0
ALL
Change UART baud rate
SET CONTROL BIND
iWRAP 2.2.0
ALL
Manage GPIO bindings
SET CONTROL CD
iWRAP 2.1.0
ALL
Manage Carrier Detect (CD) signal
SET CONTROL CODEC
iWRAP 4.0.0
WT32
Configures the internal audio codec
SET CONTROL CONFIG
iWRAP 2.1.0
ALL
Manage configuration bits
SET CONTROL ECHO
iWRAP 2.1.0
ALL
Manage echo mode
SET CONTROL GAIN
iWRAP 3.0
WT32
Manage ADC and DAC gains
SET CONTROL INIT
iWRAP 2.1.0
ALL
Manage start-up command
SET CONTROL MICBIAS
iWRAP 3,0
WT32
Control MIC bias settings
SET CONTROL MSC
iWRAP 2.2.0
ALL
Manage MSC functionality
SET CONTROL MUX
iWRAP 2.2.0
ALL
Manage MUX mode
SET CONTROL PCM
iWRAP 3.0-4.0
ALL
Manage PCM settings. Removed in
iWRAP5.
SET CONTROL PIO
iWRAP 5.0.0
ALL
Sets the initial direction of the PIOs
SET CONTROL PREAMP
iWRAP 4.0
WT32
Enable/disable 20dB preamplifier
SET CONTROL RINGTONE
iWRAP 4.0
All
Set HFP/HSP ringtone
SET CONTROL READY
iWRAP 4.0
All
Tells when iWRAP firmware is ready
SET CONTROL VOLSCALE
iWRAP 5.0.0
WT32
Scale the volume levels
Silicon Labs
Page 30 of 270
SET CONTROL VREGEN
iWRAP 3.0
WT32
Manage VREG_EN functionality
Table 6: Module configuration related SET commands
21.4.2015
Silicon Labs
Page 31 of 270
21.4.2015
Command:
iWRAP version:
HW version:
Short description
SET {link_id} ACTIVE
iWRAP 2.1.0
ALL
Disable Bluetooth link power saving
SET {link_id} MASTER
iWRAP 2.1.0
ALL
Set Bluetooth link to master
SET {link_id} MSC
iWRAP 2.2.0
ALL
Set Bluetooth link MSC status
SET {link_id} PARK
only iWRAP 2.2.0
ALL
Enable Park state on a Bluetooth link
SET {link_id} SELECT
iWRAP 3.0
ALL
Set Bluetooth link to active status
SET {link_id} SLAVE
iWRAP 2.1.0
ALL
Set Bluetooth link to slave
SET {link_id} SNIFF
iWRAP 2.1.0
ALL
Enable Sniff mode on a Bluetooth link
Table 7: Bluetooth connection related SET commands
Silicon Labs
Page 32 of 270
21.4.2015
Command:
iWRAP version:
HW version:
Short description
SET PROFILE A2DP
iWRAP 3.0.0
WT32
Enable / disable A2DP profile
SET PROFILE BGIO
iWRAP 4.0.0.
ALL
Enable / disable BGIO profile
SET PROFILE HDP
iWRAP 4.0.0
All but WT32
Enable / disable HDP profile
SET PROFILE HFP
iWRAP 2.1.0
ALL
Enable / disable HFP profile
SET PROFILE HFPAG
iWRAP 2.1.0
ALL
Enable / disable HFP profile (AG)
SET PROFILE HID
iWRAP 3.0
ALL
Enable / disable HID profile
SET PROFILE HSP
iWRAP 4.0.0
ALL
Enable / disable HSP profile
SET PROFILE OPP
iWRAP 3.0.0
ALL
Enable / disable OPP profile
SET PROFILE OTA
iWRAP 3.0.0
ALL
Enable / disable OTA profile
SET PROFILE PBAP
iWRAP 4.0.0
ALL
Enable / disable PBAP profile
SET PROFILE SPP
iWRAP 2.1.0
ALL
Enable / disable SPP profile
Table 8: Supported Bluetooth profile commands
*) HDP capable firmware only
Silicon Labs
Page 33 of 270
7.2 List of changes from iWRAP 4
iWRAP4
iWRAP5
Short description
-
BLINK
New command BLINK
allows generation of square
wave for example to blink a
LED.
BYPASSUART
Command removed
CONNAUTH connection types:
L2CAP == 0
RFCOMM == 1
CONNAUTH connection type
parameters changed
L2CAP == 2
RFCOMM == 3
New connection types for
CONNAUTH
-
DELAY
New command to allow
delay before executing a
command.
ECHO supports only ASCII
command and always appends
\r\n at the end of the message
ECHO command can have binary data
as payload and \r\n can be removed
with SET CONTROL CONFIG
L2CAP can have only 2-4 digit
PSMs
L2CAP can have only 2 digit PSMs
In iWRAP5 the L2CAP PSM
is 2 digit only.
SET
SET
SET BT
SET CONTROL
SET PROFILE
In iWRAP it is possible to
print a subset of the full SET
listing
-
SET BT BDADDR
New command for reading
local the Bluetooth address
without need to parse the
output of the SET
command.
21.4.2015
Silicon Labs
Page 34 of 270
21.4.2015
-
SET BT FILTER
New command
SET BT IDENT allowed
modifications only to the
description field.
SET BT IDENT allows replacing of the
Bluegiga vendor information with
customer VID received from USB
Implementer’s forum
SET BT PAGEMODE has 3
parameters
SET BT PAGEMODE has 5
parameters
In iWRAP5 it is possible to
set the page mode to
change depending on the
amount of connections the
module has. Backwards
compatible.
-
SET BT PAIR
Issuing SET BT PAIR
without parameters prints
list of pairings. This is more
practical way to parse
existing pairings than
reading the SET command
SET BT PAIR prints link key bytes
in different order than what
Frontline Air sniffer software
expects.
SET BT PAIR prints in the exact same
byte ordering as Frontline software
expect.
The byte ordering was
reversed to streamline the
sniffing procedure.
-
SET BT SCO
New command for
configuring the SCO audio
connection parameters
SET CONTROL AUDIO has 4
parameters
SET CONTROL AUDIO has 6
parameters
New optional parameters for
indicating A2DP streaming
with GPIO and for keeping
the DSP always turned on.
-
SET CONTROL AUTOPAIR
New command
SET CONTROL CD has 2
parameters
SET CONTROL CD has 3 parameters
In iWRAP5 it is possible to
have separate IOs for
indicating connection
existence and whether the
module is in data mode or
not.
Silicon Labs
Page 35 of 270
21.4.2015
SET CONTROL ECHO has 3 bits
to configure
SET CONTROL ECHO has 4 bits to
configure
In iWRAP5 it is possible to
disable printing of SYNTAX
ERROR messages.
SET CONTROL MSC has 7
parameters
SET CONTROL MSC has 8
parameters
In iWRAP5 it is possible to
use optional RESET
parameter for reseting the
IO states after SPP
connection disconnects.
-
SET CONTROL PIO
Initial configuration for the
PIO direction and bias.
SET CONTROL PCM
Command removed
In iWRAP5 the
configuration of PSkey
PCM_CONFIG32 needs to
be done using PStool
application.
-
SET CONTROL VOLSCALE
New command
SET PROFILE HID ON
SET PROFILE HID has several
parameters
In iWRAP5 it is possible to
configure which HID
descriptors are available. In
iWRAP4 it was always
keyboard and mouse that
where enabled. Note: Not
backwards compatible
syntax.
SSP can be disabled using SET
BT SSP command
SSP always enabled. SET BT SSP
will result default setting which is SET
BT SSP 3 0
It is not possible to disable
Secure Simple Pairing in
iWRAP5. Legacy pairing is
supported with devices
which are Bluetooth 2.0 or
lower.
If SSP and PIN code are disabled
connections can be unecrypted.
Connections between iWRAP and any
BT 2.1 device or above are always
encrypted.
It is not possible to disable
Secure Simple Pairing in
iWRAP5. Legacy pairing is
supported with devices
which are Bluetooth 2.0 or
lower.
Silicon Labs
Page 36 of 270
21.4.2015
If SSP and PIN code are disabled
connections can be created
without pairing.
Connections between iWRAP and any
BT 2.1 device or above create a
pairing.
It is not possible to disable
Secure Simple Pairing in
iWRAP5. Legacy pairing is
supported with devices
which are Bluetooth 2.0 or
lower.
Added SSPAUTH event
Occurs when SSP pairing is
attempted and CONNAUTH
events are enabled in SET
CONTROL CONFIG
ERROR CODE
ERROR CODE
Error codes in general
are different between
iWRAP4 and iWRAP5
NO CARRIER {link_id} ERROR
406 RFC_CONNECTION_FAILED
NO CARRIER {link_id} ERROR c01
RFC_L2CAP_CONNECTION_FAILED
Error code changed
NO CARRIER {link_id} ERROR
409
RFC_ABNORMAL_DISCONNECT
NO CARRIER {link_id} ERROR c0c
RFC_L2CAP_LINK_LOSS
Error code changed
NO CARRIER {link_id} ERROR
415
RFC_DLC_ALREADY_EXISTS
NO CARRIER {link_id} ERROR 1407
RFC_CHANNEL_ALREADY_EXISTS
Error code changed
Silicon Labs
Page 37 of 270
7.3 Typographical conventions
Synopsis
COMMAND {required parameter} [optional parameter] STATIC TEXT
[2ND OPTIONAL PARAMETER]
Description
parameter
Description
Response
RESPONSE {parameters}
parameter
Description
Event
EVENT
Description
List format
COMMAND {required parameter} [optional parameter]
iWRAP COMMAND
iWRAP COMMAND RESPONSE(S)
The ASCII commands and their usage are further described in this chapter.
Commands and their output synopsis are presented as follows:
Command parameters, on the other hand, are described like this:
21.4.2015
Responses to the command are described as shown in the table below:
Events generated by commands or actions are described as follows:
The list format shows how the current command configuration appears after the SET command is
issued:
HFP 0 OK
HFP 0 STATUS "callsetup" 2
RING 1 a8:7b:39:c3:ca:99 SCO
HFP 0 VOLUME 6
HFP 0 VOLUME 5
HFP 0 STATUS "callsetup" 3
The above example shows how @ command can be used to send an AT command to the HFP profile
parser. @command replaces “SET {link_id} SELECT” command and simplifies the software
implementation in multi-profile use cases.
Silicon Labs
Page 40 of 270
21.4.2015
Synopsis:
AIO {source}
Description:
source
Source AIO to read.
Valid values: 0 = AIO0 on WT32
1 = AIO1 on all except WT12
4 = Internal voltage reference
Response:
AIO {source} {value}
source
Source AIO to read
value
Value of the AIO
AIO 0
AIO 0 0015
7.5 AIO
Command AIO can be used to read the value of ADC converters. WT12 does not have any AIO pins,
WT32 has AIO0 and AIO1, all other modules have AIO1.
7.5.1 Syntax
7.5.2 Examples
Silicon Labs
Page 41 of 270
21.4.2015
Synopsis
AT
Response
OK
AT
OK
SET BT AUTH * 4564\r\nAT\r\n
OK
7.6 AT
Command AT, "attention", can be used to check that iWRAP is functional and in command mode.
7.6.1 Syntax
7.6.2 Examples
Tip:
In iWRAP3 or older version iWRAP commands do not produce replies telling that command
was successful or execution has finished. AT command can be used to provide this
functionality, but appending AT into the end of other iWRAP commands.
Appending AT after “SET BT AUTH” command:
Silicon Labs
Page 42 of 270
21.4.2015
Synopsis:
AUTH {bd_addr} [pin_code]
Description:
bd_addr
Bluetooth device address of the remote device
pin_code
Bluetooth pin code
Response:
No response
Events:
PAIR {bd_addr}
{link_key}
This event occurs if PAIR event is enabled with SET CONTROL CONFIG and
pairing is successful.
AVRCP GET_ELEMENT_ATTRIBUTES_RSP COUNT 2 TITLE “Cold Women and Warm Beer” ARTIST “The Black League”
AVRCP PDU 31 1 1
AVRCP REGISTER_NOTIFICATION_RSP INTERIM PLAYBACK_STATUS_CHANGED PLAYING
(the interim response is received right after the request to confirm we were registered for notification)
AVRCP REGISTER_NOTIFICATION_RSP CHANGED PLAYBACK_STATUS_CHANGED PAUSED
(the changed response is received when the playing status changes)
Ask the Target which events it supports.
Ask the Target about its player application settings, their possible values and change a value.
21.4.2015
Ask the Target about the title and artist of the song that is currently playing and ask it to notify us if the
playback status changes.
Silicon Labs
Page 46 of 270
21.4.2015
Synopsis:
BATTERY
Description:
None
Response:
None
Events:
BATTERY {mv}
Current battery voltage in millivolts.
BATTERY
BATTERY 3673
7.9 BATTERY
Command BATTERY is used to read the current voltage of the module battery. Works only with WT32.
7.9.1 Syntax
7.9.2 Examples
Reading battery voltage.
Silicon Labs
Page 47 of 270
21.4.2015
Synopsis:
BCSP_ENABLE
Description:
None
Response:
No response
Events:
None
BCSP_ENABLE
À
?¯WWUo`À
?¯WWUo`À
?¯WWUo`À
?¯WWUo`À
7.10 BCSP_ENABLE
Command BCSP_ENABLE is used to boot the device and enter BCSP mode; it is an alias for BOOT 1.
See the documentation of BOOT command for a detailed explanation of iWRAP boot modes.
7.10.1 Syntax
7.10.2 Examples
Switching iWRAP into BCSP mode. BCSP link establishment packets are sent after command has been
executed.
Silicon Labs
Page 48 of 270
7.11 BER
Synopsis:
BER {link_id}
Description:
link_id
Numeric connection identifier
Response:
BER {bd_addr} {ber}
bd_addr
Bluetooth address of the remote device
ber
Average Bit Error Rate on the link. Possible values are from 0.0000 to 100.0000.
Events:
None
LIST
LIST 1
LIST 0 CONNECTED RFCOMM 320 0 0 3 8d 8d 00:60:57:a6:56:49 1 OUTGOING ACTIVE MASTER
PLAIN
BER 0
BER 00:60:57:a6:56:49 0.0103 (Bit Error Rate is 0.0103 per cent)
The BER command returns the Bit Error Rate of the given link ID.
7.11.1 Syntax
21.4.2015
7.11.2 Examples
Checking the Bit Error Rate of an active connection.
Note:
Works only for BDR links.
Silicon Labs
Page 49 of 270
21.4.2015
Synopsis:
BLINK [{pio_mask} {off_time} {on_time}]
Description:
pio_mask
Pio mask for IOs that BLINK command should control.
off_time
Defines how long time the IO stays low per period. Hex value, unit is ms.
100 (hex) = 256(dec) ms
on_time
Defines how long time the IO stays high per period. Hex value, unit is ms.
100 (hex) = 256(dec) ms
Response:
No response
Disable:
BLINK
Events:
None
BLINK 80 100 100
7.12 BLINK
Blink command allow generation of periodic square wave which can be used for example for driving a
LED. The timings are not complitely accurate an some jitter may occur.
7.12.1 Syntax
7.12.2 Examples
Sets the PIO7 to stay low for 256ms and then high for 256ms. The process continues until BLINK
command is issued without parameters.
Silicon Labs
Page 50 of 270
21.4.2015
Synopsis:
BOOT {boot_mode}
Description:
boot_mode
0000
iWRAP
0001
HCI, BCSP, 115200,8E1
0003
HCI, USB
0004
HCI, H4, 115200,8N1
Response:
No response
BOOT 1
•Ò•¯WWUo`À
•Ò•¯WWUo`À
•Ò•¯WWUo`À
•Ò•¯WWUo`À
7.13 BOOT
The BOOT command is used to temporarily restart the module so that it will operate in one of the HCI
modes.
After issuing this command, the module will immediately enter the selected HCI mode. After a reset, the
module will boot in iWRAP mode again.
The boot mode change can be made permanent by writing the boot mode to PS-key: “Initial device
bootmode”.See chapter “Switching between iWRAP and HCI firmware”
7.13.1 Syntax
7.13.2 Examples
Boot to BCSP mode. Same as issuing BCSP_ENABLE command.
RFCOMM, HFP or HFP-AG, HID or A2DP target for the connection. The target
can be one of the following:
channel
RFCOMM channel number
HFP channel number
HFP-AG channel number
Format: xx (hex)
uuid16
16-bit UUID for searching channel
Format: xxxx (hex)
uuid32
32-bit UUID for searching channel
Format: xxxxxxxx (hex)
uuid128
128-bit UUID for searching channel
Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (hex)
L2CAP psm
16-bit L2CAP psm. Must be an odd value.
Format: xxxx (hex)
connect_mode
Defines the connection mode to be established.
Possible modes are:
7.14 CALL
The CALL command is used to initiate Bluetooth connections to the remote devices. Connections are
closed by using command CLOSE. Currently open connections can be viewed by using command
LIST.
7.14.1 Syntax
Silicon Labs
Page 52 of 270
RFCOMM
Normal RFCOMM connection
HFP
Opens a connection in the Hands Free device mode.
HFP-AG
Opens a connection in the Hands Free Audio Gateway mode.
A2DP
Opens a connection in the Advanced Audio Distribution Profile (A2DP)
mode. L2CAP psm for A2DP is 19.
AVRCP
Opens a connection in the Audio Video Remote Control Profile (AVRCP)
mode. L2CAP psm for AVRCP is 17.
HID
Opens a connection in the HID keyboard mode or HID mouse mode.
L2CAP psm for HID is 11.
L2CAP
Opens a generic L2CAP connection.
PBAP
Opens a Phone Book Access Profile connection.
OPP
Opens an OBEX Object Push Profile connection.
FTP
Opens an OBEX File Transfer Profile connection.
HSP
Opens a Bluetooth Headset Profile connection
HSP-AG
Opens a Bluetooth Headset Profile Audio Gateway connection
HDP
Opens a Bluetooth Health Device Profile connection
MTU
Indicates that the default MTU value will be overridden.
payload size
Payload size to use in bytes. Range: 21 to 1009.
21.4.2015
Silicon Labs
Page 53 of 270
21.4.2015
Response
CALL {link_id}
link_id
Numeric connection identifier
Events
CONNECT
Delivered if the CALL command is successful.
NO CARRIER
Delivered if the CALL command fails.
PAIR
If the PAIRevent is enabled by using “SET CONTROL CONFIG”, it will be
displayed during the call if paring has to be done.
CLOCK
If piconet clock event is enabled, CLOCK event will be displayed.
AUTH
If interactive pairing mode is enabled and no paring exists, AUTH event will be
displayed.
CALL 00:07:80:80:52:27 1101 RFCOMM
CALL 0
CONNECT 0 RFCOMM 1
CALL 00:07:80:80:52:27 1 RFCOMM
CALL 0
CONNECT 0 RFCOMM 1
CALL 00:07:80:80:52:26 1101 RFCOMM
CALL 0
NO CARRIER 0 ERROR 406 RFC_CONNECTION_FAILED
7.14.2 Examples
Creating a successful connection to 00:07:80:80:52:27 using Serial Port Profile.
(UUID16 SPP = 1101)
Creating a successful connection to 00:07:80:80:52:27 using RFCOMM channel 1.
Unsuccessful SPP connection attempt to 00:07:80:80:52:26.
Silicon Labs
Page 54 of 270
Creating a successful connection to 00:07:80:80:52:27 with MTU 600.
CALL 00:07:80:80:52:27 1 RFCOMM MTU 600
CALL 0
CONNECT 0 RFCOMM 1
CALL 00:07:80:80:52:27 19 A2DP
CALL 0
CONNECT 0 A2DP 19
CONNECT 1 A2DP 19
CALL 00:07:80:80:52:27 17 AVRCP
CALL 0
CONNECT 0 AVRCP 17
CALL 00:07:80:80:52:27 11 HID
CALL 0
CONNECT 0 HID 11
CONNECT 1 HID 13
CALL 00:07:80:80:52:27 112F PBAP
CALL 0
CONNECT 0 PBAP 5
CALL 00:07:80:80:52:27 1105 OPP
CALL 0
CONNECT 0 OPP 2
Creating a successful A2DP connection
Creating a successful AVRCP connection
21.4.2015
Creating a successful HID connection
Creating a successful PBAP connection
Creating a successful OBEX OPP connection
Silicon Labs
Page 55 of 270
Creating a successful Health Device Profile MCAP Communications Link (MCL)
CALL 00:07:80:80:52:27 1001 HDP
CALL 0
CONNECT 0 HDP 4097
CALL 00:07:80:80:52:27 1008 HSP
CALL 0
CONNECT 0 HSP 5
CALL 00:07:80:80:52:26 1008 HSP-AG
CALL 0
CONNECT 0 HSP-AG 5
Opening a HSP connection from iWRAP to Headset Audio Gateway (phone).
Opening a HSP connection from iWRAP (HSP-AG) to Headset.
21.4.2015
Note:
If CALL is used with CHANNEL instead of UUID, it will be on average around 300ms faster,
since there is no need to do service discovery. However when calling directly with RFCOMM
channel you need to be sure that the profile you want to connect to is always in that RFCOMM
channel. RFCOMM channel assignments are manufacturer specific and vary between different
Bluetooth devices.
Silicon Labs
Page 56 of 270
21.4.2015
Synopsis:
CLOCK {link_id}
Description:
link_id
Numeric connection identifier
Response:
No response
Events:
CLOCK {bd_addr}
{clock}
CLOCK event occurs, if valid link_id is used.
SYNTAX ERROR
If incorrect parameters are given.
CLOCK 0
CLOCK 00:07:80:12:34:56 3bb630
7.15 CLOCK
CLOCK command can be used to read the Bluetooth Piconet clock value. This is useful if time
synchronization between different Piconet devices needs to be achieved.
7.15.1 Syntax
7.15.2 Examples
Reading Piconet clock value:
Note:
Piconet clock is extremely useful when time needs to be synchronized between Piconet slaves.
All the slaves in the Piconet are synchronized to master’s clock and they share the same clock
value.
Accuracy is 625us, but it also takes some time for the iWRAP to perform the CLOCK command
and display the result. This time can not be unambiguously defined as it depends on the state of
iWRAP.
Silicon Labs
Page 57 of 270
7.16 CLOSE
Synopsis:
CLOSE {link_id}
Description:
link_id
Numeric connection identifier from a previously used command CALL or from event
RING.
Response:
No response
Events:
NO CARRIER
This event is delivered after the link has been closed.
Bluetooth device address of the remote device trying to connect.
protocol_id
Protocol ID of the incoming connection
1
Security manager - Bonding
2
L2CAP
3
RFCOMM
channel_id
Channel number of the incoming connection. Either PSM in the case of L2CAP or
channel number in the case of RFCOMM
OK
Optional flag, which decides if the connection is accepted or not. If the flag is used
the connection is accepted and if it is not used the connection is declined.
Response:
None
Events:
None
7.17 CONNAUTH
CONNAUTH command can be used to authorize incoming Bluetooth connections. It is used to reply to
CONNAUTH events which are activated by setting the bit 4 of the optional_block_1 of the SET
CONTROL CONFIG configuration command.
7.17.1 Syntax
Silicon Labs
Page 59 of 270
21.4.2015
CONNAUTH 00:07:80:90:f5:47 2 3? #do you accept L2CAP connection to PSM 3?
CONNAUTH 00:07:80:90:f5:47 2 3 OK
CONNAUTH 00:07:80:90:f5:47 3 1? #do you accept RFCOMM connection to channel 1?
CONNAUTH 00:07:80:90:f5:47 3 1 OK
RING 0 00:07:80:90:f5:47 1 RFCOMM #Incoming RFCOMM connection to channel 1 opened
7.17.2 Examples
Accepting incoming SPP connection requires accepting first the lower level L2CAP connection and then
the actual RFCOMM channel in which the SPP data flows.
Note:
CONNAUTH events will not be generated for connections using an authenticated (MITM-
enabled) SSP link key, because the CSR baseband controller will treat such links authenticated
by definition.
Silicon Labs
Page 60 of 270
21.4.2015
Synopsis:
CONNECT {link_id1} {link_id2}
Description:
link_id_1
Numeric connection identifier as displayed by the LIST command.
link_id_2
Numeric connection identifier as displayed by the LIST command.
Response:
None
Events:
None
7.18 CONNECT
iWRAP can act as a repeater / range extender for RFCOMM connections by using the CONNECT
command which will transparently link two ongoing connections together as a connection between the
two remote devices.
7.18.1 Syntax
Silicon Labs
Page 61 of 270
7.18.2 Examples
SET BT PAGEMODE 3
RING 0 00:07:80:87:69:2f 1 RFCOMM
RING 1 00:07:80:87:68:ec 1 RFCOMM
+++(Data to command mode transition)
READY.
LIST(List active connections)
LIST 2
LIST 0 CONNECTED RFCOMM 320 0 0 33 8d 1 00:07:80:87:69:2f 1 INCOMING ACTIVE SLAVE
PLAIN 0
LIST 1 CONNECTED RFCOMM 320 0 0 31 8d 8d 00:07:80:87:68:ec 1 INCOMING ACTIVE MASTER
PLAIN 0
CONNECT 0 1
Piping two RFCOMM connections.
21.4.2015
First the page mode is set to 3 so that iWRAP is able to receive 2 connections. Second LIST command
is issued to show that two connections exist. Finally the connections are piped with CONNECT
command. After this has been done iWRAP transparently sends all data from 1st connection to the 2nd
one and vice versa.
Silicon Labs
Page 62 of 270
21.4.2015
Synopsis:
ECHO {link_id} [string]
Description:
link_id
Numeric connection identifier
string
User-determined string of characters. Use \xx for escaping hex data. By default \r\n
is appended at the end of the string. This can be avoided by enabling SET
CONTROL CONFIG bit 12 from the optional Block 2.
Response:
No response
Events:
None
ECHO 0 DATA (Sends “DATA\r\n” to link with ID 0)
ECHO 0 DATA\00\01 (Sends “DATA\x00\x01\r\n” to link with ID 0)
7.19 ECHO
The ECHOcommand sends a specified string of characters to the active link specified by the ‘link_id’
parameter. This command can be used, for example, with command SET CONTROL BIND to send an
indication of activity over a Bluetooth link.
7.19.1 Syntax
7.19.2 Examples
Silicon Labs
Page 63 of 270
21.4.2015
Synopsis:
DEFRAG
Description:
None
Response:
No response
Events:
None
7.20 DEFRAG
This command defragments persistent store memory. The command will reset iWRAP. iWRAP will run
DEFRAG during normal power up procedure if it needed. DEFRAG command forces the iWRAP to
perform defragmentation procedure even if it would not be needed.
7.20.1 Syntax
Silicon Labs
Page 64 of 270
7.21 DELAY
Synopsis:
DELAY {id} [delay] [command]
Description:
Id
Delay timer ID. Multiple paraller DELAYs can be launched using different ids.
id range is 0-7
delay
Decimal value in ms. Delay after the command is launched.
command
Standard iWRAP command or string to be sent to the active Bluetooth link.
The maximum length for command is 31 characters.
Disable:
DELAY {id}
To disable DELAY before it is executed. Use id parameter to define the DELAY timer
that you want to cancel.
Response:
No response
List format:
DELAY {id} [delay] [command]
If no binding exists, “SET CONTROL DELAY” will not be displayed
DELAY 0 60000 SET BT PAGEMODE 0
With DELAY, it is possible to delay execution of iWRAP commands.
7.21.1 Syntax
21.4.2015
7.21.2 Examples
Set module to pagemode 0 (Not connectable and not visible in inquiry) after 60s from DELAY command
execution.
Silicon Labs
Page 65 of 270
21.4.2015
SET CONTROL INIT DELAY 0 60000 SET BT PAGEMODE 0
Set module to pagemode 0 (Not connectable and not visible in inquiry) after 60s from module boot.
Could be used to allow pairing during first 60s of device operation.
Silicon Labs
Page 66 of 270
21.4.2015
Synopsis:
HID GET
Response:
HID GET {length}
{descriptor}
To disable DELAY before it is executed. Use id parameter to define the DELAY timer
that you want to cancel.
Description:
Length
Length of the descriptor. Format is a uint16 in hexadecimal format.
Descriptor
Descriptor printed as hex numbers in ASCII format. The descriptor is entire USB HID
report descriptor in hexadecimal format.
7.22 HID GET
Is used for reading HID descriptors which are visible in the HID profile SDP record. For more
information how to set up the HID profile please read the HID application note.
7.22.1 Syntax
Silicon Labs
Page 67 of 270
21.4.2015
Synopsis:
HID SET {length} {descriptor}
Description:
Length
Length of the descriptor. Format is a uint16 in hexadecimal format.
Descriptor
Descriptor printed as hex numbers in ASCII format. The descriptor is entire USB HID
report descriptor in hexadecimal format.
Response:
7.23 HID SET
Is used to set HID descriptors which are visible in the HID profile SDP record. For more information how
to set up the HID profile please read the HID application note.
7.23.1 Syntax
Silicon Labs
Page 68 of 270
21.4.2015
Synopsis:
INQUIRY {timeout} [NAME] [LAP {lap}]
Description:
timeout
The maximum amount of time (in units of 1.28 seconds) before the inquiry process is
halted.
Range: 1-48
NAME
Optional flag to automatically request the friendly name for found devices. See
command NAME for more information about the remote name request.
LAP
Optional flag for specifying that inquiry access code will be used.
lap
Value for inquiry access code. The following values are possible:
9E8B33
General/Unlimited Inquiry Access Code (GIAC). This is the default value
unless “SET BT LAP” is used.
9E8B00
Limited Dedicated Inquiry Access Code (LIAC).
9E8B01-9E8B32 and 9E8B34-9E8B3F
Reserved for future use.
7.24 INQUIRY
Command INQUIRY is used to find other Bluetooth devices in the area i.e. to make a device discovery.
7.24.1 Syntax
Silicon Labs
Page 69 of 270
21.4.2015
Response:
INQUIRY {num_of_devices}
and
INQUIRY {addr} {class_of_device}
num_of_devices
The number of found devices
addr
Bluetooth device address
class_of_device
Bluetooth Class of Device
Events:
INQUIRY_PARTIAL
These events are delivered as devices are found.
INQUIRY_EXTENDED
These events are delivered when Bluetooth 2.1 + EDR devices are found that
support Extended Inquiry Response (EIR)
NAME
These events are delivered after INQUIRY if the NAME flag is present.
NAME_ERROR
These events are delivered after INQUIRY if the NAME flag is present and the
name discover fails.
When requesting a custom firmware configuration from Bluegiga, it useful to attach output of
“INFO CONFIG” to the request.
Silicon Labs
Page 77 of 270
7.28 KILL
Synopsis:
KILL {bd_addr} [reason]
Description:
bd_addr
Bluetooth address of the connected remote device.
reason
Reason for disconnecting the ACL link; see Chapter 9 for a listing of possible error
codes. The default value is 0x115: HCI_ERROR_OETC_POWERING_OFF, device
is about to power off.
All existing RFCOMM connections will disconnect with reason
RFC_ABNORMAL_DISCONNECT.
Response:
None
Events:
NO CARRIER
This event is delivered after the link is closed.
Command KILL is used to explicitly terminate all ACL connections between two devices.
7.28.1 Syntax
21.4.2015
Silicon Labs
Page 78 of 270
7.29 L2CAP
Synopsis:
L2CAP {psm}
Description:
psm
L2CAP psm; must be an two digit odd number in hex.
Response:
No response
Events:
SYNTAX ERROR
If an invalid UUID is given.
L2CAP 37 (Creates L2CAP psm 37 on the local device)
CALL 00:07:80:12:34:56 37 L2CAP (Opening L2CAP connection to a remote device)
CALL 0
CONNECT 0 L2CAP 37
Command L2CAP is used to create a L2CAP psm for L2CAP connections to the local device.
The LICENSE command can be used to write an iWRAP5 license key when directly interfacing to the
Persistent Store is not possible. A reset is required to take the key into use. SET RESET does not
overwrite the license key even though the license key would have been set using the LICENSE
command.
Number of active connections. Possible values range from 0 to 7.
link_id
Numeric connection identifier
mode
RFCOMM
Connection type is RFCOMM
L2CAP
Connection type is L2CAP
SCO
Connection type is SCO
blocksize
RFCOMM, L2CAP or SCO data packet size, that is, how many bytes of data can
be sent in one packet
elapse_time
Link life time in seconds
local_msc
Local serial port modem status control (MSC) bits.
remote_msc
Remote serial port modem status control (MSC) bits.
addr
Bluetooth device address of the remote device
7.31 LIST
Command LIST shows the count of active connection and detailed information about each connection.
7.31.1 Syntax
Silicon Labs
Page 81 of 270
21.4.2015
channel
RFCOMM channel or L2CAP psm number at remote device
direction
Direction of the link. The possible values are:
OUTGOING
The connection has been initiated by the local device.
INCOMING
The connection has been initiated by the remote device
powermode
Power mode for the link. The possible values are:
ACTIVE
Connection is in active mode, no power saving in use
SNIFF
Connection is in sniff mode
HOLD
Connection is in hold mode
PARK
Connection is in park mode
role
Role of the link. The possible values are:
MASTER
iWRAP is the master device of this connection
SLAVE
iWRAP is the slave device of this connection
crypt
Encryption state of the connection. The possible values are:
PLAIN
Connection is not encrypted
ENCRYPTED
Connection is encrypted
buffer
Tells the amount of data (in bytes) that is stored in the incoming data buffer.
ERETX
This flag is visible is enhanced retransmission mode is in use. At the moment
only used with HDP connections.
Events:
No events raised
Silicon Labs
Page 82 of 270
7.31.2 Examples
LIST
LIST 1
LIST 0 CONNECTED RFCOMM 320 0 0 3 8d 8d 00:60:57:a6:56:49 1 OUTGOING ACTIVE MASTER
PLAIN 0
Listing active connections:
21.4.2015
Silicon Labs
Page 83 of 270
7.32 NAME
Synopsis:
NAME {bd_addr}
Description:
bd_addr
Bluetooth address of the connected remote device.
Response:
NAME {bd_addr} “{name}”
or
NAME ERROR {error_code} {bd_addr} {reason}
bd_addr
Bluetooth address of the connected remote device.
name
Friendly name of the remote device
error_code
Error code
reason
ASCII description of the reason
Events:
None.
Command NAME can be used to perform a friendly name discovery.
7.32.1 Syntax
21.4.2015
Silicon Labs
Page 84 of 270
7.32.2 Examples
NAME 00:07:80:FF:FF:F1
NAME 00:07:80:FF:FF:F1 "WT32-A"
NAME 00:07:80:FF:FF:F2
NAME ERROR 0x104 00:07:80:FF:FF:F2 HCI_ERROR_PAGE_TIMEOUT
Making a successful name discovery
Name discovery error because of page timeout
21.4.2015
Silicon Labs
Page 85 of 270
21.4.2015
Synopsis
PAIR {bd_addr}
Description
bd_addr
Bluetooth device address of the device remote device
Response
PAIR {bd_addr} {result}
bd_addr
Bluetooth device address of the device remote device
result
OK
Pairing successful
FAIL
Pairing failed
Events
PAIR {bd_addr}
{status}
This event occurs if PAIR event is enabled with “SET CONTROL CONFIG”
and pairing is successful.
SYNTAX ERROR
This event occurs if incorrect parameters are given.
AUTH
This event occurs if interactive pairing is enabled with “SET CONTROL
CONFIG”.
7.33 PAIR
Command PAIR can be used to pair with other Bluetooth devices. Pairing mode can be traditional or
Secure Simple Pairing.
7.33.1 Syntax
Note:
In iWRAP5 if pin codes are not set PAIR will return “PAIR {bd_addr} FAIL” since the link keys
can not be generated.
In iWRAP3 and older version and similar situation iWRAP returned “PAIR {bd_addr} OK”.
Bluetooth 2.1 + EDR specification mandates:
Silicon Labs
Page 86 of 270
21.4.2015
PAIR 00:07:80:12:34:56
PAIR 00:07:80:12:34:56 OK
PAIR 00:07:80:12:34:56
PAIR 00:07:80:12:34:56 FAIL
When the authentication attempt fails, a waiting interval shall pass before the verifier will initiate a new
authentication attempt to the same claimant, or before it will respond to an authentication attempt
initiated by a device claiming the same identity as the failed device. For each subsequent authentication
failure, the waiting interval shall be increased exponentially. That is, after each failure, the waiting
interval before a new attempt can be made, could be for example, twice as long as the waiting interval
prior to the previous attempt1. The waiting interval shall be limited to a maximum.
The maximum waiting interval depends on the implementation. The waiting time shall exponentially
decrease to a minimum when no new failed attempts are made during a certain time period. This
procedure prevents an intruder from repeating the authentication procedure with a large number of
different keys.
7.33.2 Conventional pairing examples
Successful pairing with a remote device when pin code is enabled with SET BT AUTH (no SSP).
Unsuccessful pairing with a remote device when pin code is enabled with SET BT AUTH (no SSP).
Silicon Labs
Page 87 of 270
21.4.2015
PAIR 00:07:80:12:34:56
PAIR 00:07:80:12:34:56 OK
PAIR 00:07:80:93:d7:66
SSP PASSKEY 00:07:80:93:d7:66 633237
PAIR 00:07:80:89:a4:85 OK
SSP PASSKEY 00:07:80:ff:ff:f1 ?
SSP PASSKEY 00:07:80:81:66:8c 633237
7.33.3 Secure Simple Pairing examples
Successful Secure Simple Pairing with “Just Works” mode (SET BT SSP 3 0). With the “justworks”
mode users do not need to use any PIN code, but it is automatically generated and exchanged by the
Bluetooth devices.
Secure Simple Pairing with Man-in-the-Middle (MITM) protection enabled.
Device 1:
2. Then SSP PASSKEY event is displayed on device 1 and a 6 digit number is displayed for
numeric comparison.
3. A SSP PASSKEY event is displayed on device 2 to indicate that numeric comparison needs to
be made.
4. The numeric comparison is responded with SSP PASSKEY command on device 2 and the 6
digit number is given as a parameter.
5. If the number is correct paring is successful and this is indicated on the device that initiated
pairing.
Silicon Labs
Page 88 of 270
Successful SSP pairing with Man-in-the-Middle (MITM) protection enabled.
PAIR 00:07:80:89:a4:85
SSP CONFIRM 00:07:80:89:a4:85 951521 ?
SSP CONFIRM 00:07:80:89:a4:85 OK
PAIR 00:07:80:89:a4:85 OK
SSP CONFIRM 00:07:80:81:66:8c 951521 ?
SSP CONFIRM 00:07:80:81:66:8c OK
SSP GETOOB
SSP SETOOB H:fc3e453f7f3f6ff0bf226e26385ec538 R:bbca555c64244fe6696c004c9be61ac4
(transmit these two keys to the remote device using some other medium than Bluetooth, for example
NFC)
(receive keys and Bluetooth address from remote device)
SSP SETOOB H:0252d1100594897b221942ce052ae422 R:911b72e1e9c7a98460de9d23abff5095
(transmit these two keys and Bluetooth address to the remote device)
1. Device 1 generates OOB pairing keys, and transmits them to Device 2
2. Device 2 receives OOB pairing keys, sets them as its pairing key pair
3. Device 2 generates its own OOB pairing keys, transmits them and its Bluetooth address to
Device 1
4. Device 1 receives OOB pairing keys and Bluetooth address, sets keys as its pairing key pair
5. Device 1 uses received Bluetooth address to initiate Bluetooth pairing, which will use both
generated key pairs to authenticate the link
21.4.2015
Silicon Labs
Page 90 of 270
7.34 PIO
Synopsis
PIO {command} [mask] [states]
Description
command
GET
Read the contents of the PIO register. Bits that are set denote
pins that are pulled up.
GETDIR
Read the contents of the PIO direction register. Bits that are set
denote output pins; others are input pins.
GETBIAS
Read the contents of the PIO bias register. Bits that are set
denote pins that are pulled up/down strongly, others are pulled
up/down weakly.
SET {mask} {states}
Set the contents of the PIO register; the first parameter is the bit
mask for deciding which PIOs are affected, the second parameter
is the bits to set/unset.
SETDIR {mask} {states}
Set the contents of the PIO direction register. You need to make a
PIO as output before it can be controlled locally with PIO SET.
SETBIAS {mask} {states}
Set the contents of the PIO bias register. By default, all pins are
pulled up/down weakly.
RESET
Set the registers to iWRAP defaults.
mask
The hexadecimal bitmask that defines which PIOs are affected.
states
The hexadecimal bitmask that defines the states of the PIOs specified by mask.
The command PIO is used to get and set PIO states and directions.
7.34.1 Syntax
21.4.2015
Silicon Labs
Page 91 of 270
Response
None for set commands.
PIO GET {state}
Response for PIO GET; displays PIO register value.
PIO GETDIR {state}
Response for PIO GETDIR.
PIO GETBIAS {state}
Response for PIO GETBIAS.
Events
None
7.34.2 Examples
PIO GET (Read PIO statues)
PIO GET 0
PIO SETDIR 80 80 (Sets PIO7 to output)
PIO SET 80 80 (Sets PIO7 high)
PIO GETDIR (Reads PIO directions)
PIO GETDIR 80
PIO GET (Reads PIO statuses)
PIO GET 80
PIO RESET (Reset PIOs)
PIO GETDIR
PIO GETDIR 0
PIO GET
PIO GET 0
Playing with PIO7
21.4.2015
Note:
There are 6 usable IO pins (PIO2-PIO7) on the WT11/12/41 modules and 11 GPIO lines (PIO0-
PIO10) on the WT32. Therefore the range for the mask and state parameters for the WT11/12
is 4-FF and for the WT32 it is 0-07FF.
The default values for the PIO registers are all zero; except for the WT11-A/E the direction
register is set so that PIO0 and PIO1 are outputs.
Switches on the evaluation kits can also affect PIO values. For instance, if on the WT32
evaluation kit PIO8 is routed to USB and the USB charger is in place, PIO8 will be high.
Silicon Labs
Page 92 of 270
7.35 PLAY
Synopsis:
PLAY {string}
Description:
string
String of tones to play
If empty string is given iWRAP stops playing the previous ringtone.
*
WHOLENOTE
+
HALFNOTE
-
QUARTERNOTE
;
EIGHTHNOTE
:
SIXTEENTHNOTE
,
THIRTYSECONDNOTE
.
SIXTYFOURTHNOTE
a-g
notes
0-9
selects octave for the following notes, 4 by default
_
rest
!
Command PLAY is used to generate tones or beeps.
7.35.1 Syntax
21.4.2015
Silicon Labs
Page 93 of 270
21.4.2015
timbre sine(default)
"
timbre square
#
timbre saw
%
timbre triangle
&
timbre triangle2
/
timbre clipped sine
(
timbre plucked
Response:
PLAY OK
Returned when play command has finished
PLAY BUSY
Returned if previous play command is still being executed
Events:
None.
PLAY 6,gfgfgf__gfgfgf______gfgfgf__gfgfgf
PLAY OK
PLAY &-5aaa;f:_6c-5a;f:_6c-5a_-6eee;f:_6c-5a;f:_6c-5a
PLAY OK
Modern desk phone ring:
Movie theme ring tone:
Silicon Labs
Page 94 of 270
21.4.2015
Synopsis:
RFCOMM {action}
Description:
action
CREATE
Creates a generic RFCOMM channel.
Response:
RFCOMM {channel}
channel
RFCOMM channel number
Events:
None
RFCOMM CREATE
RFCOMM 2
7.36 RFCOMM
Command RFCOMM is used to create a RFCOMM channel for general RFCOMM connections.
7.36.1 Syntax
7.36.2 Examples
Creating a generic RFCOMM channel.
Silicon Labs
Page 95 of 270
7.37 RESET
Synopsis:
RESET
Description:
No description
Response:
No response
Command RESET is used to perform a software reset.
7.37.1 Syntax
21.4.2015
Silicon Labs
Page 96 of 270
21.4.2015
Synopsis:
RSSI {link_id}
Description:
link_id
Numeric connection identifier
Response:
RSSI {bd_addr} {rssi}
bd_addr
Bluetooth address of the remote device
rssi
Receiver Signal Strength Indication. Possible values are from +20 to
-128.
20 = Good link
-128 = Poor link
Events:
None
LIST
LIST 1
LIST 0 CONNECTED RFCOMM 320 0 0 3 8d 8d 00:60:57:a6:56:49 1 OUTGOING ACTIVE MASTER
PLAIN
RSSI 0
RSSI 00:60:57:a6:56:49 -10 (RSSI is -10)
7.38 RSSI
The RSSI command returns the Receiver Signal Strength Indication of the link given as a parameter.
7.38.1 Syntax
7.38.2 Examples
Checking the RSSI of an active connection:
Silicon Labs
Page 97 of 270
21.4.2015
Synopsis:
SCO ENABLE
Description:
None
Response:
None
Events:
None
7.39 SCO ENABLE
The SCO ENABLE command enables support for SCO (audio) connections. This command is needed if
SCO connections are used none of the audio profiles (HFP or HSP) are enabled.
7.39.1 Syntax
Note:
The SCO ENABLE command must be given every time after reset; it is not stored on flash
memory.
“SET CONTROL INIT” can be used to automatically issue one “SCO ENABLE” command.
IF HFP or HSP profiles are enabled SCO ENBLED command is not needed.
Silicon Labs
Page 98 of 270
21.4.2015
Synopsis:
SCO OPEN {link_id}
Description:
link_id
Numeric connection identifier
Response:
None
Response:
None
Events:
CONNECT
If SCO connection was opened successfully
NO_CARRIER
If connection opening failed
SCO ENABLE
CALL 00:07:80:80:52:27 1 RFCOMM
CALL 0
CONNECT 0 RFCOMM 1
7.40 SCO OPEN
The SCO OPEN command is used to open a SCO connection on top of an existing RFCOMM link.
7.40.1 Syntax
Note:
The SCO ENABLE command must be given before the SCO OPEN command can be used.
7.40.2 Examples
Creating an SCO connection to another iWRAP device:
Silicon Labs
Page 99 of 270
21.4.2015
[+++] (Command to data mode transition)
SCO OPEN 0 (SCO is opened on top of the existing RFCOMM link with ID 0)
CONNECT 1 SCO
Silicon Labs
Page 100 of 270
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.