node=//surface/node
port=/dev/ttySX11
SIAM version $Name: june08_2006-3 $
/dev/ttySX0  Mooring power can s/n 2              1547    OK         77   5  21
/dev/ttySX1  Snubber Node Power Control           1502    OK         14   0   0
/dev/ttySX2  -                                    -       -        -           
/dev/ttySX3  -                                    -       -        -           
/dev/ttySX4  ASIMET BPR s/n BPR222                1443    OK          4   0   0
/dev/ttySX5  -                                    -       -        -           
/dev/ttySX6  Triaxys s/n TAS01020                 1286    SLEEPING   28   0   0
/dev/ttySX7  ASIMET HRH s/n HRH355                1290    OK          3   0   0
/dev/ttySX8  ASIMET WND s/n WND358                1291    OK          2   0   0
/dev/ttySX9  ASIMET SWR s/n SWR344                1292    OK          1   0   0
/dev/ttySX10 Workhorse LR ADCP 75kHz s/n 4164     1294    OK         14   0   0
/dev/ttySX11 Garmin GPS s/n 81108654              1503    OK          1   0   0
/dev/ttySX15 MSP430 (sidearm4.25)                 1447    OK        824   0   0
/dev/ttySA2  Medusa card s/n 2.007                1441    OK        162   0   3

1 DEBUG  NodeUtility [main]: getNodeURL(): input=//surface/node
Looking for node server stub at rmi://surface/node
704 DEBUG  SiamSocketFactory [main]: SiamSocketFactory.createSocket() - host=surface, port=1099, server host=surface
705 DEBUG  SiamSocketFactory [main]: return new Socket(host, port)...
Press any key to sample instrument on port  /dev/ttySX11 :number of args: 2
SIAM version $Name: june08_2006-3 $
Garmin GPS s/n 81108654:
parentID=1446, recordType=1
devid=1503, t=1149880827787, seqNo=89, mdref=86
nBytes=70
$GPRMC,192027,A,3648.2003,N,12147.2493,W,000.0,304.6,090606,014.8,E*6B
Press any key to get most recent sample from instrument on port  /dev/ttySX11 :SIAM version $Name: june08_2006-3 $
parentID=1446, recordType=1
devid=1503, t=1149880827787, seqNo=89, mdref=86
nBytes=70
$GPRMC,192027,A,3648.2003,N,12147.2493,W,000.0,304.6,090606,014.8,E*6B
Press any key to shutdown service on port  /dev/ttySX11 :SIAM version $Name: june08_2006-3 $
Shutdown port /dev/ttySX11
OK
SIAM version $Name: june08_2006-3 $
/dev/ttySX0  Mooring power can s/n 2              1547    OK         78   5  21
/dev/ttySX1  Snubber Node Power Control           1502    OK         14   0   0
/dev/ttySX2  -                                    -       -        -           
/dev/ttySX3  -                                    -       -        -           
/dev/ttySX4  ASIMET BPR s/n BPR222                1443    OK          5   0   0
/dev/ttySX5  -                                    -       -        -           
/dev/ttySX6  Triaxys s/n TAS01020                 1286    SLEEPING   29   0   0
/dev/ttySX7  ASIMET HRH s/n HRH355                1290    OK          4   0   0
/dev/ttySX8  ASIMET WND s/n WND358                1291    OK          3   0   0
/dev/ttySX9  ASIMET SWR s/n SWR344                1292    OK          2   0   0
/dev/ttySX10 Workhorse LR ADCP 75kHz s/n 4164     1294    OK         14   0   0
/dev/ttySX11 -                                    -       -        -           
/dev/ttySX15 MSP430 (sidearm4.25)                 1447    OK        836   0   0
/dev/ttySA2  Medusa card s/n 2.007                1441    OK        164   0   3

Should now be no service on port  /dev/ttySX11
Press any key to load service on port  /dev/ttySX11 :SIAM version $Name: june08_2006-3 $
Scan port /dev/ttySX11
SIAM version $Name: june08_2006-3 $
/dev/ttySX0  Mooring power can s/n 2              1547    OK         78   5  21
/dev/ttySX1  Snubber Node Power Control           1502    OK         14   0   0
/dev/ttySX2  -                                    -       -        -           
/dev/ttySX3  -                                    -       -        -           
/dev/ttySX4  ASIMET BPR s/n BPR222                1443    OK          5   0   0
/dev/ttySX5  -                                    -       -        -           
/dev/ttySX6  Triaxys s/n TAS01020                 1286    SLEEPING   29   0   0
/dev/ttySX7  ASIMET HRH s/n HRH355                1290    OK          4   0   0
/dev/ttySX8  ASIMET WND s/n WND358                1291    OK          3   0   0
/dev/ttySX9  ASIMET SWR s/n SWR344                1292    OK          2   0   0
/dev/ttySX10 Workhorse LR ADCP 75kHz s/n 4164     1294    OK         14   0   0
/dev/ttySX11 Garmin GPS s/n 81108654              1503    OK          1   0   0
/dev/ttySX15 MSP430 (sidearm4.25)                 1447    OK        841   0   0
/dev/ttySA2  Medusa card s/n 2.007                1441    OK        165   0   3

Should now be service running on port  /dev/ttySX11
Press any key to get instrument metadata from port  /dev/ttySX11 :Looking for node server stub at rmi://surface/node
Got proxy for node service "moos.deployed.NodeService"
Requesting packet...components = 0x1f
Packet received:

parentID=1446, recordType=0
devid=1503, t=1149881314082, seqNo=0, mdref=0
 cause=just checking
<SRVC_MD>
powerOnDelaySec=0
instrumentName=UNKNOWN
nominalCurrentMa=1000
className=moos.devices.garmin.GarminGPS$Attributes
serviceName=Garmin GPS s/n 81108654
parentID=1446
maxSummarySamples=0
currentLimitMa=3000
packetSetSize=10
sampleSchedule=R */0 */10 */0 */0 * * * * GMT *
defaultSkipInterval=0
fixTimeoutMsec=900000
extendedVersion=UNK
frameworkVersion=$Name: june08_2006-3 $
errCacheLimit=5
UUID=5db626e7-8dd5-11da-92c6-00306e389969
powerPolicy=ALWAYS
timeSynch=false
maxSampleTries=15
isiID=1503
peakCurrentMa=5000
summaryTriggerCount=0
sampleTimeoutMsec=10000
commPowerPolicy=SAMPLING
serviceStatus=0
startDelayMsec=2000
</SRVC_MD>
<SVP_MD>
isiID = 1503
serviceName = Garmin GPS s/n 81108654
powerPolicy = always
commPowerPolicy = sampling
sampleSchedule = 600
currentLimitMa = 3000
UUID = 5db626e7-8dd5-11da-92c6-00306e389969
</SVP_MD>
<DEV_MD>
$PGRMC,A,16.9,100,,,,,,A,3,1,1,4,30*6E
$PGRMC,A,16.8,100,,,,,,A,3,1,1,4,30*6F

</DEV_MD>
<DOC_MD>
﻿<?xml version="1.0" encoding="UTF-8"?>
<!-- $Header: /home/cvs/puckxml/1503.xml,v 1.3 2006/05/26 19:00:24 graybeal Exp $	-->
<!-- Last edited by $Author: graybeal $	$Date: 2006/05/26 19:00:24 $   -->

<Metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ssds.mbari.org/xml/schema/SSDS_Metadata.xsd" 
	majorVersion="2" minorVersion="1" 
	lastAuthor="$Author: graybeal $" lastUpdate="$Date: 2006/05/26 19:00:24 $" >

	<Deployment role="instrument" >
		<Device	id="1503" name="GPS" type="GPS"	
			mfgName="Garmin" mfgModel="GPS" mfgSerialNumber="81108654"
			preferredDeploymentRole="instrument">
			<description>GPS positioning sensor</description>
			<Person	firstname="Kent" surname="Headley" organization="MBARI"
			email="headley@mbari.org" phone="831-775-1822"/>
		</Device>
		
		<output>
			<DataStream>
				<description>GPS data stream</description>
				<!-- Comments:
					- Doesn't use fixedPosition parsing yet
				-->
				<RecordDescription bufferStyle="ASCII"
				bufferParseType="ordered"
				bufferItemSeparator=","
				bufferLengthType="variable"
				parseable="true" recordType="1">
					<!-- COMMAND Sent:
						$PGRM0,,2
						$PGRM0,GPRMC,1
						$PGRM0,GPGSV,1
						$PGRM0,PGRMT,1
					-->
					<!-- Sample Record:
						$GPRMC,164220,A,3648.2034,N,12147.2594,W,000.0,226.9,090304,014.8,E*6C
					-->
					<!--
						Comments:
						- One could parse for $GPRMC as	a double-check - if that isn't found, record is	bad.
					-->
					<RecordVariable
						name="RecordLabel"
						longName="Label	of GPS Record"
						units="noUnits"	
						columnIndex="1"
						format="String"	>
							<description>label indicating type of GPS record returned (if different
							than $GPRMC, indicates an error	or other record	type)</description>
							<!--StandardVariable name="checkString"/-->
					</RecordVariable>
					<RecordVariable
						name="Time"
						longName="Time of GPS Fix"
						units="hhmmss" 
						columnIndex="2"
						format="int"
						validMin="0" validMax="240000" >
							<description>Time the GPS fix was obtained, in hhmmss format</description>
							<StandardVariable name="time"/>
					</RecordVariable>
					<!--	Comments:
						- We could parse for 'A' as a double-check - if	that isn't found, record is bad.
					-->
					<RecordVariable
						name="GPS Status"
						longName="Status of GPS	Fix"
						units="noUnits"	referenceScale="none"
						columnIndex="3"
						format="String">
							<description>GPS status	flag: A=Valid position,	V=NAV receiver warning</description>
							<!--StandardVariable name="checkString"/-->
					</RecordVariable>
					<RecordVariable
						name="Latitude String"
						longName="GPS Absolute Latitude"
						units="degreesLatitude"	
						columnIndex="4"
						format="String" >
							<description>latitude of GPS fix, in ddmm.mmm format (decimal degrees, minutes, 4 places) (leading 0s will be transmitted)</description>
							<!--StandardVariable name="latitude"/-->
					</RecordVariable>
					<RecordVariable
						name="Latitude Hemisphere"
						longName="Hemisphere of	Latitude Position"
						units="NorS"
						columnIndex="5"
						format="String">
							<description>hemisphere	of GPS latitude	fix, N=north, S=south</description>
					</RecordVariable>
					<RecordVariable
						name="Longitude String"
						longName="GPS Absolute Longitude"
						units="degreesLongitude" 
						columnIndex="6"
						format="String" >
							<description>longitude of GPS fix, in dddmm.mmm format (decimal degrees, minutes, 4 places) (leading 0s will be transmitted)</description>
							<!--StandardVariable name="longitude"/-->
					</RecordVariable>
					<RecordVariable
						name="Longitude	Hemisphere"
						longName="Hemisphere of	Longitude Position"
						units="EorW" referenceScale="none"
						columnIndex="7"
						format="String">
							<description>hemisphere	of GPS longitude fix, N=north, S=south</description>
					</RecordVariable>
					<RecordVariable
						name="Speed"
						longName="Speed	over Ground"
						units="knots" 
						columnIndex="8"
						format="float"
						validMin="0.0" validMax="999.9"	>
							<description>measured speed over ground	since last fix
							(leading 0s will be transmitted)</description>
							<StandardVariable name="platform_speed_wrt_ground"/>
					</RecordVariable>
					<RecordVariable
						name="Course"
						longName="Course Made Good"
						units="degreesHeadingTrue" 
						columnIndex="9"
						format="float"
						validMin="0.0" validMax="359.9"	>
							<description>measured direction	of travel, true	north =	0
							(leading 0s will be transmitted)</description>
							<StandardVariable name="platform_course"/>
					</RecordVariable>
					<RecordVariable
						name="Date"
						longName="Date of GPS Fix"
						units="yearMonthDay" 
						columnIndex="10"
						format="int"
						validMin="000000" validMax="991231" >
							<description>date of GPS fix, expressed	in ddmmyy format</description>
							<!--StandardVariable name="Date"/-->
					</RecordVariable>
					<RecordVariable
						name="Magnetic Variation"
						longName="Absolute Magnetic Variation at Location"
						units="degreesHeading" 
						columnIndex="11"
						format="float"
						validMin="0.0" validMax="180.0"	>
							<description>Absolute value of determined magnetic variation at	location of fix (leading 0s will be transmitted)</description>
							<!--StandardVariable name="unitsName"/-->
					</RecordVariable>
					<RecordVariable
						name="Magnetic Variation Direction * Checksum"
						longName="Direction of Magnetic	Variation at Location and Checksum"
						units="EorW" 
						columnIndex="12"
						format="String" >
							<description>direction of magnetic variation at	location of fix, a westerly variation adds to true course * Checkum value</description>
							<!--StandardVariable name="unitsName"/-->
					</RecordVariable>
				</RecordDescription>
			</DataStream>
		</output>
		<output>
			<DataStream>
				<description>GPS error stream</description>
				<RecordDescription bufferStyle="ASCII"
					bufferLengthType="variable"
					parseable="false" recordType="2">
					<!--
						Comments:
						- Error record is variable length, it collects as much info as possible.
						-->
					<RecordVariable
						name="GPS Error Record"
						longName="GPS Error String When No Fix"
						units="noUnits"	
						columnIndex="1"
						format="String"	>
						<description>GPS collects and returns 
							as much information as possible</description>
					</RecordVariable>
				</RecordDescription>
			</DataStream>
		</output>
		

	</Deployment>
</Metadata>

</DOC_MD>

Press any key to show schedule for instrument on  /dev/ttySX11 :2 [main] ERROR moos.operations.utils.ShowSchedule  - ShowSchedule: lookAhead value undefined or invalid; using default (3600)

 
    Name: Default
   Owner: moos.devices.garmin.GarminGPS:1503 key=18
Schedule: R */0 */10 */0 */0 * * * * GMT *
  Status: Waiting	101893


1 DEBUG  NodeUtility [main]: getNodeURL(): input=//surface/node
Looking for node server stub at rmi://surface/node
1029 DEBUG  SiamSocketFactory [main]: SiamSocketFactory.createSocket() - host=surface, port=1099, server host=surface
1031 DEBUG  SiamSocketFactory [main]: return new Socket(host, port)...
3127 DEBUG  SiamSocketFactory [main]: SiamSocketFactory.createSocket() - host=134.89.36.200, port=1025, server host=surface
3130 DEBUG  SiamSocketFactory [main]: return new Socket(host, port)...
Got proxy for node service "moos.deployed.NodeService"
4155 DEBUG  SiamSocketFactory [main]: SiamSocketFactory.createSocket() - host=134.89.36.200, port=1025, server host=surface
4156 DEBUG  SiamSocketFactory [main]: return new Socket(host, port)...
Test complete.
