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,
Salvos and the Dummy Router
The Dummy Router has four salvos pre-configured, which you can use to easily test salvo operation in a panel. These are
- RESET – Set each output to its corresponding input
- Test 1 – Set each output to Input 1
- Test 2 – Set each output to Input 2
- Test 3 – Set each output to Input 3