Radarcape:Software Features: Difference between revisions

From Beast Wiki
Jump to navigation Jump to search
imported>Dl4mea
 
(116 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Radarcape Software Features=
{{#seo:
|title=Radarcape/Air!Squitter Features
|titlemode=replace
|keywords=radarcape,help,features,services,software
|description=Features and services provided by the Radarcape
}}




==Data Streaming to Network (TCP) / Prefiltering / Local CRC Check==
=Radarcape/Air!Squitter Software Features=


The TCP streamed data will be prefiltered for CRC correctness of not directly CRC checkable frames. So the network load is lower than with the pure raw data stream. A port will be provided that streams out only DF-17 (and probably also DF-11) frames, so with least network load anyone else even behind a low speed network can have an overview of what's going around.
The Radarcape provides output of data in several levels:
* true raw data
* decoded data on a per frame basis (e.g., port 30003)
* decoded data on summary basis (e.g., aircraftlist.json, deltadb.txt)
* web browser support (aircraft list, 2D map)
* 3D output (live KML data)


* '''TCP port 10002:''' This is a binary mirror of the data as it comes from the FPGA, DF-11, DF-17 and DF-18 are CRC-checked. Includes Mode-A/C data with respect to the setting in the FPGA (DIP switch).
==Web Based Aircraft Table==
* '''TCP port 10003:''' raw data with all Modes-S data formats CRC-prechecked (eleminiates transmission of the erroneous frames, reduces load on the transmission path). All data from the FPGA is disassembled into messages and verfied if correct. In case that, the frame is converted into the binary output format and transmitted over TCP. Includes Mode-A/C data with respect to the setting in the FPGA (DIP switch).
 
* '''TCP port 10004:''' pre-checked DF-11, DF-17 and DF-18 only: minimum load for the transmission path but contains most information. No Mode-A/C data.
A list of received aircraft can be fetched via a build-in Web server. This list can be sorted ascending and descending in each column by simply clicking on the arrows. The distances are automatically calculated from aircraft positions and your GPS coordinates.
* '''TCP port 10005:''' all raw data frames of just those aircraft that locally no location (latitude and longitude) is known. For special MLAT purposes. Includes Mode-A/C data with respect to the setting in the FPGA (DIP switch).
 
[[File:Radarcape-ac-table.png|1000px|none|thumb|Radarcape Live Aircraft Table]]
 
{| class="wikitable" width="90%"
|style="width: 10%;"|'''Name'''
|style="width: 30%;"|'''Description'''
|style="width: 32%;"|'''Notes'''
|-
|Time (hh:mm:ss:ns)
|Time of last message received from the aircraft
|
|-
|ICAO
|24 bit ICAO hex ID unique identification of aircraft
|
|-
|Flight
|the Call Sign as it is transmitted from the aircraft itself
|
|-
|Lon
|Longitude
|
|-
|Lat
|Latitude
|
|-
|Src
|Source of Lat/Lon: A=ADSB M=MLAT
|
|-
|GndAir
|Aircraft is on ground (identified with GND bit or DF-18 messages) or airborne
|
|-
|Alt
|Altitude (feet) at 1013 mb
|
|-
|VRate
|Vertical rate in feet/min
|
|-
|Speed
|Ground Speed in knots
|
|-
|Track
|Direction that the aircraft is travelling in degrees true
|
|-
|Cat
|Cat A0..C5 are transmitted by aircraft in Mode-S messages
|
|-
|Orig
|Origin of flight
|taken from database, perform Maintenance -> Update flight routes database
|-
|Destin
|Destination of flight
|taken from database, perform Maintenance -> Update flight routes database
|-
|Oper
|Flight operator
|taken from database, perform Maintenance -> Update flight routes database
|-
|Type
|Aircraft Type
|taken from database, perform Maintenance -> Update flight routes database
|-
|Reg
|Registration of aircraft
|taken from database, perform Maintenance -> Update base station database
|-
|Squawk
|Squawk code as it is transmitted by aircraft in Mode-S messages
|
|-
|Country
|Country that the aircraft is registered for, indicated through the upper bits in the ICAO hex id
|
|-
|Distance
|Distance to the observer if its Lat, Lon is either valid by manual entry in configuration or determined by GPS
|
|-
|Trust
|Number of highly trustable DF-11 or DF-17/18 messages per aircraft. Used to desinguish ghosts, as true aircraft quickly raise this number while ghosts stay at 1
|
|-
|Track Size
|Length of the track in 2D 3D display in 5sec sequence track points
|
|}
 
 
==Live 2D Output==
 
All received aircrafts with a known position are displayed on a 2D map in your Web browser.
 
[[File:radarcape_2d_map.png|812px|none|thumb|Radarcape Live 2D Display]]
 
 
==Live 3D Output (KML/KMZ Output)==
 
Google Earth can be attached to the Radarcape via KML/KMZ files.
 
[[File:Platzrunde-Augsburg002.jpg|500px|none|thumb|Google Earth with live ADS-B data<br \>An aircraft over Augsburg Airport]]
[[File:go-around-eddm.jpg|500px|none|thumb|A go around in Munich EDDM]]
 
==Zone Alarm==
 
[for one of the next releases]
Air!Squitter and Radarcape are able to supervise radial and polygon zones for intrusion of aircraft, providing and acoustic alarm (Air!Squitter only) or activation of an USB controlled relay.
See more about handling in our dedicated page for [[zone alarm]].
 
==DeltaDB Service==
 
The DeltaDB service can be accessed via '''http://radarcape/deltadb.txt'''. It outputs a comma separated list of all changes in the internal aircraft list since the last call or a specified time. This is an efficient replacement of port 30003 functionalities.
 
 
==Aircraft List JSON Service==
 
All data contained in the aircraft list can also be downloaded in [http://en.wikipedia.org/wiki/JSON JavaScript Object Notation] (JSON). The file format can be used by other applications to access aircraft list data using the Hyper Text Transfer Protocol (HTTP) protocol.
 
The Aircraftlist JSON Service can be accessed via '''http://radarcape/aircraftlist.json'''.
 
The JSON output uses abbreviated identifiers for the data fields like below.
 
'''Note:''' Fields for which no data have been received might either be absent from the JSON, or set to "null". You should not expect all fields to be always available
 
With some additional parameters that are described in the [[Radarcape:Software_Features_Major2#Output_Filtering|Software Features Major 2]] the list can be filtered on the server side saving some amount of data to be transferred.
 
{| class="wikitable" style="text-align: left; font-size:75%;"
!Abbreviation
!Description
!Minimum required<br>ADS-B version (MOPS)
!Value<br>Origin
!Additional Information
|-
|uti  || Time of last message: Seconds since UNIX epoch || ||style="text-align:center;" | Clock ||
|-
|ns  || Time of last message: Nanoseconds since Second epoch || ||style="text-align:center;" | Clock ||
|-
|hex  || ICAO Mode-S or Flarm ID, in Hex format || ||style="text-align:center;" | Mode-S or FLARM ||
|-
|fli  || Flight Identification || ||style="text-align:center;" | Mode-S || From ADS-B or BDS2,0 as specified on ICAO Annex 10, Volume IV, Table 3-9; "?" when A/C reports loss of interface
|-
|ava  || Flight data: available flight data sources || || || One letter per available flight data sources. A=ADSB, M=Jetvision MLAT, F=FlightAware MLAT, O=OGN, L=FLARM
|-
|[[Radarcape:Software_Features#Data_Source_Identifiers|src]]  || Flight data: Source || || || The current preferred/selected flight data source (i.o.w. for <lat>, <lon>, <alt>, <spd>, <trk> and <vrt>)
|-
|[[Radarcape:Software_Features#ADS-B_Data_Subclasses|cla]]  || ADS-B Classification || ||Receive Channel &<br>ADS-B|| Subclass of ADS-B data
|-
|lat  || Flight data: Latitude (-90 to 90º) || ||style="text-align:center;" | <src> ||
|-
|lon  || Flight data: Longitude (-180 to 180º) || ||style="text-align:center;" | <src> ||
|-
|alt  || Flight data: Barometric uncalibrated altitude (ft) || ||style="text-align:center;" | <src> ||
|-
|spd  || Flight data: Ground Speed (kt) || ||style="text-align:center;" | <src> ||
|-
|trk  || Flight data: True track (0-360º) || ||style="text-align:center;" | <src> ||
|-
|vrt  || Flight data: Vertical Rate (ft/min) || ||style="text-align:center;" | <src> ||
|-
|gda  || Airborne/Ground || ||style="text-align:center;" | Mode-S || G for on ground, A for airborne (if TIS-B then lowercase g or a)
|-
|[[Radarcape:Software_Features#Aircraft_categories|cat]] || Aircraft category || ||style="text-align:center;" | Mode-S or FLARM || As reported in ADS-B or FLARM. See table below.
|-
|org  || Origin || ||style="text-align:center;" | DB || Origin airport from Flighroutes database, derived from <fli>
|-
|dst  || Destination || ||style="text-align:center;" | DB || Destination airport from Flighroutes database, derived from <fli>
|-
|opr  || Operator || ||style="text-align:center;" | DB || Operator from Basestation database, derived from <hex>
|-
|typ  || Type || ||style="text-align:center;" | DB || Type from Basestation database, derived from <hex>
|-
|reg  || Registration || ||style="text-align:center;" | DB || Registration from Basestation database with respect to <fli> or if not available automatically deduced for some countries with known mapping (FR, BE, PT, CH, US and CA)
|-
|squ  || Mode-A (Squawk) || ||style="text-align:center;" | Mode-S || While this is a Mode-A code, it can only be correlated in Mode-S targets. Mode-A or Mode-A/C targets are not displayed in decoded formats since they cannot be correlated with a <hex> value
|-
|cou  || Country || ||style="text-align:center;" | <hex> || Country according to Mode-S allocation block if decodable, mostly unusable/invalid for FLARM A/C
|-
|dis  || Distance (km or NM depending on configuration) || || || To the Receiver GNSS location
|-
|tru  || Trust count || || || Number of Mode-S frames successfully decoded from this A/C. Statistically it's possible that for a very low count the A/C does not actually exist
|-
|dbm  || Approximate signal level in dBm || || ||
|-
|lla  || Age of last Position (s) || ||style="text-align:center;" | Clock ||
|-
|tmp  || Temperature (ºC) ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Synthetic value calculated from several fields. Might not be always reliable
|-
|wsp  || Wind Speed (kt) ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Synthetic value calculated from several fields. Might not be always reliable
|-
|wdi  || Wind from Direction (0-360º) ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Synthetic value calculated from several fields. Might not be always reliable
|-
|mop  || ADS-B MOPS version || ||style="text-align:center;" | ADS-B || NULL=no ADS-B frames received, 0=default for unconfirmed version, 1 or 2 for corresponding confirmed version
|-
|spi  || SPI (Squawk ident) || ||style="text-align:center;" | Mode-S ||
|-
|alr  || Alert status || ||style="text-align:center;" | Mode-S || 0=no alert, 1=temporary (Squawk changed previous 18s), 2=mode-s alert, 3=permanent (Squawk 7500,7600,7700). Since Mode-S DF4,5,20,21 do not distinguish between temporary and permanent alert, the value 2 is used to mean either 1 or 3 and happens for non ADS-B A/C targets
|-
|ias  || IAS ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
|-
|tas  || TAS ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
|-
|hdgm || Magnetic Heading ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
|-
|hdgt || True Heading ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Calculated with declination when Magnetic Heading and Location are available
|-
|qnhs || Selected QNH ||style="text-align:center;" | 2 ||style="text-align:center;" | Mode-S || Actual value entered by the A/C crew
|-
|alts || Selected Altitude ||style="text-align:center;" | 2 ||style="text-align:center;" | Mode-S || Actual value entered by the A/C crew
|-
|hdgs || Selected Heading ||style="text-align:center;" | 2 ||style="text-align:center;" | Mode-S || Actual value entered by the A/C crew
|-
|altg || GNSS elipsoidal altitude (ft) ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || Either directly reported or from baro+difference
|-
|pic  || Asterix PIC ||style="text-align:center;" | 0 ||style="text-align:center;" | Mode-S || [https://www.eurocontrol.int/sites/default/files/content/documents/nm/asterix/20150615-asterix-adsbtr-cat021-part12-v2.4.pdf EUROCONTROL-SPEC-0149-12 (ASTERIX Cat 021 Ed 2.4) Page 28]
|-
|tcm  || ACAS/TCAS status ||style="text-align:center;" | 0, alert only 2 ||style="text-align:center;" | Mode-S || 0=not operational, 1=operational, 2=alert
|-
|ape  || Autopilot engaged ||style="text-align:center;" | 2 ||style="text-align:center;" | Mode-S ||
|-
|sil  || ADS-B SIL ||style="text-align:center;" | 1 ||style="text-align:center;" | Mode-S ||
|-
|sda  || ADS-B SDA ||style="text-align:center;" | 2 ||style="text-align:center;" | Mode-S ||
|-
|nacp || ADS-B NACp ||style="text-align:center;" | 1 ||style="text-align:center;" | Mode-S ||
|-
|pest || Number of position estimations per second || ||style="text-align:center;" | MLAT ||
|-
|nocl || Number of sensors providing data aircraft || ||style="text-align:center;" | MLAT ||
|-
|tq  || Time quality of this entry || ||style="text-align:center;" | Sensor || 0: GNSS 1: Sensor NTP 2: Server NTP
|}
 
 
{| class="wikitable" style="text-align: left; font-size:75%;"
!Value Origin
!Description
|-
| <hex> || Derived from the ICAO ID or FLARM ID of the A/C
|-
| <src> || Value originates from the data source indicated in <src> field
|-
| DB || Value is read from database according to refrenced <hex> or <fli> value
|-
| Mode-S || Any Mode-S or ADS-B frame received from an A/C identified with <hex> field
|-
| FLARM || Any FLARM frame received from an A/C identified with FLARM ID equal to <hex> field
|}
 
 
 
===Data Source Identifiers===
"src", "ava" field contents
{| class="wikitable" style="text-align: left; font-size:75%;"
!src
!Source
!Frequency
|-
|A
|ADS-B
|1090 MHz + 978 MHz
|-
|M
|Multilateration
|1090 MHz
|-
|L
|OGN Decoder
|868 MHz
|-
|F
|piAware
|1090 MHz
|-
|O
|OGN Server Connection
|868 MHz
|-
|S
|FLARM SkyLens FLARM
|868 MHz
|-
|D
|FLARM SkyLens ADS-L
|868 MHz
|}
 
===ADS-B Data Subclasses===
"cla" field contents
{| class="wikitable" style="text-align: left; font-size:75%;"
!cla
!Frequency
!Shortcut
!Source
!Adress Type
!Comment
|-
|0
|rowspan="8" style="text-align: center"|1090 MHz 
|Mode-S
|Transponder
|ICAO
|
|-
|1
|TISB_ModeA
|TIS-B
|Mode-A
|
|-
|2
|TISB_Anonym
|TIS-B
|Anonymous
|
|-
|3
|TISB_ICAO
|TIS-B
|ICAO
|
|-
|4
|DF18_ADSR_ICAO
|ADS-R
|ICAO
|
|-
|5
|DF18_ADSR_Anonym
|ADS-R
|Anonymous
|
|-
|6
|DF18_NT_ICAO
|Non transponder
|ICAO
|Obstacle or ground vehicle
|-
|7
|DF18_NT_Anonym
|Non transponder
|Anonymous
|Obstacle or ground vehicle
|-
|8
|rowspan="6" style="text-align: center"|978 MHz<br>(UAT)
|UAT_ADSB_ICAO
|Transponder
|ICAO
|
|-
|9
|UAT_ADSB_Temporary
|Transponder
|Temporary
|
|-
|10
|UAT_TISB_ICAO
|TIS-B
|ICAO
|
|-
|11
|UAT_TISB_TrackID
|TIS-B
|Track-ID
|
|-
|12
|UAT_SurfaceVehicle
|Surface vehicle
|FAA specific
|
|-
|13
|UAT_FixedADSBBeacon
|Surface vehicle
|FAA specific
|
|-
|14
|style="text-align: center"|ISM (FLARM)
|FLARM
|Transponder
|ICAO or FLARM non<br>overlapping assignment
|FLARM only as soon as a Mode-S frame<br>is received cla will change to 0
|}
 
===Aircraft categories===
 
{| class="wikitable" style="text-align: left; font-size:75%;"
!Code
!Type
!Description
|-
|A1 || ADS-B || Light (< 15500 lbs)
|-
|A2 || ADS-B || Small (15500 >= lbs < 75000)
|-
|A3 || ADS-B || Large (75000 >= lbs < 300000)
|-
|A4 || ADS-B || Large (high vortex)
|-
|A5 || ADS-B || Heavy (>= 300000 lbs)
|-
|A6 || ADS-B || High performance
|-
|A7 || ADS-B || Rotorcraft
|-
|B1 || ADS-B || Glider/Sailplane
|-
|B2 || ADS-B || Lighter than air
|-
|B3 || ADS-B || Parachutist/Skydiver
|-
|B4 || ADS-B || Ultralight/Hang glider/Paraglider
|-
|B6 || ADS-B || UAV
|-
|B7 || ADS-B || Space/Trans-atmospheric vehicle
|-
|C1 || ADS-B || Surface vehicle - emergency
|-
|C2 || ADS-B || Surface vehicle - service
|-
|C3 || ADS-B || Obstacle - point
|-
|C4 || ADS-B || Obstacle - clustter
|-
|C5 || ADS-B || Obstacle - line
|-
|A0 || ADS-B || No category information
|-
|B0 || ADS-B || No category information
|-
|C0 || ADS-B || No category information
|-
|F0 || FLARM || None
|-
|F1 || FLARM || Glider/Motor glider
|-
|F2 || FLARM || Tow/Tug plane
|-
|F3 || FLARM || Helicopter/Rotorcraft
|-
|F4 || FLARM || Skydiver
|-
|F5 || FLARM || Skydiver/Drop plane
|-
|F6 || FLARM || Hang glider
|-
|F7 || FLARM || Paraglider
|-
|F8 || FLARM || Aircraft reciprocating
|-
|F9 || FLARM || Aircraft jet turboprop
|-
|F11 || FLARM || Balloon
|-
|F12 || FLARM || Airship
|-
|F13 || FLARM || UAV
|-
|F15 || FLARM || Static
|}
 
==Raw Data Streaming to Network (TCP and UDP)==
 
The binary and AVR raw data formats are identical to those of the Mode-S Beast and documented in ''[[Mode-S_Beast:Data_Output_Formats]]''. For the Radarcape, there is one additional message that contains timestamp and FPGA configuration information, which is triggered by each 1PPS from the GPS module.
 
===TCP or UDP port 10002===


This is a CRC-checked mirror of the data as it comes from the FPGA, DF-11, DF-17 and DF-18 are CRC checked if enabled in FPGA. Includes Mode-A/C data with respect to the configuration setting.


==Port 30003 Server==
===TCP or UDP port 10003===


Port 30003 style output (e.g., SBS Plotter) can be provided standalone and without need of a PC application.
Binary formatted raw data with all Modes-S data formats CRC-prechecked (eliminates transmission of the erroneous frames, reduces load on the network). All data from the FPGA is disassembled into messages and verified if correct.
 
===TCP or UDP port 10004===
 
Binary formatted raw data, pre-checked DF-11, DF-17 and DF-18 only: minimum load for the transmission path but contains most information. No Mode-A/C data.
 
===TCP or UDP port 10005===
 
Binary formatted raw data, only raw data frames of those aircraft where the location (latitude and longitude) is unknown. Used for special MLAT purposes. No Mode-A/C data.
 
==Port 30003 Service (TCP, UDP, and USB-serial)==
 
Port 30003 style output (e.g., for use with SBS Plotter) can be provided without the need of an additional application on your PC.
 
The Radarcape provides this data stream on TCP port 30003, UDP port 30003, and the serial USB interface.


[[File:Sbs-plotter.png|300px|SBS Plotter Screenshot]]
[[File:Sbs-plotter.png|300px|SBS Plotter Screenshot]]


The '''date''' in Port 30003 messages is always the Linux system date. The '''timestamp''' instead is a GPS timestamp when the config is set to GPS timestamps and system time when the Radarcape operates in legacy 12MHz timstamp mode.
The format of the data output can be found in [http://woodair.net/sbs/Article/Barebones42_Socket_Data.htm this document]<br>The ''date'' in Port 30003 messages is always the ''Linux system date''.<br>The ''timestamp'' instead is a ''GPS timestamp'' when the configuration is set to GPS timestamps and system time when the Radarcape operates in legacy 12 MHz time stamp mode.


==Web Based Aircraft Table==
Due to the low efficiency and high processor load caused by this protocol, please do not use Port 30003 unless really necessary.
 
A better way of getting the same data is the deltaDB service.
 
On Linux, a very simple method how to access the TCP stream of Port 30003 is socat:
<source lang="bash">
socat - TCP:radarcape:80
</source>
 
=== Output of FLARM data on port 30003 ===
Starting with version 210406.1000.02, there is an option to also output FLARM frames on port 30003.
 
This can be configured on the web interface via '''Settings -> UDP Data Streaming Settings -> Port 30003 UDP Server -> Output Flarm data on Port 30003'''.
 
[[File:FLARM Port 30003 Configuration.png]]
 
By default, there will be no FLARM data output on port 30003.
 
If enabled, FLARM data can be output using one of two options:
* FLARM data will be output using a <code>MSG,3</code> message, which will be indistinguishable from a <code>MSG,3</code> message generated after reception of a Mode-S frame
* FLARM data will be output using a newly introduced <code>MSG,9</code> message, which contains only data received via FLARM
 
==== <code>MSG,9</code> output format ====
The output format of the <code>MSG,9</code> message is a combination the <code>MSG,3</code> and <code>MSG,4</code> messages.
 
<code>MSG,9</code> messages contain all of the following fields in addition to the first ten common fields: Altitude, Ground Speed, Track, Latitude, Longitude, Vertical Rate and IsOnGround.
 
[[File:Message format for MSG,9.png||Message Format for <code>MSG,3</code>, <code>MSG,4</code> and <code>MSG,9</code>]]
 
These messages will only be generated if enabled in the settings menu and will only contain data received via a local FLARM receiver.
 
==USB Serial Port Data Access==
 
'''While some features existed before, this feature is more reliable on Debian 10 . [[Linux_Distribution_Versions_History|See Linux Distribution Versions History]].'''


A list of received aircraft positions can be fetched via a build-in webserver.
The device supports one selectable data stream out of following sources on a virtual serial port via
the back side USB port:


[[File:Radarcape-ac-table.png|rcd Aircraft Table]]
* Raw FGPA data - including Mode-A/C data
* CRC pre-checked Mode-S with Mode-A/C data
* Mode-S Frame types DF-11, DF-17 and DF-18 only
* Mode-S Frames of all aircraft without a known location
* Port 30003 format


The output can be selected in the configuration menu. Due to processor load, it is recommended to
keep this feature disabled when not required.


==KML/KMZ Output==
[[File:output_configuration.png]]


Google Earth can be attached to the Radarcape via KML/KMZ files.
The setting can be changed on the fly and will apply without the need to reboot the device.


[[File:Google earth 1.png|450px|Google Earth with live ADS-B data]]
'''Note: On the Radarcape of 1st Generation two serial ports appear on the USB interface. One of them is a hardware serial port for debug'''


==NTP Stratum 1 Normal==
'''Note: When powering on, the external +5 V power supply MUST be connected prior to connecting the USB cable'''


The Radarcape can be used as NTP source for correct time setting. For example Planplotter requires such for its own Multilateration.
The serial port uses a standard USB class driver and should install automatically in any Operating System that is currently supported.

Latest revision as of 13:57, 27 May 2024


Radarcape/Air!Squitter Software Features

The Radarcape provides output of data in several levels:

  • true raw data
  • decoded data on a per frame basis (e.g., port 30003)
  • decoded data on summary basis (e.g., aircraftlist.json, deltadb.txt)
  • web browser support (aircraft list, 2D map)
  • 3D output (live KML data)

Web Based Aircraft Table

A list of received aircraft can be fetched via a build-in Web server. This list can be sorted ascending and descending in each column by simply clicking on the arrows. The distances are automatically calculated from aircraft positions and your GPS coordinates.

Radarcape Live Aircraft Table
Name Description Notes
Time (hh:mm:ss:ns) Time of last message received from the aircraft
ICAO 24 bit ICAO hex ID unique identification of aircraft
Flight the Call Sign as it is transmitted from the aircraft itself
Lon Longitude
Lat Latitude
Src Source of Lat/Lon: A=ADSB M=MLAT
GndAir Aircraft is on ground (identified with GND bit or DF-18 messages) or airborne
Alt Altitude (feet) at 1013 mb
VRate Vertical rate in feet/min
Speed Ground Speed in knots
Track Direction that the aircraft is travelling in degrees true
Cat Cat A0..C5 are transmitted by aircraft in Mode-S messages
Orig Origin of flight taken from database, perform Maintenance -> Update flight routes database
Destin Destination of flight taken from database, perform Maintenance -> Update flight routes database
Oper Flight operator taken from database, perform Maintenance -> Update flight routes database
Type Aircraft Type taken from database, perform Maintenance -> Update flight routes database
Reg Registration of aircraft taken from database, perform Maintenance -> Update base station database
Squawk Squawk code as it is transmitted by aircraft in Mode-S messages
Country Country that the aircraft is registered for, indicated through the upper bits in the ICAO hex id
Distance Distance to the observer if its Lat, Lon is either valid by manual entry in configuration or determined by GPS
Trust Number of highly trustable DF-11 or DF-17/18 messages per aircraft. Used to desinguish ghosts, as true aircraft quickly raise this number while ghosts stay at 1
Track Size Length of the track in 2D 3D display in 5sec sequence track points


Live 2D Output

All received aircrafts with a known position are displayed on a 2D map in your Web browser.

Radarcape Live 2D Display


Live 3D Output (KML/KMZ Output)

Google Earth can be attached to the Radarcape via KML/KMZ files.

Google Earth with live ADS-B data
An aircraft over Augsburg Airport
A go around in Munich EDDM

Zone Alarm

[for one of the next releases] Air!Squitter and Radarcape are able to supervise radial and polygon zones for intrusion of aircraft, providing and acoustic alarm (Air!Squitter only) or activation of an USB controlled relay. See more about handling in our dedicated page for zone alarm.

DeltaDB Service

The DeltaDB service can be accessed via http://radarcape/deltadb.txt. It outputs a comma separated list of all changes in the internal aircraft list since the last call or a specified time. This is an efficient replacement of port 30003 functionalities.


Aircraft List JSON Service

All data contained in the aircraft list can also be downloaded in JavaScript Object Notation (JSON). The file format can be used by other applications to access aircraft list data using the Hyper Text Transfer Protocol (HTTP) protocol.

The Aircraftlist JSON Service can be accessed via http://radarcape/aircraftlist.json.

The JSON output uses abbreviated identifiers for the data fields like below.

Note: Fields for which no data have been received might either be absent from the JSON, or set to "null". You should not expect all fields to be always available

With some additional parameters that are described in the Software Features Major 2 the list can be filtered on the server side saving some amount of data to be transferred.

Abbreviation Description Minimum required
ADS-B version (MOPS)
Value
Origin
Additional Information
uti Time of last message: Seconds since UNIX epoch Clock
ns Time of last message: Nanoseconds since Second epoch Clock
hex ICAO Mode-S or Flarm ID, in Hex format Mode-S or FLARM
fli Flight Identification Mode-S From ADS-B or BDS2,0 as specified on ICAO Annex 10, Volume IV, Table 3-9; "?" when A/C reports loss of interface
ava Flight data: available flight data sources One letter per available flight data sources. A=ADSB, M=Jetvision MLAT, F=FlightAware MLAT, O=OGN, L=FLARM
src Flight data: Source The current preferred/selected flight data source (i.o.w. for <lat>, <lon>, <alt>, <spd>, <trk> and <vrt>)
cla ADS-B Classification Receive Channel &
ADS-B
Subclass of ADS-B data
lat Flight data: Latitude (-90 to 90º) <src>
lon Flight data: Longitude (-180 to 180º) <src>
alt Flight data: Barometric uncalibrated altitude (ft) <src>
spd Flight data: Ground Speed (kt) <src>
trk Flight data: True track (0-360º) <src>
vrt Flight data: Vertical Rate (ft/min) <src>
gda Airborne/Ground Mode-S G for on ground, A for airborne (if TIS-B then lowercase g or a)
cat Aircraft category Mode-S or FLARM As reported in ADS-B or FLARM. See table below.
org Origin DB Origin airport from Flighroutes database, derived from <fli>
dst Destination DB Destination airport from Flighroutes database, derived from <fli>
opr Operator DB Operator from Basestation database, derived from <hex>
typ Type DB Type from Basestation database, derived from <hex>
reg Registration DB Registration from Basestation database with respect to <fli> or if not available automatically deduced for some countries with known mapping (FR, BE, PT, CH, US and CA)
squ Mode-A (Squawk) Mode-S While this is a Mode-A code, it can only be correlated in Mode-S targets. Mode-A or Mode-A/C targets are not displayed in decoded formats since they cannot be correlated with a <hex> value
cou Country <hex> Country according to Mode-S allocation block if decodable, mostly unusable/invalid for FLARM A/C
dis Distance (km or NM depending on configuration) To the Receiver GNSS location
tru Trust count Number of Mode-S frames successfully decoded from this A/C. Statistically it's possible that for a very low count the A/C does not actually exist
dbm Approximate signal level in dBm
lla Age of last Position (s) Clock
tmp Temperature (ºC) 0 Mode-S Synthetic value calculated from several fields. Might not be always reliable
wsp Wind Speed (kt) 0 Mode-S Synthetic value calculated from several fields. Might not be always reliable
wdi Wind from Direction (0-360º) 0 Mode-S Synthetic value calculated from several fields. Might not be always reliable
mop ADS-B MOPS version ADS-B NULL=no ADS-B frames received, 0=default for unconfirmed version, 1 or 2 for corresponding confirmed version
spi SPI (Squawk ident) Mode-S
alr Alert status Mode-S 0=no alert, 1=temporary (Squawk changed previous 18s), 2=mode-s alert, 3=permanent (Squawk 7500,7600,7700). Since Mode-S DF4,5,20,21 do not distinguish between temporary and permanent alert, the value 2 is used to mean either 1 or 3 and happens for non ADS-B A/C targets
ias IAS 0 Mode-S Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
tas TAS 0 Mode-S Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
hdgm Magnetic Heading 0 Mode-S Typically not reported by a fully operational A/C as by default only Ground speed and True track are transmitted
hdgt True Heading 0 Mode-S Calculated with declination when Magnetic Heading and Location are available
qnhs Selected QNH 2 Mode-S Actual value entered by the A/C crew
alts Selected Altitude 2 Mode-S Actual value entered by the A/C crew
hdgs Selected Heading 2 Mode-S Actual value entered by the A/C crew
altg GNSS elipsoidal altitude (ft) 0 Mode-S Either directly reported or from baro+difference
pic Asterix PIC 0 Mode-S EUROCONTROL-SPEC-0149-12 (ASTERIX Cat 021 Ed 2.4) Page 28
tcm ACAS/TCAS status 0, alert only 2 Mode-S 0=not operational, 1=operational, 2=alert
ape Autopilot engaged 2 Mode-S
sil ADS-B SIL 1 Mode-S
sda ADS-B SDA 2 Mode-S
nacp ADS-B NACp 1 Mode-S
pest Number of position estimations per second MLAT
nocl Number of sensors providing data aircraft MLAT
tq Time quality of this entry Sensor 0: GNSS 1: Sensor NTP 2: Server NTP


Value Origin Description
<hex> Derived from the ICAO ID or FLARM ID of the A/C
<src> Value originates from the data source indicated in <src> field
DB Value is read from database according to refrenced <hex> or <fli> value
Mode-S Any Mode-S or ADS-B frame received from an A/C identified with <hex> field
FLARM Any FLARM frame received from an A/C identified with FLARM ID equal to <hex> field


Data Source Identifiers

"src", "ava" field contents

src Source Frequency
A ADS-B 1090 MHz + 978 MHz
M Multilateration 1090 MHz
L OGN Decoder 868 MHz
F piAware 1090 MHz
O OGN Server Connection 868 MHz
S FLARM SkyLens FLARM 868 MHz
D FLARM SkyLens ADS-L 868 MHz

ADS-B Data Subclasses

"cla" field contents

cla Frequency Shortcut Source Adress Type Comment
0 1090 MHz Mode-S Transponder ICAO
1 TISB_ModeA TIS-B Mode-A
2 TISB_Anonym TIS-B Anonymous
3 TISB_ICAO TIS-B ICAO
4 DF18_ADSR_ICAO ADS-R ICAO
5 DF18_ADSR_Anonym ADS-R Anonymous
6 DF18_NT_ICAO Non transponder ICAO Obstacle or ground vehicle
7 DF18_NT_Anonym Non transponder Anonymous Obstacle or ground vehicle
8 978 MHz
(UAT)
UAT_ADSB_ICAO Transponder ICAO
9 UAT_ADSB_Temporary Transponder Temporary
10 UAT_TISB_ICAO TIS-B ICAO
11 UAT_TISB_TrackID TIS-B Track-ID
12 UAT_SurfaceVehicle Surface vehicle FAA specific
13 UAT_FixedADSBBeacon Surface vehicle FAA specific
14 ISM (FLARM) FLARM Transponder ICAO or FLARM non
overlapping assignment
FLARM only as soon as a Mode-S frame
is received cla will change to 0

Aircraft categories

Code Type Description
A1 ADS-B Light (< 15500 lbs)
A2 ADS-B Small (15500 >= lbs < 75000)
A3 ADS-B Large (75000 >= lbs < 300000)
A4 ADS-B Large (high vortex)
A5 ADS-B Heavy (>= 300000 lbs)
A6 ADS-B High performance
A7 ADS-B Rotorcraft
B1 ADS-B Glider/Sailplane
B2 ADS-B Lighter than air
B3 ADS-B Parachutist/Skydiver
B4 ADS-B Ultralight/Hang glider/Paraglider
B6 ADS-B UAV
B7 ADS-B Space/Trans-atmospheric vehicle
C1 ADS-B Surface vehicle - emergency
C2 ADS-B Surface vehicle - service
C3 ADS-B Obstacle - point
C4 ADS-B Obstacle - clustter
C5 ADS-B Obstacle - line
A0 ADS-B No category information
B0 ADS-B No category information
C0 ADS-B No category information
F0 FLARM None
F1 FLARM Glider/Motor glider
F2 FLARM Tow/Tug plane
F3 FLARM Helicopter/Rotorcraft
F4 FLARM Skydiver
F5 FLARM Skydiver/Drop plane
F6 FLARM Hang glider
F7 FLARM Paraglider
F8 FLARM Aircraft reciprocating
F9 FLARM Aircraft jet turboprop
F11 FLARM Balloon
F12 FLARM Airship
F13 FLARM UAV
F15 FLARM Static

Raw Data Streaming to Network (TCP and UDP)

The binary and AVR raw data formats are identical to those of the Mode-S Beast and documented in Mode-S_Beast:Data_Output_Formats. For the Radarcape, there is one additional message that contains timestamp and FPGA configuration information, which is triggered by each 1PPS from the GPS module.

TCP or UDP port 10002

This is a CRC-checked mirror of the data as it comes from the FPGA, DF-11, DF-17 and DF-18 are CRC checked if enabled in FPGA. Includes Mode-A/C data with respect to the configuration setting.

TCP or UDP port 10003

Binary formatted raw data with all Modes-S data formats CRC-prechecked (eliminates transmission of the erroneous frames, reduces load on the network). All data from the FPGA is disassembled into messages and verified if correct.

TCP or UDP port 10004

Binary formatted raw data, pre-checked DF-11, DF-17 and DF-18 only: minimum load for the transmission path but contains most information. No Mode-A/C data.

TCP or UDP port 10005

Binary formatted raw data, only raw data frames of those aircraft where the location (latitude and longitude) is unknown. Used for special MLAT purposes. No Mode-A/C data.

Port 30003 Service (TCP, UDP, and USB-serial)

Port 30003 style output (e.g., for use with SBS Plotter) can be provided without the need of an additional application on your PC.

The Radarcape provides this data stream on TCP port 30003, UDP port 30003, and the serial USB interface.

SBS Plotter Screenshot

The format of the data output can be found in this document
The date in Port 30003 messages is always the Linux system date.
The timestamp instead is a GPS timestamp when the configuration is set to GPS timestamps and system time when the Radarcape operates in legacy 12 MHz time stamp mode.

Due to the low efficiency and high processor load caused by this protocol, please do not use Port 30003 unless really necessary.

A better way of getting the same data is the deltaDB service.

On Linux, a very simple method how to access the TCP stream of Port 30003 is socat:

socat - TCP:radarcape:80

Output of FLARM data on port 30003

Starting with version 210406.1000.02, there is an option to also output FLARM frames on port 30003.

This can be configured on the web interface via Settings -> UDP Data Streaming Settings -> Port 30003 UDP Server -> Output Flarm data on Port 30003.

By default, there will be no FLARM data output on port 30003.

If enabled, FLARM data can be output using one of two options:

  • FLARM data will be output using a MSG,3 message, which will be indistinguishable from a MSG,3 message generated after reception of a Mode-S frame
  • FLARM data will be output using a newly introduced MSG,9 message, which contains only data received via FLARM

MSG,9 output format

The output format of the MSG,9 message is a combination the MSG,3 and MSG,4 messages.

MSG,9 messages contain all of the following fields in addition to the first ten common fields: Altitude, Ground Speed, Track, Latitude, Longitude, Vertical Rate and IsOnGround.

Message Format for MSG,3, MSG,4 and MSG,9

These messages will only be generated if enabled in the settings menu and will only contain data received via a local FLARM receiver.

USB Serial Port Data Access

While some features existed before, this feature is more reliable on Debian 10 . See Linux Distribution Versions History.

The device supports one selectable data stream out of following sources on a virtual serial port via the back side USB port:

  • Raw FGPA data - including Mode-A/C data
  • CRC pre-checked Mode-S with Mode-A/C data
  • Mode-S Frame types DF-11, DF-17 and DF-18 only
  • Mode-S Frames of all aircraft without a known location
  • Port 30003 format

The output can be selected in the configuration menu. Due to processor load, it is recommended to keep this feature disabled when not required.

The setting can be changed on the fly and will apply without the need to reboot the device.

Note: On the Radarcape of 1st Generation two serial ports appear on the USB interface. One of them is a hardware serial port for debug

Note: When powering on, the external +5 V power supply MUST be connected prior to connecting the USB cable

The serial port uses a standard USB class driver and should install automatically in any Operating System that is currently supported.