Once you’ve created your HAL configuration that includes external controls, you can use them in your external control system to allow end users to see and change values of HAL controls. The previous sections showed you how to create external controls in your HAL configuration, establish a connection between your external control system and the HAL control server, and how to use ‘set’ and ‘get’ messages to exchange control information. This section gives a few ideas for how to best use the HAL control server with your external control systems.
Do this by sending a ‘get’ message to the HAL control server for each of the controls that your external control system uses. HAL will respond with corresponding ‘set’ message for each control, allowing your system to initialize all of its controls to the current HAL values.
If you want to set your external control system selectors to have the same number of selections and names that the HAL system is using, send a ‘get selection link’ message. The HAL control server will respond with a ‘set selection link’ message, informing your external system of the number of items in the selector. You can then send a ‘get selection name’ message to HAL for each selection item. HAL responds by sending a ‘set selection name’ message for each selection item requested, telling your external control system the display name that HAL is using for that item.
Whenever an end user changes a control in your external control system, send a ‘set’ message to the HAL control server which will cause it to change the control value in the HAL system.
As HAL control values change or as presets are activated and deactivated, the HAL control server sends ‘set’ messages to connected external control systems. Keep the controls in your external control system in sync with HAL by processing these messages as they arrive and updating the corresponding control values.
If your selector controls are dynamic, meaning they can change their number of selections and selection names based on HAL’s values, be sure to receive and process ‘set selection link’ and ‘set selection name’ messages that HAL sends whenever a selector link changes or one of the selection names change.