| BlueNRG-1 DK: BLE examples

- Main Page
- Modules
- Files

- File List

SensorDemo_main.c File Reference

This application contains an example which shows how implementing a proprietary Bluetooth Low Energy profile: the sensor profile. It also provides a reference example about how using the BLE Over-The-Air (OTA) firmware upgrade capability with the BLE Sensor Demo. More...

Go to the source code of this file.

## Detailed Description

This application contains an example which shows how implementing a proprietary Bluetooth Low Energy profile: the sensor profile. It also provides a reference example about how using the BLE Over-The-Air (OTA) firmware upgrade capability with the BLE Sensor Demo.

# ATOLLIC project

To use the project with ATOLLIC TrueSTUDIO for ARM, please follow the instructions below:

1. Open the ATOLLIC TrueSTUDIO for ARM and select File->Import... Project menu.
2. Select Existing Projects into Workspace.
3. Select the ATOLLIC project
4. Select desired configuration to build from Project->Manage Configurations
5. Select Project->Rebuild Project. This will recompile and link the entire application
6. To download the binary image, please connect STLink to JTAG connector in your board (if available).
7. Select Project->Download to download the related binary image.
8. Alternatively, open the BlueNRG1 GUI, put the board in bootloader mode and download the built binary image.

# KEIL project

To use the project with KEIL uVision 5 for ARM, please follow the instructions below:

1. Open the KEIL uVision 5 for ARM and select Project->Open Project menu.
2. Open the KEIL project `...\Project\BLE_Examples\SensorDemo\MDK-ARM\SensorDemo.uvprojx`
3. Select desired configuration to build
4. Select Project->Rebuild all target files. This will recompile and link the entire application
5. To download the binary image, please connect STLink to JTAG connector in your board (if available).
6. Select Project->Download to download the related binary image.
7. Alternatively, open the BlueNRG1 GUI, put the board in bootloader mode and download the built binary image.

# IAR project

To use the project with IAR Embedded Workbench for ARM, please follow the instructions below:

1. Open the Embedded Workbench for ARM and select File->Open->Workspace menu.
2. Open the IAR project `...\Project\BLE_Examples\SensorDemo\EWARM\SensorDemo.eww`
3. Select desired configuration to build
4. Select Project->Rebuild All. This will recompile and link the entire application
5. To download the binary image, please connect STLink to JTAG connector in your board (if available).
6. Select Project->Download and Debug to download the related binary image.
7. Alternatively, open the BlueNRG1 GUI, put the board in bootloader mode and download the built binary image.

## Project configurations

- `HigherApp_OTA` - Release configuration for Higher Application with OTA Service
- `LowerApp_OTA` - Release configuration for Lower Application with OTA Service
- `Release` - Release configuration
- `Use_OTA_ServiceManager` - Release configuration for Application using OTA Service Manager

# Boards supported

- `STEVAL-IDB007V1`

# Power configuration settings

STEVAL-IDB007V1
Jumper name |  | Description
JP1 | JP2 |
ON 1-2 | ON 2-3 | USB supply power
ON 2-3 | ON 1-2 | The supply voltage must be provided through battery pins.
ON 1-2 |  | USB supply power to STM32L1, JP2 pin 2 external power to BlueNRG1

# Jumper settings

STEVAL-IDB007V1
Jumper name | Description
JP1 | 1-2: to provide power from USB (JP2:2-3). 2-3: to provide power from battery holder (JP2:1-2)
JP2 | 1-2: to provide power from battery holder (JP1:2-3). 2-3: to provide power from USB (JP1:1-2). Pin2 to VDD to provide external power supply to BlueNRG-1 (JP1: 1-2)
JP3 | pin 1 and 2 UART RX and TX of MCU. pin 3 GND.
JP4 | Fitted: to provide VBLUE to BlueNRG1. It can be used also for current measurement.
JP5 | Fitted : TEST pin to VBLUE. Not fitted: TEST pin to GND

# Pin settings

| Release | HigherApp_OTA | Use_OTA_ServiceManager | LowerApp_OTA
PIN name | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1
ADC1 | Not Used | Not Used | Not Used | Not Used
ADC2 | Not Used | Not Used | Not Used | Not Used
IO0 | Not Used | Not Used | Not Used | Not Used
IO1 | Not Used | Not Used | Not Used | Not Used
IO11 | Not Used | Not Used | Not Used | Not Used
IO12 | Not Used | Not Used | Not Used | Not Used
IO13 | Not Used | Not Used | Not Used | Not Used
IO14 | Not Used | Not Used | Not Used | Not Used
IO2 | Not Used | Not Used | Not Used | Not Used
IO3 | Not Used | Not Used | Not Used | Not Used
IO4 | Not Used | Not Used | Not Used | Not Used
IO5 | Not Used | Not Used | Not Used | Not Used
IO6 | Not Used | Not Used | Not Used | Not Used
IO7 | Not Used | Not Used | Not Used | Not Used
IO8 | Not Used | Not Used | Not Used | Not Used
TEST1 | Not Used | Not Used | Not Used | Not Used

# Serial I/O

Parameter name | Value | Unit
Baudrate | 115200 [default] | bit/sec
Data bits | 8 | bit
Parity | None | bit
Stop bits | 1 | bit

# LEDs description

| Release | HigherApp_OTA | Use_OTA_ServiceManager | LowerApp_OTA
LED name | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1
DL1 | Activity led | Not Used | Not Used | Not Used
DL2 | Not Used | Not Used | Not Used | Not Used
DL3 | Error led | ON when OTA firmware upgrade is ongoing | ON when OTA firmware upgrade is ongoing | ON when OTA firmware upgrade is ongoing
DL4 | Not Used | Not Used | Not Used | Not Used

# Buttons description

| Release | HigherApp_OTA | Use_OTA_ServiceManager | LowerApp_OTA
BUTTON name | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1 | STEVAL-IDB007V1
PUSH1 | Not Used | Not Used | Jump to OTA Service manager | Not Used
PUSH2 | Not Used | Not Used | Not Used | Not Used
RESET | Reset BlueNRG1 | Reset BlueNRG1 | Reset BlueNRG1 | Reset BlueNRG1

# Usage

This profile exposes two services:

- acceleration service
- environmental service.

Acceleration service exposes these characteristics:

- free-fall characteristic (read & notify properties ). The application will send a notification on this characteristic if a free-fall condition has been detected by the MEMS sensor (the condition is detected if the acceleration on the 3 axes is near zero for a certain amount of time).
- acceleration characteristic measured by the accelerometer (read & notify properties). The value is made up of six bytes. Each couple of bytes contains the acceleration on one of the 3 axes. The values are given in mg.

Environmental service exposes these characteristics:

- temperature, pressure characteristics (read property). For each characteristic, a characteristic format descriptor is present to describe the type of data contained inside the characteristic.

NOTEs:

- Setting the preprocessor option SENSOR_EMULATION=1, the sensor demo is built for using emulated values for acceleration and environmental sensors values.
- OTA service support for lower or higher application is enabled, respectively, through ST_OTA_LOWER_APPLICATION=1 or ST_OTA_HIGHER_APPLICATION=1 (preprocessor, linker) options and files: OTA_btl.[ch] (refer to LowerApp_OTA and HigherApp_OTA IAR workspaces).
- OTA service manager support is enabled, respectively, through ST_USE_OTA_SERVICE_MANAGER_APPLICATION (preprocessor, linker) options and files: OTA_btl.[ch] (refer to Use_OTA_ServiceManager IAR workspace).

Definition in file SensorDemo_main.c.