The iogen
utility is used to generate Storyboard IO events
from the command line. The utility's command line arguments closely mirror
the arguments that would be provided to the gre_io_open
and
gre_io_send
Storyboard IO API functions. Running
iogen
without any parameters will show a usage
message:
Note | |
---|---|
Data must be sent in order of descending alignment requirements. Example: 4u1 4u1 2u1 1s0 is good, 2u1 4u1 4u1 1s0 is not |
Usage:
./iogen channel_name [event_target event_name size data [size data]...]
For example:
Send a 'gre.quit' event to a client on channel 'sb'
./iogen sb no_target gre.quit
Send a 'gre.press' event (int button, timestamp, subtype, x, y, z, id, spare) @ 100,150 to a client on channel 'sb'
./iogen sb some_target gre.press 4u1:button 0 4u1:timestamp 0 2u1:subtype 0 2s1:x 100 2s1:y 150 2s1:z 0 2s1:id 0 2s1:spare 0
Send a 'progress' event with an integer field 'percent' containing the value 50 on a channel 'sb'
./iogen sb no_target progress 4s1:percent 50
Send a 'greio.vebosity' event with an integer field 'verbosity' containing the desired level of engine debugging verbosity
./iogen sb no_target greio.verbosity 4s1:verbosity 4
Send a 'cluster_update' event with array data named 'tire_pressures' of 30,45,17,25 on channel 'sb' Note the leading ',' in the data, this is needed to differentiate small number from characters in a string. This can be omitted when sending numbers in anything other than the 1sN format.
./iogen sb no_target cluster_update 1s4:tire_pressures ,30,45,17,25
Note | |
---|---|
In this case the raw data representation of these numbers will be delivered as a string in the event payload. Use the string.byte function in Lua to decode the data into numerical format. |
The iogen
utility can also be used to set variables in a
Storyboard application. To set a variable, the event_target
parameter should contain the fully qualified path for the Storyboard
variable and the event_name
parameter should contain the SBIO
event greio.iodata_set
. For example:
Set an integer application variable 'progress' with a number (50)
./iogen sb progress greio.iodata_set 4s1 50
Set the text variable 'myvariable' on the control 'mycontrol' on the layer 'mylayer' with a string (Hello)
./iogen sb mylayer.mycontrol.myvariable greio.iodata_set 1s0 "Hello"
The definition and format of standard Storyboard events such as
gre.press
and gre.release
can be found in the
Storyboard header file iodefs.h
.