| BlueNRG-1 DK: BLE examples

- Main Page
- Modules
- Files

- File List

main.c File Reference

This application contains an example which shows how implementing a device that uses the standard HID/HOGP Bluetooth Low Energy application profile. The device implemented to demo are keyboard and mouse. More...

Go to the source code of this file.

## Detailed Description

This application contains an example which shows how implementing a device that uses the standard HID/HOGP Bluetooth Low Energy application profile. The device implemented to demo are keyboard and mouse.

# 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\HID_Peripheral\MDK-ARM\HID_Peripheral.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\HID_Peripheral\EWARM\HID_Peripheral.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

- `HID_Keyboard` - HID Keyboard device implementation
- `HID_Mouse` - HID Mouse device implementation

# 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

| HID_Keyboard | HID_Mouse
PIN name | STEVAL-IDB007V1 | STEVAL-IDB007V1
ADC1 | Not Used | Not Used
ADC2 | Not Used | Not Used
IO0 | Not Used | Not Used
IO1 | Not Used | Not Used
IO11 | Not Used | Not Used
IO12 | Not Used | Not Used
IO13 | Not Used | Not Used
IO14 | Not Used | Not Used
IO2 | Not Used | Not Used
IO3 | Not Used | Not Used
IO4 | Not Used | Not Used
IO5 | Not Used | Not Used
IO6 | Not Used | Not Used
IO7 | Not Used | Not Used
IO8 | Not Used | Not Used
TEST1 | 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

| HID_Keyboard | HID_Mouse
LED name | STEVAL-IDB007V1 | STEVAL-IDB007V1
DL1 | Not Used | Not Used
DL2 | Not Used | Not Used
DL3 | Not Used | Not Used
DL4 | Not Used | Not Used

# Buttons description

| HID_Keyboard | HID_Mouse
BUTTON name | STEVAL-IDB007V1 | STEVAL-IDB007V1
PUSH1 | Not Used | Left mouse button and exit from deep sleep
PUSH2 | Not Used | Right mouse button
RESET | Reset BlueNRG1 | Reset BlueNRG1

# Usage

This application shows how to use the BlueNRG-1 HID/HOGP BLE application profile released. Two HID devices implemented are:

- HID Mouse: This demo FW implements a basic HID mouse with two buttons compliant with the standard HID/HOGP BLE application profile. At the first reset, the BlueNRG-1 starts an autoclaibration of the gyroscope for a few sec. During the autocalibration the evaluation board shall be put on a table. During the autocalibraiton the LED DL1 will blink, at the end of the autocalibration procedure the LED DL1 will be OFF and the evaluation board is ready to use. The HID device is visible from the central devices with the name "STMouse". The mouse movement are provided by the 3D accelerometer and 3D gyroscope on the BlueNRG-1 evaluation board. The left button is the "PUSH1" button on the evaluation board. The right button is the "PUSH2" button on the evaluation board. If the mouse is not used for 2 minutes, it closes the connection and enters in deep sleep. This idle connection timeout can be changed from the application. To exit from deep sleep press the "PUSH1" button (left button) or reset the board.
- HID Keyboard: This demo FW implements a basic HID qwerty keyboard compliant with the standard HID/HOGP BLE application profile. The HID device is visible from the central devices with the name "STKeyboard". To finish the bonding and pairing procedure with success insert the PIN: 123456 To use the HID keyboard you need to connect the BlueNRG-1 evaluation board to a USB port of a PC, open an Hyperterminal using the configuration shows in the Serial I/O table and start to use the PC keyboard. Puts the cursor focus on the Hyperterminal window. On the Hyperterminal will be shown the keys that will be send to the central device using the HID/HOGP BLE application profile. If the keyboard is not used for 2 minutes, it closes the connection and enters in deep sleep. This idle connection timeout can be changed from the application. To exit from deep sleep press any key on the keyboard or reset the board.

Definition in file main.c.