shawnfeng0 / uorb

C++ inter-thread publish/subscribe middleware ported from PX4 and redesigned based on POSIX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uORB

Tests

English | 中文

The uORB is an asynchronous publish() / subscribe() messaging API used for inter-thread communication. "UORB" is the abbreviation of Micro Object Request Broker.

uORB was originally a messaging middleware in PX4 Autopilot, run on Nuttx rtos or Linux:

The project was re-implemented based on POSIX based on the original API, some redundant software layers were removed, and only most of the core functions were retained. Some of these improvements and fixes have been merged upstream of PX4.

Features

  • Based on POSIX, good compatibility
  • Real-time response mechanism similar to poll() function
  • A flexible and easy-to-use C++ interface, which can operate topics like local structures

Dependencies

Compiling the uorb library requires the support of c++11, and most compilations are currently supported.

We have a message generator that can easily generate message meta-data. These libraries are needed to make it work:

pip3 install -r ${UORB_REPO_PATH}/tools/msg/tools/requirements.txt

Documentation

Examples

uorb-examples

Tools

uorb topic listener

uorb also has a topic listener library. It is responsible for starting a tcp server, which is convenient for developers to monitor uorb topic data in real time outside the process.

Here is an example of using this listener.

About

C++ inter-thread publish/subscribe middleware ported from PX4 and redesigned based on POSIX

License:MIT License


Languages

Language:Python 69.8%Language:C++ 24.3%Language:EmberScript 3.0%Language:CMake 1.8%Language:C 0.9%Language:Shell 0.2%