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)