From 2604c40d66c4bdec1c0ce1de937ed9a2545d0f63 Mon Sep 17 00:00:00 2001 From: Angel <roangel@student.ethz.ch> Date: Fri, 8 Sep 2017 13:14:03 +0200 Subject: [PATCH] added button for turning motors off. Need to try downstairs --- .../GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user | 93 +++---------------- .../CrazyFlyGUI/include/mainguiwindow.h | 5 + .../GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp | 9 ++ .../GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui | 85 +++++++++-------- pps_ws/src/d_fall_pps/param/Crazyflie.db | 4 +- pps_ws/src/d_fall_pps/src/PPSClient.cpp | 8 ++ 6 files changed, 85 insertions(+), 119 deletions(-) diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user index ebe2fd31..13d53214 100755 --- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user +++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro.user @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE QtCreatorProject> -<!-- Written by QtCreator 4.0.2, 2017-08-15T15:30:19. --> +<!-- Written by QtCreator 3.5.1, 2017-09-08T11:50:18. --> <qtcreator> <data> <variable>EnvironmentId</variable> - <value type="QByteArray">{72576140-2426-4e8d-b4f8-00ed8021ee7f}</value> + <value type="QByteArray">{1400dcd4-82c6-466c-a808-34f7a3d4fe21}</value> </data> <data> <variable>ProjectExplorer.Project.ActiveTarget</variable> @@ -40,7 +40,6 @@ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> <value type="bool" key="EditorConfiguration.ShowMargin">false</value> <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> - <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value> <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> <value type="int" key="EditorConfiguration.TabSize">8</value> @@ -59,21 +58,22 @@ <data> <variable>ProjectExplorer.Project.Target.0</variable> <valuemap type="QVariantMap"> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.7.0 GCC 64bit</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.7.0 GCC 64bit</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.57.gcc_64_kit</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{051621a5-413a-4a38-907c-a6d036ac454e}</value> <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> - <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gazebo-cf/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/build-CrazyFlyGUI-Desktop_Qt_5_7_0_GCC_64bit-Debug</value> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ppsteacher/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/build-CrazyFlyGUI-Desktop-Debug</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value> @@ -126,7 +126,7 @@ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> </valuemap> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> - <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gazebo-cf/work/D-FaLL-System/pps_ws/src/d_fall_gui/GUI_Qt/build-CrazyFlyGUI-Desktop_Qt_5_7_0_GCC_64bit-Release</value> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/ppsteacher/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/build-CrazyFlyGUI-Desktop-Release</value> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> @@ -134,6 +134,7 @@ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value> @@ -185,67 +186,7 @@ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> </valuemap> - <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> - <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gazebo-cf/work/D-FaLL-System/pps_ws/src/d_fall_gui/GUI_Qt/build-CrazyFlyGUI-Desktop_Qt_5_7_0_GCC_64bit-Profile</value> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> - <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value> - <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value> - <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value> - </valuemap> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> - <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> - <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> - <value type="QString">-w</value> - <value type="QString">-r</value> - </valuelist> - <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> - <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> - <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> - </valuemap> - <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> - </valuemap> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> - <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> - <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"> - <value type="QString">-w</value> - <value type="QString">-r</value> - </valuelist> - <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> - <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> - <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> - </valuemap> - <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> - </valuemap> - <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> - <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> - <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> - <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> - <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> - </valuemap> - <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> @@ -261,11 +202,6 @@ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> - <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value> - <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value> - <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value> - <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value> - <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value> <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> @@ -303,14 +239,13 @@ <value type="int" key="PE.EnvironmentAspect.Base">2</value> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CrazyFlyGUI</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">CrazyFlyGUI2</value> - <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/gazebo-cf/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro</value> - <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/ppsteacher/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/CrazyFlyGUI.pro</value> <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">CrazyFlyGUI.pro</value> <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> - <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/gazebo-cf/work/D-FaLL-System/pps_ws/src/d_fall_pps/GUI_Qt/build-CrazyFlyGUI-Desktop_Qt_5_7_0_GCC_64bit-Debug</value> <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h index 5c1e56be..a634c4a3 100755 --- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h +++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/include/mainguiwindow.h @@ -20,7 +20,9 @@ #include <std_msgs/Int32.h> +#define CMD_CRAZYFLY_MOTORS_OFF 5 using namespace d_fall_pps; + #endif @@ -132,6 +134,8 @@ private slots: void on_comboBoxCFs_currentTextChanged(const QString &arg1); + void on_all_motors_off_button_clicked(); + private: Ui::MainGUIWindow *ui; @@ -146,6 +150,7 @@ private: CFLinker* cf_linker; ros::Publisher DBChangedPublisher; + ros::Publisher emergencyStopPublisher; #endif void updateComboBoxesCFs(); diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp index 8c2614a2..cc4fe388 100755 --- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp +++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.cpp @@ -23,6 +23,7 @@ #include <ros/ros.h> #include <ros/network.h> +#include <ros/package.h> #endif @@ -198,6 +199,7 @@ void MainGUIWindow::_init() ros::NodeHandle nodeHandle("~"); DBChangedPublisher = nodeHandle.advertise<std_msgs::Int32>("DBChanged", 1); + emergencyStopPublisher = nodeHandle.advertise<std_msgs::Int32>("emergencyStop", 1); #endif } @@ -926,3 +928,10 @@ void MainGUIWindow::on_comboBoxCFs_currentTextChanged(const QString &arg1) ROS_INFO("name not found in LUT"); } } + + +void MainGUIWindow::on_all_motors_off_button_clicked() +{ + std_msgs::Int32 msg; + msg.data = CMD_CRAZYFLY_MOTORS_OFF; +} diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui index 13c41f36..725dbd1e 100755 --- a/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui +++ b/pps_ws/src/d_fall_pps/GUI_Qt/CrazyFlyGUI/src/mainguiwindow.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>866</width> - <height>763</height> + <height>820</height> </rect> </property> <property name="windowTitle"> @@ -110,7 +110,7 @@ <string>What to show</string> </property> <layout class="QGridLayout" name="gridLayout_5"> - <item row="3" column="0"> + <item row="4" column="0"> <widget class="QCheckBox" name="checkBox_grid"> <property name="font"> <font> @@ -125,7 +125,7 @@ </property> </widget> </item> - <item row="4" column="0"> + <item row="5" column="0"> <widget class="QCheckBox" name="checkBox_table"> <property name="font"> <font> @@ -140,7 +140,7 @@ </property> </widget> </item> - <item row="7" column="0"> + <item row="8" column="0"> <widget class="QCheckBox" name="checkBox_vicon_crazyflies"> <property name="font"> <font> @@ -155,7 +155,7 @@ </property> </widget> </item> - <item row="0" column="0"> + <item row="1" column="0"> <widget class="QCheckBox" name="checkBox_crazyfly_zones"> <property name="font"> <font> @@ -170,7 +170,7 @@ </property> </widget> </item> - <item row="1" column="0"> + <item row="2" column="0"> <widget class="QCheckBox" name="checkBox_vicon_markers"> <property name="font"> <font> @@ -185,7 +185,7 @@ </property> </widget> </item> - <item row="7" column="1"> + <item row="8" column="1"> <widget class="QDoubleSpinBox" name="scaleSpinBox"> <property name="font"> <font> @@ -194,7 +194,7 @@ </property> </widget> </item> - <item row="1" column="1"> + <item row="2" column="1"> <widget class="QCheckBox" name="checkBox_vicon_highlight_markers"> <property name="font"> <font> @@ -248,6 +248,13 @@ <enum>QFrame::Raised</enum> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QPushButton" name="all_motors_off_button"> + <property name="text"> + <string>All motors OFF</string> + </property> + </widget> + </item> <item> <widget class="QTabWidget" name="tabWidget_2"> <property name="currentIndex"> @@ -258,7 +265,7 @@ <string>Links</string> </attribute> <layout class="QGridLayout" name="gridLayout"> - <item row="5" column="1" colspan="6"> + <item row="6" column="1" colspan="6"> <widget class="QLabel" name="err_message_student_id"> <property name="font"> <font> @@ -270,7 +277,7 @@ </property> </widget> </item> - <item row="14" column="1" colspan="6"> + <item row="15" column="1" colspan="6"> <widget class="QLabel" name="err_message_cf_zone"> <property name="font"> <font> @@ -282,7 +289,7 @@ </property> </widget> </item> - <item row="9" column="1" colspan="6"> + <item row="10" column="1" colspan="6"> <widget class="QLabel" name="err_message_cf"> <property name="font"> <font> @@ -294,7 +301,7 @@ </property> </widget> </item> - <item row="4" column="1"> + <item row="5" column="1"> <widget class="QSpinBox" name="spinBox_student_ids"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> @@ -323,34 +330,34 @@ </property> </widget> </item> - <item row="13" column="1"> - <widget class="QComboBox" name="comboBoxCFZones"/> - </item> - <item row="8" column="1"> + <item row="9" column="1"> <widget class="QComboBox" name="comboBoxCFs"/> </item> - <item row="3" column="1"> + <item row="14" column="1"> + <widget class="QComboBox" name="comboBoxCFZones"/> + </item> + <item row="4" column="1"> <widget class="QLabel" name="label_4"> <property name="text"> <string>Choose Student ID:</string> </property> </widget> </item> - <item row="6" column="1"> + <item row="7" column="1"> <widget class="QLabel" name="label_2"> <property name="text"> <string>Choose CF to link:</string> </property> </widget> </item> - <item row="12" column="1"> + <item row="13" column="1"> <widget class="QLabel" name="label_3"> <property name="text"> <string>Choose CF Zone to link:</string> </property> </widget> </item> - <item row="8" column="6"> + <item row="9" column="6"> <widget class="QPushButton" name="refresh_cfs_button"> <property name="text"> <string>Refresh CFs</string> @@ -364,7 +371,7 @@ </property> </widget> </item> - <item row="15" column="1" colspan="6"> + <item row="16" column="1" colspan="6"> <widget class="QTableWidget" name="table_links"> <property name="minimumSize"> <size> @@ -382,56 +389,56 @@ <number>0</number> </property> <attribute name="horizontalHeaderVisible"> - <bool>true</bool> + <bool>false</bool> </attribute> </widget> </item> - <item row="13" column="6"> + <item row="14" column="6"> <widget class="QPushButton" name="link_button"> <property name="text"> <string>Link!</string> </property> </widget> </item> - <item row="17" column="6"> + <item row="18" column="6"> <widget class="QPushButton" name="unlink_button"> <property name="text"> <string>Unlink!</string> </property> </widget> </item> - <item row="19" column="6"> + <item row="20" column="6"> <widget class="QPushButton" name="save_in_DB_button"> <property name="text"> <string>Save in DB</string> </property> </widget> </item> - <item row="18" column="6"> + <item row="11" column="6"> + <widget class="QLineEdit" name="radioAddress_text"> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="clearButtonEnabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="19" column="6"> <widget class="QPushButton" name="load_from_DB_button"> <property name="text"> <string>Load from DB</string> </property> </widget> </item> - <item row="10" column="1"> + <item row="11" column="1"> <widget class="QLabel" name="label"> <property name="text"> <string>Radio Address:</string> </property> </widget> </item> - <item row="10" column="6"> - <widget class="QLineEdit" name="radioAddress_text"> - <property name="readOnly"> - <bool>true</bool> - </property> - <property name="clearButtonEnabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="11" column="6"> + <item row="12" column="6"> <widget class="QLabel" name="err_message_radio_address"> <property name="font"> <font> @@ -495,7 +502,7 @@ <x>0</x> <y>0</y> <width>866</width> - <height>19</height> + <height>25</height> </rect> </property> </widget> diff --git a/pps_ws/src/d_fall_pps/param/Crazyflie.db b/pps_ws/src/d_fall_pps/param/Crazyflie.db index 005201c0..965f0786 100644 --- a/pps_ws/src/d_fall_pps/param/Crazyflie.db +++ b/pps_ws/src/d_fall_pps/param/Crazyflie.db @@ -1 +1,3 @@ -4,PPS_CF05,0/32/2M,0,-0.18599,-0.308665,-0.2,0.736046,0.451125,2 +4,PPS_CF01,0/0/2M,0,-1.03434,-0.0437254,-0.2,-0.311568,0.520142,2 +5,PPS_CF02,0/8/2M,1,-0.197242,-0.0777012,-0.2,0.493104,0.448276,2 +6,PPS_CF08,0/56/2M,2,0.204585,1.00987,-0.2,0.820217,1.79884,2 diff --git a/pps_ws/src/d_fall_pps/src/PPSClient.cpp b/pps_ws/src/d_fall_pps/src/PPSClient.cpp index 244a0725..65ac933b 100755 --- a/pps_ws/src/d_fall_pps/src/PPSClient.cpp +++ b/pps_ws/src/d_fall_pps/src/PPSClient.cpp @@ -579,6 +579,11 @@ void DBChangedCallback(const std_msgs::Int32& msg) loadCrazyflieContext(); } +void emergencyStopCallback(const std_msgs::Int32& msg) +{ + commandCallback(msg); +} + void crazyRadioStatusCallback(const std_msgs::Int32& msg) { crazyradio_status = msg.data; @@ -671,6 +676,9 @@ int main(int argc, char* argv[]) // subscriber for DBChanged ros::Subscriber DBChangedSubscriber = namespaceNodeHandle.subscribe("/my_GUI/DBChanged", 1, DBChangedCallback); + // subscriber for emergencyStop + ros::Subscriber emergencyStopSubscriber = namespaceNodeHandle.subscribe("/my_GUI/emergencyStop", 1, emergencyStopCallback); + // crazyradio status. Connected, connecting or disconnected ros::Subscriber crazyRadioStatusSubscriber = namespaceNodeHandle.subscribe("CrazyRadio/CrazyRadioStatus", 1, crazyRadioStatusCallback); -- GitLab