From 8225f9651ec92ff57f7a1315139f4227978bb0b5 Mon Sep 17 00:00:00 2001
From: beuchatp <beuchatp@control.ee.ethz.ch>
Date: Wed, 30 Jan 2019 09:51:30 +0100
Subject: [PATCH] Changes to comments in PPS Client (attempt to make style
 consistent with controllers), and added Emergency stop button to GUI

---
 .../GUI_Qt/flyingAgentGUI/flyingagentgui.qrc  |   1 +
 .../flyingAgentGUI/images/emergency_stop.png  | Bin 0 -> 6692 bytes
 .../GUI_Qt/flyingAgentGUI/src/topbanner.cpp   |   2 +-
 pps_ws/src/d_fall_pps/src/nodes/PPSClient.cpp | 109 +++++++++++++-----
 4 files changed, 80 insertions(+), 32 deletions(-)
 create mode 100644 pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/images/emergency_stop.png

diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/flyingagentgui.qrc b/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/flyingagentgui.qrc
index fd7f30a5..abfa9642 100644
--- a/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/flyingagentgui.qrc
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/flyingagentgui.qrc
@@ -17,5 +17,6 @@
         <file>images/flying_state_off.png</file>
         <file>images/flying_state_unknown.png</file>
         <file>images/flying_state_unavailable.png</file>
+        <file>images/emergency_stop.png</file>
     </qresource>
 </RCC>
\ No newline at end of file
diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/images/emergency_stop.png b/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/images/emergency_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..7643f985406c7be73109dbab7cbf9fd00f6d63b4
GIT binary patch
literal 6692
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

literal 0
HcmV?d00001

diff --git a/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/src/topbanner.cpp b/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/src/topbanner.cpp
index 60be1432..5f58fcdf 100644
--- a/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/src/topbanner.cpp
+++ b/pps_ws/src/d_fall_pps/GUI_Qt/flyingAgentGUI/src/topbanner.cpp
@@ -51,7 +51,7 @@ TopBanner::TopBanner(QWidget *parent) :
 {
     ui->setupUi(this);
     (":/images/rf_connected.png");
-    QPixmap pixmap(":/images/rf_connected.png");
+    QPixmap pixmap(":/images/emergency_stop.png");
     QIcon ButtonIcon(pixmap);
     ui->emergency_stop_button->setText("");
     ui->emergency_stop_button->setIcon(ButtonIcon);
diff --git a/pps_ws/src/d_fall_pps/src/nodes/PPSClient.cpp b/pps_ws/src/d_fall_pps/src/nodes/PPSClient.cpp
index 79bd5ce3..90d259e0 100755
--- a/pps_ws/src/d_fall_pps/src/nodes/PPSClient.cpp
+++ b/pps_ws/src/d_fall_pps/src/nodes/PPSClient.cpp
@@ -913,7 +913,19 @@ void CFBatteryCallback(const std_msgs::Float32& msg)
 
 
 
-
+//    ----------------------------------------------------------------------------------
+//     GGGG  EEEEE  TTTTT      SSSS  TTTTT    A    TTTTT  U   U   SSSS
+//    G      E        T       S        T     A A     T    U   U  S
+//    G      EEE      T        SSS     T    A   A    T    U   U   SSS
+//    G   G  E        T           S    T    AAAAA    T    U   U      S
+//     GGGG  EEEEE    T       SSSS     T    A   A    T     UUU   SSSS
+//
+//     CCCC    A    L      L      BBBB     A     CCCC  K   K   SSSS
+//    C       A A   L      L      B   B   A A   C      K  K   S
+//    C      A   A  L      L      BBBB   A   A  C      KKK     SSS
+//    C      AAAAA  L      L      B   B  AAAAA  C      K  K       S
+//     CCCC  A   A  LLLLL  LLLLL  BBBB   A   A   CCCC  K   K  SSSS
+//    ----------------------------------------------------------------------------------
 
 bool getCurrentFlyingStateServiceCallback(IntIntService::Request &request, IntIntService::Response &response)
 {
@@ -1213,15 +1225,56 @@ int main(int argc, char* argv[])
 
 
 
-    // FETCH ANY PARAMETERS REQUIRED FROM THE "PARAMETER SERVICES"
+    // GIVE YAML VARIABLES AN INITIAL VALUE
+
+	// This can be done either here or as part of declaring the
+	// variables in the header file
+
+
+
+	// FETCH ANY PARAMETERS REQUIRED FROM THE "PARAMETER SERVICES"
 
     // Call the class function that loads the parameters for this class.
     fetchClientConfigYamlParameters(nodeHandle_to_own_agent_parameter_service);
     fetchSafeControllerYamlParameters(nodeHandle_to_own_agent_parameter_service);
 
 
-
-
+    // THIS IS THE "NEW" WAY TO DO IT
+    // BUT NEED TO CHECK ALL VARIABLES HAVE INITIAL VALUE
+ //    // FETCH ANY PARAMETERS REQUIRED FROM THE "PARAMETER SERVICES"
+
+	// // The yaml files for the controllers are not added to
+	// // "Parameter Service" as part of launching.
+	// // The process for loading the yaml parameters is to send a
+	// // service call containing the filename of the *.yaml file,
+	// // and then a message will be received on the above subscribers
+	// // when the paramters are ready.
+	// // > NOTE IMPORTANTLY that by using a serice client
+	// //   we stall the availability of this node until the
+	// //   paramter service is ready
+
+	// // Create the service client as a local variable
+	// ros::ServiceClient requestLoadYamlFilenameServiceClient = nodeHandle_to_own_agent_parameter_service.serviceClient<LoadYamlFromFilename>("requestLoadYamlFilename", false);
+	// // Create the service call as a local variable
+	// LoadYamlFromFilename loadYamlFromFilenameCall;
+	// // Specify the Yaml filename as a string
+	// loadYamlFromFilenameCall.request.stringWithHeader.data = "DefaultController";
+	// // Set for whom this applies to
+	// loadYamlFromFilenameCall.request.stringWithHeader.shouldCheckForID = false;
+	// // Wait until the serivce exists
+	// requestLoadYamlFilenameServiceClient.waitForExistence(ros::Duration(-1));
+	// // Make the service call
+	// if(requestLoadYamlFilenameServiceClient.call(loadYamlFromFilenameCall))
+	// {
+	// 	// Nothing to do in this case.
+	// 	// The "isReadyDefaultControllerYamlCallback" function
+	// 	// will be called once the YAML file is loaded
+	// }
+	// else
+	// {
+	// // Inform the user
+	// 	ROS_ERROR("[DEFAULT CONTROLLER] The request load yaml file service call failed.");
+	// }
 
 
 
@@ -1234,17 +1287,23 @@ int main(int argc, char* argv[])
 
 
 
-
+    // PUBLISHERS, SUBSCRIBERS, AND SERVICE CLIENTS
 
 	
+
     // CREATE A NODE HANDLE TO THE ROOT OF THE D-FaLL SYSTEM
     ros::NodeHandle nodeHandle_dfall_root("/dfall");
 
+    // CREATE A NODE HANDLE TO THE COORDINATOR
+    std::string namespace_to_coordinator;
+    constructNamespaceForCoordinator( m_coordID, namespace_to_coordinator );
+    ros::NodeHandle nodeHandle_to_coordinator(namespace_to_coordinator);
 
 
 
 
-    // SERVICE CLIENT FOR THE ALLOWED FLYING ZONE AND OTHER CONTEXT DETAILS
+    // SERVICE CLIENT FOR LOADING THE ALLOCATED FLYING ZONE
+    // AND OTHER CONTEXT DETAILS
 
     //ros::service::waitForService("/CentralManagerService/CentralManager");
 	centralManager = nodeHandle_dfall_root.serviceClient<CMQuery>("CentralManagerService/Query", false);
@@ -1253,25 +1312,15 @@ int main(int argc, char* argv[])
     // Subscriber for when the Flying Zone Database changed
     ros::Subscriber databaseChangedSubscriber = nodeHandle_dfall_root.subscribe("CentralManagerService/DBChanged", 1, crazyflieContextDatabaseChangedCallback);
 
-
-
-
-
     // EMERGENCY STOP OF THE WHOLE "D-FaLL-System"
     ros::Subscriber emergencyStopSubscriber = nodeHandle_dfall_root.subscribe("emergencyStop", 1, emergencyStopCallback);
 
-
-
-
-
     // LOCALISATION DATA FROM MOTION CAPTURE SYSTEM
-
 	//keeps 100 messages because otherwise ViconDataPublisher would override the data immediately
 	ros::Subscriber viconSubscriber = nodeHandle_dfall_root.subscribe("ViconDataPublisher/ViconData", 100, viconCallback);
 
 
 
-
     // PUBLISHER FOR COMMANDING THE CRAZYFLIE
     // i.e., motorCmd{1,2,3,4}, roll, pitch, yaw, and onboardControllerType
 	//ros::Publishers to advertise the control output
@@ -1282,18 +1331,8 @@ int main(int argc, char* argv[])
 
 
 
-
-
-    // CREATE A NODE HANDLE TO THE COORDINATOR
-    std::string namespace_to_coordinator;
-    constructNamespaceForCoordinator( m_coordID, namespace_to_coordinator );
-    ros::NodeHandle nodeHandle_to_coordinator(namespace_to_coordinator);
-
-
-
-
-
-    // SUBSCRIBER FOR {TAKE-OFF,LAND,MOTORS-OFF} AND CONTROLLER SELECTION
+    // SUBSCRIBER FOR THE CHANGE STATE COMMANDS
+    // i.e., {TAKE-OFF,LAND,MOTORS-OFF,CONTROLLER SELECTION}
     // > for the agent GUI
     ros::Subscriber commandSubscriber_to_agent = nodeHandle.subscribe("Command", 1, commandCallback);
     // > for the coord GUI
@@ -1302,14 +1341,22 @@ int main(int argc, char* argv[])
 
 
 
-
-    //this topic lets us use the terminal to communicate with crazyRadio node.
+    // PUBLISHER FOR THE CRAZYRADIO COMMANDS
+    // i.e., {CONNECT,DISCONNECT}
+    // This topic lets us use the terminal to communicate with
+    // the crazyRadio node even when the GUI is not launched
     crazyRadioCommandPublisher = nodeHandle.advertise<IntWithHeader>("crazyRadioCommand", 1);
 
-    // this topic will publish flying state whenever it changes.
+
+
+    // PUBLISHER FOR THE FLYING STATE
+    // Possible states: {MOTORS-OFF,TAKE-OFF,FLYING,LAND}
+    // This topic will publish flying state whenever it changes.
     flyingStatePublisher = nodeHandle.advertise<std_msgs::Int32>("flyingState", 1);
 
     
+
+    // PUBLISHER FOR THE 
     controllerUsedPublisher = nodeHandle.advertise<std_msgs::Int32>("controllerUsed", 1);
 
 
-- 
GitLab