diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index 570f39c967ca2673d396128cd7fc4a6b808ebb6f..347244ea1b2252fa1676514d3a9d54f8420346a5 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -556,6 +556,22 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message) emit textMessageReceived(uasId, message.compid, severity, text); } break; +#ifdef MAVLINK_ENABLED_PIXHAWK + case MAVLINK_MSG_ID_POINT_OF_INTEREST: + { + mavlink_point_of_interest_t poi; + mavlink_msg_point_of_interest_decode(&message, &poi); + emit poiFound(this, poi.type, poi.color, QString((QChar*)poi.name, MAVLINK_MSG_POINT_OF_INTEREST_FIELD_NAME_LEN), poi.x, poi.y, poi.z); + } + break; + case MAVLINK_MSG_ID_POINT_OF_INTEREST_CONNECTION: + { + mavlink_point_of_interest_connection_t poi; + mavlink_msg_point_of_interest_connection_decode(&message, &poi); + emit poiConnectionFound(this, poi.type, poi.color, QString((QChar*)poi.name, MAVLINK_MSG_POINT_OF_INTEREST_CONNECTION_FIELD_NAME_LEN), poi.x1, poi.y1, poi.z1, poi.x2, poi.y2, poi.z2); + } + break; +#endif #ifdef MAVLINK_ENABLED_UALBERTA case MAVLINK_MSG_ID_NAV_FILTER_BIAS: { diff --git a/src/uas/UASInterface.h b/src/uas/UASInterface.h index 7141405745ff0628a3d6e99e9a9ee30968c4cee0..d1129895014d11262b6e6d209e680bac4050f3e6 100644 --- a/src/uas/UASInterface.h +++ b/src/uas/UASInterface.h @@ -258,6 +258,10 @@ signals: * @param text the status text * @param severity The severity of the message, 0 for plain debug messages, 10 for very critical messages */ + + void poiFound(UASInterface* uas, int type, int colorIndex, QString message, float x, float y, float z); + void poiConnectionFound(UASInterface* uas, int type, int colorIndex, QString message, float x1, float y1, float z1, float x2, float y2, float z2); + void textMessageReceived(int uasid, int componentid, int severity, QString text); /** * @brief Update the error count of a device