X-CUBE-MEMS1 Sensor və Hərəkət Alqoritmi Proqram təminatının genişləndirilməsi
“
Məhsul haqqında məlumat
Spesifikasiyalar
- Product Name: MotionPW Real-time Pedometer
- Uyğunluq: STM1Cube üçün X-CUBE-MEMS32 genişləndirilməsi
- İstehsalçı: STMicroelectronics
- Library: MotionPW Middleware Library
- Data Acquisition: Accelerometer
- Sampling Tezliyi: 50 Hz
Məhsuldan İstifadə Təlimatları
Bitdiview
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.
Uyğunluq
The library is designed for ST MEMS sensors only. Using other
MEMS sensors may result in different functionality and
performans.
İcra
A sample implementation is available for X-NUCLEO-IKS4A1 and
X-NUCLEO-IKS01A3 expansion boards mounted on specified development
lövhələr.
Texniki məlumat
For detailed functions and parameters of the MotionPW APIs,
refer to the MotionPW_Package.chm compiled HTML file -də yerləşir
Documentation folder.
API-lər
- 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)
Tez-tez verilən suallar (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.
S: Tələb olunan akselerometr məlumatı nədir?ampling
tezliyi?
A: Tələb olunan 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
İstifadəçi təlimatı
Getting started with MotionPW real-time pedometer for wrist library in X-CUBEMEMS1 expansion for STM32Cube
Giriş
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 sampNUCLEO-F4RE, NUCLEO-U1ZI-Q və ya NUCLEO-L01RE inkişaf lövhəsində X-NUCLEO-IKS3A401 və ya X-NUCLEO-IKS575A152 genişləndirmə lövhəsində işləyən tətbiq.
UM2350 – Rev 4 – May 2025 Əlavə məlumat üçün yerli STMicroelectronics satış ofisinizlə əlaqə saxlayın.
www.st.com
UM2350
Qısaltmalar və ixtisarlar
1
Qısaltmalar və ixtisarlar
Qısaltma API BSP GUI HAL IDE
Cədvəl 1. Akronimlərin siyahısı
Tətbiq proqramlaşdırma interfeysi Şuranın dəstək paketi Qrafik istifadəçi interfeysi Aparat abstraksiya təbəqəsi İnteqrasiya edilmiş inkişaf mühiti
Təsvir
UM2350 - Rev 4
səhifə 2/16
2
2.1 2.2
2.2.1
2.2.2
Qeyd:
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.
Kitabxana yalnız ST MEMS üçün nəzərdə tutulmuşdur. Digər MEMS sensorlarından istifadə edərkən funksionallıq və performans təhlil edilmir və sənəddə təsvir olunanlardan əhəmiyyətli dərəcədə fərqlənə bilər.
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 Sənədlər qovluğunda yerləşir.
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
·
yalnız akselerometr məlumatlarına əsaslanan tanınma
·
tələb olunan akselerometr məlumatları samp50 Hz tezliyi
·
Resurs tələbləri:
Cortex-M3: 3.7 kB kod və 1.8 kB məlumat yaddaşı
Cortex-M33: 3.5 kB kod və 1.8 kB məlumat yaddaşı
Cortex-M4: 3.5 kB kod və 1.8 kB məlumat yaddaşı
Cortex-M7: 3.6 kB kod və 1.8 kB məlumat yaddaşı
·
ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 və ARM® Cortex®-M7 üçün mövcuddur
memarlıqlar
MotionPW APIs
The MotionPW library APIs are:
·
uint8_t MotionPW_GetLibVersion(char *version)
kitabxana versiyasını əldə edir
*versiya 35 simvoldan ibarət massiv üçün göstəricidir
versiya sətirindəki simvolların sayını qaytarır
·
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
səhifə 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 parametri giriş verilənləri olan strukturun göstəricisidir
the parameters for the structure type MPW_input_t are:
AccX g-də X oxundakı akselerometr sensor dəyəridir
AccY, g-də Y oxundakı akselerometr sensor dəyəridir
AccZ g-də Z oxundakı akselerometr sensor dəyəridir
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
səhifə 4/16
2.2.3
API axını diaqramı
UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Figure 1. MotionPW API logic sequence
Başlayın
Başla
GetLibVersion
Taymer məlumatının oxunma kəsilməsinin bitməsini gözləyin
Akselerometr məlumat yeniləməsini oxuyun
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
səhifə 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
Cədvəl 2. Alqoritmin keçmə müddəti (µs) Cortex-M4, Cortex-M3
Cortex-M4 STM32F401RE 84 MHz
Min
Ort
Maks
38
49
616
Cortex-M3 STM32L152RE 32 MHz
Min
Ort
Maks
296
390
3314
UM2350 - Rev 4
səhifə 6/16
UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Cədvəl 3. Alqoritmin keçmə müddəti (µs) Cortex-M33 və Cortex-M7
Cortex- M33 STM32U575ZI-Q 160 MHz
Min
Ort
Maks
57
63
359
Cortex- M7 STM32F767ZI 96 MHz
Min
Ort
Maks
61
88
1301
2.3
Samptətbiq
The MotionPW middleware can be easily manipulated to build user applications.
A sample proqram Tətbiq qovluğunda verilir. O, X-NUCLEO-IKS401A575 və ya X-NUCLEO-IKS152A4 genişləndirmə lövhəsinə qoşulmuş NUCLEO-F1RE, NUCLEOU01ZI-Q və ya NUCLEO-L3RE inkişaf lövhəsində işləmək üçün nəzərdə tutulmuşdur.
The application recognizes the steps, cadence and confidence in real-time. The data can be displayed through a GUI.
Şəkil 3. STM32 Nucleo: LED-lər, düymə, keçid
Yuxarıdakı şəkildə istifadəçi düyməsi B1 və NUCLEO-F401RE lövhəsinin üç LED-i göstərilir. Lövhə enerjiyə verildikdən sonra LED LD3 (PWR) yanır.
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 və nəticədə MEMS-Studio-dan istifadə edərək real vaxt rejimində digər sensor məlumatları.
2.4
MEMS Studio proqramı
Sample application uses MEMS-Studio application, which can be downloaded from www.st.com.
Addım 1. Lazımi sürücülərin quraşdırıldığından və müvafiq genişləndirmə lövhəsi olan STM32 Nucleo lövhəsinin PC-yə qoşulduğundan əmin olun.
UM2350 - Rev 4
səhifə 7/16
UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Addım 2.
Əsas proqram pəncərəsini açmaq üçün MEMS-Studio proqramını işə salın.
Dəstəklənən proqram təminatı ilə STM32 Nucleo lövhəsi PC-yə qoşulubsa, o, avtomatik aşkarlanır. Qiymətləndirmə lövhəsi ilə əlaqə yaratmaq üçün [Qoşulun] düyməsini basın.
Şəkil 4. MEMS-Studio – Qoşulun
Addım 3. Dəstəklənən proqram təminatı ilə STM32 Nucleo lövhəsinə qoşulduqda [Kitabxananın Qiymətləndirilməsi] nişanı açılır.
Məlumat axınına başlamaq və dayandırmaq üçün müvafiq [Start] şaquli alətlər panelini dəyişin.
və ya xarici tərəfdəki [Stop] düyməsini basın
Bağlı sensordan gələn məlumatlar ola bilər viewdaxili şaquli alətlər panelində [Data Cədvəli] nişanını seçərək.
Şəkil 5. MEMS-Studio – Kitabxananın Qiymətləndirilməsi – Məlumat Cədvəli
UM2350 - Rev 4
səhifə 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
Addım 5.
[Saxla] üzərinə klikləyin File] to open the dataloging configuration window. Select the sensor and pedometer data to be saved in the file. Müvafiq üzərinə klikləməklə qənaət etməyə başlaya və ya dayandıra bilərsiniz
düyməsi.
Şəkil 7. MEMS-Studio – Kitabxananın Qiymətləndirilməsi – Saxla File
UM2350 - Rev 4
səhifə 9/16
UM2350
MotionPW middleware library in X-CUBE-MEMS1 software expansion for STM32Cube
Addım 6.
Data Injection rejimi əvvəllər əldə edilmiş məlumatları kitabxanaya göndərmək və qəbul etmək üçün istifadə edilə bilər
nəticə. Xüsusi bölməni açmaq üçün şaquli alətlər panelində [Data Injection] sekmesini seçin view bu funksionallıq üçün.
Şəkil 8. MEMS-Studio – Kitabxananın Qiymətləndirilməsi – Məlumatların Yerləşdirilməsi
Addım 7.
Seçmək üçün [Browse] düyməsinə klikləyin file CSV formatında əvvəllər ələ keçirilmiş məlumatlarla. Məlumat cari vəziyyətdə cədvələ yüklənəcəkdir view. Digər düymələr aktiv olacaq. Siz klikləyə bilərsiniz:
Firmware oflayn rejimini yandırmaq/söndürmək üçün [Offline Mode] düyməsi (əvvəlcədən alınmış məlumatlardan istifadə edən rejim).
MEMS-Studio-dan kitabxanaya məlumat ötürülməsini idarə etmək üçün [Başlat]/[Stop]/[Addım]/[Təkrarla] düymələri.
UM2350 - Rev 4
səhifə 10/16
UM2350
İstinadlar
3
İstinadlar
Aşağıdakı resursların hamısı www.st.com saytında sərbəst mövcuddur. 1. UM1859: X-CUBE-MEMS1 hərəkət MEMS və ətraf mühit sensoru proqramı ilə işə başlayın
STM32Cube 2 üçün genişləndirmə. UM1724: STM32 Nucleo-64 lövhələri (MB1136) 3. UM3233: MEMS-Studio ilə işə başlamaq
UM2350 - Rev 4
səhifə 11/16
UM2350
Təftiş tarixi
Cədvəl 4. Sənədin təftiş tarixi
Tarix
Versiya Dəyişiklikləri
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
performans, Bölmə 2.3: Sample proqram, Bölmə 2.4: MEMS Studio proqramı
UM2350 - Rev 4
səhifə 12/16
UM2350
İçindəkilər
İçindəkilər
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 proqram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 MEMS Studio proqramı. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 İstinadlar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Təftiş tarixçəsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
UM2350 - Rev 4
səhifə 13/16
UM2350
Cədvəllərin siyahısı
Cədvəllərin siyahısı
Cədvəl 1. Cədvəl 2. Cədvəl 3. Cədvəl 4.
List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Algorithm elapse time (µs) Cortex-M4, Cortex-M3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Algorithm elapse time (µs) Cortex-M33 and Cortex-M7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
UM2350 - Rev 4
səhifə 14/16
UM2350
Rəqəmlərin siyahısı
Rəqəmlərin siyahısı
Şəkil 1. Şəkil 2. Şəkil 3. Şəkil 4. Şəkil 5. Şəkil 6. Şəkil 7. Şəkil 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
səhifə 15/16
UM2350
Vacib XƏBƏRDARLIQ DİQQƏTLƏ OXUYUN STMicroelectronics NV və onun törəmə müəssisələri (“ST”) istənilən vaxt xəbərdarlıq etmədən ST məhsullarına və/yaxud bu sənədə dəyişiklik, düzəlişlər, təkmilləşdirmələr, modifikasiyalar və təkmilləşdirmələr etmək hüququnu özündə saxlayır. Alıcılar sifariş verməzdən əvvəl ST məhsulları haqqında ən son müvafiq məlumatları əldə etməlidirlər. ST məhsulları, sifarişin qəbulu zamanı mövcud olan ST-nin satış şərtlərinə uyğun olaraq satılır. Alıcılar ST məhsullarının seçimi, seçimi və istifadəsi üçün yalnız məsuliyyət daşıyırlar və ST tətbiq yardımı və ya alıcıların məhsullarının dizaynı üçün heç bir məsuliyyət daşımır. ST tərəfindən hər hansı əqli mülkiyyət hüququna açıq və ya nəzərdə tutulan heç bir lisenziya verilmir. ST məhsullarının burada göstərilən məlumatdan fərqli müddəalarla yenidən satışı ST tərəfindən belə məhsul üçün verilən hər hansı zəmanəti ləğv edir. ST və ST loqosu ST-nin ticarət nişanlarıdır. ST ticarət nişanları haqqında əlavə məlumat üçün www.st.com/trademarks saytına baxın. Bütün digər məhsul və ya xidmət adları müvafiq sahiblərinin mülkiyyətidir. Bu sənəddəki məlumatlar əvvəllər bu sənədin hər hansı əvvəlki versiyalarında verilmiş məlumatları əvəz edir və əvəz edir.
© 2025 STMicroelectronics Bütün hüquqlar qorunur
UM2350 - Rev 4
səhifə 16/16
Sənədlər / Resurslar
![]() |
ST X-CUBE-MEMS1 Sensor and Motion Algorithm Software Expansion [pdf] İstifadəçi Təlimatı 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 |