

Rikard & Henrik Bjorkman's Chart Plotter


Version 0.0

Created by Henrik Bjorkman 1998-05-31


Version 0.1

Classes are now part af a package. 
Henrik 1998-06-01

ChartPlotter can change charts.
Henrik 1998-06-02


Version 0.2

Enhanced chart calibration, 3-points. 
Rikard 1998-06-04 

Sometimes image method getWidth returned -1. Probably because
the image was not yet loaded. Now we wait until it is not -1.
Henrik 1998-06-04 


Version 0.3

Added north south east west borders to be used to set
for witch positions a chart shall be used.
Henrik 1998-06-09


Version 0.4

Doing flush on images. Otherwise we ran out of memory.
Henrik 1998-06-15


Version 0.5

A forth reference point can now be used to check the
other 3 reference points. 
Henrik 1998-06-17

The NmeaReceiver don't need to call the ChartThread any more
instead ChartThread calls the waitForPos function in NmeaReceiver.
Henrik 1998-06-18


Version 0.6

Major clean up.
Henrik 1998-06-20

Trying to predict speed and direction. 
Henrik 1998-06-23

Improved prediction.
Made the mark red and added a blue trace.
Henrik and Rikard 1998-06-24

Writing chart name and position in window title.
Henrik 1998-06-27


Version 0.7

Made the red circle thicker. 
Henrik 1998-06-28

Made a circle of 50 meter radius.
Rikard 1998-07-24


Version 0.8

An error message is now printed if configuration data is missing 
for a chart. The circle added 24/7 to indicate precision is now 100m. 
The chart data file can now have includes to other chart data files.
Henrik 1998-10-23

Added time of day to the log printout.
Henrik 1998-10-26

NmeaReceiver does notify on ChartThread so that ChartThread can
wait for multiple input sources. NmeaReceiver takes position also 
from GPRMC so that position can be updated more often.
1998-10-30 

1998-12-02 
Prints a warning if not WGS 84. 
Position is now always written with 3 decimals.
Henrik

A "/" can now be used as separator in directory 
names on both windows and unix so that the same
data files can be used under both windows and unix.
Moved all classes to their own files.
The program can now both handle the case using Java 
communication API and not using that API.
Henrik 1999-06-20


Version 0.9
Clean up.
Henrik 1999-06-22


Version 0.10
Now using Java Communications API 2.0
Henrik 1999-07-10

Added an error message if Lat/Lng parse failed.
Henrik Bjorkman 1999-08-07


Version 0.11
The blue trace line is now rewritten when changing
chart or when the window is rewritten.
Henrik 1999-08-13


Version 0.12
The trace line is now saved in a log file when closing
the Chart plotter window.
Henrik 1999-08-27


It is now possible to have two windows with
different charts.
Henrik 1999-09-04



1999-09-13
Adding functions to make it possible to move around
in the maps by clicking with the mouse.
Henrik

1999-09-15
Changed timeout handling so that the program will react 
faster to mouse clicks.
Henrik


1999-09-19
Doing setVisible to hide ChartComp while changing chart and
to show it again after change. Perhaps this solved the 
problem with image not getting updated compleatly.
Henrik 


On Windows 98 (with JDK 1.1.6) the program sometimes freezes (hangs). 
It don't happen often. 
It has not happend when testing at sea. 
It happens when I have the GPS in simulator mode and 
run back and forth in 200 knots crossing over several charts.
Don't know why this happens. 
Since all threads seems to be frozen I think it is not in the 
ChartPlotter but in JDK or Win98. 
When I tested it on Win95 it happend there also. 
I will try JDK 1.1.8 to see if it works better.
Yes! It seems so. 

No. There was is still a hanging problem.

With Win 98 and JDK 1.1.8 the program sometimes hangs after a few 
hours. It is still possible to close the chart window but the 
chart thread does not notice this. A lead to find this bug is that I
think it has something to do with that I changed the timeout in
the call to wait in method waitForPos in class ChartThread from
5000 to 300. I need to do more testing. If you have this problem 
please try changing this from 300 to 5000 to see if it works better.

It could also be some power savings or screen saver so try turn such 
things of too.


Version 0.13
I changed the timeout in waitForPos back to 5000.
If Communication API is not found the program will no longer
try to set baudrate. It will only tell user how to do it.
Henrik 1999-09-29



22:39:57 59N27.506 18E50.345  70.0  4.0    (889,998)
22:40:37 59N27.521 18E50.427  70.0  4.0    (898,994)
22:41:17 59N27.536 18E50.509  70.0  4.0    (907,991)
Saving log file: ChartPlotter.log
java.lang.NullPointerException
        at se.beod.henrik.nav.ChartComp.drawCross(Compiled Code)
        at se.beod.henrik.nav.ChartComp.plottPos(Compiled Code)
C:\charts>


To do
=====

En ny class för att läsa filer, räkna radnummer 
och hoppa över kommentarer.

Rita ut gränserna för en karta.

Kunna läsa in en log fil i ChartPlottern.

Pos klassen kunde kanske ha flaggor som talar om 
vilka uppgifter som är giltiga.



0.14
Now using a new class to read files and take care of
include statements.
Henrik 1999-10-09



0.15
With these switches:
java ChartPlotter -rKE-24_timmars1-2000.log -f -t
It is now possible to view a saved trace file.
Henrik 2000-06-04

Changed package name to chartplotter_package.
Henrik 2000-06-13


0.16
Added Rikards function for calculating distance and bearing
to a the position of a mouse click.
Henrik 2000-11-21


0.17
Added current time in log file name.
Henrik 2002-05-04


0.18
Improved the CalibratChart program (the program for creating data files with reference points)
Henrik 2002-05-20


0.19
Many improvements in order to use maps downloaded from www.mapquest.com.
No longer works with Windows 98.
Henrik 2003-08-15

0.20
Small buggfixes.
Henrik 2004-06-02

0.21
Some improvements in nmea receiver (checksum)
Console only version added.

0.22
More "points" to a chart if is covers "predicted position"

0.23
Restructured code in preparation for new features.
Henrik 2004-09-07

0.24
Zoom in and zoom out button added.
Henrik 2004-09-07

0.25
If you cant find position marker it is now possible to 
press space to find it.
Henrik 2004-09-08

0.26
Save trace once every hour instead of only when program closes.
Henrik 2004-09-13

0.27
Moved some methods.
Call system exit after saving trace.
Henrik 2004-09-15

0.28
Can read a logfile with NMEA data.
Henrik 2004-10-07

0.29
Better help texts in CalibrateChart program.
Henrik 2004-10-08

0.30
Only some minor improvements in CalibrateChart
Henrik 2004-10-08

0.31
Added menu to the ChartPlotter program also.
Henrik 2004-10-10


0.32
Moved some things around in ChartWindow.
Henrik 2004-10-12

0.33
Improved pane function.
Henirk 2004-10-15

0.34
Added "load log file" on Menu.
Henrik 2004-10-18

0.35
Very small bug fix in ChartTrace.java
Another bug fix in ChartData.java
Henrik 2004-10-19

0.36
Merged Rikards new distance and bearing code.
Added grid when showing map limits.
If map limits are outside image then recalculate limites the old way.
Henrik 2004-10-21

0.37
Can now show also borders of other maps than current.
Henrik 2004-10-24

0.38
Skriver text info också.
2004-10-27

0.39.golf
Doing some experiments for a golf eddition.


0.40
Added a goto dialog window.
2005-09-24



0.41
Diverse tilläg av rikard för visning av kurser och distancer.
Tillägg av Henrik så att programmet kan söka efter com portar. 
2006-07-17

0.42
Försöker visa flera båtars position.
2006-08-11

0.43
Lite buggrättningar.

0.44
Interpolerar andra båtars position.

0.45
Man kan nu ta toggla grid och "map limits" om man vill.
Innan låg grid och "map limits" kvar till man bytt map.
2006-08-17

0.46
Lite småfix.

0.47
Mera småfixande.
Bla ping aven för övriga positioner.

0.48
Om man inte lyckas med connect så väntar man längre 
för varje misslyckat försök.

0.49
Fixat så timeout fungerar igen.
2006-08-26


0.51
Code cleanup
Added possibility to connect to comport_ip_server alias www.eit.se/hcpips.
Henrik 2008-09-14

0.52
Testing also baudrates 9600 and 115200.
Henrik 2008-09-23

0.54
The CalibrateChart program can now store calibration data in JPR format.
For file format see: http://www.fugawi.com/docs/jprdoc.pdf


0.55
Trying to add a menu for selecting com port.
Have only done some cleaning up so far...





Known problem: If an USB GPS is disconnected and reconnected both 
ComPortServer and EIT ChartPlotter needs to be restarted.





