Skip to content

Commands Related to Push

(PUT) Set Push Threshold

(PUI) Set Push Interval

(PUC) Push Clear

(PUR) Push Refresh

(GPU) Get Push-enabled Controllers

(PUD) Push Disable

(PUE) Push Enable

(PU) Global Push Enable/Disable

(PU) Global Push Enable/Disable

This command enables or disables the push feature. When enabling, a range of controls can be specified to allow pushing only certain values. Disabling is always global and prevents any unsolicited data from being pushed. The syntax of the command is:

PU \ [\ [\]]\

Where \ is 0=OFF and 1=ON, \ is the optional lowest control number to push (only valid when enabling) and \ is the optional highest control number to push (only valid when enabling). \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be enabled for push. If only one control number is specified, it is assumed to be the \ value and the range from that number up to 10000 will be pushed. If two control numbers are specified, the range formed by those values (including the values themselves) will be enabled for push. \ must be less than or equal to \. When enabling, the range specified overrides any previous ranges, i.e. it replaces the range, rather than adding to it.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

At power-on, push is always enabled. Remember that individual control numbers must be enabled using the Push Enable command as well. Data is pushed whenever a change in that controller occurs or if forced to refresh using the Push Refresh command.

Note: Global Push Enable with a range specified, e.g. PU 1 100 200\ is not recommended. Instead, we recommend always globally enabling the entire range using PU 1\ and using the Push Enable command for individual control.

(PUE) Push Enable

This command enables the push feature for an individual control or range of controls. The syntax of the command is:

PUE [\ [\]]\

Where \ is the optional lowest control number to push and \ is the optional highest control number

to push. \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be enabled for push. If only one control number is specified, only that control number is enabled. If two control numbers are specified, the range formed by those values (including the values themselves) will be enabled for push. \ must be less than or equal to \. Multiple PUE commands can be used to enable non-contiguous control numbers since changes are additive.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

At power-on, push is enabled for all controls in Symetrix systems. Remember that individual control numbers must have the Enable Push setting active in Composer. Data is pushed whenever a change in an enabled control occurs or if forced to refresh using the Push Refresh command. Changes that happen while a control is disabled will be pushed immediately upon enabling that control. The Push Disable command is the inverse of this command and provides a way to turn off controls for push.

(PUD) Push Disable

This command enables the push feature for an individual control or range of controllers. The syntax of the command is:

PUD [\ [\]]\

Where \ is the optional lowest control number to stop pushing and \ is the optional highest control number to stop pushing. \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be disabled for push. If only one control number is specified, only that control number is disabled. If two control numbers are specified, the range formed by those values (including the values themselves) will be disabled for push. \ must be less than or equal to \. Multiple PUD commands can be used to disable non-contiguous control numbers since changes are subtractive.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

At power-on, push is enabled for all controls in Symetrix systems. Remember that individual control numbers must have the Enable Push setting active in Composer. The Push Enable command is the inverse of this command and provides a way to turn on controls for push.

(GPU) Get Push-enabled Controls

This command returns a list of all controls currently enabled for push. A range may optionally be specified to limit the display to controls enabled for push within that range. The syntax of the command is:

GPU [\ [\]]\

Where \ is the optional lowest control number to inquire about and \ is the optional highest control number to inquire about. \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be inquired about. If only one control number is specified, it is assumed to be the \ value and the range from that number up to 10000 will be inquired about. If two control numbers are specified, the range formed by those values (including the values themselves) will be inquired about. \ must be less than or equal to \.

If the command is accepted, the device will respond with a list of enabled control numbers separated by \. If no controls are enabled, it returns the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

Special case: Entering GPU 0\ will return a list settings related to push. It begins with Global=<0/1> to show if push is globally enabled (1) or disabled (0). This is followed by five 5-digit values showing the settings of 1) the global lower limit, 2) the global upper limit, 3) the threshold for parameters, 4) the threshold for meters, and 5) the push interval in milliseconds. The default printout would look like this:

Global=1\

00001 10000 00001 00001 00100\

(PUR) Push Refresh

This command causes data to be pushed immediately even if it hasn’t changed (assuming push is enabled). This may be useful when trying to synchronize a control system to the device. A range of controllers can be specified to refresh only certain values.

The syntax of the command is:

PUR [\ [\]]\

Where \ is the optional lowest control number to refresh and \ is the optional highest control number to refresh. \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be refreshed. If only one control number is specified, it is assumed to be the \ value and the range from that number up to 10000 will be refreshed. If two control numbers are specified, the range formed by those values (including the values themselves) will be refreshed. \ must be less than or equal to \.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

At power-on, all control values are assumed to have changed, so it acts as if a full refresh was performed. Remember that individual control numbers must have the Enable Push setting active in Composer. In addition, push must be enabled for the range of controls you are refreshing (see Push Enable/Disable). Control umbers that don’t meet this criterion will not be affected by the Push Refresh command. In other words, if a control is not enabled for push, refreshing it won’t cause the value to be pushed even if that control is later enabled. The control must be enabled for push at the time the Push Refresh command is issued.

(PUC) Push Clear

This command causes previous changes in data to be ignored and not pushed. It may be desirable to issue this command when first enabling push to prevent being swamped by the flood of incoming data. A range of controls can be specified to clear only certain values. The syntax of the command is:

PUC [\ [\]]\

Where \ is the optional lowest control number to clear and \ is the optional highest control number to clear. \ and \ are both decimal control numbers (1-10000) assigned in Composer. If no control numbers are specified, the entire range of 1-10000 will be cleared. If only one control number is specified, it is assumed to be the \ value and the range from that number up to 10000 will be cleared. If two control numbers are specified, the range formed by those values (including the values themselves) will be cleared. \ must be less than or equal to \.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

It may be useful to issue this command if push has been disabled for a long time and then is about to be re-enabled. Otherwise, you will immediately receive notification for all changes that occurred during the disabled time.

(PUI) Set Push Interval

This command changes the minimum length of time between consecutive pushes of data. (See “How often is data pushed?” for more information.) At power-up, this value defaults to 100 milliseconds. The syntax of the command is:

PUI \\

Where \ is the push interval in milliseconds, between 20 ms and 30,000 ms (30 seconds).

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

While setting a short interval can speed up the push response, it may have a negative impact on overall system performance. The shorter the interval, the more time will be spent looking for push data. This can slow down responses to other RS-232 commands and Composer. Therefore, we recommend using the longest interval that is practical, especially if data is being pushed while Composer is on-line. The default value of 100 milliseconds usually provides a good compromise between prompt reports of changing data and overall system performance.

Note that in cases where many controllers are changing rapidly, the serial baud rate may ultimately limit the update rate. Using the highest possible baud rate is recommended.

(PUT) Set Push Threshold

This command changes the push threshold value. Please remember that data is only pushed when it changes. The threshold is the amount a value must change from the previous push before it is pushed again. For example, if a controller value was 10,000 and the threshold was 1,000, the data would not be pushed again until the value rose to at least 11,000 or fell to 9,000 or below.

Edge actually maintains two different thresholds: one for parameter data such as faders and buttons, and another for meters (including LEDs). These two thresholds can be set to the same value or be different. It may be desirable to use a fairly large threshold for meters to avoid constant pushing of values. The power-on default for both of these values is 1. The syntax of the command is:

PUT [\] [\]]\

Where \ is the optional threshold for parameters other than meters (e.g. faders and buttons) and \ is the optional threshold for meters. Both values must be between 0 and 65535. If neither threshold is specified, both thresholds are set to the default of 1. If only one threshold is specified, that value is used for both the parameter and meter thresholds.

If the command is accepted, the device will respond with the string:

ACK\

If the command is interpreted but fails for any reason the device will respond with the string:

NAK\

Technical Note: The threshold is a “greater than or equal to” type parameter, meaning it must be met (or exceeded) to trigger a push. For example: if the threshold is 1 and the last value pushed was 10,000, then a new value of 10,001 or 9,999 would cause a push to occur. A threshold of 0 acts just like 1.