Кіраўніцтва карыстальніка праграмнага забеспячэння для пашырэння датчыкаў і алгарытмаў руху ST X-CUBE-MEMS1

Пашырэнне праграмнага забеспячэння для датчыкаў і алгарытмаў руху X-CUBE-MEMS1

Інфармацыя аб прадукце

Тэхнічныя характарыстыкі

  • Product Name: MotionPW Real-time Pedometer
  • Сумяшчальнасць: пашырэнне X-CUBE-MEMS1 для STM32Cube
  • Вытворца: STMicroelectronics
  • Library: MotionPW Middleware Library
  • Data Acquisition: Accelerometer
  • SampЛінг Частата: 50 Гц

Інструкцыя па ўжыванні прадукту

Скончанаview

The MotionPW library expands the functionality of the
X-CUBE-MEMS1 software by acquiring data from the accelerometer to
provide information about the number of steps and cadence performed
with the wearable device.

Сумяшчальнасць

The library is designed for ST MEMS sensors only. Using other
MEMS sensors may result in different functionality and
прадукцыйнасць.

Рэалізацыя

А сample рэалізацыя даступная для X-NUCLEO-IKS4A1 і
X-NUCLEO-IKS01A3 expansion boards mounted on specified development
дошкі.

Тэхнічная інфармацыя

For detailed functions and parameters of the MotionPW APIs,
refer to the MotionPW_Package.chm compiled HTML file размешчаны ў в
Documentation folder.

API

  • MotionPW_GetLibVersion(char *version)
  • MotionPW_Initialize(void)
  • MotionPW_Update(MPW_input_t *data_in, MPW_output_t
    *data_out)
  • MotionPW_ResetPedometerLibrary(void)
  • MotionPW_ResetStepCount(void)
  • MotionPW_UpdateEnergyThreshold(float *energy_threshold)

Часта задаюць пытанні (FAQ)

Q: Can I use MotionPW library with non-ST MEMS sensors?

A: The library is designed for ST MEMS sensors only.
Compatibility with other MEMS sensors is not guaranteed.

Q: Якія неабходныя даныя акселерометра?ampлінг
частата?

A: Патрабуецца sampling frequency is 50 Hz for accurate
detection of steps and cadence.

Q: How do I initialize the MotionPW library?

A: Call the MotionPW_Initialize() function before using the
fitness activity library. Ensure the CRC module in the STM32
microcontroller is enabled.

“`

UM2350
Кіраўніцтва карыстальніка
Getting started with MotionPW real-time pedometer for wrist library in X-CUBEMEMS1 expansion for STM32Cube
Уводзіны
The MotionPW middleware library is part of the X-CUBE-MEMS1 software and runs on STM32 Nucleo. It provides real-time information about the number of steps and cadence which the user just performed with the wearable device (e.g. a smart watch). This library is intended to work with ST MEMS only. The algorithm is provided in static library format and is designed to be used on STM32 microcontrollers based on the ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4, ARM® Cortex®-M7 architecture. It is built on top of STM32Cube software technology to ease portability across different STM32 microcontrollers. The software comes with sample рэалізацыя працуе на плаце пашырэння X-NUCLEO-IKS4A1 або X-NUCLEO-IKS01A3 на плаце распрацоўкі NUCLEO-F401RE, NUCLEO-U575ZI-Q або NUCLEO-L152RE.

UM2350 – Версія 4 – май 2025 г. Для атрымання дадатковай інфармацыі звярніцеся ў мясцовы офіс продажаў STMicroelectronics.

www.st.com

UM2350
Абрэвіятуры і абрэвіятуры

1

Абрэвіятуры і абрэвіятуры

Абрэвіятура API BSP GUI HAL IDE

Табліца 1. Спіс абрэвіятур

Інтэрфейс прыкладнога праграмавання Пакет падтрымкі платы Графічны інтэрфейс карыстальніка Узровень апаратнай абстракцыі Інтэграванае асяроддзе распрацоўкі

Апісанне

UM2350 - Rev 4

старонка 2/16

2
2.1 2.2
2.2.1
2.2.2
Заўвага:

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

MotionPW overview
The MotionPW library expands the functionality of the X-CUBE-MEMS1 software.
The library acquires data from the accelerometer and provides information about the number of steps and cadence the user just performed with the wearable device.
Бібліятэка прызначана толькі для ST MEMS. Функцыянальнасць і прадукцыйнасць пры выкарыстанні іншых датчыкаў MEMS не аналізуюцца і могуць значна адрознівацца ад апісаных у дакуменце.
А сample implementation is available for X-NUCLEO-IKS4A1 and X-NUCLEO-IKS01A3 expansion boards, mounted on aNUCLEO-F401RE, NUCLEO-U575ZI-Q or NUCLEO-L152RE development board.

MotionPW library
Technical information fully describing the functions and parameters of the MotionPW APIs can be found in the MotionPW_Package.chm compiled HTML file знаходзіцца ў тэчцы Дакументацыя.

MotionPW library description

The MotionPW pedometer library manages the data acquired from the accelerometer; it features:

·

possibility of detecting the number of steps, cadence and confidence

·

распазнаванне толькі па дадзеных акселерометра

·

неабходныя даныя акселерометраampчастата лінга 50 Гц

·

патрабаванні да рэсурсаў:

Cortex-M3: 3.7 КБ кода і 1.8 КБ памяці для даных

Cortex-M33: 3.5 КБ кода і 1.8 КБ памяці для даных

Cortex-M4: 3.5 КБ кода і 1.8 КБ памяці для даных

Cortex-M7: 3.6 КБ кода і 1.8 КБ памяці для даных

·

даступна для ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 і ARM® Cortex®-M7

архітэктуры

MotionPW APIs

The MotionPW library APIs are:

·

uint8_t MotionPW_GetLibVersion(char *version)

атрымлівае версію бібліятэкі

*версія — гэта ўказальнік на масіў з 35 сімвалаў

вяртае колькасць сімвалаў у радку версіі

·

void MotionPW_Initialize(void)

­ performs MotionPW library initialization and setup of the internal mechanism including the dynamic memory allocation

This function must be called before using the fitness activity library and the CRC module in the STM32 microcontroller (in RCC peripheral clock enable register) has to be enabled.

UM2350 - Rev 4

старонка 3/16

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

·

void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)

­ executes pedometer for wrist algorithm

Параметр *data_in - паказальнік на структуру з уваходнымі дадзенымі

­ the parameters for the structure type MPW_input_t are:

AccX - гэта значэнне датчыка акселерометра па восі X у g

AccY - гэта значэнне датчыка акселерометра па восі Y у g

AccZ - гэта значэнне датчыка акселерометра па восі Z у g

­ CurrentActivity is the enumerated input type MPW_activity_t with the following values:

MPW_UNKNOWN_ACTIVITY = 0x00

MPW_WALKING = 0x01

MPW_FASTWALKING = 0x02

MPW_JOGGING = 0x03

­ *data_out parameter is a pointer to a structure with output data

­ the parameters for the structure type MPW_output_t are:

Nsteps is number of steps performed by user

Cadence is the cadence of user steps

Confidence is the confidence of calculated output parameter

·

void MotionPW_ResetPedometerLibrary(void)

­ resets the library internal variables and mechanism into default values (including current step count)

·

void MotionPW_ResetStepCount(void)

­ resets the current step count

·

void MotionPW_UpdateEnergyThreshold(float *energy_threshold)

­ updated energy threshold to fine tune step detection algorithm

­ *energy_threshold parameter is a pointer to energy threshold value

UM2350 - Rev 4

старонка 4/16

2.2.3

Блок-схема API

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Figure 1. MotionPW API logic sequence
Пачаць
Ініцыялізаваць
GetLibVersion
Перапыненне чытання дадзеных таймера чакання

Абнаўленне дадзеных акселерометра для чытання
Get Outputs

2.2.4

Demo code The following demonstration code example reads data from the accelerometer sensor, obtains the current activity from MotionAW library and gets the number of steps, cadence and confidence from MotionPW library.
[…] #define VERSION_STR_LENG 35 […] /* Initialization */ char lib_version[VERSION_STR_LENG];
/* Pedometer API initialization function */ MotionPW_Initialize();
/* Activity recognition API initialization function */ MotionAW_Initialize();
/* Optional: Get version */ MotionPW_GetLibVersion(lib_version);
[…] /* Using Pedometer for wrist algorithm */ Timer_OR_DataRate_Interrupt_Handler() {
MPW_input_t MPW_data_in; MPW_output_t MPW_data_out;

UM2350 - Rev 4

старонка 5/16

2.2.5

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
MAW_input_t MAW_data_in; MAW_output_t MAW_data_out;
/* Get acceleration X/Y/Z in g */ MEMS_Read_AccValue(&MAW_data_in.Acc_X, &MAW_data_in.Acc_Y, &MAW_data_in.Acc_Z);
/* Get current activity */ MotionAW_Update(&MAW_data_in, &MAW_data_out, Timestamp);
MPW_data_in.Acc_X = MAW_data_in.Acc_X; MPW_data_in.Acc_Y = MAW_data_in.Acc_Y; MPW_data_in.Acc_Z = MAW_data_in.Acc_Z;
if (MAW_data_out.current_activity == MAW_WALKING) {
MPW_data_in.currentActivity = MPW_WALKING; } else if (MAW_data_out.current_activity == MAW_FASTWALKING) {
MPW_data_in.currentActivity = MPW_FASTWALKING; } else if (MAW_data_out.current_activity == MAW_JOGGING) {
MPW_data_in.currentActivity = MPW_JOGGING; } else {
MPW_data_in.currentActivity = MPW_UNKNOWN_ACTIVITY; }
/* Run pedometer for wrist algorithm */ MotionPW_Update(&MPW_data_in, &MPW_data_out); }
Algorithm performance The pedometer for wrist algorithm uses data from the accelerometer only and runs at a low frequency (50 Hz) to reduce power consumption. When replicating fitness activity with the STM32 Nucleo board, ensure the board is oriented perpendicularly to the forearm, to simulate the wristband position.
Figure 2. Orientation system for wrist-worn devices

Табліца 2. Час выканання алгарытму (мкс) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE на 84 МГц

Мін

сярэдні

Макс

38

49

616

Cortex-M3 STM32L152RE на 32 МГц

Мін

сярэдні

Макс

296

390

3314

UM2350 - Rev 4

старонка 6/16

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

Табліца 3. Час выканання алгарытму (мкс) Cortex-M33 і Cortex-M7

Cortex- M33 STM32U575ZI-Q на 160 МГц

Мін

сярэдні

Макс

57

63

359

Cortex- M7 STM32F767ZI на 96 МГц

Мін

сярэдні

Макс

61

88

1301

2.3

Sampпрыкладанне

The MotionPW middleware can be easily manipulated to build user applications.

А сampГэта праграма знаходзіцца ў тэчцы Application. Яна прызначана для працы на макетнай плаце NUCLEO-F401RE, NUCLEOU575ZI-Q або NUCLEO-L152RE, падлучанай да платы пашырэння X-NUCLEO-IKS4A1 або X-NUCLEO-IKS01A3.

The application recognizes the steps, cadence and confidence in real-time. The data can be displayed through a GUI.

Малюнак 3. STM32 Nucleo: святлодыёды, кнопка, перамычка

На малюнку вышэй паказана карыстацкая кнопка B1 і тры святлодыёда платы NUCLEO-F401RE. Пасля ўключэння платы святлодыёд LD3 (PWR) загараецца.
A USB cable connection is required to monitor real-time data. The board is powered by the PC via USB connection. This working mode allows the user to display detected steps, cadence and confidence, accelerometer data, time stamp і, у рэшце рэшт, іншыя даныя датчыкаў у рэжыме рэальнага часу з дапамогай MEMS-Studio.

2.4

Прыкладанне MEMS Studio

У ыampДадатак le выкарыстоўвае прыкладанне MEMS-Studio, якое можна загрузіць з www.st.com.

Крок 1. Пераканайцеся, што неабходныя драйверы ўсталяваны і плата STM32 Nucleo з адпаведнай платай пашырэння падключана да ПК.

UM2350 - Rev 4

старонка 7/16

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

Крок 2.

Запусціце праграму MEMS-Studio, каб адкрыць галоўнае акно праграмы.
Калі плата STM32 Nucleo з падтрымліваемым прашыўкай падключана да ПК, яна вызначаецца аўтаматычна. Націсніце кнопку [Connect], каб усталяваць злучэнне з ацэначнай платай.

Малюнак 4. MEMS-Studio – Connect

Крок 3. Пры падключэнні да платы STM32 Nucleo з падтрымліваемым прашыўкай адкрываецца ўкладка [Library Evaluation].

Каб пачаць і спыніць струменевую перадачу даных, пераключыце адпаведную вертыкальную панэль інструментаў [Пуск].

або кнопку [Стоп] на вонкавым боку

Дадзеныя, якія паступаюць з падлучанага датчыка, могуць быць viewвыбраўшы ўкладку [Табліца даных] на ўнутранай вертыкальнай панэлі інструментаў.

Малюнак 5. MEMS-Studio – Ацэнка бібліятэкі – Табліца даных

UM2350 - Rev 4

старонка 8/16

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Step 4. Click on the [Pedometer] to open the dedicated application window. Figure 6. MEMS-Studio – Library Evaluation – Pedometer

Крок 5.

Націсніце кнопку [Захаваць у File] to open the dataloging configuration window. Select the sensor and pedometer data to be saved in the file. Вы можаце пачаць або спыніць захаванне, націснуўшы на адпаведны
кнопка.

Малюнак 7. MEMS-Studio – Ацэнка бібліятэкі – Захаваць у File

UM2350 - Rev 4

старонка 9/16

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube

Крок 6.

Рэжым ін'екцыі даных можна выкарыстоўваць для адпраўкі раней атрыманых даных у бібліятэку і атрымання
вынік. Абярыце ўкладку [Увядзенне даных] на вертыкальнай панэлі інструментаў, каб адкрыць спецыяльную view для гэтай функцыі.

Малюнак 8. MEMS-Studio – Ацэнка бібліятэкі – Увядзенне даных

Крок 7.

Націсніце на кнопку [Агляд], каб выбраць file з раней атрыманымі дадзенымі ў фармаце CSV. Дадзеныя будуць загружаны ў табліцу ў бягучым view. Іншыя кнопкі стануць актыўнымі. Вы можаце націснуць на:
Кнопка [Аўтаномны рэжым] для ўключэння/выключэння аўтаномнага рэжыму прашыўкі (рэжым з выкарыстаннем раней атрыманых дадзеных).
Кнопкі [Пуск]/[Стоп]/[Крок]/[Паўтарыць] для кіравання падачай даных з MEMS-Studio ў бібліятэку.

UM2350 - Rev 4

старонка 10/16

UM2350
Спасылкі

3

Спасылкі

Усе наступныя рэсурсы знаходзяцца ў вольным доступе на www.st.com. 1. UM1859: Пачатак працы з MEMS руху X-CUBE-MEMS1 і праграмным забеспячэннем датчыка навакольнага асяроддзя
пашырэнне для STM32Cube 2. UM1724: платы STM32 Nucleo-64 (MB1136) 3. UM3233: Пачатак працы з MEMS-Studio

UM2350 - Rev 4

старонка 11/16

UM2350

Гісторыя версій

Табліца 4. Гісторыя рэдагавання дакумента

Дата

Змены версіі

24-Jan-2018 1 Initial release.

21-Mar-2018 2 Updated Introduction and Section 2.1 MotionPW overview. Updated Section 2.2.5: Algorithm performance and Figure 3. STM32 Nucleo: LEDs, button, jumper.
20-Feb-2019 3 Added X-NUCLEO-IKS01A3 expansion board compatibility information.

Updated Section Introduction, Section 2.1: MotionPW overview, Section 2.2.1: MotionPW library 20-May-2025 4 description, Section 2.2.2: MotionPW APIs, Section 2.2.4: Demo code, Section 2.2.5: Algorithm
спектакль, Раздзел 2.3: Сample дадатак, Раздзел 2.4: Прыкладанне MEMS Studio

UM2350 - Rev 4

старонка 12/16

UM2350
Змест
Змест
1 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 MotionPW middleware library in X-CUBE-MEMS1 software expansion for
STM32Cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 2.1 MotionPW overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 MotionPW library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 MotionPW library description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 MotionPW APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.3 API flow chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Demo code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.5 Algorithm performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Sampпрымяненне. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Прыкладанне MEMS Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Літаратура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Гісторыя версій . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

UM2350 - Rev 4

старонка 13/16

UM2350
Спіс табліц

Спіс табліц

Табліца 1. Табліца 2. Табліца 3. Табліца 4.

Спіс абрэвіятур. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Час выканання алгарытму (мкс) Cortex-M4, Cortex-M3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Час выканання алгарытму (мкс) Cortex-M33 і Cortex-M7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Гісторыя версій дакумента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

UM2350 - Rev 4

старонка 14/16

UM2350
Спіс фігур

Спіс фігур

Малюнак 1. Малюнак 2. Малюнак 3. Малюнак 4. Малюнак 5. Малюнак 6. Малюнак 7. Малюнак 8.

MotionPW API logic sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Orientation system for wrist-worn devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 STM32 Nucleo: LEDs, button, jumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MEMS-Studio – Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 MEMS-Studio – Library Evaluation – Data Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 MEMS-Studio – Library Evaluation – Pedometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Library Evaluation – Save To File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MEMS-Studio – Library Evaluation – Data Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

UM2350 - Rev 4

старонка 15/16

UM2350
ВАЖНАЯ ЗАЎВАГА. УВАЖНА ПРАЧЫТАЙЦЕ STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя ST прадаецца ў адпаведнасці з умовамі продажу ST, якія дзейнічаюць на момант пацвярджэння замовы. Пакупнікі нясуць поўную адказнасць за выбар, выбар і выкарыстанне прадуктаў ST, і ST не нясе адказнасці за дапамогу ў прымяненні або дызайн прадуктаў пакупнікоў. ST тут не прадастаўляе ніякіх ліцэнзій, відавочных або пэўных, на права інтэлектуальнай уласнасці. Перапродаж прадуктаў ST з умовамі, адрознымі ад інфармацыі, выкладзенай у гэтым дакуменце, прыводзіць да анулявання любой гарантыі, прадастаўленай ST на такі прадукт. ST і лагатып ST з'яўляюцца гандлёвымі маркамі ST. Для атрымання дадатковай інфармацыі аб гандлёвых марках ST звярніцеся на www.st.com/trademarks. Усе іншыя назвы прадуктаў і паслуг з'яўляюцца ўласнасцю іх адпаведных уладальнікаў. Інфармацыя ў гэтым дакуменце замяняе інфармацыю, якая была прадстаўлена ў папярэдніх версіях гэтага дакумента.
© STMicroelectronics, 2025. Усе правы абаронены

UM2350 - Rev 4

старонка 16/16

Дакументы / Рэсурсы

ST X-CUBE-MEMS1 Sensor and Motion Algorithm Software Expansion [pdfКіраўніцтва карыстальніка
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Sensor and Motion Algorithm Software Expansion, X-CUBE-MEMS1, Sensor and Motion Algorithm Software Expansion, Motion Algorithm Software Expansion, Algorithm Software Expansion, Software Expansion

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *