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.
- 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
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
- Getting Started Guide
- API reference (TODO)
- Changelog
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.