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`