############################################################################## # siamPort.cfg for example desktop developer setup # # # # Note - This is a basic siamPort.cfg file for the SIAM Quick Start example. # # More detailed examples may be found in the properties directory. # # # # For the example, this should work with minor modifications to run a few # # dummy instrument services that do not require serial ports or power # # connections # # # # You will need to set the following parameter(s): # # - codebase: set to /codebase and make sure this # # directory exists # # # # Remember to build the example instrument service JAR files # # # ############################################################################## # The siam port configuration file allows the assignment of platform # # specific serial port names to siam serial port identifiers. Assign # # the name for the platform specific serial port as follows # # # # serialPort = # # # # For example: # # # # serialPort0 = /dev/ttySA0 # # serialPort1 = /dev/ttySx2 # # # # -or- # # # # serialPort0 = COM1 # # serialPort1 = COM3 # # serialPort2 = COM4 # # # # Use siam port numbers in order, if a number in the siam port number # # sequence is missing the PortManager will stop searching the config # # file for ports. # # # # After the ports are configured set the serviceJar associated with the # # each port as follows # # # # serviceJar = # # # # For example: # # # # serviceJar0 = CompassKVHC100.jar # # # # -or- # # # # serviceJar1 = OceanMaster5000.jar # # # # If a port does not have an instrument then leave it's serviceJar # # entry blank. # # # # Assign the name for the platform specific power ports as follows # # powerPort = # # # # For example: # # # # powerPort0 = NULL # # # # would be a NullPowerPort -or- # # # # powerPort3 = DPA # # # # would be a SidearmPowerPort # # # ############################################################################## # # # For FOCE, the powerPortN entry has 2 or 3 numerical entries of the form: # # powerPortN = [numBits] # # e.g. # # powerPort1 = 0 2 3 # # signifies relay board 0, power bits 2-4 (3 bits). # # If the last (numBits) parameter is missing, it implies one bit. This is # # the normal case. E.g. # # powerPort2 = 0 1 # # signifies relay board 0, power bit 1 # # # # The analog channels are designated by: # # analogPortN = # # analogNameN = # # # # "analogName" is optional, but helps in looking at it with listPorts. E.g. # # analogPort16 = 0 0 4 # # analogName16 = pH # # signifies a SIAM "Instrument" composed of 4 analog ports on board 0 # # using analog ports 0-3. This instrument will be known as "pH". # # # ############################################################################## miscPort0 = null powerPort0 = NULL serviceJar0 = DummyInstrument-9990.jar portName0 = test miscPort1 = null powerPort1 = NULL serviceJar1 = VarDummyInstrument-9992.jar portName1 = sbe37 miscPort2 = null powerPort2 = NULL serviceJar2 = VarDummyInstrument-9995.jar portName2 = co2 ############################################################################## # The jarLocation entry is location of the serviceJars relative to # # SIAM_HOME. # # # # For example: # # # # jarLocation = ports # # # # The example above means the service jars would be located at # # # #/$SIAM_HOME/jars # # # ############################################################################## jarLocation = ports nodeID = 10005 ############################################################################## # The logLocation entry is location of the serviceLogs relative to # # SIAM_HOME. # # # # For example: # # # # logLocation = logs # # # # The example above means the service logs would be located at # # # #/$SIAM_HOME/logs # # # ############################################################################## logLocation = logs ############################################################################## # The platformSerialPorts entry informs RXTX of all of the available serial # # ports on the platform. RXTX will search the system for serial ports if # # this entry is left blank or not present, however, RXTX may not find them # # all. If this entry is set RXTX will only know about these serial ports # # and will not search for others. For PC based Linux and Windows systems it # # may be desirable to remove or comment out this entry. For sideARM systems # # the entry should be set as follows. # # # # platformSerialPorts = /dev/ttySX0:\ # # /dev/ttySX1:\ # # /dev/ttySX2:\ # # /dev/ttySX3:\ # # /dev/ttySX4:\ # # /dev/ttySX5:\ # # /dev/ttySX6:\ # # /dev/ttySX7:\ # # /dev/ttySA2 # # # # For Mac OS and Linux, ports will have *NIX style names # # /dev/ttys0:\ # # /dev/ttys1:\ # # /dev/tty.KeySerial1 # # # # For windows/Cywgin, ports will have Windows names # # COM1:\ # # COM2: # # # # # # Note you may use the '\' to follow on an entry but the entry must have no # # spaces in it. # # # ############################################################################## platformSerialPorts = /dev/ttyS2:\ /dev/ttyS4:\ /dev/ttyS5:\ /dev/ttyS6:\ /dev/ttyS7:\ /dev/ttyS8:\ /dev/ttyS9:\ /dev/ttyS10:\ /dev/ttyS11 maxPorts = 20 ############################################################################## # The platformPower entry the FOCE instrument parser about where the power # # relay boards reside in I/O space. You may multiple entries on this line # # to indicate multiple power relay boards; e.g. platformPower = 0x310 0x320 # # Similarly, platformAnalog informs the parser about the I/O address(es) of # # the A/D board(s). # ############################################################################## platformPower = 0x310 0x320 platformAnalog = 0x300 ############################################################################## # The codeBaseLocation entry is the absolute location of the nodes codebase. # # # # For example: # # # # codeBaseLocation = /mnt/hda/codebase # # # ############################################################################## codeBaseLocation = /path/to/SIAM_HOME/codebase ############################################################################## # The following properties are for the proper operation of SleepManager, # # which manages putting the processor into low-power sleep mode and waking # # it back up again. # # # # Most of these properties have a reasonable default value in the code, and # # thus can be omitted if you're willing to accept the defaults # # # ############################################################################## #enabled: true to enable, false means you'll never go to sleep SleepManager.enabled = false #sleepString: string to send to rootserver to put us to sleep #This can be either "sleep\n" or "rootcmd" + the name of script # in /root/rootsrv SleepManager.sleepString = nice --20 /root/suspend.sh #pollSeconds: How often we poll to see if we can go to sleep SleepManager.pollSeconds = 2 #rootSrvPort: TCP Port number for root server #SleepManager.rootsrvPort = 7932 #lookupRetries: How many times we try to find MSP430 service before we give up #SleepManager.lookupRetries = 30 #environmentalRetries: Retry count for talking to MSP430 #SleepManager.environmentalRetries = 3 #wakeupSeconds: How many seconds we wake up early, to allow things to # stabilize before sampling. SleepManager.wakeupSeconds = 3 #minSleepSeconds: Minimum time we'll go to sleep. If less than this, # we'll just stay awake. Note this MUST be larger than wakeupSeconds SleepManager.minSleepSeconds = 5 #schedLookaheadSeconds: Parameter passed to scheduler to look for next # sampling event. Since the scheduler can't tell us if the next event # is longer than this, this becomes the maximum time we'll go to sleep. # Note this MUST be larger than wakeupSeconds SleepManager.schedLookaheadSeconds = 1800 ############################################################################## # The following NodeService and CommsManager properties are for managing the # # communications link between the remote node and the shore portal. # # # # Following is a description of the comms session and what the properties # # mean. All values are in milliseconds, and have reasonable defaults. # # # # CommsSchedulerTask is responsible for ensuring that a comms link is up for # # certain number of minutes per hour. # # Every milliseconds, CommsSchedulerTask # # establishes a lease (which ensures that comms are alive) for # # milliseconds. # # # # CommsManager.enabled enables CommsLeaseListener. This should normally # # remain true. If false, not only will CommsLeaseListener never set up the # # comms link, but it will also never notify the portal side that the link # # is up, if e.g. it's turned on by the boot script. # # # # CommsManager.onString and CommsManager.offString are the names of Linux # # executables to set up and tear down the comms link, respectively. If # # these properties are not defined, CommsLeaseListener does not try to # # set up the link, but will directly send the Portal notifications. # # This is very useful for testing, e.g. on ethernet. Just comment out the # # properties, and it will work on ethernet or any other permanently # # connected device. # # # # Conversely, CommsManager.protocolWaitTime is the wait time before the link # # is torn down. That is, when the last lease either expires or is # # terminated CommsLeaseListener will send a notifyPortalDisconnecting # # message, then wait for protocolWaitTime, and then tear down the link by # # calling CommsManager.offString # # # # CommsManager.processWaitTime is the time, in milliseconds, that we'll wait # # for the onString or offString scripts to complete, before we timeout and # # kill the respective processes. If it's missing or <= 0, we wait forever. # # # ############################################################################## CommsManager.enabled = false CommsManager.auxEnabled = false # NodeService.leaseInterval # (connection duration) # 60000 primary nodes # 10000 for the subnodes # (1/18/2006 klh/rah) NodeService.leaseInterval = 60000 NodeService.auxLeaseInterval = 60000 # NodeService.leaseRenewalInterval # (connection period) # 900000 for deployment # 120000 for testing on ethernet NodeService.leaseRenewalInterval = 120000 NodeService.auxLeaseRenewalInterval = 900000 # CommsManager.onString,offString # (system call to exec on connection) # Use of CommsManager.onString and CommsManager.offString are deprecated(?) # They were made obsolete by mods to the time sync mechanism (?) # (1/18/2006 klh/rah) CommsManager.parentLinkOn = /bin/true CommsManager.parentLinkOff = /bin/true # CommsManager.parentLinkStatus # (system call to check status of network interfaces) #CommsManager.parentLinkStatus = linkStatus eth0 #CommsManager.auxLinkOn = pon #CommsManager.auxLinkOff = commsOff # CommsManager.protocolWaitTime # (time to wait when establishing connection) # 15000 primary nodes with Globalstar wireless # 5000 for other nodes # 0 for testing on ethernet # (1/18/2006 klh/rah) CommsManager.protocolWaitTime = 5000 CommsManager.auxProtocolWaitTime = 5000 # CommsManager.processWaitTime # (time to wait when disconnection) # 240000 for primary nodes with Globalstar wireless # 60000 for primary nodes # 30000 for the subnodes # (1/18/2006 klh/rah) CommsManager.processWaitTime = 60000 CommsManager.auxProcessWaitTime = 60000