<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) &Year; &Vendor;.                                               -->
<!-- All rights reserved. This program and the accompanying materials      -->
<!-- are made available under the terms of the Eclipse Public License v1.0 -->
<!-- which accompanies this distribution, and is available at              -->
<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
<!--                                                                       -->
<!-- Contributors:                                                         -->
<!--     &Vendor; - initial API and implementation                              -->
<dkml packagebase="&packagebase;" format="hex">
	<version>&version;</version>
	<vendor>&vendor;</vendor>
	
	
<!-- Define the GpsNmeaDevice 												-->
<!-- Gps Nmea Message Format (messages in ASCII)							-->
<!-- 	$		- Start of message											-->
<!-- 	, 		- Parameter delimiter										-->
<!-- 	* 		- Checksum delimiter										-->
<!-- 	\r\n 	- End of message (carriage return, line feed)				-->
<!-- 																		-->
<!-- More information: See National Marine Electronics Association (NMEA)	-->
<!-- 																		-->
<!-- Examples:																-->
<!-- $GPGGA,155720.0,3547.426,N,07842.076,W,1,4,1.94,00141,M,-033,M,,*56	-->
<!-- $GPVTG,000.0,T,007.6,M,000.00,N,000.00,K*4F							-->

	<device bundle="GpsNmeaDevice" id="GpsNmeaDevice" implementation="GpsNmeaDevice">
		<description>GPS NMEA Device</description>
		<signal id="GPGLL">
			<rate>1000</rate>
			<message id="GPGLLMessage">
				<ascii>$GPGLL</ascii>
				<tokens>,*\r\n</tokens>
				<parameters type="Map"> 
					<parameter>
						<key>Position</key>
						<field>Position</field>
					</parameter>
					<parameter>
						<key>Latitude</key>
						<field>Latitude</field>
					</parameter>
					<parameter>
						<key>Longitude</key>
						<field>Longitude</field>
					</parameter>
					<parameter type="numericstring">
						<key>Time</key>
						<field>5</field>
					</parameter>
					<parameter>
						<key>Status</key>
						<field>6</field>
					</parameter>
				</parameters>
				<filter id="Filter0">
					<bytes format="hex">FF, FF, FF, FF, FF, FF</bytes>
				</filter>				
			</message>
		</signal>
		<signal id="GPRMC">
			<rate>1000</rate>
			<message id="GPRMCMessage">
				<ascii>$GPRMC</ascii>
				<tokens>,*\r\n</tokens>
				<parameters type="Map"> 
					<parameter type="numericstring">
						<key>Time</key>
						<field>1</field>
					</parameter>
					<parameter>
						<key>Status</key>
						<field>2</field>
					</parameter>
					<parameter>
						<key>Position</key>
						<field>Position</field>
					</parameter>
					<parameter>
						<key>Latitude</key>
						<field>Latitude</field>
					</parameter>
					<parameter>
						<key>Longitude</key>
						<field>Longitude</field>
					</parameter>
					<parameter type="numericstring">
						<key>SpeedKnots</key>
						<field>7</field>
					</parameter>
					<parameter type="numericstring">
						<key>Track</key>
						<field>8</field>
					</parameter>
					<parameter>
						<key>Date</key>
						<field>9</field>
					</parameter>
				</parameters> 
				<filter idref="Filter0"/>
			</message>
		</signal>
		<signal id="GPGGA">
			<message id="GPGGAMessage">
				<ascii>$GPGGA</ascii>
				<tokens>,*\r\n</tokens>
				<parameters type="Map"> 
					<parameter type="numericstring">
						<key>Time</key>
						<field>1</field>
					</parameter>
					<parameter>
						<key>Position</key>
						<field>Position</field>
					</parameter>
					<parameter>
						<key>Latitude</key>
						<field>Latitude</field>
					</parameter>
					<parameter>
						<key>Longitude</key>
						<field>Longitude</field>
					</parameter>
					<parameter type="numericstring">
						<key>Quality</key>
						<field>6</field>
					</parameter>
					<parameter type="numericstring">
						<key>NumberSatellites</key>
						<field>7</field>
					</parameter>
					<parameter type="numericstring">
						<key>HorizontalDilutionOfPrecision</key>
						<field>8</field>
					</parameter>
					<parameter type="numericstring">
						<key>Altitude</key>
						<field>9</field>
					</parameter>
				</parameters> 
				<filter idref="Filter0"/>
			</message>
		</signal>
		<signal id="GPVTG">
			<message id="GPVTGMessage">
				<ascii>$GPVTG</ascii>
				<tokens>,*\r\n</tokens>
				<parameters type="Map"> 
					<parameter type="numericstring">
						<key>Track</key>
						<field>1</field>
					</parameter>
					<parameter type="numericstring">
						<key>TrackMagnetic</key>
						<field>3</field>
					</parameter>
					<parameter type="numericstring">
						<key>SpeedKnots</key>
						<field>5</field>
					</parameter>
					<parameter type="numericstring">
						<key>SpeedKPH</key>
						<field>7</field>
					</parameter>
				</parameters> 
				<filter idref="Filter0"/>
			</message>
		</signal>
		<signal id="GPZDA">
			<message id="GPZDAMessage">
				<ascii>$GPZDA</ascii>
				<tokens>,*\r\n</tokens>
				<parameters type="Map"> 
					<parameter type="numericstring">
						<key>Time</key>
						<field>1</field>
					</parameter>
					<parameter type="numericstring">
						<key>Day</key>
						<field>2</field>
					</parameter>
					<parameter type="numericstring">
						<key>Month</key>
						<field>3</field>
					</parameter>
					<parameter type="numericstring">
						<key>Year</key>
						<field>4</field>
					</parameter>
				</parameters> 
				<filter idref="Filter0"/>
			</message>
		</signal>
		<signal id="TimeReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPGGAMessage"/>
			<parameter type="numericstring">
				<key>Time</key>
				<field>Time</field>
			</parameter>
		</signal>
		<measurement id="Time" type="Number">
			<signal idref="TimeReport"/>
		</measurement>
		<signal id="StatusReport">
			<message idref="GPRMCMessage"/>
			<parameter>
				<key>Status</key>
				<field>Status</field>
			</parameter>
		</signal>
		<measurement id="Status">
			<signal idref="StatusReport"/>
		</measurement>
		<signal id="LatitudeReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPGGAMessage"/>
			<message idref="GPGLLMessage"/>
			<parameter>
				<key>Latitude</key>
				<field>Latitude</field>
			</parameter>
		</signal>
		<signal id="PositionReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPGGAMessage"/>
			<message idref="GPGLLMessage"/>
			<parameter>
				<key>Position</key>
				<field>Position</field>
			</parameter>
		</signal>
		<measurement id="Position">
			<signal idref="PositionReport"/>
		</measurement>
		<measurement id="Latitude">
			<signal idref="LatitudeReport"/>
		</measurement>
		<signal id="LongitudeReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPGGAMessage"/>
			<message idref="GPGLLMessage"/>
			<parameter>
				<key>Longitude</key>
				<field>Longitude</field>
			</parameter>
		</signal>
		<measurement id="Longitude">
			<signal idref="LongitudeReport"/>
		</measurement>
		<signal id="SpeedKnotsReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPVTGMessage"/>
			<parameter type="numericstring">
				<key>SpeedKnots</key>
				<field>SpeedKnots</field>
			</parameter>
		</signal>
		<measurement id="SpeedKnots" type="Number">
			<signal idref="SpeedKnotsReport"/>
		</measurement>
		<signal id="SpeedKPHReport">
			<message idref="GPVTGMessage"/>
			<parameter type="numericstring">
				<key>SpeedKPH</key>
				<field>SpeedKPH</field>
			</parameter>
		</signal>
		<measurement id="SpeedKPH" type="Number">
			<signal idref="SpeedKPHReport"/>
		</measurement>
		<signal id="TrackReport">
			<message idref="GPRMCMessage"/>
			<message idref="GPVTGMessage"/>
			<parameter type="numericstring">
				<key>Track</key>
				<field>Track</field>
			</parameter>
		</signal>
		<measurement id="Track" type="Number">
			<signal idref="TrackReport"/>
		</measurement>
		<signal id="TrackMagneticReport">
			<message idref="GPVTGMessage"/>
			<parameter type="numericstring">
				<key>TrackMagnetic</key>
				<field>TrackMagnetic</field>
			</parameter>
		</signal>
		<measurement id="TrackMagnetic" type="Number">
			<signal idref="TrackMagneticReport"/>
		</measurement>
		<signal id="AltitudeReport">
			<message idref="GPGGAMessage"/>
			<parameter>
				<key>Altitude</key>
				<field>Altitude</field>
			</parameter>
		</signal>
		<measurement id="Altitude" type="Number">
			<signal idref="AltitudeReport"/>
		</measurement>
		<signal id="QualityReport">
			<message idref="GPGGAMessage"/>
			<parameter>
				<key>Quality</key>
				<field>Quality</field>
			</parameter>
		</signal>
		<measurement id="Quality" type="Number">
			<signal idref="QualityReport"/>
		</measurement>
		<signal id="NumberSatellitesReport">
			<message idref="GPGGAMessage"/>
			<parameter>
				<key>NumberSatellites</key>
				<field>NumberSatellites</field>
			</parameter>
		</signal>
		<measurement id="NumberSatellites" type="Number">
			<signal idref="NumberSatellitesReport"/>
		</measurement>
		<signal id="DateReport">
			<message idref="GPRMCMessage"/>
			<parameter>
				<key>Date</key>
				<field>Date</field>
			</parameter>
		</signal>
		<measurement id="Date" type="String">
			<description>The Date measurement contains a string in ddmmyy format.</description>
			<signal idref="DateReport"/>
		</measurement>
		<signal id="HorizontalDilutionOfPrecisionReport">
			<message idref="GPGGAMessage"/>
			<parameter>
				<key>HorizontalDilutionOfPrecision</key>
				<field>HorizontalDilutionOfPrecision</field>
			</parameter>
		</signal>
		<measurement id="HorizontalDilutionOfPrecision" type="Number">
			<signal idref="HorizontalDilutionOfPrecisionReport"/>
		</measurement>
		
<!-- 	Define the transport service to be used by this device -->			
		<transportservice
			service="com.ibm.esc.gps.nmea.transport.service.GpsNmeaTransportService"
			implementation="com.ibm.esc.gps.nmea.transport.GpsNmeaTransport"/>
		<bundle/>
		<managedbundle/>
		<managedfactorybundle/>			
	</device>
</dkml>