Execution

Execution is the heart of VSA. Two main operations are performed during execution: sending of the movement commands and playing of the audio file. Both operations are performed by a real-time process. This real-time process is designed so that it executes at the same speed: whether on a 500MHz or 3GHz machine. The time is dependent on the user set frame rate.

Device Settings

From the Tools > Settings... dialog, track and device information can be specified that determines what kind of hardware VSA will control.

_images/exe_de3.jpg
  • Name Double click on the name column to specify a custom name for the device. This name will show beside the track in the Event View.

  • Type Double click on the type column to choose what kind of hardware this track will control.

  • Port Double click on the port column to specify the port to which the device is connected. Devices with identical Protocols (see Device Types) may use the same port (except for LPT Servo and LPT Dimmer devices which may not be used with any other device). Configuring tracks with different Protocols to use the same port may result in unpredictable hardware behavior. See Choosing Audio Synchronization for advantages of using multiple serial ports. See Port settings for details on how ports are configured.

  • Address Double click on the address column to specify the address for this track. The address must be valid for the type of device type chosen (see Device Types). Address do not need to correspond to the track number and two tracks should not translate to the same address. Note that a servo at address 0 on port 1 may exist with a servo at address 0 on port 2 but not another servo at address 0 on port 1.

    See Enabling and disabling device output and Device ranges and defaults for information about other options in the settings dialog.

  • Color If you scroll the window the right, you will see a column for setting the track’s color. Double click on the colored rectangle to pick a new color to be used for drawing tracks in the Event view and Plot view.

Device Types

Device type

Protocol

Supported port types

Example supported hardware

Notes

MiniSSC Servo

MiniSSC

COM, RAPU

MiniSSC

Valid addresses 0-254.

SV203 Servo

SV203

COM, RAPU

SV203

Valid addresses 0-254.

LPT Servo

IO Port Write

LPT

Custom

The address is not used. May not be used with other LPT devices. The STROBE line is pulsed low whenever the port is updated.

DMX Servo

DMX

RAPU, K8062, ENTTEC

All DMX motor/servo mounts (e.g., Chauvet Luminary Yoke Legend 2000)

The zero-th address corresponds to the first DMX channel. For the RAPU v3/4, use address 0-31. For the RAPU v5, use addresses 0-127. For the K8062 and ENTTEC, use addresses 0-511.

MiniSSC Relay

MiniSSC

COM, RAPU

Custom

Valid addresses 0-254.

SV203 Relay

SV203

COM, RAPU

SV203

Valid addresses 0-254.

LPT Relay

IO Bit Write

LPT

K74 and custom

The address determines the LPT bit to be controlled. The STROBE line is pulsed low whenever the port is updated. Valid addresses 0-7.

DMX Relay

DMX

RAPU, K8062, ENTTEC

All DMX relays

The zero-th address corresponds to the first DMX channel. For the RAPU v3/4, use address 0-31. For the RAPU v5, use addresses 0-127. For the K8062 and ENTTEC, use addresses 0-511.

MiniSSC Dimmer

MiniSSC

COM, RAPU

Custom

Valid addresses 0-254.

LPT Dimmer

IO Port Write

LPT

Custom

The address is not used. May not be used with other LPT devices. The STROBE line is pulsed low whenever the port is updated.

DMX Dimmer

DMX

RAPU, K8062, ENTTEC

All DMX dimmers (e.g., Chauvet DMX1, DMX4, Stage Dimmer 12)

The zero-th address corresponds to the first DMX channel. For the RAPU v3/4, use address 0-31. For the RAPU v5, use addresses 0-127. For the K8062 and ENTTEC, use addresses 0-511.

SMI Motor

MiniSSC

COM, RAPU

Serial Motor Interface

Valid addresses 0-254.

Parallax Servo

Parallax

COM, RAPU

Parallax Servo Controller (USB), Parallax Servo Controller (Serial), and Propeller Servo Controller

Valid addresses 0-31.

Pololu Servo

Pololu USB or MiniSSC

COM, RAPU

Pololu USB 16-Servo Controller

Valid addresses 0-255. Not compatible with the Pololu Maestro or Jrk controllers.

PicoPic Servo

PicoPic

COM, RAPU

PicoPic

The zero-th address corresponds to the first servo. The board number is based on the servo number. For example, servos 0-19 will be on board 1 as servos 1-20. Servos 20-39 will be on board 2 as servos 1-20.

PicoPic Relay

PicoPic

COM, RAPU

PicoPic

The zero-th address corresponds to the first servo. The board number is based on the servo number. For example, servos 0-19 will be on board 1 as servos 1-20. Servos 20-39 will be on board 2 as servos 1-20.

SSC32 Servo

LynxMotion SSC32

COM, RAPU

SSC32

Valid addresses 0-31.

SSC32 Servo

LynxMotion SSC32

COM, RAPU

SSC32

Valid addresses 0-31.

K108A Relay

K108A Relay

COM, RAPU

K108A

Valid addresses 0-7.

BoC Servo

DMX

RAPU, K8062, ENTTEC

Skulltronix Board of Chuckie (BoC)

Each servo uses two addresses. For example, if the address is 0, the MSB is written to the first DMX address and the LSB is written to the second DMX address.

EnduranceRC Servo

EnduranceRC Servo

ENRC

EnduranceRC 25 Servo Controller

Valid addresses 0-24.

Maestro Servo

Pololu

COM

Pololu Micro Maestro 6, Pololu Mini Maestro 12, Pololu Mini Maestro 18, Pololu Mini Maestro 24

Use the Pololu configuration utility to set the board’s ID to 12 (default), adjust the servo range to 500-2500 (if necessary), configure the channel as Servo, and set the controller to USB dual mode.

Maestro Relay

Pololu

COM

Pololu Micro Maestro 6, Pololu Mini Maestro 12, Pololu Mini Maestro 18, Pololu Mini Maestro 24

Use the Pololu configuration utility to set the board’s ID to 12 (default), configure the channel as Output, and set the controller to USB dual mode.

Jrk Motor

Pololu

COM

Pololu Jrk 12v12. Pololu Jrk 12v3

The address is the board’s ID; the default board ID is 11, so the default address should be 11. Use the Pololu configuration utility to set the controller to USB dual mode.

Enabling and disabling device output

In order to allow a routine to be tested for timing issues, for example, all device output can be disabled. By choosing Enable/Disable Devices from the Execution menu, by using the Enable/Disable Devices option on the right vertical toolbar, or by pressing the “s” key, the output to the devices is toggled. When the devices are enabled (default), position commands are sent to the devices. When disabled, VSA issues no execution-time commands to the devices.

Alternatively, individual tracks can be disabled from the Tools | Settings… dialog. By toggling the small check next to the track number, tracks are enabled or disabled. No data is sent to disabled devices during execution and disabled devices are not drawn in the Plot view.

_images/exe_de3.jpg

Device ranges and defaults

A device’s range and default positions may be set from the Tools > Settings... dialog.

To edit the default position for a track, double click on the entry and a dialog will appear. Using the device control, select new minimum, maximum, and default positions. Note that the minimum position must be less than or equal to the maximum and that the default position must be between or equal to the maximum and minimum positions.

By choosing Reset Device Positions from the Execution menu, by using the Reset Device button on the right vertical toolbar, or by pressing the backspace key, a command is sent to all devices to reset to their default positions.

Port settings

VSA communicates to hardware through communications (serial or USB), parallel, RAPU, Velleman, and ENTTEC ports. Select Tools > Settings..., and then the Port Settings tab to alter the hardware port configuration. Parallel, Velleman, and ENTTEC ports have no user configurable parameters and are not displayed on the Port Settings tab.

_images/exe_po3.jpg
  • Serial Ports The system’s serial ports are detected and displayed with a user-configurable baud rate. This baud rate should be selected based on the hardware’s highest possible speed. The serial port can support a variety of devices as defined in the Device Settings.

  • RAPU Ports If the RAPU Manager is installed and one or more RAPU (v3-v5) is linked via USB, the RAPU can be configured as a USB serial or DMX device. The baud rate should be selected based on the hardware’s highest possible speed. The baud rate option “DMX” should be selected if the RAPU is to be used to control DMX devices. This option is not supported with the RAPU v6 and later.

Playing, Pausing, and Stopping Execution

Play/Pause/Stop all perform their respective operations during execution.

  • all Play may be started by choosing Play All from the Execution menu, by using the shortcut on the right vertical toolbar, or by pressing the “Enter” key.

  • pause Play may be paused by choosing Pause from the Execution menu, by using the shortcut on the right vertical toolbar, or by pressing the space bar.

  • stop Play may be stopped by choosing Stop from the Execution menu, by using the shortcut on the right vertical toolbar, or by pressing the Escape key.

  • loop Play may be looped indefinitely by choosing Loop Play from the Execution menu, by using the shortcut on the right vertical toolbar, or by pressing SHIFT + 2.

During play, a play cursor is displayed at the current position. Depending on the speed of the PC, the play cursor may lag behind the actual execution as graphic update is considered less important than accurate wave/event synchronization. Play status is displayed in the status bar.

Note: At the beginning of play, all devices are reset to their user-defined default positions.

Note: If no events exist, the execution procedure will report a No Events Defined error message.

Playing with markers

Markers provide a quick means to play a small portion of a routine. Portions of the routine can be selected and isolated by using the provided marker playing tools. See Using markers for more information about how to isolate a portion of the routine.

  • to Play to Second Marker Plays from the beginning of the script to the stop marker.

  • btw Play Between Markers Plays from the first marker to the second marker.

  • frame Play Frame Plays the frame at the first marker.

  • from Play from First Marker Plays from the first marker to the end of the routine.

Both keyboard shortcuts and menu commands can be found under the Execution menu.

Caution: When play does not begin at the beginning of the routine, the devices are initialized to the positions immediately before the frame where play is to begin. As a result, devices may “jump” to positions before play is begun. This is normal and necessary, but the repositioning may occur faster than intended.

Logical design check errors

It is possible to create/edit events so that they overlap. Since two overlapping events would attempt to command the device to two different positions at the same time, this is an error condition. When any type of execution is begun, events are scanned for these types of errors.

If errors exist, a warning message will be displayed indicating that the Logical Design Check Reported Errors. Additionally, the offending events will be highlighted in red.

_images/errevents.jpg

Command line execution

VSA routines may be executed from the command line. The following command line prototype shows the syntax:

VSA.EXE "MyVSA.VSA" /play /minimize /close

  • /minimize Before loading the routine, VSA is minimized and appears only in the task bar. VSA is not made the active window.

  • /play After loading the routine, VSA will begin execution.

  • /close After the first execution of the routine, VSA will automatically shutdown.

The quotes need to be included to support Windows long file names. Command parameters can be used separately, but when used together, /play /minimize /close, the routine will be loaded, played, and then closed all while the application is minimized.