uORB performance updates

Move some logic from Subscriber into uORBManager. This reduces calls from the
modules to the uORB manager, improving performance in protected build.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
This commit is contained in:
Jukka Laitinen
2022-02-24 11:50:05 -05:00
committed by Daniel Agar
parent 611d50edf3
commit caaa13ddc0
4 changed files with 42 additions and 10 deletions
+2 -2
View File
@@ -303,9 +303,9 @@ uint8_t uORB::Manager::orb_get_queue_size(const void *node_handle)
return data.size;
}
bool uORB::Manager::orb_data_copy(void *node_handle, void *dst, unsigned &generation)
bool uORB::Manager::orb_data_copy(void *node_handle, void *dst, unsigned &generation, bool only_if_updated)
{
orbiocdevdatacopy_t data = {node_handle, dst, generation, false};
orbiocdevdatacopy_t data = {node_handle, dst, generation, only_if_updated, false};
boardctl(ORBIOCDEVDATACOPY, reinterpret_cast<unsigned long>(&data));
generation = data.generation;