Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v16.0.0-rc3 Release: v16.0.0-rc3
  • v16.0.0-rc2 Release: v16.0.0-rc2
    Bugfixes
    ========
    - Fixed calculation of ping OWTT in modem simulator (!188)
  • v16.0.0-rc1 Release: v16.0.0-rc1
    Bugfixes
    ========
    - Fix simulated ping OWTT (!186)
    - Fix modem sim logging (!186)
  • v16.0.0-rc0 Release: v16.0.0-rc0
    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)
  • v15.0.0 Release: v15.0.0
  • v15.0.0-rc Release: v15.0.0-rc
  • v15.0.0-beta Release: v15.0.0-beta
  • v14.0.4 Release: v14.0.4
    Includes important bug fix to `tdma_slotted_aloha` #52
  • v14.0.3 Release: v14.0.3
    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.2 Release: v14.0.2
    Documentation Improvements
    ==========================
    - Significant additions to documentation (!168)
    - Improved documentation formatting (!168)
    - Removed out-of-date information (!168)
  • v14.0.1 Release: v14.0.1
    Bugfixes
    ========
    - Fix a bug in the modem sim that would zero-pad bad frames when partial packets were received. (!165)
  • v14.0.0 Release: v14.0.0
    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)
  • v14.0.0-rc0 Release: v14.0.0-rc0
  • v13.1.0 Release: v13.1.0
  • v13.0.0 Release: v13.0.0
  • v12.0.0 Release: v12.0.0
  • v11.1.0 Release: v11.1.0
    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.0 Release: v11.0.0
    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.0 Release: v10.1.0
    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.1 Release: v10.0.1
    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`