Skip to content
Breaking Changes
================
- Removed legacy link-layer fragmentation (!142)
  - This functionality is now provided by `ros_acomms_net`, or by using dynamic queues to implement a new transport layer
  - Removes `EncodedAck` and `FragmentationStatus` messages
  - Removes associated unit tests
  - Removes the `allow_fragmentation` parameter from message codecs

New Features / Improvements
===========================
- Add acoustic range features, including node that publishes acoustic range automatically for pings (with sim and hardware support) (!144)
  - New message `AcousticRange.msg`
  - New node `acoustic_range_node.py`: Generates a range for every ping reply (modem ping OR remus transponder ping) using OWTT and `~sound_speed`.  Publishes `AcousticRange.msg` on `~acoustic_range_topic` (`default=acoustic_range`).
- Logging improvements (!144)
  - Lowered the log verbosity for `tdma_advanced`
  - Added mechanism to `tdma_node` for caching the rosnode log level during init (then available to subclasses)
- New `mac_switcher` node to handle switching among multiple MAC nodes using software mute (!145, !146, !147)
  - New node `MacSwitcherNode`
  - New message `MacSwitcherStatus.msg`
  - Includes "dead man switch" to revert control to "default" MAC node (!146)
  - Example launch file: `ros_acomms/ros_acomms_tests/launch/test_mac_switcher.launch`.

Bugfixes
========
- `modem_sim_node.py`: modem location topic name now uses the rosparam `~modem_location_topic`. It was hard coded to `location`. (!144)