User's Manual

STDK-STILECS01V1
BLUEMICROSYSTEM2 software description
DocID029208 Rev 2
9/37
initializes the BLE SW service adding the osx.MotionFX, osx.MotionAR,
osx.MotionCP, osx.MotionGR and osx.AcousticSL libraries.
initializes the BLE console service adding the stdin/stdout and stderr characteristics
initializes the BLE config service transmitting/resetting the calibration status and
enabling the LSM6DS3 DIL24 hardware features (if present).
checks whether the LSM6DS3 DIL24 extension is present.
Checks whether all the sensors are present and working.
controls whether the osxMotionFX, osxMotionAR, osxMotionCP, osxMotionGR and
osxAcousticSL libraries have been initialized properly with valid licenses.
determines which BlueNRG expansion board is connected to the STM32 Nucleo
board (X-NUCLEO-IDB04A1 or X-NUCLEO-IDB05A1) and hardware and firmware
version information.
If the LSM6DS3 DIL24 extension is present, the system is able also to understand a free
fall situation because the DS3 generates one interrupts when there is free fall situation.
This situations is transmitted over Bluetooth to the attached Android™/iOS™ device.
Figure 4: Initialization phase
As shown in the console output above, the application sends:
3 short precision quaternions every 30ms
Temperature/Humidity/Pressure data every 500ms
3D Accelerometer, 3D Gyroscope and 3D Magnetometer data every 50ms
signal noise microphone levels every 50ms
This application reads the accelerometer, magnetometer and gyroscope values at 100
samples/second. The osxMotionFX (iNEMOEngine PRO) library combines these sensor
values to produce and transmit 100 quaternions/second to the client connected via
Bluetooth low energy to reflect real motion using a vendor-specific BLE service.