# Payload-SDK **Repository Path**: gdu-sdk/Payload-SDK ## Basic Information - **Project Name**: Payload-SDK - **Description**: Payload-SDK - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2025-08-28 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Payload-SDK ## 项目简介 Payload-SDK 是一个用于开发无人机有效载荷设备的软件开发工具包,支持多种模块和功能,包括相机控制、飞行控制、数据传输、云台管理等。该 SDK 提供了丰富的 API 接口和示例代码,适用于 Linux 和 RTOS 平台,便于开发者快速集成和开发。 ## 功能特性 - **相机控制**:支持相机参数设置、拍照、录像、缩略图生成等功能。 - **飞行控制**:提供飞行状态监控、飞行控制接口。 - **数据传输**:支持通过串口、网络、USB 等方式进行数据传输。 - **云台管理**:提供云台角度控制、旋转、校准等功能。 - **固件升级**:支持固件升级和程序更新。 - **健康管理**:提供设备健康状态监控和错误码解析。 - **时间同步**:支持高精度时间同步功能。 - **定位功能**:支持 GPS 定位信息获取。 - **电源管理**:支持电源控制和高功率申请。 ## 安装与配置 ### Linux 平台(Manifold2) 1. **依赖安装**: 确保系统已安装必要的开发工具和库: ```bash sudo apt-get update sudo apt-get install build-essential cmake git ``` 2. **编译 SDK**: ```bash cd samples/sample_c/platform/linux/manifold2 mkdir build && cd build cmake .. make ``` 3. **运行示例**: 编译完成后,可在 `build` 目录下找到可执行文件,运行示例程序: ```bash ./gdu_sdk_app ``` ### RTOS 平台(STM32F4 Discovery) 1. **开发环境搭建**: 使用 Keil MDK 或 STM32CubeIDE 打开项目: ``` samples/sample_c/platform/rtos_freertos/stm32f4_discovery/project/mdk/mdk_app.uvprojx ``` 2. **编译与烧录**: 在 IDE 中编译项目并烧录到 STM32F4 Discovery 开发板。 3. **运行与调试**: 使用调试器连接开发板,启动调试会话并运行程序。 ## 使用示例 ### 相机控制示例 ```c T_GduReturnCode GduTest_CameraEmuBaseStartService(void); T_GduReturnCode GduTest_CameraGetDigitalZoomFactor(gdu_f32_t *factor); T_GduReturnCode GduTest_CameraGetOpticalZoomFactor(gdu_f32_t *factor); ``` ### 飞行控制示例 ```c void GduTest_FlightControlTakeOffLandingSample(); void GduTest_FlightControlPositionControlSample(); void GduTest_FlightControlVelocityControlSample(); ``` ### 数据传输示例 ```c T_GduReturnCode GduTest_DataTransmissionStartService(void); T_GduReturnCode GduTest_DataTransmissionStopService(void); ``` ### 云台控制示例 ```c T_GduReturnCode GduTest_GimbalStartService(void); T_GduReturnCode GduTest_GimbalRotate(E_GduGimbalRotationMode rotationMode, T_GduGimbalRotationProperty rotationProperty, T_GduAttitude3d rotationValue); ``` ### 固件升级示例 ```c T_GduReturnCode GduTest_UpgradeStartService(const T_GduTestUpgradePlatformOpt *upgradePlatformOpt, T_GduTestUpgradeConfig testUpgradeConfig); T_GduReturnCode GduTest_StartUpgrade(void); ``` ## 支持的硬件平台 - **Linux**:适用于 Manifold2 等嵌入式 Linux 平台。 - **RTOS**:基于 FreeRTOS 的 STM32F4 Discovery 开发板。 ## 开发与调试工具 - **日志系统**:支持日志输出,便于调试。 - **内存监控**:提供内存使用监控功能。 - **任务调度**:基于 FreeRTOS 的多任务调度机制。 ## 贡献指南 欢迎贡献代码和文档。请遵循以下步骤: 1. Fork 项目。 2. 创建新分支。 3. 提交更改。 4. 发起 Pull Request。