From c7deeaa88b4445ab5b3975c58179808000b3e409 Mon Sep 17 00:00:00 2001 From: hengli Date: Mon, 13 Feb 2012 11:44:58 +0100 Subject: [PATCH] Disable references to pixhawk protoc files if pixhawk is not included in MAVLINK_CONF. --- qgroundcontrol.pro | 4 ++-- src/comm/MAVLinkProtocol.cc | 5 ++++- src/comm/MAVLinkProtocol.h | 10 +++++++--- src/uas/PxQuadMAV.cc | 2 +- src/uas/PxQuadMAV.h | 2 +- src/uas/UAS.cc | 6 ++++-- src/uas/UAS.h | 6 +++--- src/uas/UASInterface.h | 4 +++- src/ui/QGCRGBDView.cc | 2 +- src/ui/map3D/Pixhawk3DWidget.cc | 10 +++++----- src/ui/map3D/Pixhawk3DWidget.h | 6 +++--- 11 files changed, 34 insertions(+), 23 deletions(-) diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index c2d8fcf4e..c48292c47 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -388,7 +388,7 @@ contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) { message("Including headers for Protocol Buffers") # Enable only if protobuf is available - HEADERS += ../mavlink/include/pixhawk/pixhawk.pb.h \ + HEADERS += thirdParty/mavlink/include/pixhawk/pixhawk.pb.h \ src/ui/map3D/ObstacleGroupNode.h } contains(DEPENDENCIES_PRESENT, libfreenect) { @@ -530,7 +530,7 @@ contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) { message("Including sources for Protocol Buffers") # Enable only if protobuf is available - SOURCES += ../mavlink/src/pixhawk/pixhawk.pb.cc \ + SOURCES += thirdParty/mavlink/src/pixhawk/pixhawk.pb.cc \ src/ui/map3D/ObstacleGroupNode.cc } contains(DEPENDENCIES_PRESENT, libfreenect) { diff --git a/src/comm/MAVLinkProtocol.cc b/src/comm/MAVLinkProtocol.cc index b12a82c7a..f7647499d 100644 --- a/src/comm/MAVLinkProtocol.cc +++ b/src/comm/MAVLinkProtocol.cc @@ -201,7 +201,7 @@ void MAVLinkProtocol::receiveBytes(LinkInterface* link, QByteArray b) // continue; // } //#endif -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) if (message.msgid == MAVLINK_MSG_ID_EXTENDED_MESSAGE) { @@ -218,6 +218,8 @@ void MAVLinkProtocol::receiveBytes(LinkInterface* link, QByteArray b) // copy extended payload data memcpy(extended_message.extended_payload, extended_payload, extended_message.extended_payload_len); +#if defined(QGC_USE_PIXHAWK_MESSAGES) + if (protobufManager.cacheFragment(extended_message)) { std::tr1::shared_ptr protobuf_msg; @@ -262,6 +264,7 @@ void MAVLinkProtocol::receiveBytes(LinkInterface* link, QByteArray b) } } } +#endif position += extended_message.extended_payload_len; diff --git a/src/comm/MAVLinkProtocol.h b/src/comm/MAVLinkProtocol.h index 32a375521..58910244f 100644 --- a/src/comm/MAVLinkProtocol.h +++ b/src/comm/MAVLinkProtocol.h @@ -42,9 +42,13 @@ This file is part of the QGROUNDCONTROL project #include "QGCMAVLink.h" #include "QGC.h" -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) +#include +#include +#if defined(QGC_USE_PIXHAWK_MESSAGES) #include #endif +#endif /** @@ -202,14 +206,14 @@ protected: int currLossCounter; bool versionMismatchIgnore; int systemId; -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) mavlink::ProtobufManager protobufManager; #endif signals: /** @brief Message received and directly copied via signal */ void messageReceived(LinkInterface* link, mavlink_message_t message); -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) /** @brief Message received via signal */ void extendedMessageReceived(LinkInterface *link, std::tr1::shared_ptr message); #endif diff --git a/src/uas/PxQuadMAV.cc b/src/uas/PxQuadMAV.cc index cc72fe32a..0629924bb 100644 --- a/src/uas/PxQuadMAV.cc +++ b/src/uas/PxQuadMAV.cc @@ -206,7 +206,7 @@ void PxQuadMAV::receiveMessage(LinkInterface* link, mavlink_message_t message) #endif } -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) void PxQuadMAV::receiveExtendedMessage(LinkInterface* link, std::tr1::shared_ptr message) { UAS::receiveExtendedMessage(link, message); diff --git a/src/uas/PxQuadMAV.h b/src/uas/PxQuadMAV.h index b52ea999e..212c8067f 100644 --- a/src/uas/PxQuadMAV.h +++ b/src/uas/PxQuadMAV.h @@ -35,7 +35,7 @@ public: public slots: /** @brief Receive a MAVLink message from this MAV */ void receiveMessage(LinkInterface* link, mavlink_message_t message); -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) /** @brief Receive a Protobuf message from this MAV */ void receiveExtendedMessage(LinkInterface* link, std::tr1::shared_ptr message); #endif diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index a57e68073..25749d956 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -75,7 +75,7 @@ UAS::UAS(MAVLinkProtocol* protocol, int id) : UASInterface(), pitch(0.0), yaw(0.0), statusTimeout(new QTimer(this)), -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) receivedPointCloudTimestamp(0.0), receivedRGBDImageTimestamp(0.0), receivedObstacleListTimestamp(0.0), @@ -1022,7 +1022,7 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message) } } -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) void UAS::receiveExtendedMessage(LinkInterface* link, std::tr1::shared_ptr message) { if (!link) @@ -1069,6 +1069,7 @@ void UAS::receiveExtendedMessage(LinkInterface* link, std::tr1::shared_ptrGetTypeName() == pointCloud.GetTypeName()) { receivedPointCloudTimestamp = QGC::groundTimeSeconds(); @@ -1101,6 +1102,7 @@ void UAS::receiveExtendedMessage(LinkInterface* link, std::tr1::shared_ptr +#ifdef QGC_USE_PIXHAWK_MESSAGES #include #endif +#endif /** * @brief Interface for all robots. @@ -94,7 +96,7 @@ public: virtual bool getSelected() const = 0; -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) virtual px::PointCloudXYZRGB getPointCloud() = 0; virtual px::PointCloudXYZRGB getPointCloud(qreal& receivedTimestamp) = 0; virtual px::RGBDImage getRGBDImage() = 0; diff --git a/src/ui/QGCRGBDView.cc b/src/ui/QGCRGBDView.cc index cfa24beac..36f8b5e04 100644 --- a/src/ui/QGCRGBDView.cc +++ b/src/ui/QGCRGBDView.cc @@ -220,7 +220,7 @@ float colormapJet[128][3] = { void QGCRGBDView::updateData(UASInterface *uas) { -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) px::RGBDImage rgbdImage = uas->getRGBDImage(); if (rgbdImage.rows() == 0 || rgbdImage.cols() == 0 || (!rgbEnabled && !depthEnabled)) diff --git a/src/ui/map3D/Pixhawk3DWidget.cc b/src/ui/map3D/Pixhawk3DWidget.cc index 22af254d8..ccc51e0f0 100644 --- a/src/ui/map3D/Pixhawk3DWidget.cc +++ b/src/ui/map3D/Pixhawk3DWidget.cc @@ -45,7 +45,7 @@ #include "QGC.h" #include "gpl.h" -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) #include #include #endif @@ -111,7 +111,7 @@ Pixhawk3DWidget::Pixhawk3DWidget(QWidget* parent) rgbd3DNode = createRGBD3D(); rollingMap->addChild(rgbd3DNode); -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) obstacleGroupNode = new ObstacleGroupNode; obstacleGroupNode->init(); rollingMap->addChild(obstacleGroupNode); @@ -861,7 +861,7 @@ Pixhawk3DWidget::display(void) rollingMap->setChildValue(mapNode, displayImagery); rollingMap->setChildValue(waypointGroupNode, displayWaypoints); rollingMap->setChildValue(targetNode, enableTarget); -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) rollingMap->setChildValue(obstacleGroupNode, displayObstacleList); rollingMap->setChildValue(pathNode, displayPath); #endif @@ -921,7 +921,7 @@ Pixhawk3DWidget::display(void) updateTarget(robotX, robotY, robotZ); } -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) if (displayRGBD2D || displayRGBD3D) { updateRGBD(robotX, robotY, robotZ); @@ -1647,7 +1647,7 @@ Pixhawk3DWidget::updateTarget(double robotX, double robotY, double robotZ) sd->setColor(osg::Vec4f(1.0f, 0.8f, 0.0f, 1.0f)); } -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) void Pixhawk3DWidget::updateRGBD(double robotX, double robotY, double robotZ) { diff --git a/src/ui/map3D/Pixhawk3DWidget.h b/src/ui/map3D/Pixhawk3DWidget.h index 60537da14..97aac4e13 100644 --- a/src/ui/map3D/Pixhawk3DWidget.h +++ b/src/ui/map3D/Pixhawk3DWidget.h @@ -38,7 +38,7 @@ #include "Imagery.h" #include "ImageWindowGeode.h" #include "WaypointGroupNode.h" -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) #include "ObstacleGroupNode.h" #endif @@ -127,7 +127,7 @@ private: const QString& zone); void updateWaypoints(void); void updateTarget(double robotX, double robotY, double robotZ); -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) void updateRGBD(double robotX, double robotY, double robotZ); void updateObstacles(double robotX, double robotY, double robotZ); void updatePath(double robotX, double robotY, double robotZ); @@ -182,7 +182,7 @@ private: osg::ref_ptr waypointGroupNode; osg::ref_ptr targetNode; osg::ref_ptr rgbd3DNode; -#ifdef QGC_PROTOBUF_ENABLED +#if defined(QGC_PROTOBUF_ENABLED) && defined(QGC_USE_PIXHAWK_MESSAGES) osg::ref_ptr obstacleGroupNode; osg::ref_ptr pathNode; #endif -- 2.22.0