Breaking Changes ================ - Requires armw v2.0. Changes were made simultaneously to both projects to improve stability and fix a number of concurrency related bugs. (!194) - The median_noise_dB field in the LinkStatsFeedbackMessage has been changed to median_noise_db due to ROS2 not supporting the original name. (!194) New Features / Improvements =========================== - Updated clock generator to use tick/tock, this significantly speeds up simulation (sometimes it is almost too 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. (!194) - Switched from loop_once back to spin called in thread. (!194) - Added health monitor. Uses diagnostic messages to monitor status of ROS nodes. (!197) Bugfixes ======== - Replacing headers with armw fill time (!194) - Publishers / Services using None (rclpy will not autofill None) (!194) - Concurrency bugs (such as those related to using loop_once) (!194) - Fix slot/cycle counters for TDMA MACs (!193) - Health monitor improves integration test stability (!197) Test Improvements ================= - Updated unit tests to work with ROS2 (!194) - Improved test stability by removing helper classes wherever possible, also made use of futures where needed. (!194) - Skipped some tests that often result in failures due to race conditions (!194) - 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 (!194) - Moved location of docker images to docker directory at root of project to keep all dockerfiles together (!194) - Added new dockerfile for ROS2 (!194) - Fixed trigger pipelines in gitlab ci, trigger pipelines get branch of triggerer. (!196)