skiphansen / thelinkbox

Ham radio repeater controller / Voip linking application
GNU General Public License v2.0
23 stars 4 forks source link

Avrs.c Longitude conversion sometimes includes an extra digit in APRS update #6

Open wd5m opened 1 year ago

wd5m commented 1 year ago

theBridge and theLinkbox have the capability of sending location and station details to EchoLink servers as per configuration file settings for AvrsEnable. The update sent uses the APRS update format as found at http://www.aprs.net/vm/DOS/PROTOCOL.HTM

Some configuration values for Longitude, and perhaps Latitude, are being sent with an extra digit, resulting in being ignored by EchoLink servers. For example, a configuration setting of "Longitude = -98.6" will be sent as "09835.100W". Note the extra "0" before the "W". A configuration value of "Longitude = -98.601" will be sent as "09836.06W" with the correct length as defined by APRS.

The code in avrs.c will need to be updated to correct this issue.

As a temporary work-around, one can start the server using the "-d" (debug) option and check the Avrs/APRS update string that is sent for proper format, and if necessary adjust the configuration value to avoid the extra digit being sent.

wd5m commented 1 year ago

A suggestion was made to change avrs.c to no longer add 0.5 for the .hundreds value. e.g. change... LongHunders = (int) (x + 0.5); to LongHunders = (int) x;

This would prevent hundredths-of-degrees from being rounded up in some cases, such as 98.6 becoming 100.