Um2058 The Bluenrg Gui SW Package Stmicroelectronics
Um2058 The Bluenrg Gui SW Package Stmicroelectronics
Um2058 The Bluenrg Gui SW Package Stmicroelectronics
User manual
Introduction
This document describes the BlueNRG GUI SW package (STSW-BNRGUI) with the BlueNRG graphical user interface (GUI)
and the standalone script launcher utility.
The BlueNRG GUI is a PC application that can be used to interact and evaluate the capabilities of the BlueNRG-MS,
BlueNRG-2N Bluetooth low energy network processors: low power Bluetooth® Low Energy ICs, compliant with the Bluetooth®
specifications, with support both for master and slave roles. It also supports the BlueNRG-1, BlueNRG-2, BlueNRG-LP and
BlueNRG-LPS Bluetooth Low Energy systems-on-chip: low power Bluetooth® Low Energy ICs compliant with the Bluetooth®
specifications, both in master and slave roles.
The BlueNRG GUI allows standard and vendor-specific HCI commands to be sent to the device controller and events to be
received from it. It also provides a script engine, which can be used to load and run user scripts based on Bluetooth Low Energy
stack APIs and related stack events. These scripts can also be run via standalone script launcher utility through a PC DOS
window, outside the BlueNRG GUI context. A set of sample scripts is provided in the SW package.
1 Getting started
This section describes all system requirements to run the BlueNRG GUI or script launcher utility, as well as the
relative SW package installation procedure.
The BlueNRG GUI included in the software package is a graphical user interface that can be used to interact
and evaluate the capabilities of the BlueNRG-MS and BlueNRG-2N network processors, and the BlueNRG-1,
BlueNRG-2, BlueNRG-LP and BlueNRG-LPS systems-on-chip.
This utility can send standard and vendor-specific HCI commands to the controller and receive events from it. It
allows the user to configure each field of the HCI command packets to be sent and analyzes all received packets
to allow easy low level management of the BlueNRG-MS, BlueNRG-2N, BlueNRG-1, BlueNRG-2, BlueNRG-LP
and BlueNRG-LPS devices.
2.1 Requirements
To use the BlueNRG GUI, ensure your hardware and software are set up (BlueNRG GUI installed) correctly.
Note: When connecting a device platform, before opening the related COM port, please make sure that the expected
GUI serial baud rate is set as follows:
• BlueNRG-LP, BlueNRG-LPS: 921600 (default configuration)
• All other devices: 115200
Refer to Section 2.2.2 Tools for information about how to set the GUI serial baud rate.
To download the selected binary image into the STEVAL-IDB007Vx (x = 1,2) (BlueNRG-1) or STEVAL-IDB008Vx
(x=1,2) /STEVAL-IDB009Vx (x=1) (BlueNRG-2) internal Flash:
1. Connect the device platform to a PC USB port
2. On PC computer window, use the the "drag and drop" mass storage upgrade capability for copying the
selected binary image into the associated IDB007/8/9VX platform
Another way to download the selected binary image is the following:
1. Connect the device platform to a PC USB port
2. Open the RF-Flasher utility available on STSW-BNRGFLASHER SW package (Table 1)
3. Select the COM port associated with the device platform to be configured as a network coprocessor
4. Select the specific DTM binary file through the select file button
5. Select the mass erase option
6. Press the Flash button to program the device
Notes:
1. The BlueNRG GUI --> Tools --> Stack updater… utility is intended only to update a BlueNRG-1, BlueNRG-2
or a BlueNRG-2N device already configured as a network coprocessor as it assumes that specific updater/
bootloader code is already loaded on the device.
2. The DTM_UART.hex and DTM_SPI.hex binary image files include the updater code, which allows the
update of the specific DTM FW version through the BlueNRG GUI --> Tools --> Stack updater… utility. DTM
binary images without updater code are also provided in the SW package: DTM_UART_NOUPDATER.bin
for UART configuration and DTM_SPI_NOUPDATER.bin for SPI configuration.
3. Once the STEVAL-IDB007Vx (x = 1,2) (BlueNRG-1) or STEVAL-IDB008Vx (x = 1,2) /STEVAL-IDB009Vx
(x=1) (BlueNRG-2) platform has been configured as a network coprocessor, new DTM binary file versions
can be updated directly using the BlueNRG GUI, Tools, Stack Updater … utility thus:
a. Connect the device platform (STEVAL board) to a PC USB port
b. Open the BlueNRG GUI tool
c. Open COM port associated with the device platform
d. Select BlueNRG, Tools, BlueNRG updater …
e. Select the DTM binary images without updater available in Firmware/BlueNRG1 or Firmware/
BlueNRG-2 folders (DTM_UART_NOUPDATER.bin or DTM_SPI_NOUPDATER.bin)
f. Select update to program the new DTM binary image
4. No other BlueNRG-1 or BlueNRG-2 application binary image can be programmed on a corresponding
device using the BlueNRG GUI, Tools, Stack Updater utility.
5. In order to use the STEVAL-IDB007V1 for the BlueNRG-1 SPI network coprocessor configuration, please
make sure the following hardware changes have been made on such platform: make a short at positions
R59, R60, R61, R62 on STEVAL-IDB007V1 platform.
6. Document content is also valid for the BlueNRG-1, STEVAL-IDB007V1M evaluation platform based on the
SPBTLE-1S module with 32 MHz HS crystal and for the BlueNRG-2, STEVAL-IDB008V1M kit (evaluation
platform based on the BlueNRG-M2SA module with 32 MHz HS crystal). The associated DTM_UART.hex
and DTM_SPI.hex binary images are provided within the folder Firmware/STEVAL-IDB007V1M.
7. The BlueNRG-2N network coprocessor is alredy loaded with a dedicated DTM binary image running only on
this specific device. The latest available BlueNRG-2N binary image version is available on the BlueNRG-2N
web site with associated documentation and updater instructions.
To download the selected binary image into the STEVAL-IDB01xV1 internal Flash:
1. Connect the device platform to a PC USB port
2. On PC computer window, use the "drag and drop" mass storage upgrade capability for copying the selected
binary image into the associated device platform
Once the STEVAL-IDB011V1 platform has been configured as a network coprocessor, new DTM binary file
version can be updated directly using the BlueNRG GUI, tools, BlueNRG updater … utility:
1. Connect the device platform (STEVAL board) to a PC USB port
2. Open the BlueNRG GUI tool
3. Open COM port associated with the device platform
4. Select BlueNRG -> Tools -> BlueNRG Updater …
5. Select the DTM binary image (*.bin) to be used for updater available in Firmware/STEVAL-IDB011V1 folder
(DTM_UART_FOR_UPDATER.bin or DTM_SPI_FOR_UPDATER.bin)
6. Select "update" to program the new DTM binary image
Note: No other application binary image can be programmed on a corresponding device using the BlueNRG Updater
utility.
The BlueNRG GUI main window has different zones, some of which can be resized.
ACI commands
The ACI commands tab contains a list of all the available commands. Commands can be filtered by checking/
unchecking boxes under the filter section. After clicking on one of the commands, all packet fields are displayed
on the command packet table in the upper-right section of the tab.
Double-clicking on a row of the sent/received packet table shows the raw packet.
Some events (displayed in yellow cells) can provide other information. HCI packets sent towards the Bluetooth LE
controller are displayed in gray cells while received packets are shown inside white cells.
The sent/received packets table can be cleared by clicking on clear list button. Update and auto-scrolling check
boxes enable or disable updating and auto-scrolling of the sent/received packets table while new packets are sent
or received (however, information is still printed).
The sent/ received packets can be stored and later reloaded on the GUI, by using the utilities provided on file
menu:
• Save History and Save History as Text: saves the current list of sent commands and received events to a
CSV file or to a simple text file
• Load History: loads a list of sent commands and received events from a CSV file
• Save as Python Script: stores the current list of sent commands and received events as a script file (python
format), which can be (by adding specific code for handling events, parameters) and then used in the GUI
script window as part of a user application scenario (refer to Section 2.2.4 GUI script window)
• Save As C Code...: stores the current list of APIs and events on sent/received packet table as header
and source files (C language), which can be used as starting point for user C code development. The
generated header and source files are provided within a complete toolchains framework (IAR, KEIL Atollic
and WISE-Studio), which allows user to get a basic reference code to be customized and integrated for
addressing the specific user application scenario (STM32L4, BlueNRG-1, BlueNRG-2, BlueNRG-LP and
BlueNRG-LPS network coprocessor framework is also generated). User is requested to:
1. On the BlueNRG-1, BlueNRG-2, BlueNRG-LP and BlueNRG-LPS devices, add the configuration
header file with proper values required for the correct BlueNRG-1, BlueNRG-2, BlueNRG-LP and
BlueNRG-LPS Bluetooth LE radio initialization, based on specific user application scenario:
a. For Bluetooth LE stack v2.0, v2.1x, v3.x, this file can be generated using the BlueNRG-X
Radio Initialization Parameters Wizard available on the BlueNRG-1_2 SW package (STSW-
BLUENRG1-DK) or BlueNRG-LP, BlueNRG-LPS SW package (STSW-BNRGLP-DK).
b. Save As C Code ... window also allows user to directly launch the BlueNRG-X Radio Initialization
Parameters Wizard in order to define the radio initialization parameters and store the associated
user configuration file on the generated inc folder.
2. On the BlueNRG-1, BlueNRG-2 devices, aci_gap_init() API, make sure that the device_name_char_len
parameter is configured exactly with the actual device name characteristic length
3. On the BlueNRG-1, BlueNRG-2 devices, make sure that each aci_gatt_add_service(),
Max_Attribute_Records parameter is configured exactly with the required number of attributes for the
user application scenario, in order to avoid API failure:
a. For each defined service, the correct Max_Attribute_Records parameter value is reported
on the BlueNRG-X Radio Initialization Parameters Wizard, output window #define
MAX_NUMBER_ATTRIBUTE_SERVICEx (x = 1, .. number of added services): just use the
associated define numeric value
4. On the BlueNRG-1, BlueNRG-2, BlueNRG-LP and BlueNRG-LPS devices, the
generated IDE projects are built with the full stack modular configuration option
(BLE_STACK_CONFIGURATION=BLE_STACK_FULL_CONFIGURATION on Bluetooth LE stack
v2.1x and BLE_STACK_FULL_CONF on Bluetooth LE stack v3.x). User can customize it according
to his specific application scenario.
5. Customize APP_Tick() function with user state machine and associated states
6. Customize the required event callback functions taking into account application states
7. Remove possible duplications of event callback functions
8. Customize APIs execution sequence based on application state machine, event callbacks and state
updates (i.e.: start service or characteristic discovery, read, write, notification,.. once the device is
connected: connection complete event callback has been called)
9. Remove repeated calls to the same APIs, if not needed (or review code by adding a simple for/while
code iteration)
10. Customize API input parameters with proper references to application variables
11. Customize interrupt service routines based on user application needs (refer to generated default user
functions section)
12. Customize, modify generated default user functions
13. Replace the linker files with the latest available version on associated DK SW packages
14. Enable debug messages by setting DEBUG 1 on generated source files
After the BLE_User_main.c, user.c, user.h has been generated, look for the comments with prefix USER ACTION
IS NEEDED. These comments highlight some possible post-built code customization to be performed on user
side, in order to address his specific application scenario.
2.2.2 Tools
The BlueNRG GUI has some functions that can be accessed through the tools menu. These tools are described
in this section.
Stack updater
This tool can be used to update the firmware in the BlueNRG-MS devices by using their internal bootloader. The
BlueNRG_VCOM_x_x.hex firmware must be present on the BlueNRG-MS motherboard STM32L1 microcontroller
and the COM port must be open.
To use this tool:
1. Go to tools → Stack updater
2. Select the correct stack firmware for the selected device
3. Press update to start the update procedure
If the procedure completes with no errors, the new firmware has been loaded into the device internal Flash.
This tool can also be used to update the network coprocessor firmware inside the BlueNRG-1, BlueNRG-2,
BlueNRG-2N, BlueNRG-LP and BlueNRG-LPS devices, provided that it has been already configured as a
network coprocessor with a DTM FW image containing the update functionality (refer to Section 2.1.2 BlueNRG-1
and BlueNRG-2 network coprocessors and Section 2.1.3 The BlueNRG-LP, BlueNRG-LPS network
coprocessors).
IFR//Device Configuration
To preserve the flexibility of the BlueNRG-MS device, the firmware uses a parameter configuration table in a
sector of the Flash called information register (IFR). The BlueNRG GUI IFR/Device Configuration tool can read
and modify this portion of the BlueNRG-MS Flash.
This tool is available in BlueNRG GUI → Tools → IFR/device configuration → item.
The BlueNRG GUI IFR/Device Configuration utility helps you define the IFR data and represents the only
supported mode to define IFR data based on customer needs.
The utility provides the following windows:
• View/Edit view: displays the IFR regions with related fields and description. The user can modify some of
these fields according to his needs.
• Memory view: displays the IFR field memory addresses and related values that are generated by BlueNRG
GUI according to the specified values.
• C view: displays the C language structure related to the IFR configuration data region matching the View/
Edit and Memory view.
Figure 5. BlueNRG GUI IFR/device configuration tool: view/edit view for the BlueNRG-MS device
Device configuration for the BlueNRG-1, BlueNRG-2, BlueNRG-2N, BlueNRG-LP and BlueNRG-LPS
To preserve the flexibility, the BlueNRG-1, BlueNRG-2, BlueNRG-2N, BlueNRG-LP, BlueNRG-LPS device
firmware uses a hardware configuration table, which can be read and modified by BlueNRG GUI IFR/device
configuration tool; this tool is available in BlueNRG GUI, Tools, IFR/device configuration item.
The utility provides the following windows:
• View/Edit view: displays the device configuration parameter regions with related fields and description. The
user can modify some of these fields as required
• Memory view: displays the device configuration field memory addresses and related values that are
generated by BlueNRG GUI according to the specified values
• C view: displays the C language structure related to the device configuration data region matching the
View/Edit and Memory view
Note: The BlueNRG-1 or BlueNRG-2 DTM UART HS crystal (16 or 32 MHz) is selected at compile time and cannot
be changed through BlueNRG GUI IFR/device configuration (same for the BlueNRG-LP and BlueNRG-LPS
devices: 32 MHz only).
The following general utilities are also available:
• Load button: allows loading a configuration file
• Save button: allows saving the current parameters into a configuration file
OTA bootloader
The OTA bootloader let you Flash new firmware to the STM32L1 on a remote BlueNRG-MS motherboard via
Bluetooth low energy technology. It also let you Flash new firmware to a remote BlueNRG-1 or BlueNRG-2
or BlueNRG-LP or BlueNRG-LPS device via Bluetooth Low Energy technology (refer to the dedicated device
application notes available on www.st.com for further information).
Get version
The Get version tool is used to retrieve the version of the BlueNRG GUI firmware (BlueNRG_VCOM_x_x.hex ) on
the STM32L1 controller, USB to serial FW version on the BlueNRG-1 and BlueNRG-2 platforms, CMSIS-DAP FW
version on the BlueNRG-LP, BlueNRG-LPS platforms, and hardware and firmware versions from the BlueNRG-
MS, BlueNRG-1, BlueNRG-2, BlueNRG-LP and BlueNRG-LPS devices.
Settings
This tool let you configure the firmware stack version to be used from the GUI (when no device is actually
connected to a PC USB port). It also let you configure the GUI serial baud rate (serial UART communication only).
In order to use this function.
1. Go to settings → Fw Stack Version-> select FW 7.x or 7.1 for the BlueNRG-MS device, FW 1.0 or FW 2.x for
the BlueNRG-1 device and 2.x for the BlueNRG-2 and FW 3.x for the BlueNRG-LP, BlueNRG-LPS devices.
2. Go to settings → select Set Baud Rate… and choose the value (default value is 921200 for the BlueNRG-LP
and BlueNRG-LPS devices and 115200 for all other devices).
Central and peripheral roles are supported with the Bluetooth LE operations described in the following tables.
The "Service Management..." window provides the load and save view buttons. A set of predefined views
related to standard services and profiles are available on the BlueNRG GUI SW package, Application/
Services_View folder ("Alert Notification Server, Blood Pressure Sensor, Glucose Sensor, Heart Rate Sensor,
Health Thermometer Sensor, Find Me Target, Phone Alert Server, HID, Time, …")
User can load them through the "Load View" button and add to his application database.
The script engine supports other utility commands listed in the following table.
The following pseudo code describes how to initialize a BlueNRG-MS, BlueNRG-1 or BlueNRG-2 device as a
peripheral using a simple python script:
#Reset device
HW_RESET()
#Init GATT
if BLE_STACK_V_3_X:
ACI_GATT_SRV_INIT()
else:
ACI_GATT_INIT()
When a script calls a command which generates specific events, the script can detect them by using the
WAIT_EVENT (event_code=None, timeout=None, continueOnEvtMiss=False, **param_checks) command.
Command
Description Parameters Return
name
The WAIT_EVENT macro-command waits for an event with 'Event Code' parameter equal to event_code. If no
event_code is indicated, the macro-command waits for any event.
The timeout parameter allows the event timeout to be set. If no timeout is set, the macro-command awaits until an
event occurs. If a timeout (greater than zero) is set and continueOnEvtMiss is false and no event occurs before
the timeout, an HCITimeoutError error happens. Otherwise, if the input parameter continueOnEvtMiss is true and
a timeout (greater than zero) is set, the macro-command returns the value none even when no event occurs
before the timeout.
If one or more optional filtering parameters are specified, the macro-command performs a check on them and it
returns only the first detected event that satisfies these parameters. The events received before the one returned
are discarded.
The WAIT_EVENT() command return value can be:
• an event
• none, if a timeout occurs and the input parameter “continueOnEvtMiss” is set to true
An HCI timeout error exception is raised when a timeout occurs. Each coming event is stored in an internal
queue. User is requested to call a specific WAIT_EVENT utility command in order to handle each received event
and remove it from the internal queue. The CLEAR_QUEUE utility command allows the internal queue to be
cleared in order to remove all the collected events not handled through the WAIT_EVENT utility command. The
event_code parameter can be one of the following values:
Event
event_code parameter Event parameter type value
type
Refer to specific device Bluetooth LE Stack ACI APIs and events doxygen
documentation available on
Subevent
HCI_LE_META_EVENT
_Code STSW-BNRGUI SW package, Docs Docs\gui_aci_html:
ACI events, HCI LE meta events section
Refer to specific device Bluetooth LE Stack ACI APIs and events doxygen
documentation available on
STSW-BNRGUI SW package, Docs Docs\gui_aci_html:
Example 2:
# Wait an HCI_LE_META_EVENT
evt = WAIT_EVENT(HCI_LE_META_EVENT)
# Using evt.get_param('Subevent_Code').val it's possible to identify the specific
HCI_LE_META_EVENT
# parameter type value
evtCode = evt.get_param('Subevent_Code').val
# Check if received event is HCI_LE_CONNECTION_COMPLETE_EVENT
if (evtCode == HCI_LE_CONNECTION_COMPLETE_EVENT):
# If Connection Complete Status is success, get connection handle
if evt.get_param('Status').val==0x00:
conn_handle= evt.get_param('Connection_Handle').val
Example 4:
Note: If continueOnEvtMiss parameter is set to false and if no event within the selected timeout occurs, an exception is
raised.
Example 6:
#Wait the HCI_DISCONNECTION_COMPLETE_EVENT event_code
WAIT_EVENT(HCI_DISCONNECTION_COMPLETE _EVENT)
Example 7:
#Create a Connection and wait for the HCI_LE_CONNECTION_COMPLETE_EVENT
ACI_GAP_CREATE_CONNECTION(Peer_Address=[0x12, 0x34, 0x00, 0xE1, 0x80, 0x02])
event= WAIT_EVENT(HCI_LE_META_EVENT,
timeout=30,Subevent_Code=HCI_LE_CONNECTION_COMPLETE_EVENT)
if event.get_param('Status').val==0x00:
# Store the connection handle
conn_handle= event.get_param('Connection_Handle').val
#User defined code…
The user can configure the advertising data fields in the following table for the Bluetooth LE Beacon device
through the BlueNRG GUI Beacon window configuration parameters.
To configure the selected platform as a Bluetooth LE Beacon device, click on the “Set Beacon” tab.
Start/stop a tone
To start a tone on a specific RF Bluetooth LE channel:
1. Connect a BlueNRG-MS, BlueNRG-1, BlueNRG-2, BlueNRG-2N, BlueNRG-LP and BlueNRG-LPS platforms
to PC USB port
2. Launch an instance of BlueNRG GUI
3. Open the relative COM port
TRANSMITTER section
This section let you set the following items:
• The power level of transmitter
• The frequency of transmitter
• Length of data to transmit in each packet
• Packet payload format as defined on Bluetooth low energy specification, direct test mode section
• PHY used by transmitter
• Check the capability to set the number of packets to transmit
• PHY used by transmitter
• Modulation
Clicking on "Start Transmitter" button, test reference packets are sent to a fixed interval.
RECEIVER section
This section let you set the following items:
• The frequency or channel of receiver
• PHY used by receiver
• Modulation
Clicking on "Start Receiver" button, test reference packets are received to a fixed interval.
Note: Starting from the STSW-BNRGUI v3.2.0 or later, BlueNRG-1,2 Bluetooth LE stack v2.x, BlueNRG-LP, BlueNRG-
LPS Bluetooth LE stack v3.x, if user specifies the number of packets to be transmitted on a related field (number
of packets to transmit), the ACI_HAL_TRANSMITTER_TEST_PACKETS API is used to perform the transmitter
test. This API is a customized version of the HCI_LE_TRANSMITTER_TEST API which allows the number
of packets to be specified and to be sent. Please notice that user must uncheck the field "Num. Packets to
transmit" in order to use the standard HCI_LE_TRANSMITTER_TEST API.
An example follows about a TX/RX context with a TX device sending 1000 packets which are received from the
RX device.
Master device
1. On settings, configure as: select Master/Central and unset Send Data checkbox
2. Click on "Start Throughput" button to start throughput test:
a. Master connects to slave device and then it enables characteristic notifications: slave device starts
notifications flow
b. Bluetooth LE communication from slave to master (characteristic notification) is started.The actual
throughput value (numeric value and black line) and the theoretical expected throughput value
(numeric value and red line) are displayed on Slave TX window and on Master RX window.
3. Click on “Stop throughput” to stop the test
Master device
1. On Settings, Configure As: select Master/Central and set Send Data checkbox
2. On Settings, select Send Data to enable communication from master to slave device (characteristic write
without response)
3. Click on "Start Throughput" button to start throughput test:
a. Master connects to slave device
b. Bluetooth LE communication from master to slave (characteristic write without response) is started.
Once master device connects to slave device, the actual throughput value (numeric value and black
line) and the theoretical expected throughput value (numeric value and red line) are displayed on slave
RX window and on master TX window
4. Click on “Stop throughput” to stop the test.
Master device
1. On Settings, Configure As: select Master/Central and set Send Data checkbox
2. On Settings, select Send Data to enable communication from master to slave device (characteristic write
without response)
3. Click on "Start Throughput" button to start throughput test:
a. Master connects to slave device and then it enables characteristic notifications: slave device starts
notifications flow
b. Bluetooth LE communication from slave to master (characteristic notification) is started. The actual
throughput value is displayed the actual throughput value (numeric value and black line) and the
theoretical expected throughput value (numeric value and red line) are displayed on slave, master TX,
RX windows
4. Click on “Stop throughput” to stop the test
The script launcher is a standalone utility, which let you run a script without using the BlueNRG GUI script engine
tool.
The script launcher utility (BlueNRG_Script_Launcher.exe) is included in the BlueNRG GUI software package in
the application folder.
3.1 Requirements
To use the script launcher utility on a specific device, the corresponding platform must be connected to a
PC USB port and loaded with the same pre-built binary file used for the BlueNRG GUI, as described in
Section 2.1 Requirements (BlueNRG_VCOM_x_x.hex for the BlueNRG-MS platforms and specific DTM binary
files for the BlueNRG-1, BlueNRG-2, BlueNRG-2N, BlueNRG-LP and BlueNRG-LPS platforms).
Note: When using the script launcher utility on a specific device and related COM port, please make sure that the
expected serial baud rate is properly set through the option -b:
• BlueNRG-LP, BlueNRG-LPS serial baud rate: 921600 (default configuration)
• All other devices, serial baud rate: 115200
Option to get the list of all available COMx ports (devices are connected to the PC USB)
C:\Users\UserName\ST\BlueNRG GUI x.x.x\Application> BlueNRG_Script_Launcher.exe -g
List of available COM ports:
• COM7 (ST DK)
4 References
5 List of acronyms
Term Meaning
Revision history
Table 10. Document revision history
Contents
1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.1 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 BlueNRG GUI SW package setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 BlueNRG GUI SW package structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 GUI software description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 BlueNRG-MS network coprocessors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 BlueNRG-1 and BlueNRG-2 network coprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3 The BlueNRG-LP, BlueNRG-LPS network coprocessors. . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 The BlueNRG graphical user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 GUI main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 GUI ACI utility window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 GUI script window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.5 GUI Beacon window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.6 GUI RF test window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.7 GUI RF throughput window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Script launcher utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
3.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Script launcher utility options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
5 List of acronyms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
List of tables
Table 1. GUI ACI utilities window: available general operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 2. GUI ACI utility window: available central operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 3. GUI ACI utility window: available peripheral operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 4. GUI script window: utility commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 5. WAIT_EVENT macro-command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 6. Event codes with relative event parameter types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 7. BlueNRG GUI Beacon window configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 8. Reference information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 9. List of acronyms used in this document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 10. Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
List of figures
Figure 1. BlueNRG GUI main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 2. Command packet table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 3. Packet history and details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 4. Raw packet dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 5. BlueNRG GUI IFR/device configuration tool: view/edit view for the BlueNRG-MS device . . . . . . . . . . . . . . . . 10
Figure 6. Device configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 7. BlueNRG GUI ACI utility window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 8. BlueNRG GUI script window section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 9. BlueNRG GUI Beacon window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figure 10. GUI RF test: start a tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 11. GUI RF test: transmitter and receiver sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 12. GUI RF test, PER test: TX device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 13. GUI RF Test, PER test: RX device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 14. GUI RF Test, PER test: Send 1000 packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 15. GUI RF Test, PER test: Receive 1000 packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 16. BlueNRG GUI RF throughput window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 17. BlueNRG GUI RF throughput unidirectional, slave sends data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 18. BlueNRG GUI RF throughput unidirectional, master receives data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 19. BlueNRG GUI RF throughput unidirectional:slave receives data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 20. BlueNRG GUI RF throughput unidirectional:master sends data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 21. BlueNRG GUI RF throughput bidirectional:slave sends data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 22. BlueNRG GUI RF throughput bidirectional:master sends data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 23. Script launcher: run a script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 24. Script launcher: run a script with log data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36