# Axiom **Repository Path**: GGbondla/axiom ## Basic Information - **Project Name**: Axiom - **Description**: 通用的一款上位机调试软件,集成了多协议,多种通讯方式,支持多厂家硬件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-04 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Axiom 工业级多协议数据采集与可视化调试平台(PC 上位机)。 对标 Synex / VOFA+ / J-Scope / CANoe 的能力合集,面向嵌入式、电机、汽车电子与自动化调试场景。 ## 技术栈 - Qt 6.8.x + QML + C++20(MSVC 2022) - 自研实时绘图引擎:`QQuickRhiItem`(QRhi / GPU 批渲染;OpenGL 与 D3D11 双后端已实测) - 数据侧:min/max LOD 金字塔 + 免锁读 + 帧缓存 / 共享列缓存(单帧降采样成本 O(像素宽度),与缓冲深度无关) - 开源、单人开发 ## 环境要求(换设备时按此安装) 1. Windows 10/11 64 位 2. Visual Studio 2022(「使用 C++ 的桌面开发」工作负载,或 Build Tools + MSVC v143) 3. Qt 6.8.x,务必勾选 **msvc2022_64** kit(默认装到 `D:\sofeware\Qt`) 4. CMake 3.21+(Qt 自带,或独立安装) 5. Ninja(可选;使用 VS 生成器时不强制) > 若 Qt 安装路径不是 `D:\sofeware\Qt`,请修改 `CMakePresets.json` 中的 `CMAKE_PREFIX_PATH`。 ## 构建 ```powershell # 配置(首次) cmake --preset msvc2022-qt6 # 编译 Debug cmake --build --preset msvc2022-qt6-debug # 编译 Release cmake --build --preset msvc2022-qt6-release ``` 产物:`build/msvc2022/Debug/axiom_app.exe` ## 运行测试 ```powershell cmake --build --preset msvc2022-qt6-debug --target tst_ringbuffer ctest --test-dir build/msvc2022 -C Debug --output-on-failure ``` ## 性能压测(绘图大数据) 绘图走 min/max LOD 金字塔 + 免锁读 + 帧缓存 / 共享列缓存:单帧降采样成本 **O(像素宽度)**,与缓冲深度无关 (实测 100M 点窗口 0.686ms/通道/帧;8 通道 ~60fps)。取数用环境变量: ```powershell $env:PATH="D:\sofeware\Qt\6.8.3\msvc2022_64\bin;$env:PATH" $env:AXIOM_SMOKE="1"; $env:AXIOM_SMOKE_MS="20000"; $env:AXIOM_PERF="1"; $env:QT_LOGGING_TO_CONSOLE="1" $env:AXIOM_CHANNEL_CAPACITY="8388608"; $env:AXIOM_DEMO_BURST="500"; $env:AXIOM_XSPAN="8388608" cmd /c "build\msvc2022\Release\axiom_app.exe > build\_perf.out 2> build\_perf.err" Select-String "perf" build\_perf.err | Select-Object -Last 5 ``` 换图形后端(绘图已迁 QRhi,不再绑死 OpenGL):`$env:AXIOM_GRAPHICS_API="d3d11"`(可选 opengl/d3d11/d3d12/vulkan)。 完整旋钮表与实测数据见 `进度.md` §4.1、§4.2 与 §10。 ## 目录结构 ``` ├── CMakeLists.txt # 顶层构建脚本 ├── CMakePresets.json # MSVC + Qt 预设 ├── src/ │ ├── app/ # 可执行程序入口 + QML 界面 │ ├── core/ # 核心库(环形缓冲、公共数据结构) │ ├── plot/ # 实时绘图引擎(QQuickRhiItem + QRhi,shaders/ 内为 qsb 源) │ ├── protocol/ # 协议引擎(规划) │ └── can/ # CAN 抽象层(规划) ├── tests/ # 单元测试 ├── 开发框架与计划.md # 开发框架与里程碑 └── 进度.md # 当前进度(每次开发后更新) ``` ## 进度与决策 - 开发框架与计划:见 `开发框架与计划.md` - 当前进度 / 已用与待用工具:见 `进度.md` ## Git 身份 首次提交前请设置: ```powershell git config user.name "你的名字" git config user.email "你的邮箱" ```