Re: [Gpsbabel-misc] GPilotS
Brought to you by:
robertl
From: Robert L. <ro...@sc...> - 2004-03-24 04:45:32
|
> [GPilotS' host mode is ] actually an interesting option for the endless > stream of reports > I get for hardware I don't have. (Garmin has been downright rude in > requests for simulators, eval units, etc.) With a fairly minor tweak to basically let it ignore this outtage in the emulation, the only thing you really lose is you incur a timeout on startup and you can't use the "create me a waypoint from where I am" mode. That doesn't seem so bad. Spot-checking shows I can transmit and receive waypoints. I can't recall if you can build from source or not. If so, try this. If not, let me know what OS you need a binary built for and I'll spin you one. RJL Index: jeeps/gpsapp.c =================================================================== RCS file: /cvsroot/gpsbabel/gpsbabel/jeeps/gpsapp.c,v retrieving revision 1.10 diff -p -u -r1.10 gpsapp.c --- jeeps/gpsapp.c 12 Mar 2004 06:18:01 -0000 1.10 +++ jeeps/gpsapp.c 24 Mar 2004 04:32:30 -0000 @@ -5234,10 +5234,19 @@ int32 GPS_A700_Get(const char *port, dou if(!GPS_Get_Ack(fd, &tra, &rec)) return gps_errno; + /* + * This is a little tacky. The GPilotS Garmin simulator doesn't + * correctly implement the D700 packets. The only thing we really give + * up in this absence is the "create a wayoint with the current position" + * feature which is a pretty small loss. So by not propogating the + * error up the stack, yet returning success anyway, we allow real Garmins + * to continue to work and fake Garmins merely get an error announcement + * but work anyway. + */ if(!GPS_Packet_Read(fd, &rec)) - return gps_errno; + return 1; /* gps_errno; */ if(!GPS_Send_Ack(fd, &tra, &rec)) - return gps_errno; + return 1; /* gps_errno; */ switch(gps_position_type) { |