# gsensor-algorithm **Repository Path**: realmcu_admin/gsensor-algorithm ## Basic Information - **Project Name**: gsensor-algorithm - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-14 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Wristband Algorithm SDK 手环 G-Sensor 算法 SDK,支持计步、睡眠检测、手势识别(转腕/摆腕)。 ## 项目结构 ``` wristband_algo/ ├── CMakeLists.txt # 根构建文件(含 sim_test 目标) ├── main.c # PC 模拟仿真入口 ├── cmake/ │ ├── compile_options.cmake # 编译选项 │ └── toolchain_arm_gcc.cmake # Arm GCC 交叉编译工具链 │ ├── lib/ # LIB 层:所有算法模块 │ ├── common/ # 共享基础设施(类型定义、定点 DSP 库) │ ├── pedometer/ # 计步算法 │ ├── gesture/ # 手势识别(转腕 + 摆腕) │ ├── sleep/ # 睡眠检测 │ └── gsensor/ # G-sensor 数据统一入口(聚合所有算法) │ ├── test/ # 测试框架 │ └── data/ └── README.md ``` ## 构建 ### 编译 LIB + 模拟器(主机 GCC) ```bash # Windows (MinGW) cmake -B build -G "MinGW Makefiles" cmake --build build ./build/bin/sim_test ``` ### 仅编译 LIB(交叉编译到嵌入式) ```bash cmake -B build -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain_arm_gcc.cmake cmake --build build --target gsensor ``` ## 数据流 ``` G-sensor 硬件 → RtkPedoProcess() ← gsensor_entry.c(统一入口) │ ├── pedometer ← 计步算法(步数/距离/卡路里) ├── sleep_detection ← 睡眠检测(入眠/深睡/唤醒) └── gesture ← 手势识别(转腕/摆腕) │ └── callback → 步数/距离/卡路里/睡眠状态/手势事件 ``` ## 模块说明 | 模块 | 目录 | 说明 | |------|------|------| | common | `lib/common/` | 平台抽象类型、`basic_op` 定点 DSP 运算库 | | pedometer | `lib/pedometer/` | 核心计步算法(峰谷检测、步伐计数) | | gesture | `lib/gesture/` | 转腕检测(`gesture_twist.c`)+ 摆腕检测(`gesture_wave.c`) | | sleep | `lib/sleep/` | 睡眠状态检测(清醒→浅睡→深睡→唤醒) | | gsensor | `lib/gsensor/` | G-sensor 统一入口,分发数据到各算法模块 | ## 目录命名约定 - 算法模块在 `lib/` 下平级 - 公开头文件:`/.h`(如 `pedometer/pedometer.h`) - 内部头文件:`_.h`(如 `pedometer_tools.h`) - 全程 snake_case