# QuadCopter2 **Repository Path**: quad-copter/quad-copter2 ## Basic Information - **Project Name**: QuadCopter2 - **Description**: stm32f103c8t6的四轴飞行器,空心杯 尝试纯Vibe Coding - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Auadcopter 四轴飞行器 **遥控器(地面端)** 与 **飞控(机载)** 的 STM32 固件仓库:两个独立的 CMake 工程,共用上层约定与射频协议文档。 | 工程 | 路径 | 说明 | |------|------|------| | **AeroLink** | `firmware/AeroLink/` | 遥控器板 | | **AeroQuad** | `firmware/AeroQuad/` | 飞控板 | AI / 协作上下文:**`firmware/*/AGENTS.md`**(硬件摘要与分层约定)。 --- ## 打开仓库 推荐使用 **`Auadcopter.code-workspace`** 打开(工作区根即本仓库根目录)。 --- ## 构建(CMake) 需在对应目录执行 **`cmake --preset Debug`**(生成 `build/Debug`),再 **`cmake --build build/Debug`**。 工作区任务(VS Code / Cursor:**运行任务**)已封装常用命令,例如: - **Clean all**:并行删除两工程 `build` 目录 - **Build all**:并行编译两工程 Debug - **Rebuild all**:并行「配置 + 编译」 - **Build AeroLink** / **Build AeroQuad**:单工程;其中 **Configure + Build (Debug) AeroLink** 为默认构建任务 **依赖**:本机已安装 **arm-none-eabi-gcc**(`CMakePresets.json` / 工程内 CMake 与工具链路径需与本地一致)。 --- ## 调试与下载 - **调试配置**:仓库根 **`/.vscode/launch.json`**(Cortex-Debug + J-Link),ELF 路径指向各工程 `firmware/*/build/Debug/*.elf`。 - **J-Link Commander 脚本**:**`/.vscode/jlink/flash_AeroLink_Debug.jlink`**、**`flash_AeroQuad_Debug.jlink`**;Flash 任务的 **`cwd`** 仍为对应 **`firmware/AeroLink`** / **`firmware/AeroQuad`**,`loadfile` 相对上述目录。 - 脚本中的 **`JLink.exe` 路径**(含版本号)在工作区任务里配置;升级 SEGGER 安装后若路径变化请自行修改 **`Auadcopter.code-workspace`** 内对应命令。 --- ## 文档与协议 | 路径 | 内容 | |------|------| | **`doc/aerolink-protocol.md`** | 遥控器 ↔ 飞控 nRF24 载荷与射频约定 | | **`doc/`** | 原理图等(详见各 **`firmware/*/AGENTS.md`** 中的文件名) | --- ## Cursor 规则 仓库根 **`/.cursor/rules/`** 下为 Aero 两工程共用的编写风格与分层说明(**`embedded-layering.mdc`**、**`ask-before-analyze.mdc`**)。 --- ## Clangd / 语言服务 各工程 **`firmware/*/.clangd`** 指向 **`build/Debug`** 下的 **`compile_commands.json`**;需先对应该工程执行过 CMake 配置。IntelliSense 以 **Clangd**(及本机 **Anysphere C/C++** 等扩展)为准时,无需在子目录保留重复的 `c_cpp_properties` 配置。