StarryPilot 开源项目教程
1. 项目的目录结构及介绍
StarryPilot/
├── docs/
│ ├── 中文说明.md
│ └── README.md
├── src/
│ ├── core/
│ ├── drivers/
│ ├── modules/
│ └── main.cpp
├── include/
│ ├── core/
│ ├── drivers/
│ └── modules/
├── config/
│ ├── default_config.yaml
│ └── custom_config.yaml
├── scripts/
│ ├── build.sh
│ └── deploy.sh
└── README.md
- docs/: 包含项目文档,如中文说明和README文件。
- src/: 项目的源代码,包括核心逻辑、驱动和模块。
- include/: 头文件目录,与src目录结构对应。
- config/: 配置文件目录,包含默认配置和自定义配置。
- scripts/: 包含构建和部署脚本。
- README.md: 项目的主README文件。
2. 项目的启动文件介绍
项目的启动文件位于 src/main.cpp
。该文件负责初始化系统、加载配置文件并启动主循环。以下是 main.cpp
的主要内容:
#include "core/system.h"
#include "config/config_manager.h"
int main() {
// 初始化系统
System::init();
// 加载配置文件
ConfigManager::loadConfig("config/default_config.yaml");
// 启动主循环
System::startMainLoop();
return 0;
}
3. 项目的配置文件介绍
项目的配置文件位于 config/
目录下,主要包括 default_config.yaml
和 custom_config.yaml
。以下是 default_config.yaml
的示例内容:
system:
name: "StarryPilot"
version: "1.0.0"
control:
mode: "PID"
parameters:
kp: 1.0
ki: 0.1
kd: 0.05
sensors:
enabled:
- "GPS"
- "IMU"
- "Barometer"
- system: 系统配置,包括名称和版本。
- control: 控制模式和参数配置。
- sensors: 启用的传感器列表。
custom_config.yaml
可以用于覆盖默认配置,以满足特定需求。