1.2.3
Folder structure
Figure 12.
STSW-BLUEMIC-1 folder structure
The following folders are included in the software package:
•
Binary
: contains ready-to-use firmware binary to be flashed on the
STEVAL-BLUEMIC-1
evaluation board
•
Documentation
: contains a compiled HTML file generated from the source code detailing the software
components and APIs
•
Drivers
: contains the board specific drivers including the on-board components
•
Library
: contains the Bluetooth low energy stack binary library, the CMSIS vendor-independent hardware
abstraction layer for the ARM
®
Cortex
®
-M processor series, and BlueNRG-1 peripheral drivers
•
Middlewares
: contains the BlueVoice over BlueNRG-1 library
•
Projects
: contains demo applications for voice transmission over Bluetooth Low Energy. The projects
support IAR Embedded Workbench for ARM, RealView Microcontroller Development Kit (MDK-ARM) and
Atollic-True Studio for ARM development environments
1.2.4
APIs
Fully detailed user-API function and parameter descriptions are compiled in an HTML file located in the software
Documentation
folder.
1.2.5
BlueMic1 application
The BlueMic1 application has been designed and built on the Bluetooth low energy architecture.
1.2.5.1
BlueMic1 profile description
The BlueMic1 application deploys a connection-based communication paradigm by providing a permanent point-
to-point link between two devices, one acting as peripheral and one as central (Generic Access Profile or GAP).
The
STEVAL-BLUEMIC-1
evaluation board acts as a peripheral device supporting a single connection and low
complexity. This device only requires a controller that supports the slave role.
The central module can be an Android™ and iOS™ device running the ST BlueMS app (v3.0.0 or higher) or a FP-
AUD-BVLINK1 receiver node.
The central and peripheral role assignment reflects the asymmetric design concept of Bluetooth Low Energy,
where the device with a lower energy source works less: a slave cannot initiate complex procedures, whereas a
master manages communication timing, adaptive frequency hopping, encryption setup, etc. A portable device
provided with a coin-size battery is usually suitable as slave device.
Data sent through a Bluetooth Low Energy connection is organized through an additional protocol layer, the
Generic Attribute Profile (GATT). It provides standard profiles to ensure interoperability between devices from
different vendors that implement features like Proximity Profile, Glucose Profile and Health Thermometer Profile.
The Bluetooth specification also lets you add custom profiles.
GATT defines client and server roles for interacting devices independent of the GAP master/central and slave/
peripheral roles:
•
Client
performs service discovery about the presence and nature of server attributes; it sends requests to a
server and accepts responses and server-initiated updates.
•
Server
accepts requests, commands and confirmations from a client and sends responses and server-
initiated updates; it arranges and stores data according to the attribute (ATT) protocol.
UM2257
Software description
UM2257
-
Rev 2
page 8/35