added support for setting tdma slots by range, added modem commands to tdma scripted, bug fixes to tdma, tdma status updates, new ci tests and some in progress

Breaking Changes

  • tdma slots have a new expanded range! int8 to uint16. Can now support up to 65535 slots.
  • TdmaStatus, TdmaScriptedStatus, TdmaSlottedAlohaStatus and, TdmaAdvancedStatus have been updated:
    • int8 current_slot now: uint16
    • int8 num_slots now: uint16 *does not apply to TdmaStatus which does not have this field
  • TdmaAdvancedStatus now has:
    • string[] this_cycle_modem_commands: list of modem commands send this test cycle
    • string[] last_cycle_modem_commands: list of modem commands sent last test cycle

New Features / Improvements

  • modem sim node has a new ros param that lowers the log verbosity without changing the ros log level. There are a lot of messages that are overwhelming when you have more than 2 sims
  • tdma_scripted_node now support modem commands.
    • add the optional key modem_commands to a test block entry and the modem commands in the list will be published to nmea_to_modem before each transmit.
    • examples can be found in ros_acomms_tests/launch/tdma_scripted_test_plan_modem_cmds.yaml.
  • active_slots, comms_slots, nav_slots and, aloha_slots can be set with a range string:
    • valid range formats: start-slot-inclusive:end-slot-inclusive(:optional-step)
    • valid ranges/step values CANNOT be negative.
    • valid range seperators: ":|;|-"
    • example range strings
      • "::" converts to: "0:{num_slots - 1}:1"
      • ":5:" converts to: "0:5:1"
      • "90:5:2" converts to: "0:5:2,90:{num_slots - 1}:2" (wrap around case)

Bugfixes

  • adding support for more slots means making all slot data types uniform uint16. I think I've hit them all..
  • fixed bug in aloha slots and nav slots overlap that I had not hit in the non-extreme test
Edited by Caileigh Fitzgerald

Merge request reports

Loading