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)