Skip to content

Commit

Permalink
Update example
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabien-B committed Apr 27, 2021
1 parent 43a4f51 commit d1686a7
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 34 deletions.
26 changes: 17 additions & 9 deletions example/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)

project(PprzlinkQtExample LANGUAGES CXX)
project(linkQtExample LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

Expand All @@ -15,8 +15,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Widgets Network Xml REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Widgets Network Xml REQUIRED)

set(PprzlinkQt_DIR "../PprzlinkQt/")
add_subdirectory(${PprzlinkQt_DIR} pprzlinkqt)
find_package(pprzlinkQt)


set(PROJECT_SOURCES
main.cpp
Expand All @@ -25,19 +25,27 @@ set(PROJECT_SOURCES
)

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(PprzlinkQtExample ${PROJECT_SOURCES})
qt_add_executable(${PROJECT_NAME} ${PROJECT_SOURCES})
else()
add_executable(PprzlinkQtExample ${PROJECT_SOURCES})
add_executable(${PROJECT_NAME} ${PROJECT_SOURCES})
endif()


target_include_directories(PprzlinkQtExample PRIVATE ${PprzlinkQt_DIR})
target_include_directories(${PROJECT_NAME} PRIVATE ${ppagain_DIR})

include_directories(${CMAKE_PREFIX_PATH}/include)
link_directories(${CMAKE_PREFIX_PATH}/lib)

target_link_libraries(PprzlinkQtExample PRIVATE
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Xml
PprzlinkQt
IvyQt
pprzlinkQt
#IvyQt
)





57 changes: 34 additions & 23 deletions example/mainwindow.cpp
Original file line number Diff line number Diff line change
@@ -1,42 +1,53 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "pprzlinkqt.h"
#include <QDebug>
#include "pprzlinkQt/MessageDictionary.h"
#include "pprzlinkQt/Message.h"
#include "pprzlinkQt/IvyQtLink.h"
#include "iostream"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

connect(ui->label_button, &QPushButton::clicked, this, [=]() {
//vbox->removeWidget(label);
ui->label->deleteLater();
});
auto dict = new pprzlink::MessageDictionary("/home/fabien/paparazzi/var/messages.xml");

auto link = new pprzlink::IvyQtLink(*dict, "test", "127.255.255.255:2010", this);

auto pp = new PprzlinkQt("/home/fabien/paparazzi/var/messages.xml", "testPprzLinkQt", "testPprzLinkQt ready");
pp->start("127.255.255.255", 2010);

pp->bind("FLIGHT_PARAM", ui->label, [=](QString sender, Message msg) {
QString ac_id;
float alt;
msg.getField("ac_id", ac_id);
auto def_fp = dict->getDefinition("FLIGHT_PARAM");

link->BindMessage(def_fp, ui->label, [=](QString, pprzlink::Message msg){
float alt, lat, lon;
msg.getField("ac_id", last_ac_id);
msg.getField("alt", alt);
//qDebug() << ac_id << alt;
ui->label->setText(ac_id + QString(" alt: %1 m").arg(alt));
msg.getField("lat", lat);
msg.getField("long", lon);
qDebug() << last_ac_id + " " + QString::number(alt) + "m" + " " + QString::number(lat) + " " + QString::number(lon);
ui->label->setText(last_ac_id + " " + QString::number(alt) + "m" + " " + QString::number(lat) + " " + QString::number(lon));
});

connect(ui->label_button, &QPushButton::clicked, ui->label, [=]() {
ui->label->deleteLater();
});


connect(ui->line_edit, &QLineEdit::returnPressed, this, [=]() {
// ivyqt->send(ui->line_edit->text());
Message msg(pp->getDefinition("MOVE_WAYPOINT"));
msg.setSender("ground");
msg.addField("ac_id", QString("2"));
msg.addField("wp_id", (uint8_t)2);
msg.addField("lat", (float)43.456);
msg.addField("long", (float)1.345);
msg.addField("alt", (float)123.3);
pp->sendMessage(msg);
bool ok = false;
uint8_t block_id = ui->line_edit->text().toUInt(&ok);
if(ok) {
auto def = dict->getDefinition("JUMP_TO_BLOCK");
auto msg = pprzlink::Message(def);
msg.addField("ac_id", last_ac_id);
msg.addField("block_id", block_id);

msg.setSenderId("ground");

link->sendMessage(msg);
} else {
qDebug() << "not a number!!!";
}
});
}

Expand Down
2 changes: 2 additions & 0 deletions example/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ class MainWindow : public QMainWindow

private:
Ui::MainWindow *ui;

QString last_ac_id;
};

#endif // MAINWINDOW_H
4 changes: 2 additions & 2 deletions example/mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Send &quot;Hello &lt;name&gt;&quot; to change the label text.</string>
<string>Start paparazzi with one AC to update the label.</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -53,7 +53,7 @@
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>enter text and press ENTER to send it.</string>
<string>enter a block number and press ENTER to send it.</string>
</property>
</widget>
</item>
Expand Down

0 comments on commit d1686a7

Please sign in to comment.