HELM 4.7.0 adds support for salvos on all types of router. Previously, salvos could only be fired with lengthy scripting, or if the controlled router had direct support for salvos.

The LoadSalvos script command  is used to load salvos from a JSON configuration file. Salvos are then triggered using the FireSalvo command.

H.ROUTER.LoadSalvos("salvos.json")
H.ROUTER.FireSalvo("MySalvo")

The router’s SalvoNames property holds a list of available salvos, which can be assigned to dropdowns or button groups.

H.DROPDOWN.Items = H.ROUTER.SalvoNames

Here’s an example of a JSON Salvo configuration file. Each salvo has a name and a body, which contains a list of routes in the format “source > dest”.  An optional id field can be used to recall salvos by number rather than by name

{
  "Salvos": [
    {
      "name": "Test A",
      "id": 0,
      "body": [
        "1>1",
        "1>5",
        "1>6",
        "1>7"
      ]
    },
    {
      "name": "Test B",
      "id": 1,
      "body": [
        "4>0",
        "3>1",
        "2>2",
        "1>3",
        "0>4"
      ]
    }
  ]
}

To help validate and edit your JSON Salvo configuration files, you can use the online JSON validator and editor here. https://www.jsonschemavalidator.net/s/4fhgLG1O,