From 8871534ce1732fad0e17b4054024dc5fb1dde45d Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Sat, 9 Jul 2022 06:46:20 +0000
Subject: [PATCH] [Mavlink] Added isStarted method to the driver
---
libs/mavlink-skyward-lib | 2 +-
src/shared/events/EventBroker.cpp | 1 +
.../radio/MavlinkDriver/MavlinkDriver.h | 19 ++++++++++++++++---
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/libs/mavlink-skyward-lib b/libs/mavlink-skyward-lib
index aa28ae345..2105872f9 160000
--- a/libs/mavlink-skyward-lib
+++ b/libs/mavlink-skyward-lib
@@ -1 +1 @@
-Subproject commit aa28ae345943b3686d72a0675fa374771e4a00b1
+Subproject commit 2105872f965e63932abf304854604369a523f587
diff --git a/src/shared/events/EventBroker.cpp b/src/shared/events/EventBroker.cpp
index b748fc1e9..b7029ee58 100644
--- a/src/shared/events/EventBroker.cpp
+++ b/src/shared/events/EventBroker.cpp
@@ -29,6 +29,7 @@ namespace Boardcore
{
EventBroker::EventBroker() {}
+
void EventBroker::post(const Event& ev, uint8_t topic)
{
#ifdef TRACE_EVENTS
diff --git a/src/shared/radio/MavlinkDriver/MavlinkDriver.h b/src/shared/radio/MavlinkDriver/MavlinkDriver.h
index ba01382eb..aec5c22dd 100644
--- a/src/shared/radio/MavlinkDriver/MavlinkDriver.h
+++ b/src/shared/radio/MavlinkDriver/MavlinkDriver.h
@@ -65,7 +65,7 @@ template <unsigned int PktLength, unsigned int OutQueueSize,
unsigned int MavMsgLength = MAVLINK_MAX_PAYLOAD_LEN>
class MavlinkDriver
{
- ///< Alias of the function to be executed on message reception.
+ /// Alias of the function to be executed on message reception.
using MavHandler = std::function<void(MavlinkDriver* channel,
const mavlink_message_t& msg)>;
@@ -88,6 +88,11 @@ public:
*/
bool start();
+ /**
+ * @brief Tells whether the driver was started.
+ */
+ bool isStarted();
+
/**
* @brief Stops sender and receiver threads.
*/
@@ -141,7 +146,8 @@ public:
private:
/**
- * @brief Calls the run member function
+ * @brief Calls the run member function.
+ *
* @param arg the object pointer cast to void*
*/
static void rcvLauncher(void* arg)
@@ -238,7 +244,14 @@ bool MavlinkDriver<PktLength, OutQueueSize, MavMsgLength>::start()
if (sndStarted && rcvStarted)
LOG_DEBUG(logger, "Sender and receiver started");
- return (sndStarted && rcvStarted);
+ return sndStarted && rcvStarted;
+}
+
+template <unsigned int PktLength, unsigned int OutQueueSize,
+ unsigned int MavMsgLength>
+bool MavlinkDriver<PktLength, OutQueueSize, MavMsgLength>::start()
+{
+ return sndStarted && rcvStarted;
}
template <unsigned int PktLength, unsigned int OutQueueSize,
--
GitLab