Instrument Service Properties

SIAM instrument services are configured using Java properties, consisting of name/value pair strings defining configuration parameters.

The SIAM instrument service framework defines a set of properties (attributes, configuration parameters) common to all SIAM services.
InstrumentServiceAttribute and related classes encapsulate the types and behaviors of the properties, for example whether required or optional, and conversion from (configuration file) strings.
Instrument services may also define instrument-specific properties, which may have default values and may be made required or optional.

Initializing Service Properties

At run-time, the service property values are loaded from a file called service.properties contained in the instrument service jar. service.properties is created by the mkpuck utility, which is called from mksiamjar. The property values are set by configuring the appropriate makefile or shell script used to call mksiamjar.

Setting Service Properties

The service property values may be changed while the service is running using the setProperty utility. The changes made with setProperty will persist while the service is running; by default, they will revert to the serviceProperty defaults at service or system restart. They may be made to persist across service or system restarts using the cachePort utility.

Showing Service Properties

The current values of the service properties may be read while the service is running using the portProperties utility.
portProperties lists all instrument service properties, both common and instrument-specific. The getMetadata utility shows both the current value of the service properties and the default values in the service.properties file.

Common Service Properties

The following table describes the service properties common to all of the instrument services.

Property Description Default Value
isiID SSDS-ID of device -
serviceName Name of service UNKNOWN
UUID Universal unique identifier of device 00000000-0000-0000-0000-000000000000
nominalCurrentMa Expected nominal instrument current draw 1000
peakCurrentMa Expected maximum instrument current draw 5000
currentLimitMa DPA overcurrent trip if this limit exceeded 1000
powerOnDelaySec Seconds to pause before first power-on 0
startDelayMsec Pause (msec) after each power-on 0
powerPolicy Set to ALWAYS, NEVER, or SAMPLING PowerPolicy.NEVER
commPowerPolicy Set to ALWAYS, NEVER, or SAMPLING PowerPolicy.WHEN_SAMPLING
timeSynch If true, try to synchronize instrument clock with node clock when service starts FALSE
sampleSchedule Sample acquisition schedule -
maxSampleTries Number of times to attempt per scheduled sample acquisition -
sampleTimeoutMsec Timeout (msec) on serial read during acquisition -
Summarization and telemetry subsampling properties
summaryTriggerCount Generate summary packet after this many raw samples are acquired
maxSummarySamples Generate summary packet and clear statistics after this many raw samples are acquired 0
defaultSkipInterval n>0: Number of "raw" SensorDataPackets to skip during data telemetry
0: retrieve all raw packets
-1: retrieve no raw packets (e.g. during summarization)
0
packetSetSize Number of SIAM packets to retrieve per "set" by portal 10
errCacheLimit Generate MessagePacket after this many successive errors 5
instrumentName Unused UNKNOWN
The following are read-only properties that may be displayed but may not be modified by the user:
className Name of service class -
parentID ISI-ID of host platform -
extendedVersion Unused -
frameworkVersion SIAM version of service base class -
serviceStatus Code indicating current state of service:
0=OK
1=ERROR
2=INITIAL
3=SHUTDOWN
4=SUSPEND
5=SAMPLING
6=SLEEPING
7=SAFE
-