-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ros_realtime: add support for Xenomai RTOS #6
Comments
Changed 2 years ago by mrinal attachment rosrt_xenomai.diff added Changed 2 years ago by jfaust owner changed from jfaust to straszheim owner changed from straszheim to gerkey cc straszheim, sglaser added Changed 20 months ago by mrinal status changed from new to assigned |
|
Xenomai support added using the native Xenomai API. Added three wrapper classes: rosrt::mutex, rosrt::condition_variable, and rosrt::thread, which wrap xenomai functions or boost classes depending on the platform. Tests have also been updated to work on Xenomai, because a loop without sleeps in a Xenomai real-time thread can starve the system.
Xenomai support added using the native Xenomai API. Added three wrapper classes: rosrt::mutex, rosrt::condition_variable, and rosrt::thread, which wrap xenomai functions or boost classes depending on the platform. Tests have also been updated to work on Xenomai, because a loop without sleeps in a Xenomai real-time thread can starve the system.
Migrated from code.ros.org, issue #3231
Reported by: mrinal
https://code.ros.org/trac/ros/ticket/3231
When the rosrt::Publisher is used from a Xenomai task, it causes the task to switch to secondary mode when signaling a boost/pthread condition variable.
The attached patch is a first attempt at adding Xenomai support to rosrt. It adds three wrapper classes, rosrt::mutex, rosrt::condition_variable, and rosrt::thread, which wrap xenomai functions or boost classes depending on the platform. Tests have also been modified to work on Xenomai, because a loop without sleeps in a real-time thread can starve the system since there is no preemption.
The text was updated successfully, but these errors were encountered: