第一个OSDK QT程序

DJi Onboard SDK 相关文件位于SDK压缩包的根目录\osdk-core下,其中api文件夹中为主要的SDK接口,包括飞行器访问入口类:dji_vehicle.hpp。

要想在自己的程序中使用OSDK,需要将相关文件包含在项目中即可。

好了,下边我们开始编写第一个OSDK QT程序。

1:在QT Creater中选择“文件”->“新建文件或项目”,由于最近一直在做QML相关开发,所以选择创建的是QML项目,输入项目名称“helloWorld”,创建好该项目。

2:在文件夹中找到刚刚创建的项目文件夹,在于pro文件同级目录中新建文件夹“include”,将OSDK相关文件拷贝至include文件夹中。

3:在项目文件“pro”中,添加对OSDK的引用

4:在程序中增加对OSDK的简单调用,代码中使用了不存在的串口设备com3和串口波特率115200

#include <QGuiApplication>
#include <QQmlApplicationEngine>

#include "dji_vehicle.hpp"

using namespace DJI::OSDK;

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    Vehicle *v = new Vehicle("com3", 115200, true);

    return app.exec();
}

5:点击“运行”按钮,我们的第一个OSDK QT程序成功运行了,在QT的应用程序输出窗口,我们可以看到如下信息:

QML debugging is enabled. Only use this in a safe environment.

QObject::connect: No such signal QHardDriver::finished() in ..\..\..\include\Dji_osdk\v37\osdk-core\hal\src\dji_platform_manager.cpp:151

ERRORLOG/1 @ init, L117: fail to open port com3

STATUS/1 @ init, L120: BaudRate: 115200

ERRORLOG/1 @ init, L117: fail to open port com3

STATUS/1 @ init, L120: BaudRate: 115200

6:输出信息中的打开com3端口失败,是正常的,因为我的电脑还没有链接DJi飞控,但是QHardDriver缺少finished信号的问题,应该是OSDK的遗留问题吧。

好的,我们的第一个OSDK QT程序成功运行了。

 

在编写第一个OSDK QT程序过程中,有一些事项需要注意:

1:pro文件中需要增加宏定义QT,用以告诉OSDK当前使用的是QT版本

     DEFINES += QT

2:pro文件中需要增加对串口和Widget的引用。

     QT += serialport widgets

3:如果运行导致宕机,可以尝试将运行目录删除后重新编译运行即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值