ST X-CUBE-MEMS1 Sensor en Bewegingsalgoritme Software Útwreiding

GEBRUIKERSHANDLEIDING

MODEL: UM2350

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.

Ynlieding

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).

Dizze bibleteek is bedoeld om allinich te wurkjen mei ST MEMS.
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 boud boppe op STM32Cube-softwaretechnology om portabiliteit oer ferskate STM32-mikrocontrollers makliker te meitsjen.

De software komt mei sample ymplemintaasje rint op X-NUCLEO-IKS4A1 of X-NUCLEO-IKS01A3 útwreiding board op in NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ûntwikkeling board.

1. Acronyms en ôfkoartings

Tabel 1. List fan akronyms

Acronym Beskriuwing
API Applikaasje programmearring ynterface
BSP Board stipe pakket
GUI Grafyske brûkersynterface
HAL Hardware abstraksje laach
IDE Yntegreare ûntwikkelingsomjouwing

 

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

2.1 MotionPW overview

De MotionPW-bibleteek wreidet de funksjonaliteit fan 'e X-CUBE-MEMS1-software út.

De bibleteek sammelet gegevens fan 'e fersnellingsmeter en jout ynformaasje oer it oantal stappen en de kadens dy't de brûker krekt mei it draachbere apparaat útfierd hat.
De bibleteek is allinich ûntwurpen foar ST MEMS. Funksjonaliteit en prestaasjes by it brûken fan oare MEMS-sensors wurde net analysearre en kinne signifikant ferskille fan wat beskreaun yn it dokumint.
A sampDe ymplemintaasje is beskikber foar X-NUCLEO-IKS4A1 en X-NUCLEO-IKS01A3 útwreidingsboerden, monteard op in NUCLEO-F401RE, NUCLEO-U575ZI-Q of NUCLEO-L152RE ûntwikkelingsboerd.

2.2 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 leit yn de dokumintaasje map.

2.2.1 MotionPW library description

De stappentellerbibleteek MotionPW beheart de gegevens dy't fan 'e fersnellingsmeter binne krigen; it hat:

  • mooglikheid om it oantal stappen, kadens en fertrouwen te detektearjen
  • erkenning basearre op accelerometer gegevens allinnich
  • fereaske accelerometer gegevens sampling frekwinsje fan 50 Hz
  • boarne easken:
    - Cortex-M3: 3.7 kB koade en 1.8 kB gegevensûnthâld
    - Cortex-M33: 3.5 kB koade en 1.8 kB gegevensûnthâld
    - Cortex-M4: 3.5 kB koade en 1.8 kB gegevensûnthâld
    - Cortex-M7: 3.6 kB koade en 1.8 kB gegevensûnthâld
  • beskikber foar ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 en ARM® Cortex®-M7 arsjitektueren

2.2.2 MotionPW APIs

De MotionPW-bibleteek-API's binne:

  • uint8_t MotionPW_GetLibVersion(char *ferzje)
    - helje de biblioteekferzje op
    - *ferzje is in oanwizer nei in array fan 35 tekens
    - jout it oantal karakters werom yn 'e ferzjestring
  • void MotionPW_Initialize(void)
    – performs MotionPW library initialization and setup of the internal mechanism including the dynamic memory allocation

Noat: Dizze funksje moat oproppen wurde foardat de fitnessaktiviteitsbibleteek brûkt wurdt en de CRC-module yn 'e STM32-mikrokontroller (yn it RCC-perifeare klokynskeakeljeregister) moat ynskeakele wurde.

  •  void MotionPW_Update(MPW_input_t *data_in, MPW_output_t *data_out)
    – executes pedometer for wrist algorithm
    - * data_in parameter is in oanwizer nei in struktuer mei ynfier gegevens
    – the parameters for the structure type MPW_input_t are:
    ◦ AccX is de wearde fan de accelerometersensor yn X-as yn g
    ◦ AccY is de wearde fan de accelerometersensor yn Y-as yn g
    ◦ AccZ is de wearde fan de accelerometersensor yn Z-as yn 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 in oanwizer nei in struktuer mei útfier gegevens
    – 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 *enerzjy_drompel)
    – updated energy threshold to fine tune step detection algorithm
    – *energy_threshold parameter is a pointer to energy threshold value

2.2.3 API flow chart

ST X-CUBE-MEMS1 Sensor en Bewegingsalgoritme Software Útwreiding

2.2.4 Demo koade
The following demonstration code example lêst gegevens fan 'e fersnellingsmetersensor, krijt de aktuele aktiviteit fan 'e MotionAW-bibleteek en krijt it oantal stappen, kadens en fertrouwen fan 'e MotionPW-bibleteek.

Utwreiding

 

Utwreiding

2.2.5 Algoritme prestaasjes
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.

Utwreiding

Utwreiding

2.3 Sample applikaasje

De MotionPW middleware kin maklik manipulearre wurde om brûkersapplikaasjes te bouwen.
A sample application is provided in the Application folder. It is designed to run on a NUCLEO-F401RE, NUCLEOU575ZI- Q or NUCLEO-L152RE development board connected to an X-NUCLEO-IKS4A1 or X-NUCLEO-IKS01A3 expansion board.

De applikaasje herkent de stappen, kadens en fertrouwen yn realtime. De gegevens kinne werjûn wurde fia in GUI.

Utwreiding

De boppesteande figuer toant de brûker knop B1 en de trije LED's fan it NUCLEO-F401RE board. Sadree't it bestjoer wurdt powered, LED LD3 (PWR) ON.
In USB-kabelferbining is nedich om real-time gegevens te kontrolearjen. It boerd wurdt oandreaun troch de PC fia in USB-ferbining. Dizze wurkmodus lit de brûker detektearre stappen, kadens en fertrouwen, fersnellingsmetergegevens, tiidsst werjaanamp en úteinlik oare sensorgegevens, yn real-time, mei it MEMS-Studio.

2.4 MEMS Studio applikaasje

De sample applikaasje brûkt MEMS-Studio applikaasje, dat kin wurde ynladen fan www.st.com.

Stap 1. Soargje derfoar dat de nedige bestjoerders binne ynstalleare en it STM32 Nucleo-boerd mei passende útwreidingsboerd is ferbûn mei de PC.

Stap 2. Starte de MEMS-Studio-applikaasje om it haadapplikaasjefinster te iepenjen.

As in STM32 Nucleo-boerd mei stipe firmware is ferbûn mei de PC, wurdt it automatysk ûntdutsen.
Press the [Connect] button to establish connection to the evaluation board

Utwreiding

Stap 3. As ferbûn mei in STM32 Nucleo board mei stipe firmware [Bibliotheek Evaluaasje] ljepper wurdt iepene.

Om gegevensstreaming te begjinnen en te stopjen, skeakelje de passende [Start] START  of [Stopje] OPHÂLDE knop op 'e bûtenste fertikale arkbalke.

De gegevens dy't komme fan 'e ferbûne sensor kinne wêze viewed selektearje de ljepper [Data Table] op 'e binnenste fertikale arkbalke.

Utwreiding

Stap 4. Click on the [Pedometer] to open the dedicated application window.

Utwreiding

Stap 5. Klikje op de [Bewarje nei File] om it konfiguraasjefinster foar datalogging te iepenjen. Selektearje de sensor- en stappentellergegevens dy't opslein wurde moatte yn 'e file. Jo kinne opslaan begjinne of stopje troch te klikken op de byhearrende knop.

Utwreiding

Stap 6. Gegevensynjeksjemodus kin brûkt wurde om de earder krigen gegevens nei de bibleteek te stjoeren en it resultaat te ûntfangen. Selektearje de ljepper [Data-ynjeksje] op 'e fertikale arkbalke om de tawijde te iepenjen view foar dizze funksjonaliteit

Utwreiding

Stap 7. Klikje op de knop [Blêdzje] om de file mei de earder opnommen gegevens yn CSV-formaat.

De gegevens wurde laden yn 'e tabel yn' e aktuele view.

Oare knoppen wurde aktyf. Jo kinne klikke op:
– [Offline Mode] button to switch the firmware offline mode on/off (mode utilizing the previously captured data).
- Knoppen [Start]/[Stopje]/[Stap]/[Werhelje] om de gegevensfeed fan MEMS-Studio nei de bibleteek te kontrolearjen.

3. Referinsjes

Alle folgjende boarnen binne frij beskikber op www.st.com.

1. UM1859: Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube
2. UM1724: STM32 Nucleo-64 boards (MB1136)
3. UM3233: Getting started with MEMS-Studio

Revision skiednis

Tabel 4. Document revyzje skiednis

Datum  Ferzje  Feroarings
24-Jan-18 1 Inisjele release.
21-Mar-18 2 Updated Introduction and Section 2.1 MotionPW overview.
20 febrewaris 19 3 Updated Section 2.2.5: Algorithm performance and Figure 3. STM32 Nucleo: LEDs, button, jumper.
Added X-NUCLEO-IKS01A3 útwreiding board komptabiliteit ynformaasje.
20-mei-25 4 Bywurke seksjeynlieding, seksje 2.1: MotionPW oerview, Section 2.2.1: MotionPW library description, Section 2.2.2: MotionPW APIs, Section 2.2.4: Demo code, Section 2.2.5: Algorithm performance, Section 2.3: Sample application, Section 2.4: MEMS Studio applica

 

WICHTICH NOTICE - LÊS FERGESE

STMicroelectronics NV en har dochterûndernimmingen ("ST") behâlde it rjocht foar om feroarings, korreksjes, ferbetterings, oanpassings en ferbetterings oan ST-produkten en / of oan dit dokumint op elk momint sûnder notice te meitsjen. Keapers moatte de lêste relevante ynformaasje krije oer ST-produkten foardat se oarders pleatse. ST-produkten wurde ferkocht yn oerienstimming mei ST's ferkeapbetingsten en -betingsten yn plak op it momint fan bestellingserkenning.
Keapers binne allinich ferantwurdlik foar de kar, seleksje en gebrûk fan ST-produkten en ST nimt gjin oanspraaklikens oan foar help by oanfraach of it ûntwerp fan produkten fan keapers.

Gjin lisinsje, útdruklik of ymplisearre, foar in yntellektueel eigendomsrjocht wurdt hjiryn ferliend troch ST.
Wederferkeap fan ST-produkten mei bepalingen dy't ferskille fan 'e ynformaasje dy't hjiryn oanjûn binne, sil gjin garânsje ferliend troch ST foar sa'n produkt ûnjildich meitsje.
ST en it ST-logo binne hannelsmerken fan ST. Foar oanfoljende ynformaasje oer ST hannelsmerken, ferwize nei www.st.com/trademarks. Alle oare nammen fan produkten of tsjinsten binne it eigendom fan har respektive eigners.

Ynformaasje yn dit dokumint ferfangt en ferfangt ynformaasje earder levere yn alle eardere ferzjes fan dit dokumint.

© 2025 STMicroelectronics - Alle rjochten foarbehâlden

Útfiering

A sample implementation is available for X-NUCLEO-IKS4A1 and X-NUCLEO-IKS01A3 expansion boards mounted on specified development boards.

Technyske ynformaasje

For detailed functions and parameters of the MotionPW APIs, refer to the MotionPW_Package.chm compiled HTML file leit yn de dokumintaasje map.

APIs

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

Spesifikaasjes

  • Produktnamme: MotionPW Echttiid stappenteller
  • Kompatibiliteit: X-CUBE-MEMS1 útwreiding foar STM32Cube
  • Makker: STMicroelectronics
  • Biblioteek: MotionPW Middleware Biblioteek
  • Data-akwisysje: Versnellingsmeter
  • Sampling Frekwinsje: 50 Hz

Faak stelde fragen (FAQ)

F: Kin ik de MotionPW-bibleteek brûke mei net-ST MEMS-sensoren?

A: De bibleteek is allinich ûntworpen foar ST MEMS-sensoren.
Kompatibiliteit mei oare MEMS-sensoren is net garandearre.

Q: Wat is de fereaske accelerometer gegevens samplingfrekwinsje?

A: De fereaske sampling frequency is 50 Hz for accurate detection of steps and cadence.

F: Hoe kin ik de MotionPW-bibleteek ynisjalisearje?

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

Dokuminten / Resources

ST X-CUBE-MEMS1 Sensor en Bewegingsalgoritme Software Útwreiding [pdf] Brûkershânlieding
STM32 Nucleo, X-NUCLEO-IKS4A1, X-NUCLEO-IKS01A3, X-CUBE-MEMS1 Sensor- en bewegingsalgoritmesoftware-útwreiding, X-CUBE-MEMS1, Sensor- en bewegingsalgoritmesoftware-útwreiding, Bewegingsalgoritmesoftware-útwreiding, Algoritmesoftware-útwreiding, Software-útwreiding

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *