GPSBabel / gpsbabel

GPSBabel: convert, manipulate, and transfer data from GPS programs or GPS receivers. Open Source and supported on MacOS, Windows, Linux, and more. Pointy clicky GUI or a command line version...
https://www.gpsbabel.org
GNU General Public License v2.0
470 stars 125 forks source link

jeeps bug? #1220

Closed tsteven4 closed 9 months ago

tsteven4 commented 9 months ago

Jeeps was introduced in bb94c57 in 2002. At that time gpssend.c had a function GPS_Make_Packet, which included parameters UC data and int16 n. Presumably n is the number of unsigned characters in data.

Why is n being compared to DLE (#define DLE 0x10), which one would assume is the Data Link Escape ASCII character?

https://github.com/GPSBabel/gpsbabel/blob/bb94c57ceec13cd8450f842ccbf70d1cca76b8c6/gpsbabel/jeeps/gpssend.c#L62-L66

Today this has led to a similar comparison: https://github.com/GPSBabel/gpsbabel/blob/66fa37eb30c3a2739b4dedb22c76290575297b16/jeeps/gpssend.cc#L61-L64

tsteven4 commented 9 months ago

This sounds like "DLE stuffing" as described in the Garmin Device Interface Specification.

robertlipe commented 9 months ago

Right. That spec didn't exist (outside Olathe) at the time.

I remember there was some weirdness in the USB implementation. It's not necessary at the bus level, but I can't remember if they faithfully mimicked this in USB or not. So there may be some related goofy - looking code in the USB side, too.

On Wed, Nov 15, 2023, 1:06 PM tsteven4 @.***> wrote:

Closed #1220 https://github.com/GPSBabel/gpsbabel/issues/1220 as completed.

— Reply to this email directly, view it on GitHub https://github.com/GPSBabel/gpsbabel/issues/1220#event-10971141595, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD36F2JWP6LRXJIXHOVTYEUHFDAVCNFSM6AAAAAA7M5LAYCVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQHE3TCMJUGE2TSNI . You are receiving this because you are subscribed to this thread.Message ID: @.***>