Používateľská príručka k softvérovému rozšíreniu senzora a algoritmu pohybu ST X-CUBE-MEMS1

Rozšírenie softvéru pre senzory a algoritmy pohybu X-CUBE-MEMS1

Informácie o produkte

Špecifikácie

  • Product Name: MotionPW Real-time Pedometer
  • Kompatibilita: rozšírenie X-CUBE-MEMS1 pre STM32Cube
  • Výrobca: STMicroelectronics
  • Library: MotionPW Middleware Library
  • Data Acquisition: Accelerometer
  • Sampling Frekvencia: 50 Hz

Návod na použitie produktu

Koniecview

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.

Kompatibilita

The library is designed for ST MEMS sensors only. Using other
MEMS sensors may result in different functionality and
výkon.

Implementácia

Spoločnosť A sampImplementácia súboru je dostupná pre X-NUCLEO-IKS4A1 a
X-NUCLEO-IKS01A3 expansion boards mounted on specified development
dosky.

Technické informácie

For detailed functions and parameters of the MotionPW APIs,
refer to the MotionPW_Package.chm compiled HTML file nachádza v
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)

Často kladené otázky (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.

Otázka: Aké sú požadované údaje z akcelerometra sampling
frekvencia?

A: Požadovaná 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
Návod na použitie
Getting started with MotionPW real-time pedometer for wrist library in X-CUBEMEMS1 expansion for STM32Cube
Úvod
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 sampImplementácia beží na rozširujúcej doske X-NUCLEO-IKS4A1 alebo X-NUCLEO-IKS01A3 na vývojovej doske NUCLEO-F401RE, NUCLEO-U575ZI-Q alebo NUCLEO-L152RE.

UM2350 – Rev 4 – máj 2025 Ďalšie informácie získate od miestnej predajne spoločnosti STMicroelectronics.

www.st.com

UM2350
Skratky a skratky

1

Skratky a skratky

Skratka API BSP GUI HAL IDE

Tabuľka 1. Zoznam akronymov

Aplikačné programové rozhranie Balík podpory dosky Grafické používateľské rozhranie Hardvérová abstrakcia Integrované vývojové prostredie

Popis

UM2350 – Rev 4

strana 2/16

2
2.1 2.2
2.2.1
2.2.2
Poznámka:

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.
Knižnica je určená len pre ST MEMS. Funkčnosť a výkon pri použití iných MEMS senzorov nie sú analyzované a môžu sa výrazne líšiť od toho, čo je opísané v dokumente.
Spoločnosť A sample 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 nachádza v priečinku Dokumentácia.

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

·

rozpoznávanie len na základe údajov akcelerometra

·

požadované údaje akcelerometra sampfrekvencia 50 Hz

·

požiadavky na zdroje:

Cortex-M3: 3.7 kB kódu a 1.8 kB dátovej pamäte

Cortex-M33: 3.5 kB kódu a 1.8 kB dátovej pamäte

Cortex-M4: 3.5 kB kódu a 1.8 kB dátovej pamäte

Cortex-M7: 3.6 kB kódu a 1.8 kB dátovej pamäte

·

k dispozícii pre ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 a ARM® Cortex®-M7

architektúry

MotionPW APIs

The MotionPW library APIs are:

·

uint8_t MotionPW_GetLibVersion(char *version)

načíta verziu knižnice

*version je ukazovateľ na pole s 35 znakmi

vráti počet znakov v reťazci verzie

·

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

strana 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

Parameter *data_in je ukazovateľ na štruktúru so vstupnými údajmi

­ the parameters for the structure type MPW_input_t are:

AccX je hodnota snímača akcelerometra na osi X v g

AccY je hodnota snímača akcelerometra na osi Y v g

AccZ je hodnota snímača akcelerometra na osi Z v 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

strana 4/16

2.2.3

Vývojový diagram API

UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Figure 1. MotionPW API logic sequence
Štart
Inicializovať
GetLibVersion
Čakajte Prerušenie čítania údajov časovača

Aktualizácia údajov akcelerometra na čítanie
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

strana 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

Tabuľka 2. Čas uplynutia algoritmu (µs) Cortex-M4, Cortex-M3

Cortex-M4 STM32F401RE na 84 MHz

Min

Priem

Max

38

49

616

Cortex-M3 STM32L152RE na 32 MHz

Min

Priem

Max

296

390

3314

UM2350 – Rev 4

strana 6/16

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

Tabuľka 3. Čas uplynutia algoritmu (µs) Cortex-M33 a Cortex-M7

Cortex- M33 STM32U575ZI-Q pri 160 MHz

Min

Priem

Max

57

63

359

Cortex-M7 STM32F767ZI na 96 MHz

Min

Priem

Max

61

88

1301

2.3

Sample aplikácie

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

Spoločnosť A sampAplikácia sa nachádza v priečinku Application. Je určená na spustenie na vývojovej doske NUCLEO-F401RE, NUCLEOU575ZI-Q alebo NUCLEO-L152RE pripojenej k rozširujúcej doske X-NUCLEO-IKS4A1 alebo X-NUCLEO-IKS01A3.

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

Obrázok 3. STM32 Nucleo: LED diódy, tlačidlo, prepojka

Vyššie uvedený obrázok zobrazuje používateľské tlačidlo B1 a tri LED diódy dosky NUCLEO-F401RE. Keď je doska napájaná, LED LD3 (PWR) sa rozsvieti.
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 a prípadne ďalšie údaje zo senzorov v reálnom čase pomocou MEMS-Studio.

2.4

Aplikácia MEMS Studio

SampAplikácia využíva aplikáciu MEMS-Studio, ktorú si môžete stiahnuť z www.st.com.

Krok 1. Uistite sa, že sú nainštalované potrebné ovládače a že doska STM32 Nucleo s príslušnou rozširujúcou doskou je pripojená k počítaču.

UM2350 – Rev 4

strana 7/16

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

Krok 2

Spustite aplikáciu MEMS-Studio a otvorte hlavné okno aplikácie.
Ak je k PC pripojená doska STM32 Nucleo s podporovaným firmvérom, automaticky sa zistí. Stlačením tlačidla [Connect] vytvorte pripojenie k hodnotiacej doske.

Obrázok 4. MEMS-Studio – Connect

Krok 3. Po pripojení k doske STM32 Nucleo s podporovaným firmvérom sa otvorí karta [Library Evaluation].

Ak chcete spustiť a zastaviť streamovanie údajov, prepnite príslušný zvislý panel nástrojov [Start].

alebo tlačidlo [Stop] na vonkajšej strane

Dáta prichádzajúce z pripojeného snímača môžu byť viewed výberom karty [Data Table] na vnútornej vertikálnej lište nástrojov.

Obrázok 5. MEMS-Studio – Hodnotenie knižnice – Tabuľka údajov

UM2350 – Rev 4

strana 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

Krok 5

Kliknite na [Uložiť do File] to open the dataloging configuration window. Select the sensor and pedometer data to be saved in the file. Ukladanie môžete spustiť alebo zastaviť kliknutím na príslušný
tlačidlo.

Obrázok 7. MEMS-Studio – Vyhodnotenie knižnice – Uložiť do File

UM2350 – Rev 4

strana 9/16

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

Krok 6

Režim vkladania údajov možno použiť na odoslanie predtým získaných údajov do knižnice a ich prijatie
výsledok. Výberom karty [Data Injection] na zvislom paneli nástrojov otvorte vyhradené view pre túto funkciu.

Obrázok 8. MEMS-Studio – Library Evaluation – Data Injection

Krok 7

Kliknutím na tlačidlo [Prehľadávať] vyberte file s predtým zachytenými údajmi vo formáte CSV. Údaje sa načítajú do tabuľky v aktuálnom stave view. Ostatné tlačidlá budú aktívne. Môžete kliknúť na:
Tlačidlo [Offline Mode] na zapnutie/vypnutie offline režimu firmvéru (režim využívajúci predtým nasnímané dáta).
Tlačidlá [Start]/[Stop]/[Step]/[Repeat] na ovládanie dátového toku z MEMS-Studio do knižnice.

UM2350 – Rev 4

strana 10/16

UM2350
Referencie

3

Referencie

Všetky nasledujúce zdroje sú voľne dostupné na www.st.com. 1. UM1859: Začíname so softvérom X-CUBE-MEMS1 motion MEMS a senzorom prostredia
rozšírenie pre STM32Cube 2. UM1724: dosky STM32 Nucleo-64 (MB1136) 3. UM3233: Začíname s MEMS-Studio

UM2350 – Rev 4

strana 11/16

UM2350

História revízií

Tabuľka 4. História revízií dokumentu

Dátum

Zmeny verzie

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. februára 2019 3 Pridané informácie o kompatibilite rozširujúcej dosky X-NUCLEO-IKS01A3.

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
výkon, oddiel 2.3: Sampaplikácia, Časť 2.4: Aplikácia MEMS Studio

UM2350 – Rev 4

strana 12/16

UM2350
Obsah
Obsah
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 Sample aplikácie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Aplikácia MEMS Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Referencie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 História revízií . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

UM2350 – Rev 4

strana 13/16

UM2350
Zoznam tabuliek

Zoznam tabuliek

Tabuľka 1. Tabuľka 2. Tabuľka 3. Tabuľka 4.

Zoznam akronymov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Čas uplynutia algoritmu (µs) Cortex-M4, Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Čas uplynutia algoritmu (µs) Cortex-M33 a Cortex-M7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 História revízií dokumentu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

UM2350 – Rev 4

strana 14/16

UM2350
Zoznam čísel

Zoznam čísel

Obrázok 1. Obrázok 2. Obrázok 3. Obrázok 4. Obrázok 5. Obrázok 6. Obrázok 7. Obrázok 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

strana 15/16

UM2350
DÔLEŽITÉ UPOZORNENIE POZORNE ČÍTAJTE STMicroelectronics NV a jej dcérske spoločnosti („ST“) si vyhradzujú právo vykonávať zmeny, opravy, vylepšenia, úpravy a vylepšenia produktov ST a/alebo tohto dokumentu kedykoľvek bez upozornenia. Kupujúci by mali pred zadaním objednávky získať najnovšie relevantné informácie o produktoch ST. Produkty ST sa predávajú v súlade s obchodnými podmienkami ST platnými v čase potvrdenia objednávky. Kupujúci sú výhradne zodpovední za výber, výber a používanie produktov ST a ST nepreberá žiadnu zodpovednosť za pomoc pri aplikácii alebo dizajn produktov kupujúcich. Spoločnosť ST tu neudeľuje žiadnu licenciu, výslovnú ani implicitnú, na akékoľvek právo duševného vlastníctva. Opätovný predaj produktov ST s ustanoveniami odlišnými od informácií uvedených v tomto dokumente ruší akúkoľvek záruku poskytnutú spoločnosťou ST na takýto produkt. ST a logo ST sú ochranné známky spoločnosti ST. Ďalšie informácie o ochranných známkach ST nájdete na stránke www.st.com/trademarks. Všetky ostatné názvy produktov alebo služieb sú majetkom ich príslušných vlastníkov. Informácie v tomto dokumente nahrádzajú a nahrádzajú informácie predtým uvedené v akýchkoľvek predchádzajúcich verziách tohto dokumentu.
© 2025 STMicroelectronics Všetky práva vyhradené

UM2350 – Rev 4

strana 16/16

Dokumenty / zdroje

ST X-CUBE-MEMS1 Sensor and Motion Algorithm Software Expansion [pdfPoužívateľská príručka
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

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *