Files
agv-control-slam/QUICK_REFERENCE.md
CaiXiang af65c2425d initial
2025-11-14 16:09:58 +08:00

177 lines
4.3 KiB
Markdown

# 快速参考 - 整理后的项目结构
## 📂 目录说明
### 源代码 (`src/`)
```
src/
├── can/ # CAN 通信模块
│ ├── CANController.h # CAN 控制器头文件
│ ├── CANController.cpp # CAN 控制器实现
│ ├── can_example.cpp # 基础示例
│ └── can_complete_example.cpp # 完整示例(推荐)
├── tests/ # 测试代码
│ └── test_csv_load.cpp # CSV 加载测试
└── (其他源文件) # AGV 主程序源文件
```
### 头文件 (`include/`)
```
include/
└── can/
└── CANController.h # CAN 控制器头文件
```
### 文档 (`docs/`)
```
docs/
├── can/ # CAN 相关文档
│ ├── CAN_README.md # CAN 使用说明(重要)
│ └── CAN_API_Reference.cpp # API 快速参考
├── guides/ # 使用指南
│ ├── START_HERE.txt # 从这里开始
│ ├── QUICK_START.md # 快速入门
│ ├── BUILD_INSTRUCTIONS.md # 编译说明
│ └── ...
├── fixes/ # 修复记录
│ ├── ALL_FIXES_SUMMARY.md # 所有修复总结
│ ├── FINAL_REPORT.md # 最终报告
│ └── ...
├── custom_path/ # 自定义路径文档
└── protocol/ # 协议文档
└── CAN_Protocol.pdf # CAN 协议规范
```
### 库文件 (`lib/`)
```
lib/
├── ControlCAN.h # CAN API 头文件
├── ControlCAN.dll # CAN 驱动动态库
├── ControlCAN.lib # 导入库
└── README.md # 库说明
```
## 🚀 常用操作
### 编译 CAN 示例
```bash
# Windows
build_can.bat
# Linux/MSYS2
./build_can.sh
```
### 运行 CAN 示例
```bash
cd build
./can_demo.exe
```
### 编译主程序
```bash
./build.sh
```
## 📖 重要文档路径
| 文档 | 路径 | 说明 |
|------|------|------|
| 项目结构 | `PROJECT_STRUCTURE.md` | 完整项目结构文档 |
| CAN 使用说明 | `docs/can/CAN_README.md` | CAN 通信详细说明 |
| CAN API 参考 | `docs/can/CAN_API_Reference.cpp` | API 快速参考卡片 |
| 快速开始 | `docs/guides/START_HERE.txt` | 新手入门指南 |
| 编译说明 | `docs/guides/BUILD_INSTRUCTIONS.md` | 编译步骤 |
| 修复总结 | `docs/fixes/ALL_FIXES_SUMMARY.md` | 所有修复记录 |
| 主 README | `README.md` | 项目主文档 |
## 🔧 开发流程
### 1. 添加新的 CAN 功能
```bash
# 1. 创建源文件
vi src/can/my_feature.cpp
# 2. 创建头文件
vi include/can/my_feature.h
# 3. 更新编译脚本
vi build_can.sh
# 4. 添加文档
vi docs/can/my_feature.md
```
### 2. 头文件引用
在源文件中引用头文件:
```cpp
// 在 src/can/ 下的源文件
#include "can/CANController.h" // 引用 include/can/CANController.h
#include "../../lib/ControlCAN.h" // 引用 lib/ControlCAN.h
```
### 3. 编译选项
```bash
# 编译时指定 include 路径
g++ -c src/can/CANController.cpp -o build/CANController.o -Iinclude -Llib -lControlCAN
```
## 📝 文件移动记录
### 已整理的文件
**移动到 docs/can/**
- CAN_README.md
- CAN_API_Reference.cpp
**移动到 docs/guides/**
- QUICK_START.md
- QUICKSTART.md
- BUILD_INSTRUCTIONS.md
- CUSTOM_PATH_README.md
- SMOOTH_PATH_GENERATOR_README.md
- TRACKING_TEST_GUIDE.md
- START_HERE.txt
**移动到 docs/fixes/**
- ALL_FIXES_SUMMARY.md
- BUG_FIXES_SUMMARY.md
- CSV_LOAD_FIX.md
- FIX_SUMMARY.md
- README_FIXES.md
- TRACKING_ERROR_ANALYSIS.md
- TRACKING_FIX_COMPLETE.md
- TRAJECTORY_COMPLETE.md
- TRAJECTORY_FIX.md
- FINAL_REPORT.md
**移动到 src/can/**
- CANController.cpp
- CANController.h
- can_example.cpp
- can_complete_example.cpp
**移动到 src/tests/**
- test_csv_load.cpp
**复制到 include/can/**
- CANController.h
## 🎯 下一步建议
1. ✅ 查看 `PROJECT_STRUCTURE.md` 了解完整结构
2. ✅ 阅读 `docs/can/CAN_README.md` 学习 CAN 通信
3. ✅ 运行 `build_can.bat` 编译示例
4. ✅ 执行 `build/can_demo.exe` 测试功能
5. ✅ 根据需要查看 `docs/guides/` 中的其他文档
---
**整理完成时间**: 2025-11-14
**整理内容**: 所有文档归类到 docs/,所有代码归类到 src/,头文件复制到 include/