Command:BENABLE (BE)

MS2000 or RM2000 syntax
Shortcut BE
Format BENABLE [X=Toggle] [Z=Enable_Byte] [F=Button_Function] [R=Home Normal Press] [T=JS Extra Long Press] [M=Zero/Halt Normal Press]
Units None
Remembered Using SS Z
Tiger syntax
Shortcut BE
Format [Addr#]BENABLE [X=Toggle] [Y?] [Z=Enable_Byte] [F=Button_Function] [R=Home Normal Press] [T=JS Extra Long Press] [M=Zero/Halt Normal Press]
Units None
Type Card-Addressed
Remembered Using [addr#]SS Z

Enables or disables button functions for the specified card and specified buttons, either all/none (X, or Toggle) or with finer granularity (Z, or Enable_Byte). Specific buttons can be enabled/disabled by explicitly setting the Enable_Byte.

X parameter Toggle enables or disables the controller buttons. BE X=0 disables all buttons and pulses; i.e. BE X=0 is equivalent to BE Z=0. BE X=1 enables all buttons and pulses (default setting); i.e. BE X=1 is equivalent to BE Z=15. Querying X returns the same value as querying Z.

Tiger v3.15 required.
Y parameter has special functionality for the Tiger Comm Card, see the drop down at the bottom of the page.

Z parameter Enable_Byte is bit-mapped number that determines which buttons are enabled or disabled. The bits are set to 1 when enabled or 0 when disabled, and are defined in the table below. Querying Z returns the same value as querying X.

Note: Bit 5 is a special case; it changes the behavior of the physical button to zero the Z axis only and has been removed from Tiger code after v3.20.

From firmware version 9.55 and later, the command BENABLE can be disabled using CCA Z=28 such that external BE commands cannot disable buttons. The default is to allow the buttons to be disabled by BE, which can also be reset with CCA Z=29. See CUSTOMA for more information.

BENABLE Z - Enable Byte
Bit Button
0 “Zero” Button
1 “Home” Button
2 “@” Button
3 Joystick Button
4 Reserved
5 Zero Z Only Removed from Tiger after v3.20
6 Reserved
7 Reserved

MS-2000 v9.2m or Tiger v3.19 required
F parameter Button_Function is a positive integer code for the button function that will be executed. See documentation of BCUSTOM for a list of available button functions. This allows a button press to be simulated using a serial command. However, this will not modify the button_flag_byte.

If you need to call button functions that interact with the button_flag_byte use EXTRA M=# instead.

Button Function Assignment Parameters

MS-2000 v9.2m or Tiger v3.19 required
You can assign functions from from the button function table in BCUSTOM to additional Zero/Halt, Home, and Joystick button press durations not available on BCUSTOM.

M - assign a button function to Zero/Halt Normal Press.

R - assign a button function to Home Normal Press.

T - assign a button function to Joystick Extra Long Press .

Note: The Zero/Halt button will always halt all axes on a button press unless you set the button function to 0 - No Function Performed, which disables the halting routine. The halting routine happens as soon as you press the button, not in the release handler.

Tiger Example
To make Axis on Card #1 ignore the zero and home button, and only respond to Joystick and @ buttons. Bit 3 and Bit 2 set to '1' , Bit 1 and Bit 0 set to '0'. Binary '1100' is Decimal '12'
1BE Z=12
:A
MS2000 Example
To make all the axis on controller ignore the zero and home button, and only respond to Joystick and @ buttons. Bit 3 and Bit 2 set to '1' , Bit 1 and Bit 0 set to '0'. Binary '1100' is Decimal '12'
BE Z=12
:A
Y Parameter - Additional Feature in Tiger Version 3.15
Addressing the COMM card specifically (or omitting the address on the command) results in a different behavior. Disabling a button on the COMM card will result in disabling that functionality for all cards in the rack. This disabling happens at the COMM card so the other cards in the rack never receive notification of a change in the button's state. In this way, individual cards may be set to the desired functionality and a layer of control over all cards may be applied without affecting the settings on individual cards.

The 0BE Y? query command provides a report of past button states. Every time one of the inputs is activated, the COMM card notes the activation by setting a bit in a status byte. That bit will remain set until the status byte is queried again on the COMM card with 0BE Y?. The result of the query will return the current status byte to the host, then clear the status byte (set all bits representing input sources to 0), thereby preparing the status byte for further button press detection. The format of the bits in the returned status byte is the same as the table above. A one 1 on the specified bit represents the input has been activated since the last query.

Starting with v3.21, a button that is held down during a serial query of button state will be reported as activated every query up through the one immediately following release. This can be used by high-level software to time button presses, e.g. if querying happens every second and the button is held down for 1.001 seconds then it will be reported as being held down twice. If the button is held down for 0.1 seconds then most of the time it will only be reported once, unless the query happens to occur during that 0.1 seconds in which case it will be reported twice.