Skip to content
Breaking changes
----------------
- Moved the `clock_generator` node from `ros_acomms_tests` to `ros_acomms_modeling` (!62)
- Removed `GetPlatformLocation` service and associated functionality from modem simulator node.
- Removed `platform_location_node.py` (!66)
- Added `whoi-uwapm` dependency (which incorporates `bellhopcxx`) (#34)
- Update minimum `acomms` (`pyacomms`) version to 2.4 to support modem nav messages in a future release (#35)
- Require `rospy_yaml_include` (removed dependence on `pyyaml_include`) (!73)

New Features
------------
- The modem simulator can now accept location via any message that includes `latitude`, `longitude`, and `depth` fields. (!66)
- Added message-based modem location sim that publishes a random position at specified intervals. (!66)
- Use `bellhopcxx` rather than `bellhop` for ray tracing. (#34, !72)
- Cleaned up some log messages, improved output, and removed fixed loglevel for `message_queue_node` (!67)
- Made modem transmit loop run at 5Hz instead of 1Hz (!68)
- Added dedicated travel time simulation to avoid unnecessary calls to bellhop (!71)
  - Adds `SimTravelTime` service on the `SimTransmissionLossNode` along with a geometric travel time simulator.  Uses geometric simulator by default to speed up simulation.
- Removed dependency on acoustic toolbox / bellhop (#34)
  - Removed `setup.bash` (which was used to install the acoustic toolbox and build bellhop)
  - Removed runtime check for `bellhop.exe`
- Removed dependencies: `arlpy`, 'scipy', and `pandas` (#34)
- Remove dependency version pinning for `numpy` and `geopy` (#34)
- Updated installation instructions (#34)
- Allow setting fields on nested messages with `set_fields` in `ros_packet_codec` (!81)
- Add packet codec plugins (!79):
  - Added the ability to load custom packet codecs. The paths to search are specified by the `custom_packet_codec_paths` rosparam (in the namespace of the packet dispatch/message queue nodes).  Custom packets codec files must end with `_packet_codec.py` and contain a class called `PacketCodec` that inherits from `BasePacketCodec` (or a derived class).
- Via `rospy_yaml_include`, support rosparam and environment variable substitutions and include paths in codec config files. (!73)
- Improved CI:
  - Updated CI to add parameters to control simulation speed (!62)
  - Updated CI to upgrade python packages when installing from `requirements.txt` (!62)
  - Added unit tests for dynamic queues (!65)
  - Added multistage pipeline trigger: downstream pipeline for `ros_acomms_net` and `ros_acomms_net_tools` (!69)

Bugfixes
--------
- Repaired CI (to accommodate external changes) (!64)
- Fixed a path in `.gitignore`