One common task for V-IO boxes is to detect pushbutton events and call a cuelist or script that is connected to the pushed button. One way to archive this is to use V-Control remote capabilities. For this we need a V-IO box that is flashed with the V_ControlCallCueset1_12.ino firmware. In that case V-IO send the string
if button 1 is pushed.
To enable remote capabilities select Configure→Options from main menu. Then select the tab Remote Services and then RS232.
The correct commport for a V-IO box at Linux is /dev/tty/ACM0 at windows look at the device manager which port is for Arduino.
Now you can add tasks named Cueset1,Cuset2…Cueset12. As far as a button is pressed the Cueset is called. This scenario works great if only one V-IO box is needed (max. 12 push buttons). If you need more buttons or the buttons are in different locations it is necessary to use more then one V-IO. Because V-Control offers only one RS232 remote port we need another solution.
In this case we don't use the V-Control remote port. First we flash every V-IO with the V_GPI_Event.ino. Now V-IO sends a simple string for every pushed button:
if the first pushbutton is pressed.
Next we create the channels for every connected V-IO as we do for any other device. Then we add a Generic Device for each connected V-IO.
The next Step is to rename the (in this case two) Generic Devices to something meaningful. In the main menu select Configure→Edit Devices… and select the first Generic Device in the drop down list Device.
I renamed the first device to PushBTN1-12 and the second one PushBTN13-24. Dont't forget to click Update Device after the name was changed.
Next assign the channels to the new devices. The V-Control GUI should look like this now:
The next step is to create one task for every Button. Giving the tasks a meaningful name is recommended. In the example below I added five tasks for five pushbuttons (Lights On, Lights Off, Play Movie1, Play Movie2 and Toggle Screen Power.
Now select the device PushBTN1-12 and select the Events tab. To create a new event, select the channel (v-io1) and the OnText event. Type GPI1 in the Expected Text field and click Add Event. The lower part of the V-Control GUI switches to the Event List.
The next step is to assign a task to this event. Right click on the event in the event list and select Assign Task.
Select the task you want to assign to this pushbutton event and click OK.
Finally, the event list should look like this:
From now, every time pushbutton1 is pressed, the task Lights On is launched.
With this method, you can have a nearly unlimited number of events assigned to a task.