=====List of Common TransSECS Scripting Methods=====
This is a quick reference to the methods in the SECS/GEM (TransSECS) API to do common operations on the tool or host instances and their ids (SVIDs,DVIDs,ECIDs,CEIDs, and ALIDs). More extensive examples can be found using the wiki search (search for the method name for more examples). Short examples below are highlighted in a "code" box.
====Common Declarations====
Be sure to declare the classes used from the API so you can reference these by name in the code. Here are some examples of classes you may want to use:
var DataSource = Java.type('com.ergotech.vib.servers.DataSource');
var LongValueObject = Java.type('com.ergotech.vib.valueobjects.LongValueObject');
var TransSecsController = Java.type('com.ergotech.transsecs.secs.TransSecsController');
var SOFTREV = Java.type('com.ergotech.secs.SOFTREV');
====SOFTREV====
SOFTREV is a class in the SECS/GEM package which has a maxLength parameter you can set to allow 20 character SOFTREV and MDLN values
SOFTREV.maxLength=20; //allows 20 chars for both MDLN and SoftRev values (otherwise maximum is 6)
====TransSECSController====
TransSECSController is used to get the single running tool or host instance:
TransSecsController.getSingleController()
tool = TransSecsController.getSingleController();
with the tool instance you can do these operations:
status = tool.getWrapper(1).toString(); //get the connection status of the tool for display
gemHandler = tool.getGemHandler(); //get the gemHandler to access ids and data sources
There are also some methods you can use on the tool instance:
tool.setDeviceId(2); //immediately change the device id to 2
tool.setPort(5000); //immediately change the HSMS port to 5000
====GemHandler====
With the gemHandler you can access the id servers in the tool to set or get values
eventServer = gemHandler.getServerForName("CEID.STARTED"); //get the server for an event id (CEID) by name
vidServer = gemHandler.getServerForName("VID.ProcessState"); //get the the server for a vid by name
//example to trigger an event
eventServer.setIntValue(1); //trigger the CEID.STARTED event
//directly set values to vids using the gemHandler
gemHandler.setValue("OnlineOfflineState",new LongValueObject(1));//Go ONLINE
gemHandler.setValue("LocalRemoteState",new LongValueObject(1)); //Go REMOTE, now the tool should respond to host messages
//access vid values
controlState = gemHandler.getServerForName("VID.ControlState").getIntValue();