vradarserver / vrs

A .NET web server that can plot the positions of aircraft on a map
http://www.virtualradarserver.co.uk/
Other
272 stars 50 forks source link

Show OGN/FLARM traffic? #88

Open GustelDE opened 1 year ago

GustelDE commented 1 year ago

Hi,

I have installed ogn2dump1090 (https://github.com/b3nn0/ogn2dump1090) and in tar1090 the OGN-traffics shows up as MLAT. But the traffic is not shown in VRS. ogn2dump1090 injects the traffic via beast-in 30004 (https://github.com/b3nn0/ogn2dump1090/issues/6#issuecomment-1404652299). I assume it will go out via beast-out 30005, which VRS listens on, but nothing.

Example:

FLARM-Raw: FLR114102 [ 20/ 112sec] 7:2:114102 F < 9.3m/s> < 7.4dB>, <1.1bit/packet>, < +8.13(0.13)kHz> +1.1dB@10km(42) 113405: [ +47.49687, +11.16419]deg 1429m -1.5m/s 10.3m/s 111.1deg -9.8deg/s 7m5 15x26m Fn:01f__ +8.32kHz 2.8/18.5dB/2 7e 4.8km 091.3deg +8.4deg

tar1090: Zwischenablage01

vradarserver commented 1 year ago

You could try checking that VRS is connecting properly and that messages are getting through - but TBH looking at your screenshot it looks like the thing you're using for gliders isn't giving the gliders an ICAO-compliant identifier; i.e. a 24 bit numeric ID, ideally out of one of the unused ranges if it's going to be faked. VRS will reject messages that don't have a valid ICAO on them.

GustelDE commented 1 year ago

Thanks! Is there a reference which ICAO-IDs are compliant? From the screenshot, it think the ID was "~114102".

I have seen OGN/FLARM traffic with an ICAO-ID too, but other use their FLARM-ID (but in the aircraft-list of the OGN receiver). I have to cross-check if that traffic is shown in VRS. But the (I think) they are FLARM-IDs like ~114102 never show up).

vradarserver commented 1 year ago

The ICAO ID (aka the Mode-S identifier) is a 24 bit number usually expressed as a six digit hexadecimal number. Zero is not valid, so the range in hex is 000001 to FFFFFF.

The two obvious issues with a 7 digit ID that starts with tilde is that tilde isn't a hex digit and the ID is too long. I don't know which one specifically causes VRS to reject it as invalid without checking the code, but I would have thought the length is probably going to be checked first.