mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-20 06:43:34 +08:00
Qurt uORB communicator fixes (#20705)
- there was an issue sending a message from slpi to apps. Seems the code was stuck in an loop and crashed when the message was sent from slpi to apps
This commit is contained in:
@@ -481,11 +481,6 @@ public:
|
||||
*/
|
||||
uORBCommunicator::IChannel *get_uorb_communicator();
|
||||
|
||||
/**
|
||||
* Utility method to check if there is a remote subscriber present
|
||||
* for a given topic
|
||||
*/
|
||||
bool is_remote_subscriber_present(const char *messageName);
|
||||
#endif /* CONFIG_ORB_COMMUNICATOR */
|
||||
|
||||
private: // class methods
|
||||
@@ -506,7 +501,7 @@ private: // data members
|
||||
uORBCommunicator::IChannel *_comm_channel{nullptr};
|
||||
static pthread_mutex_t _communicator_mutex;
|
||||
|
||||
ORBSet _remote_subscriber_topics;
|
||||
// Track the advertisements we get from the remote side
|
||||
ORBSet _remote_topics;
|
||||
#endif /* CONFIG_ORB_COMMUNICATOR */
|
||||
|
||||
@@ -518,32 +513,28 @@ private: //class methods
|
||||
|
||||
#ifdef CONFIG_ORB_COMMUNICATOR
|
||||
/**
|
||||
* Interface to process a received topic from remote.
|
||||
* Interface to process a received topic advertisement from remote.
|
||||
* @param topic_name
|
||||
* This represents the uORB message Name (topic); This message Name should be
|
||||
* globally unique.
|
||||
* @param isAdvertisement
|
||||
* Represents if the topic has been advertised or is no longer avialable.
|
||||
* @return
|
||||
* 0 = success; This means the messages is successfully handled in the
|
||||
* handler.
|
||||
* otherwise = failure.
|
||||
*/
|
||||
virtual int16_t process_remote_topic(const char *topic_name, bool isAdvertisement);
|
||||
virtual int16_t process_remote_topic(const char *topic_name);
|
||||
|
||||
/**
|
||||
* Interface to process a received AddSubscription from remote.
|
||||
* @param messageName
|
||||
* This represents the uORB message Name; This message Name should be
|
||||
* globally unique.
|
||||
* @param msgRate
|
||||
* The max rate at which the subscriber can accept the messages.
|
||||
* @return
|
||||
* 0 = success; This means the messages is successfully handled in the
|
||||
* handler.
|
||||
* otherwise = failure.
|
||||
*/
|
||||
virtual int16_t process_add_subscription(const char *messageName, int32_t msgRateInHz);
|
||||
virtual int16_t process_add_subscription(const char *messageName);
|
||||
|
||||
/**
|
||||
* Interface to process a received control msg to remove subscription
|
||||
|
||||
Reference in New Issue
Block a user