-
-
v16.0.0-rc2bdd46b57 · ·
Bugfixes ======== - Fixed calculation of ping OWTT in modem simulator (!188)
-
v16.0.0-rc16054f759 · ·
Bugfixes ======== - Fix simulated ping OWTT (!186) - Fix modem sim logging (!186)
-
v16.0.0-rc0ded5e9c0 · ·
Breaking Changes ================ - `LinkStatsFeeback` message: added `receiver_src` field, fixed name of `median_noise_dB` field (!184) - Removed `epoch_end` from time fields in default `LinkStatsFeedback` codec (!184) New Features / Improvements =========================== - Added `LinkStatsSummary` message to publish aggregated `LinkStatsFeedback` (!184) Bugfixes ======== - Removed `epoch_end` from time fields in default `LinkStatsFeedback` codec (it was saturating in January 2025) (!184) - Fixed regression in name of `LinkStatsFeeback` `median_noise_dB` field (it briefly had a lowercase "b") (!184)
-
-
-
-
-
v14.0.352aacf13 · ·
Bugfixes ======== - Fix handing of the dynamic queue cache when using packet codecs that break a packet into multiple sections. Previously, a dynamic queue could be ignored due to invalid cache when the number of available bits increased over the course of a packet. (!171)
-
v14.0.244601909 · ·
Documentation Improvements ========================== - Significant additions to documentation (!168) - Improved documentation formatting (!168) - Removed out-of-date information (!168)
-
v14.0.10fc469ae · ·
Bugfixes ======== - Fix a bug in the modem sim that would zero-pad bad frames when partial packets were received. (!165)
-
v14.0.0f0baa081 · ·
Breaking Changes ================ - `GetNextQueuedMessageResponse` (part of `GetNextQueuedMessage.srv`) has a new field: `string[] msg_tags`. (!160) - `PingModem.srv` and `PingTransponders.srv` timeout field is now that same: `timeout_sec` and logic has been updated across package (!158) - `Tdma*Status.msg` has the following fields added to support QoS tags (!158): - `minimum_priority`: will be value set in tag for [this] slot - `time_to_next_dedicated_slot`: time to next un-tagged / un-restricted slot where you are guarenteed to TX if you have _any_ data. New Features / Improvements =========================== - `GetNextQueuedMessageResponse` new field: `string[] msg_tags`. (!160) - `string[] msg_tags` are the tags for the message returned in the response. - since dynamic_queues are not handled by the `message_queue_node` directly, we now use this field to validate responses, and invalid responses are ignored. - added `deserialize_anymsg()` to `mac_utils.py` (!160) - changed `toggle_software_mute()` in `tdma_advanced_node` to a switch of type `std_msgs/Bool` and updated logic in `mac_switcher. (!158) - `tdma*` can now calculate `time_to_next_dedicated_slot` (!158) Bugfixes ======== - `TagConfig` was not setting `self.exclude_queue_ids`. it was setting `set.exclude_list` (typo!) and no other nodes were using that attr. - Fixes to message queue (!160): - dynamic queue response tag validation - was not setting `minimum_priority` when creating `tag_config` instance. - was not passing `minimum_priority` to dynamic_queue_query call. - set software_mute correctly in `tdma_advanced` (!161, #46)
-
-
-
-
-
v11.1.0931f8a97 · ·
New Features / Improvements =========================== - `tdma_advanced_node` can now pass an empty list for `~comms_slots`. When empty, (`comms_slots=""`) this tells `tdma_advanced_node` not to send comms packets in _any_ slots. Useful for a ping only tdma MAC config Bugfixes ======== - `acomms_driver_node`: changed minimum ping_reply_timeout from 5 seconds to 1. - `modem_sim_node`: changed minimum ping_reply_timeout from 5 seconds to 1. - `tdma_advanced_node` bug fix for empty `~comms_slots`.
-
v11.0.00912de93 · ·
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)
-
v10.1.0fe1ab8ca · ·
New Features / Improvements =========================== - `tdma_node.py` manual_transmit feature can now take a list of modem commands (newline delimited string). (!136) - when a message is published on `tdma/nmea_to_modem` and data looks like: `"$CCCFG,BND,0\n$CCCMD,RLS,2,1,0,0,\n"`, the manual transmit object will split the nmea sentences (on newlines) and publish each of them (allows users to send config commands ahead of a transmitting command) - Add a service to query SRC address from modem (or modem sim). (!133) - Use this in `message_queue_node` to get the modem SRC address if it isn't passed as a parameter. (The SRC address may be used by packet codec plugins when encoding messages). - Adds `query_modem_param` service to `AcommsDriverNode` that queries uModem for any single config parameter or group of config parameters. (!134, !135) Bugfixes ======== - Fix a bug where missing SST values occasionally broke LinkLayerFeedback messaging (hotfix to 10.0.1 in !141, !132) - Fix conditions where packet codec is given more bits than it asked for (hotfix to 10.0.1 in !140, !139) - Add error handling when a dynamic queue returns more bits than we asked for, so it no longer breaks the packet codec - Improved logging. - Fixed a bug in `link_layer_feedback_node.py` that returned messages larger than requested. - Fixed a (probably) harmless bug with a mutable default argument in `message_queue_node.py` - `get_remaining_time_to_slot()` now correctly handles case when `{slot}` passed is wrapped around the cycle from the `current_slot`. (!138) - CI testing: - `test_tdma_extended.py` now `test_always_send_test_data_with_miniframes()` allows 1 packet (and it must be the first packet) to not fail the test if it's all zeros. (!137)
-
v10.0.15fcaadee · ·
Bugfixes ======== - Backport: Fix a bug where missing SST values occasionally broke LinkLayerFeedback messaging (!141, !132) - Backport: Fix conditions where packet codec is given more bits than it asked for (!140, !139) - Add error handling when a dynamic queue returns more bits than we asked for, so it no longer breaks the packet codec - Improved logging. - Fixed a bug in `link_layer_feedback_node.py` that returned messages larger than requested. - Fixed a (probably) harmless bug with a mutable default argument in `message_queue_node.py`