### Eclipse Workspace Patch 1.0
#P RouteConverter
Index: navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk1Format.java
===================================================================
--- navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk1Format.java	(revision 1680)
+++ navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk1Format.java	(working copy)
@@ -87,6 +87,6 @@
         if (!formatDescriptor.equals(FORMAT_DESCRIPTOR))
             return null;
 
-        return readPositions(buffer, startTrackInfoStruct);
+        return readPositions(buffer, 1024, startTrackInfoStruct);
     }
 }
Index: navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Format.java
===================================================================
--- navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Format.java	(revision 1680)
+++ navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Format.java	(working copy)
@@ -116,7 +116,7 @@
         return new String(bytes, 0, 15, DEFAULT_ENCODING);
     }
 
-    List<Wgs84Route> readPositions(ByteBuffer source, long trackInfoAddress) {
+    List<Wgs84Route> readPositions(ByteBuffer source, int startDataAddress, long trackInfoAddress) {
         /* http://forum.pocketnavigation.de/attachment.php?attachmentid=1082953
            2 byte Trackflag
                00001 = 1 --> That point is the start point of a trajectory
@@ -144,7 +144,7 @@
         */
 
         // seek to begin of trackpoints
-        source.position(1024);
+        source.position(startDataAddress);
         source.order(ByteOrder.LITTLE_ENDIAN);
 
         List<Wgs84Route> result = new ArrayList<Wgs84Route>();
@@ -154,7 +154,7 @@
         int trackPointNo = 1;
         int pushPointNo = 1;
 
-        while ((source.position() < trackInfoAddress) && (source.position() + 2+4+4+4+2 < source.capacity())) {
+        while ((source.position() < trackInfoAddress) && (source.position() + 2+4+4+4+2 <= source.capacity())) {
             short trackFlag = source.getShort();
             int time = source.getInt();
             int latitude = source.getInt();
Index: navigation-formats/src/main/java/slash/navigation/NavigationFormats.java
===================================================================
--- navigation-formats/src/main/java/slash/navigation/NavigationFormats.java	(revision 1680)
+++ navigation-formats/src/main/java/slash/navigation/NavigationFormats.java	(working copy)
@@ -125,6 +125,7 @@
         addFormat(WintecWbt201Tk1Format.class);
         addFormat(WintecWbt201Tk2Format.class);
         addFormat(NavilinkFormat.class);
+        addFormat(WintecWbt202TesFormat.class);
         addFormat(KienzleGpsFormat.class);
 
         // BabelFormats
Index: navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk2Format.java
===================================================================
--- navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk2Format.java	(revision 1680)
+++ navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt201Tk2Format.java	(working copy)
@@ -93,6 +93,6 @@
         if (!formatDescriptor.equals(FORMAT_DESCRIPTOR))
             return null;
 
-        return readPositions(buffer, startTrackInfoStruct);
+        return readPositions(buffer, 1024, startTrackInfoStruct);
     }
 }
Index: navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt202TesFormat.java
===================================================================
--- navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt202TesFormat.java	(revision 1680)
+++ navigation-formats/src/main/java/slash/navigation/wbt/WintecWbt202TesFormat.java	(working copy)
@@ -65,7 +65,6 @@
     }
 
     protected List<Wgs84Route> read(ByteBuffer buffer) throws IOException {
-        buffer.position(0);
-        return readPositions(buffer, buffer.capacity());
+        return readPositions(buffer, 0, buffer.capacity());
     }
 }
