你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32Cube 的 X-CUBE-MEMS1 扩展软件中 MotionCP 实时携带位置库入门

[复制链接]
STMCU小助手 发布时间:2023-4-22 12:12
引言
MotionCP 中间件库为 X-CUBE-MEMS1 软件的一部分,运行于 STM32 上。它提供了用户如何携带设备(如手机)的实时信息。
它能够区别如下位置:在桌子上、在手上、在头部附近、在衬衫口袋、在裤子口袋、在手里摇晃、在夹克口袋。
该库仅可用于 ST MEMS。
该算法以静态库格式提供,旨在用于基于 ARM® Cortex®-M3 或 ARM® Cortex®-M4 架构的 STM32 微控制器。
它以 STM32Cube 软件技术为基础而构建,便于在不同 STM32 微控制器之间移植。
该软件附带在 NUCLEO-F401RE、NUCLEO-L476RG 或 NUCLEO-L152RE 开发板上的 X-NUCLEO-IKS01A2 或 X-NUCLEOIKS01A3 扩展板上运行的实现示例。


1 缩写和缩略语

@75I866VF6LUFVVCJ8N$LS3.png

2 STM32Cube X-CUBE-MEMS1 软件扩展中的 MotionCP 中间件库
2.1 MotionCP 概述
MotionCP 库扩展了 X-CUBE-MEMS1 软件的功能。
该库从加速度计获取数据,提供用户如何携带设备的信息。
该库专为 ST MEMS 而设计。在使用其他 MEMS 传感器时,不分析其功能和性能,并且可能与文档中的描述明显不同。
X-NUCLEO-IKS01A2 和 X-NUCLEO-IKS01A3 扩展板上提供了一个示例实现,安装在 NUCLEO-F401RE、NUCLEO-L476RG 或 NUCLEO-L152RE 开发板上。


2.2 MotionCP 库
在“Documentation”文件夹的 HTML 文件(使用 MotionCP_Package.chm 编译)中,提供了完整描述 MotionCPAPI 的功能和参数的技术信息。


2.2.1 MotionCP 库说明
MotionCP 携带位置识别库管理从加速度计获取的数据;它具有如下功能:
• 能够区别如下位置:在桌子上、在手上、在头部附近、在衬衫口袋、在裤子口袋、在手里摇晃、在夹克口袋
• 仅基于加速度计数据识别
• 需要加速度计数据采样频率为 50 Hz
• 资源需求:
– Cortex-M3:6.7 kB 的代码和 11.0 kB 的数据存储器
– Cortex-M4:6.7 kB 的代码和 11.0 kB 的数据存储器
• 可用于 ARM® Cortex® -M3 和 ARM Cortex-M4 架构

2.2.2 MotionCP API
MotionPE 库 API 为:
• uint8_t MotionCP_GetLibVersion(char *version)
– 检索库版本
– *version 是一个指针,指向 35 个字符的数组
– 返回版本字符串中的字符数
• void MotionCP_Initialize(void)
– 执行 MotionCP 库的初始化和内部机制设置
– 使用该库之前,应启用 STM32 微控制器中的 CRC 模块(在 RCC 外设时钟使能寄存器中)。
提示 此函数必须在使用携带位置库之前调用

• void MotionCP_Update(MCP_input_t *data_in, MCP_output_t *data_out)
– 执行携带位置算法
– *data_in 参数是指向输入数据结构的指针
– 结构体类型 MCP_input_t 的参数为:
◦ AccX 为 X 轴的加速度计传感器值,单位为 g
◦ AccY 为 Y 轴的加速度计传感器值,单位为 g
◦ AccZ 为 Z 轴的加速度计传感器值,单位为 g
– *Data_out 参数为指向枚举型的指针,含有如下项:
◦ MPE_UNKNOWN = 0
◦ MCP_ONDESK = 1
◦ MCP_INHAND = 2
◦ MCP_NEARHEAD = 3
◦ MCP_SHIRTPOCKET = 4
◦ MCP_TROUSERPOCKET = 5
◦ MCP_ARMSWING = 6
◦ MCP_JACKETPOCKET = 7
• void MotionCP_SetOrientation_Acc(const char *acc_orientation)
– 此函数用于设置加速度计数据方向
– 配置通常在 MotionCP_Initialize 函数调用后立即执行
– *acc_orientation 参数是由三个字符组成的字符串的指针,指示加速度计数据输出使用的参考框架的每个正定向的方向,顺序为 x、y、z。有效值为:n(北)或 s(南),w(西)或 e(东),u(上)或 d(下)。
如下图所示,X-NUCLEO-IKS01A2 加速度计传感器具有 NWU 方向(x-北,y-西,z-上),所以字符串是:“nwu”。


0D3GBQ0KA2)[_N~XUWZ_T.png


完整版请查看:附件


UM2224 STM32Cube 的X-CUBE-MEMS1 扩展软件中MotionCP 实时携带位置库入门.pdf (3.71 MB, 下载次数: 0)
收藏 评论0 发布时间:2023-4-22 12:12

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版