Gap in digi_utils.cpp for longer paths #251
Replies: 4 comments 11 replies
|
are you looking to use WIDE3-n and higher? |
|
here's how it's reporting on aprs.fi. -12 is the igate, -11 and -7 are some digipeaters. -8 is the mobile. It seems that callsign substitution is not consistent? 2025-02-13 15:30:07 MST: N7UV-8>APLRT1,N7UV-11*,WIDE2-1,qAR,N7UV-12:!/=SaL20sL>GjQ also, there are some what i'd consider incongruities - 15:32:56 -8 was 5 km from the house, and i don't know which it was heard by. No asterisk. -12 is in the bathroom on the floor on a dummy load. That seems odd for a direct path. |
|
Take care as already several times mentioned, a LORA transmission lasts 2-3 sec. At 7 hops one (!) station locks the freq for almost 30sec. Consider one good location, use this as split-freq digi and thats it. To reach distances >> 10km is no magic, we reach here distances of 60km and more at ideal locations with TX power of 100mW. |
|
@arizonajon1 N7UV-12 is the one injecting to APRS-IS (it should not have * ) |

Uh oh!
There was an error while loading. Please reload this page.
Point: I am the only person AFAIK here in the Phoenix AZ area running LoRa APRS, thus it is highly unlikely that any interference to others will occur.
Since I have many LilyGO devices, I have been setting up temporary networks (mostly long and skinny, but sometimes fat and small radius. Sometimes I'm forcing path by using physical separation and antennas, other times with less physical separation but using a dummy load on the digi. I was using in my mobile device WIDE2-2, but when I extended the network to force 3 hops to get back to the igate, something strange happened. The intermediate nodes no longer showed up in the path, and only the gateway node -12 is recorded at aprs.fi.
I'm not a C++ kind of guy, but I think there's something missing in digi_utils.cpp that causes unexpected behavior for a path of 3-* and greater.
` String buildPacket(const String& path, const String& packet, bool thirdParty, bool crossFreq) {
if (!crossFreq) {
String packetToRepeat = packet.substring(0, packet.indexOf(",") + 1);
String tempPath = path;
The above code appears to check for paths of WIDE2-2, WIDE2-*, WIDE1, but does not recognize paths with "WIDEn" larger than 2 in the string.
It would seem fair to modify this code to look for WIDEn-n, check if n<= 7, decrement by 1, reassemble the path, and transmit the path/packet again. I think that's the way the standard goes, I'm not sure though.
Is that something that can be improved?
Cheers - Jon N7UV
All reactions