v17.0.0 release
This release goes along with ARMW v2.0.0. Changes were made simultaneously to both projects to improve stability and fix a number of concurrency related bugs.
Breaking Changes
A lot of code has changed. The only known breaking change is the median_noise_dB field in the LinkStatsFeedbackMessage has been changed to median_noise_db due to ROS2 not supporting the original name.
New Features / Improvements
- Updated clock generator to use tick/tock, this significantly speeds up simulation (sometimes it is almost to fast). Added a registration service so that the modem sim can register / unregister with the clock. Clock increments after rendezvous from every connected modem sim.
- Updated unit tests to work with ROS2
- Improved test stability by removing helper classes wherever possible, also made use of futures where needed.
- Skipped some tests that often result in failures due to race conditions
- Updated gitlab CI yml to use parallel matrix for ROS 1 & 2 testing, also swapped to using a local registry to share images between multiple CI machines
- Moved location of docker images to docker directory at root of project to keep all dockerfiles together
- Added new dockerfile for ROS2
- Switched from loop_once back to spin called in thread.
- Added health monitor. Uses diagnostic messages to monitor status of ROS nodes.
Bugfixes
- Replacing headers with armw fill time
- Publishers / Services using None (rclpy will not autofill None)
- Concurrency bugs (such as those related to using loop_once)
- Fix slot/cycle counters for TDMA MACs
- Fixed trigger pipelines in gitlab ci, trigger pipelines get branch of triggerer.