# 高度测量系统 (Height Measurement System) ## 项目简介 这是一个模拟军用级户外高度测量系统的C++17 CMake工程。系统实现实时海拔高度测量、相对高度计算、预警管理和数据记录等功能。 ## 功能特性 - **实时高度采集**: 模拟气压传感器数据采集 - **自动零点归位**: 系统启动时自动设置相对零点 - **相对高度计算**: 基于初始位置计算高度变化 - **预警管理**: 可设置高度阈值,越限时触发预警 - **数据记录**: 模拟历史数据存储和回放 - **数据导出**: 支持模拟CSV格式数据导出 ## 编译说明 ### 依赖项 - CMake 3.10 或更高版本 - C++17 兼容的编译器 ### 编译步骤 ```bash # 创建构建目录 mkdir build cd build # 配置项目 cmake .. # 编译项目 cmake --build . # 或者使用以下命令 make ``` ## 运行说明 ### 主程序 ```bash # 运行主程序 ./bin/hsm_main # 查看帮助 ./bin/hsm_main --help ``` ### 测试程序 ```bash # 运行测试 ./bin/hsm_test # 或者使用ctest ctest ``` ## 程序参数 - `--help`: 显示帮助信息 - `--simulate`: 运行模拟模式 - `--threshold `: 设置预警阈值(单位:米) - `--export `: 导出模拟数据到指定文件 ## 项目结构 ``` include/ ├── app.hpp # 应用主接口 ├── altitude_calculator.hpp # 高度计算器 ├── data_logger.hpp # 数据记录器 ├── sensor_simulator.hpp # 传感器模拟器 └── alert_manager.hpp # 预警管理器 src/ ├── main.cpp # 程序入口 ├── app.cpp # 应用主逻辑 ├── altitude_calculator.cpp ├── data_logger.cpp ├── sensor_simulator.cpp └── alert_manager.cpp tests/ └── basic_test.cpp # 基本功能测试 ``` ## 设计说明 本项目采用模块化设计,主要包含以下组件: 1. **AltitudeCalculator**: 负责高度计算和校准 2. **DataLogger**: 负责数据记录和导出 3. **SensorSimulator**: 模拟传感器数据采集 4. **AlertManager**: 管理预警阈值和状态 ## 注意事项 1. 这是一个模拟系统,实际传感器数据通过随机生成器模拟 2. 数据存储使用内存缓冲区,重启后数据会丢失 3. 预警系统提供基本的阈值检查功能 ## 许可 本项目仅供演示使用。