Code Editor

Scripting is available in ARC using Blockly, JavaScript, Python, and EZ-Script. All scripting editors will support any of the three programming languages, including Blockly. The software also presents intellisense scripting input, which means the commands are displayed as you type.

Scripting Controls

Within the Add Skills dialog of ARC is a section for scripting skill controls. The skill controls within this category are standalone scripting skill controls. Keep in mind that nearly all skills have scripting capability within their configuration dialog as well.

Edit Scripts

Within the configuration dialog of nearly all skill controls is the ability to edit scripts to define specific behaviors, such as when to start tracking using the camera. The script editors are input fields with a pencil icon to the right. In this example, we are displaying the configuration dialog for the WiiMote.

Editor Dialog

The editor dialog consists of an input section on the left and reference assistance on the right. The window can be resized or maximized and will remember the last size for future use.

Intelligent Code Completion (IntelliSense)

As you begin typing the script, the intelligent code complete will present a selection of functions based on your input. You may use the arrow Up/Down keys to select the appropriate command or continue typing. Pressing the ESC key will hide the dialog.

Port Summary

The page of the next tab from the Script Manual is the Port Summary. This page displays how the ports of the EZ-B are being used. The summary is manually entered in the Project Details section. Creating a port summary helps you know what is connected to the EZ-B ports. You will define what is connected to each port, for example, Left Arm Servo or Right Leg Servo.

Cheat Sheet

The third tab of the editor dialog is the Cheat Sheet. This is a very powerful tab, as it automatically generates code for you based on the project configuration. This tab analyzes the project and determines what functions are available from each control. The ControlCommand() script function is how you programmatically set parameters between ARC Controls. The Cheat Sheet tab will display all available ControlCommand() parameters for all controls in your project. Clicking on a ControlCommand() in the list will be added to your script editor.


The fourth tab is a temporary Console for Output while testing your script. The console will display the output of a Print() function or any compiler errors. When you press the Run button to test your script, the output will be displayed in this Console tab.


The last tab is the variables page. This will list all variables that are currently assigned in the compiler. EZ-Script variables are global, so all controls and scripts can share the variables. To access global EZ-Script variables in JavaScript, use the getVar() and setVar() methods. The value of each variable is also displayed, including the values within arrays. Clicking on a variable name will add the text to your script editor.

*Note: Remember that you must define a variable before it can be used. For example, if you wish to check the value of a variable using an IF condition, then you must have already had the variable assigned with a value. Think of it this way, you can't check a value if the variable is empty (i.e. not defined).

Clipboard Functions

Microsoft Windows includes clipboard functions native to all text controls. By selecting the text, the keyboard shortcut CTRL-C can be used to copy the text. Later, the keyboard shortcut CTRL-V can be used to paste the text from the clipboard. Additionally, there is also the ability to CUT text, which removes the text from the editor into the clipboard. To CUT text, select the text and press the shortcut CTRL-X. Later, the same pasting shortcut can be used to paste the CUT text (CTRL-V).

CTRL-X (cut)
CTRL-C (copy)
CTRL-V (paste)

*Note: Be sure to hold the CTRL (control) key while pressing the secondary key (X, C or V). Do not let go of the CTRL (control) key until you have pressed the secondary key. Once you have pressed the secondary key, simply let go of both keys and the action has been executed.