All the data was in NMEA
mode. If there is no delay between waypoints, then the first one is always ignored (boat position?) and up to 20 or 30 waypoints can be sent in a string this way. To send a route
with more requires multiple strings anyway.
If there is a delay between waypoints, then depending on how long the delay is, it can reset this logic. The logic in opencpn
seems over complicated, and there are sleeps built in etc as you know. Often I might get waypoint 1, 4, and 5, or just 5, or only 1, or... It was somewhat random. Once I made the code to duplicate the waypoint then every route
is received perfectly no matter how many waypoints, because when it does receive a waypoint it already had, it just replaces it with the new data.
As for actually testing this, I was on tupaia's boat
in mauritius at the time, and now we are on opposite sides of the world, and I think he won't be back to the boat
for some months...
I think the simplest solution is to just remove the double waypoints which would break support for this gps
, but it would be nice to add a checkbox below the plotter port to enable this hack in the Sent To GPS
... dialog. It shouldn't require much explanation, and people will automatically try it when their routes repeatedly fail to upload.
Alternately we could send all the waypoints in the route without any delay between which would be much simpler, but limits this gps to 20-30 waypoints per route. It also might break other gps that need more delays.