Radarcape:Version History: Difference between revisions
Line 26: | Line 26: | ||
* '''General''' | * '''General''' | ||
** Fixed issue in CPR decoding around prime meridian | ** Fixed issue in CPR decoding around prime meridian | ||
==Version 210406.1002.02== | ==Version 210406.1002.02== |
Revision as of 11:49, 22 June 2021
To Update
Use the built-in web service menu: Settings -> Software Maintenance -> Radarcape Software Update. The latest software version automatically should be displayed there.
Major 2
Version 210621.0901.02
- Data outputs
- Fixed race condition that caused data from excluded sources to be included in JSON output
- Ensured heading output on Port 30003 to be integer
- Fixed coordinate rounding issue on Port 30003
- User Interface
- Added MLAT connection status to status overview
- Improved user experience for importing local FLARM receiver data to the Radarcape
- Asterix
- Improved Asterix items data validity handling
- General
- Fixed issue in CPR decoding around prime meridian
Version 210406.1002.02
- Feeders
- FlightAware: PiAware 5.0 compatible
- Data outputs
- Optionally output locally received FLARM data on Port 30003
- Output as MSG,3 like ADS-B data
- Output as newly introduced MSG,9 (documented here)
- Don't output Flarm on Port 30003 (default)
- Changed wind direction output range to [0, 359]
- ASTERIX: Add option for output of high-resolution time items (optional feature key)
- Optionally output locally received FLARM data on Port 30003
- User Interface
- Add system status overview (based upon ED-219B) in the top bar and on the system status page (can also be queried at
/status.json
) - Fixed origin, destination and operator filters not being properly recalled on reload
- URL for aircraft photos is now user-configurable under Settings -> General -> Display Settings
- Add system status overview (based upon ED-219B) in the top bar and on the system status page (can also be queried at
Version 201203.1300.02
- Feeders
- PlanePlotter: don't send invalid position-less reports
- FlightAware: PiAware 4.0 compatible
- ADS-B
- Improve position validation to support exceptional ranges
- Data outputs
- Add Asterix Cat021 Ed 2.4 (ED-129B) as a optional feature
- User Interface
- Basestation Overrides - Aircraft type, registration and operator can be manually overridden based on the ICAO address.
- General
- Jetvision MLAT: automatic configuration and connection which does not require manual certificate installation
Version 201006.1300.02
- Feeders
- ADS-B Exchange: fix connection hang case
- Air!Squitter FLARM receiver
- Upgrade decoder to OGN 0.2.9 (now PilotAware compatible!)
- Set Geoid separation on automatic configuration.
- OGN Server source
- Fix ghost connection
- Properly decode Longitude West positions
Version 200706.1700.02
- General
- Fix rare cases where Ethernet port could not become available on boot.
- Fix cases where Network Gateway would not be properly displayed in the menus.
- Show database name in update log.
- Gmap 2D
- Multiple tracks can be selected with left mouse, and can be deselected with right mouse button.
- Display of single aircraft with track (hiding all others) can be achieved with a shift-click on the aircraft symbol.
- ADS-B tracks can be overlayed with the MLAT track and MLAT tracks can be overlayed with an ADS-B track, if such is available. The overlayed track appears in black dashed shape. This feature can be disabled in the filter menu.
- The sidebar will hide general receive information when an aircraft gets selected.
- Day and night display can be disabled in the filter menu (funnel symbol, bottom left corner).
- the half circle symbol for ultralight is fixed and shows an aircraft symbol again.
Version 200420.1300.02
- General
- Jetvision MLAT: improve reliability when used in a network with misconfigured IPv6.
- Feeders
- Air-Squitter: Fix bug where after some weeks of uptime FR24 and FlightAware feeders might stop working.
- FR24: When changing mode or key restart reconfigure feeder automatically.
Version 200328.1700.02
- General
- FPGA: fix rare case when after boot or GNSS disruption timestamps would become unstable.
- GNSS: relaxed accuracy threshold required to feed MLAT server.
- FLARM: Add configuration options for frontend gain and regional settings.
- Network: Add option to disable IPv6.
- Offline upgrade: On the manual/offline upgrade page, provide direct links to download the package.
- Feeders
- FlightAware: Correctly identify the Air!Squitter device on FlightAware website.
- ADSExchange: Show transmit counters.
Version 191120.0904.02 (bug fixes)
- Changed behavior of statistics recording when device does not have a reliable RTC (either from GNSS or NTP).
- Fixes:
- Beast webskin mode can now be used.
- When Network IPv4 Gateway is a.b.c.d where d >= 128, it is now displayed correctly.
- Disconnect clients from TCP raw ports if Linux buffer becomes full (under slow network conditions).
Version 191120.0903.02
- GPS page: Add clock carryover field (for debug only) and a link to open current position in Google Maps.
Version 191120.0902.02 (bug fixes)
- Fixes:
- FlightAware feeder can not be enabled before installation.
- Allow for Mode-S/ADS-B Aircraft Identification Subfield (Flight) leading or intervening space codes, which are not allowed by the specification but some some ground beacons were found to transmit it.
- Improve usability of range diagram.
Version 191120.0901.02 (bug fixes)
- Fixes:
- Fix TCP raw access to GNSS chip (TCP port 10685).
- Fix decoding of FLARM messages with category code above 9.
Version 191120.0900.02
- Data Engine
- Aircraft Data
- Automatic Tail Number (registration) deduction from Mode-S ICAO address (hex ID), when not available from database, for countries with known mapping (FR, BE, PT, CH, US and CA).
- Mode-A (squawk) and flight (eg. DLH100) are filtered for spurious false decoding.
- aircraftlist.json outputs 17 more fields.
- Data Interfaces
- EUROCONTROL ASTERIX CAT021, CAT023 and CAT247 for commercially licensed devices.
- Aircraft Data
- Feeders
- ADSB Exchange feeder added.
- Visualisation
- Aircraft List
- Aircraft list columns can be individually hidden.
- The number of aircraft tracked is now more clearly distinguished between "Total" and "Active" for all categories (ADS-B, MLAT, FLARM). “Total” accounts for aircrafts observed in the previous "Delete time" interval, while “Active” is respective to the "Omit time".
- 2D Maps
- Registration and flight can now be seen simultaneously on the Aircraft label. (Note: The database for Flarm targets (http://wiki.glidernet.org/ddb) is frequently unreliable, also because the same transmitter is often used for multiple aircraft.)
- The mouse-over at the aircraft label can show some additional information like Mode-S ICAO address (hex ID), aircraft type and Mode-A (squawk)
- Filters enhanced
- Ground traffic can be masked separately, as altitudes of zero or less are actually possible values.
- Additional field “Priority aircraft” allows entering registration and Mode-S ICAO address (hex ID) as a comma separated list, including wildcards. These aircraft are highlighted on the screen and will always be shown, even if other filters would mask them out.
- Additional filter for Mode-A (squawk).
- A change of SPI (squawk ident) or Mode-A (squawk) will highlight the Aircraft for 18 seconds. Priority Mode-A (squawk 7500,7600,7700) will highlight the aircraft permanently.
- Aircraft List
- Miscellaneous
- Range diagram for each data source type.
- FPGA clock stability monitor (under the GPS menu).
- Statistics of number of frames and number of active aircraft can be displayed selectively for each locally received source (ADS-B, MLAT and Flarm). History for the previous 30 days and persists across power failures/reboots.
- Range statistics are saved hourly and can be evaluated within a specified time range, for example to compare changes in the station setup changes.
- Configuration and Maintenance
- The network DNS server can now be configured.
- A Power Off button has been added to Maintenance. Be careful using this when the device is not accessible, since you will need to locally cycle power to restart it!
Version 181213.1005.02 (bug fixes)
- Fixes:
- fix application crash when nmap scans network
- aircaftlist.json: lla field now outputs null when not initialized (instead of -1)
- Configuration: FPGA setting to format AVR brought back on web interface
- GPS Status does not display correctly in case of hardware fault
- Downgrade package installation improved
Debian Jessie direct download link: https://jetvision.de/resources/radarcaped-AAA-181213.1004.02.deb
Debian Jessie MD5SUM file link: https://jetvision.de/resources/radarcaped-AAA-181213.1004.024d.md5sum
This release is not available for Angstrom based Radarcapes
Version 181213.1000.02
- New Features:
- Decoding of Flarm PFLAA frames on UDP input port 50001
Note: PFLAA must have absolute LAT/LON values and not X/Y offset location for this feature.
- Decoding of Flarm PFLAA frames on UDP input port 50001
- Improvements and Changes:
- Config file now only records non-default parameters
- Software type and version are now displayed separately.
Type is "AAA" for a standard Radarcape with Debian 8 Jessie.
- Fixes:
- Data corruption on JSON over UDP and TCP 30002 output.
- Bug causing error message "PPS/Time reference configuration error"
- KML output swapped LAT/LON
- Use default ports for network streams
- Wrong ntp time output
- Notes:
- Flightradar24 in some cases is not accessible because their IP V6 address is not accessible. This is a misconfiguration on Flightradar24 side which we cannot influence. Please ask [email protected] for advise.
- Some users reported Flightradar24 has lost their user login key. Please contact [email protected] in case that the feeder cannot connect to their server.
Debian Jessie direct download link: https://jetvision.de/resources/radarcaped-AAA-181213.1000.02.deb
Debian Jessie MD5SUM file link: https://jetvision.de/resources/radarcaped-AAA-181213.1000.024d.md5sum
This release is not available for Angstrom based Radarcapes
Version 181116.1000.02
This version is obsolete because of a bug in UDP streaming output. Replaced by version 181213.1000.02
- New Features:
- Ground Speed, Vertical Rate and True Track are now also displayed for AC without ADS-B, when interrogated from a Mode-S ground radar.
- Synthetic fields "external temperature", "wind speed" and "wind direction" added to aircraft list. Available when a ADS-B aircraft is under EHS ground radar.
- When aircraft is interrogated from ATC radar we obtain a ground speed vector (GPS speed and track), and a airspeed vector (true airspeed and heading). After magnetic declination correction wind is equal to the difference between this two vectors.
- Outside temperature is similarly calculated after determining speed of sound by relation of MACH and TAS reported.
- Altitude displayed for all Mode-S aircraft
- Aircraft list columns can be configured
- Enable and disable column
- Sorting of empty fields to the bottom or top
- Setting is saved in local browser, so multiple displays are possible
- Clear text name of origin and destination airport with a clickable link
- Receiver performance statistics
- last 5 minutes, last 24h and last 30 days
- Receiver range display
- for 3 different altitudes
- GNSS (GPS) status has got a graphic display of visible satellites over the last 24h
- Security features
- disable remote control of FPGA and GPS via TCP ports (moved to the security configuration)
- IPv6 support for feeders and streams
- Improvements and Changes:
- MLAT Key entering procedure has changed: Client ID is part of the key file
- Improved CPU load when retrieving aircraftlist.json
- Improved connection to external Open Glider Net Flarm receiver
- Fixes:
- fixed JSON bug when loading aircraftlist.json with parameter select=locs
- fixed clicking on longitude link opens gmap with preselected aircraft
- fixed filtering of the available location sources
- fixed up and then crash when feeding to FR24
- fixed non-display of Gmap 2D map
This release is not available for Angstrom.
Version 171213.1000.02
- Radarcape is now able to displays FLARM located aircraft from two different sources:
- multiple local Raspberry-Pi based OGN receiver data can be read with UDP push interface (instructions provided online).
- connection to OGN server.
- 2D Map filters provide selective display of ADS-B, Jetvision MLAT, FlightAware MLAT, local FLARM and OGN Server data.
- Extended symbols for aircraft and FLARM, unknown type is a triangle, no longer A320.
- Ground traffic is displayed with a car symbol.
- Improved FPGA decoder for very strong signals (aircraft approximation <200m).
- Improved speed when accessing JSON data.
- GPS: Disable GPS jamming filter, now just 1 satellite instead of 4 is sufficient for a GPS signal.
- Show data of tracked aircraft overall and with different sources in aircraft list and maps.
Version 170521.1100.02
Key Features
This is a brief summary of all new features.
Jetvision MLAT
We now have our own multilateration network operating stable with very good results.
- high precision location of Mode-S and ADS-B aircraft
- independent from any other sources, one shot position estimation
- update rate to clients 1/sec (if raw data is available)
- latency app. 1.5 seconds on client side
New features within Radarcape web interface
- New responsive web design optimized for web browsers on desktop, tablets and mobile devices
- Aircraft list can be sorted for any column
- Openlayers based maps
- ATC-Scope professional map style
- Filters for the 2D maps and KML output, e.g. altitude, type, flight, ICAO hex id, registration. Some of them with wildcards.
New features within Radarcape software
- Aircaft location and flight data are stored and accessible separately for ADS-B, Jetvision MLAT and other location sources
- Radarcape is now able to support native piAware from FlightAware in the background as fully featured feeder and can read back MLAT results in order to display them in aircraft list, 2D maps and KML output
- Full performance feeder for Opensky Network
- PiAware from FlightAware can be loaded into the background as a full performance feeder for their network.
- Automatic update of flight route and aircraft type (basestation) database
- BDS register data (Extdata) free of extra charges
- Signal level available converted to dBm
Sharing groups (to come)
- Several Radarcapes can be combined into a sharing network
Support for Planeplotter Mobile
- PPm can be used to display single Radarcape or sharing groups data through local connection or connection using our MLAT server
2 Channel Radarcape
- Antenna Diversity
- Dual Antenna systems
Radarcape Video-Out
- for verification purposes, a buffered video out of the demodulated Mode-A/C and Mode-S signal is provided on a back side SMB or SMC connector
Changed License Conditions
With Major 2 firmware, we are introducing 3 classes of software licenses. Major 1 software (versions yymmdd.hhmm.01) are not affected by this change.
Private Users
For private users, there are no changes, they can use the Radarcape in their private environment as always before! With Major 2 release, the license type is shown in the browser title. Default license type is "non commercial".
Commercial License
For business purposes, when using Major 2 release, you need a commercial license key in case you use our Radarcape to generate commercial value (excluding value generated by using the built in feeders). For non profit organisations it is further free without a payable license. Please contact Jetvision support for a feature key.
The feature key key is available also in the shop, please provide your Status - System: Download TXT file with your request.
OEM License
This license is for using the Radarcape with Major 2 software for OEM purposes. This license key allows to customize the browser interface, use own logos and style sheets. Radarcape and all interface data can be used for business purposes in a customized environment.
The feature key is available also in the shop, please provide your Status - System: Download TXT file with your request.
Jetvision Multilateration Server
High precision location estimation for any Mode-S and ADS-B aircraft
- High precision MLAT results returning location, speed, track and vertical rate
- MLAT results are ditributed within a private sharing group
- Very low latency: Results are returned once per second with an latency of app. 1.5sec.
- No need for ADS-B aircraft as calibration references
- High accuracy for even a single position estimation, enhanced with a highly sophisticated, self adapting Kalman filter.
- MLAT results can be calculated for ADS-B aircraft, for example to verify their actual position or in case of spoofing
- Server/client connection is authorized and encrypted by TLS key pairs
- intrusion avoidance
- allow access control
MLAT server provides JSON, Port 30003 and JSON streaming services in the same way and format as every Radarcape
- Any software which reads Radarcape data can read a combination of several on the server
Private sharing groups
- Provides services for sharing of data from multiple Radarcape among each other and sharing group data on any web based desktop or mobile device
Web interface to the server (commercial)
- Access to flight data of all connected Radarcapes including ADS-B data and BDS registers (commercial)
- Client status monitoring provided as JSON files
- XML configuration file for sharing groups
MLAT Server operational modes
- Public Jetvision Mlat server
- Jetvision Dedicated Mlat server, closed network
- Licensed operation on a private server provided by operator
Flexible hardware platform
- Written in native C++, our MLAT server can operate on any Linux platform on x86, amd64 or even ARM. (on special request and charges only)
Radarcape Software Features
=Filters for 2D or KML
- Altitude, Type (with wildcard), and more
- Fleetwatch Filter:
- Filtering for ICAO HEX ID or registration (wildcards permitted)
FlightAware no compromise feed including multilateration results
- FlightAware sharing supported with no compromises
- MLAT results from FlightAware feeder can be read back into the Radarcape in addition to MLAT results from Radarcape network. The border of aircraft symbols indicates the source
- black: ADS-B
- red: Jetvision MLAT
- green: FlightAware MLAT
Location and flight paths of different sources are stored and output separately
- ADS-B, Radarcape-MLAT, FlightAware-MLAT and Sharing Group results may be observed separately
- These data are also available within the JSON data outputs
- A new field was added to aircraftlist.json which contains the location, altitude, heading, speed and vertical rate for each of the location sources
New feeder for Opensky Network
- Opensky network feeder with no compromises
How to install is explained in the Settings - Radarcape Feeder Settings - Opensky Network page
Automatic update of routes and aircraft type database
- Flightroutes database and basestation database are updated automatically (internet connection required), however manual update is still possible.
- Manual upload service for systems without internet
GPS data is provided to Chrony or NTPD
- The Radarcape becomes a stratum 1 time server
Optimized TCP streams
- In order to decrease network load, network streams became buffered
Signal level in dBm
- The signal level at the antenna connector is indicated in dBm
(note that this is not foreseen for measurement purposes)
Second-of-Day mode selectable
The value range of the second-of-day field in the GPS timestamp is selectable, the current setting is reported in status frame
- legacy mode: value range is 1…86400
- true UTC mode: value range is 0 … 86399
Status Frame 0x34 contents were extended with GPS and UTC information
- Status frames are triggered by 1PPS pulse when GPS timestamps are selected and triggered randomly in case of legacy 12MHz timestamps.
- Status frames contain a valid timestamp
- The signal level value is zero
Byte #0 of the message part contains a mirror of the FPGA switch settings. These settings have direct effect on the raw data ports 10002-10006 and indirect effect due to eventually missing or differently available data to the high level functions:
'1' | '0' | ||
Bit 0: | Data output mode (port 10002 only) |
Binary | AVR hexdump |
Bit 1: | Raw data frame types | DF11, DF17 and DF18 only | no pre-filtering |
Bit 2: | Timestamps within AVR format | enabled | disabled |
Bit 3: | not used | ||
Bit 4: | Timestamp mode | GPS | Legacy 12MHz |
Bit 5: | Serial flow control | disabled | enabled |
Bit 6: | 1 bit forward error correction (FEC) |
disabled | enabled |
Bit 7: | Mode-A/C decoding | enabled | disabled |
Byte #1 of the message part in GPS timestamp mode contains the offset of the nanosecond timer at the 1PPS event in units of 15.625ns. Normal value range is -3 … +3.
Byte #2 of the message part contains information about GPS
'1' | '0' | ||
Bit 0: | Antenna status | good | fail |
Bit 1: | Tracking at least 1 satellite |
true | false |
Bit 2: | Tracking at least 3 satellites |
true | false |
Bit 3: | Time value base | UTC time | GPS time (8sec offset) |
Bit 4: | unused | ||
Bit 5: | unused | ||
Bit 6: | unused | ||
Bit 7: | Daysec value range | 0 ... 86399 | 1 ... 86400 |
Web Interface
New responsive web design
- Optimized for web browsers, mobile devices and tablets
Configuration and filters stored in local browser
- Filters are provided for serval properties, like altitude, hex code, registration and type (with wildcards), speed, and more
- Views and filters from different browsers and devices can have individual settings, e.g. different map styles and filters
Openlayers Map introduced in parallel to Google Maps
- Supports different map styles based on gmap and Openlayers
- Border of aircraft symbols and color of tracks shows the source of data
- Black: ADS-B
- Red: Radarcape-MLAT
- Green: FlightAware
- Track is colored by source or altitude (partly implemented)
- Professional Radar map style
- providing only navigatorial data
- free of unwanted map contents
- Track and vector displayed of each aircraft
- border color is data source: black=ADS-B, red=Radarcape MLAT green=FlightAware MLAT
- fill style blue=climbing, yellow: leveling, brown=ascending
KML output for 3D external viewers
- KML output has got 3 filter banks within the Radarcapes, which can be selected in a KML browser separately or even in parallel. Unlike the 2D maps, common KML browsers like Google Earth do not permit adding user specific menues, so this way was choosen. However, these filters are updated without the need of reloading in the KML browser, just submit the new filter and it applies at the next reload.
KML output provides aircrafts in different colors:
- Outer rim:
- Black: localized by ADS-B
- Red: Jetvision MLAT location
- Green: FlightAware MLAT location
- Inner color:
- Yellow: no change in altitude
- Brown: descending
- Blue: Climbing
The color of the track is selected by altitude, and ground tracks are colored in yellow.
Chrony and NTPD Support
Radarcape software provides interfaces for Chrony and NTPD so they can access the GPS data properly. With these, Radarcape becomes a Stratum 1 NTP standard.
Changed Output Formats
In case that the changed output formats are causing impacts with any 3rd level software that we were not aware of, please contact us in order to find the best suitable solution.
Output Filtering
JSON files can be controlled by a number of parameters
Token | Type | Description | aircraftlist.json | flightpath.json | deltadb.txt |
---|---|---|---|---|---|
vpn | float | View point north limit | X | - | - |
vps | float | View point south limit | X | - | - |
vpw | float | View point west limit | X | - | - |
vpe | float | View point east limit | X | - | - |
select | avail locs bds | avail: only list of available ICAO locs: output all available location sources as array bds: output some selected BDS registers |
X | - | - |
knownposonly | 0 .or. 1 | Output only aircraft with known position | X | - | - |
since | unix-time | Output since of those which got updates since <unix-time> | X | - | X |
tracklength | integer | Track length in seconds | - | X | - |
src | a .or. m .or. f | Override automatich location selection: a: ADS-B, m: Jetvision MLAT, f: FlightAware MLAT |
X | - | - |
lookback | integer | deltadb.txt: Time in seconds from now to history which data is output flightpath.json: track length |
- | X | X |
altitude.from | integer | Minimum altitude in ft | X | - | - |
altitude.to | integer | Maximum altitude in ft | X | - | - |
icao | integer | Element of the ICAO Hex ID or registration filter multiple of it can be provided automatically detects if HEX or Registration CSV input capable |
X | - | - |
type | string | Element of the aircraft type filter multiple elements are accumulated CSV input capable |
X | - | - |
flight | string | Element of the flight ID filter multiple elements are accumulated CSV input cabpable |
X | - | - |
Examples:
http://radarcape/aircraftlist.json?select=avail
http://radarcape/aircraftlist.json?icao=3f*,d-e*&altitude.from=1&altitude.to=25000
http://radarcape/flightpath.json?icao=3D2515&lookback=600
aircraftlist.json
- The location, altitude, track, vrate and speed given for the aircraft in the base level follows a priority: ADS-B -> Radarcape-MLAT -> FlightAware MLAT, whichever has provided more results during the last 5 seconds
- The values of the currently three location sources (ADS-B, Radarcape-MLAT, FlightAware-MLAT) can be requested in a separate array with an additional URL parameter &select=loc. Each of them contains a field "tsz" for its track length. Base level elements "tsa" and "tsz" were removed
- Value "dbm" was added, which contains the signal level at the antenna connector in dBm. Note: This is not for measurement purposes
- The values itself are formatted as their native data type (integer, string, float). No longer for example floats as a string. Unknown values are marked as JSON 'null'
sorted_aircraftlist.json
- removed without replacement
fligthpath.json
- now outputs a JSON array with the capability to request several flight paths in one call
- used with parameter "&icao=<hex>" will return the flight path by default priority ranking ADS-B -> Jetvision MLAT -> FlightAware MLAT, an additional parameter "&src=<char>" with char either 'a', 'm' or 'f' will select the flight path from selected location source
- parameter "&icao=<hex>" may be either repeated or either be filled with a comma separated list (e.g. <hex1, hex2>) to request several flight paths
- instead of <hex> it may also contain registratioin, this can be mixed, so for example these are valid requests: &icao=3f1234,D-AQUI or &icao=3f1234&icoa=d-aqui. Using registration requires a loaded aircraft type database and the presence of the aircraft in this database.
mapinfo.json
- contains information about own location and some more
deltadb.csv / deltadb.txt
- parameter "&loc=" was removed, own location can be read within mapinfo.json
UDP Output and Formats
- The configuration of all UDP ports was separated from General settings into a streaming output configuration page
- A new UDP format which contains a periodic output of changed data in the same format as aircraftlist.json is now provided.
The time interval between each output can be configured.
Major 1
Version 161030.00.00.30
New Features:
- N/A
Bugfixes:
- Fixed: KML output
- Fixed: FR24 feeder does sometimes not stop during update
Known Bugs
- Platform independent:
- Logout screen is sometimes not properly displayed.
- After power on, the GPS may require up to 5 minutes until synchronisation. During this time, your GPS LED will not become green, also there won't be a feeder working.
- Disable FR24 feeder prior to the software upgrade and re-enable it when the new software release was installed successfully.
- Debian:
- none
- Angstrom:
- Angstrom devices may be inaccessible by SSH after a package installation and require a reboot.
Direct links to the packages
Debian radarcaped-161030.00.00.30.deb
Angstrom radarcaped-161030.00.00.30.opk
Version 160928.00.00.30
New Features:
- N/A (pure bugfix release)
Bugfixes:
- Fixed: Incorrect timestamp output in 12 MHz clock mode
- Fixed: Incorrect decoding of DF-17 surface positions
- Fixed: Configuration restore function
- Fixed: Missing link to PlanebaseNG
- Fixed: Map API key can now be configured via the configuration page
- Fixed: FPGA does no longer output dublicate frames in certain operation modes
- Fixed: Incorrect ground possition decoding
Known Bugs
- Platform independent:
- Logout screen is sometimes not properly displayed.
- After power on, the GPS may require up to 5 minutes until synchronisation. During this time, your GPS LED will not become green, also there won't be a feeder working.
- Disable FR24 feeder prior to the software upgrade and re-enable it when the new software release was installed successfully.
- Debian:
- none
- Angstrom:
- Angstrom devices may be inaccessible by SSH after a package installation and require a reboot.
Direct links to the packages
Debian radarcaped-160928.00.00.30.deb
Angstrom radarcaped-160928.00.00.30.opk
Version 160619.20.00.30
New Features:
- Configuration of static IP address via web interface
- Filters for altitude, speed, distance, ICAO hex codes on the 2D Map
- Save and restore settings to/from file
- Reboot button in the web interface
- Support of GLONASS (Only new Radarcape hardware releases with SMT360 GPS receiver)
- Factory reset function for the GPS module
Bugfixes:
- Fixed: Download location of basestation.sqb
- Fixed: Do not decode frames with ICAO equal to 0x000000 or 0xFFFFFF
- Fixed: Local clients cannot connect to UDP ports via loopback interface
- Fixed: Access control for JSON, KML, and TXT files via web interface
- Fixed: Occassional timestamp jumps in P30003 messages
Known Bugs
- Platform independent:
- Logout screen is sometimes not properly displayed.
- After power on, the GPS may require up to 5 minutes until synchronisation. During this time, your GPS LED will not become green, also there won't be a feeder working.
- Surface positions can be wrong by -90°, 90°, or 180°.
- Restore function does not work.
- Debian:
- none
- Angstrom:
- Angstrom devices may be inaccessible by SSH after a package installation and require a reboot.
Direct links to the packages
Debian radarcaped-160619.20.00.30.deb
Angstrom radarcaped-160619.20.00.30.opk
Version 151210.19.00.30
New Features:
- The Flightradar24 feeders in the previous Debian releases provided wrong locations to the server.
(Please note that the FR24 feeder is an external delivery and not under the same maintenance process like the rest of the firmware). - Flightradar24 and FPGA version were added to the System Information web page
Bugfixes:
- Since 01. December a login as Administrator results in an empty web page return. This bug is fixed with this release. The erroneous release 1121.19.20.30 was removed from the server
Those who already updated to the intermediate release 151204.08.00.30 should find this new version under Configuration - Software Maintenance - Upgrade Radarcape Softare. Pressing the button [Update] will then install this new release.
Known Bugs
- Platform independent:
- Logout screen is not properly displayed.
- NOTE: After power on, the GPS may require up to 5 minutes until synchronisation. During this time, your GPS LED will not become green, also there won't be a feeder working.
- Debian:
- none
- Angstrom:
- Angstrom devices may be inaccessible by SSH after a package installation and require a reboot.
Direct links to the packages
Debian radarcaped-151210.19.00.30.deb
Angstrom radarcaped-151210.19.00.30.opk
Version 151204.08.00.30
Release 151204.08.00.30 was an intermediate release only and is superseeded by Release 151210.19.00.30.
Version 151121.19.20.30
This is the first official common release for Debian and Angstrom. From this point on, new Radarcapes will be delivered with Debian operating system. Functionality of Debian and Angstrom based Radarcapes is absolutely identical. There is no urgent need for updating to Debian.
For those interested in reading about the Debian upgrade, see Radarcape:DebianSupport
Changes:
- UDP output of port 10003 - 10006 and port 30003: Information available on the TCP accessible ports can now be distributed to multiple clients via UDP protocol in parallel (with reduced resolution of timestamp).
Simple UDP client example on Linux:socat -u udp-recv:30003 -
- Two selectable skins for Planevision and Beast style.
- Map style changed from Terrain to Montony.
- Improved web session handling.
- Three new levels for access control of the webpages:
- Very Strict: Each internal website requires being logged-in.
- Strict: Configuration and the status pages require being logged-in.
- Public: Just the configuration pages require being logged-in.
- 2D Map:
- Label for each aircraft icon with Callsign, Flightlevel/Vertical Rate, and Ground Speed.
- Climbing aircraft are displayed in sky blue, descending aircraft in earth brown, level flight in yellow.
- The detailed aircraft information table disappears if clicking to an empty area and on time-out.
- Trails disappear on time-out.
- New page: Status - System Information
- Introduction of feature keys for enabling of future SW options (options none available, yet).
- GPS Improvements:
- Improved monitoring of GPS module. This may lead to delayed functionality where a proper GPS fix is necessary, e.g. GPS timestamps. Time and PPS must be based on UTC for operation. When the almanach is not yet available, it may require up to 5 minutes until UTC time is available.
- Support of operation without GPS antenna. Requires manual configuration of the Radarcape location as precise as possible via the web interface.
- The 'Antenna short' message in the GPS status was fixed.
- Debian: Support of software update using the maintenance menu.
- FR24 feeder updated to new version.
- FPGA: minor bug correction which spoiled GPS time-stamp at 16:16 UTC.
Known Bugs
- Platform independent:
- Logout screen is not properly displayed.
- Debian:
- After an update, it eventually may require a reboot or power cycle in order to bring the new version into life.
- Those who already did a system update from Angstrom to Debian will have to install this version manually by downloading https://jetvision.de/resources/radarcaped-151121.19.20.30.deb Debian radarcaped-151121.19.20.30.deb and executing dpkg -i radarcaped-151121.19.20.30.deb, as in previous versions the integrated software update was not correctly implemented. With this version, it will work.
- IMPORTANT: On the first try, your installation will most likely fail with missing boost libraries. If so, simply enter apt-get install -y -f which will download missing libraries and continue the aborted installation automatically.
- In some cases the power LED will not show up in green but in red.
- Angstrom:
- Version 150219.18.30 seems to have a bug in the integrated software update, you need to download the https://jetvision.de/resources/radarcaped-151121.19.20.30.opk Angstrom radarcaped-151121.19.20.30.opk manually and install it using opkg install --force-overwrite radarcaped-151121.19.20.30.opk.
- Angstrom devices may be inaccessible by SSH after a package installation and require a reboot.
Direct links to the packages
Download is no longer available.
Credits
Thanks to Nuno, Sascha and Andy for their contributions and all others having contributed to this version.
Version 150620.14.30
Changes:
- aircraftlist.json: removed "hed" field, it now is called "trk". Previous field "trk" is now split into "tsa" and "tsm". Also inserted new field "uti" for unix time, allows recovering the date, but does not include nanosecond information.
see also Radarcape:Software_Features#Aircraft_List_JSON_Service
Direct links to the packages
Download is no longer available.
Version 150607.17.30
Bugfixes:
- Restart GPS survey fixed
- Added time information to aircraftlist.json and harmonized JSON field identifiers to those described in Radarcape:Software_Features#Aircraft_List_JSON_Service
Direct links to the packages
Angstrom radarcaped-150607.17.30.opk
Version 150307.07.00
On Saturday, 7th March 2015, Solar Impulse will start in Abu Dhabi to achieve the First Round-The-World Solar Flight. The flight shall demonstrate that new technologies and alternative energy sources can achive what some consider impossible. The project was initiated by the two Swiss explorers Bertrand Piccard and André Borschberg.
For this event, we added a special Solar Impulse 2 aircraft symbol to the Radarcape 2D map. So, Radarcape users are enabled to see this exceptional aircraft on their maps. The new Solar Impulse symbol is available since SW release (20150307.07.00).
If you see Solar Impulse 2 on your Radarcape, we would be pleased when you could send us a screenshot with Solar Impulse on the 2D map. The hunt for the first screenshot starts now!
Solar Impulse 2 route: Abu Dhabi (UAE), Muscat (Oman), Ahmedabad (India), Varanasi (India), Mandalay (Myanmar), Chongqing (China), Nanjing (China), Hawaii (USA), Phoenix (USA), Central USA, New York (USA), Southern Europe or Northern Africa, Abu Dhabi (UAE). (Exact route depends on weather conditions)
We wish good luck to the SI2 team and keep our fingers crossed that your journey will be successful.
Further information on SI2: www.solarimpulse.com
New Features:
- Several improvements to 2D map web page
- New symbol for Solar Impulse 2 on 2D map
Bugfixes:
- Selected range unit (km/NM) is now used on 2D map Web page
- Planeplotter feeder disable issue fixed (it now can be disabled)
Installation:
Users with the previous release installed should see this version listed in their maintenance menu.
Manual installation command:
opkg install -V https://jetvision.de/resources/radarcaped-150307.07.00.opk
Direct links to the packages
Angstrom radarcaped-150307.07.00.opk
Note: For updates, your Radarcape must have an internet connection. Manual update requires copying the update package to the Radarcape by any means and issuing the opkg install command for the location of the package.
Version 150219.18.30
New Features:
- There are many new aircraft symbols in the 2D map
Courtesy of Nic Storey, we now are able to display many different symbols for aircraft as soon as the type is known.
www.virtualsky.co.uk
www.nicstorey.co.uk/planeplotter
planeplotterforum.co.uk
planebase.biz
Thank you very much for your great support, Nic!
- Aircraft tracks in 2D map: Simply click on an aircraft in order to see the track.
- New FPGA showing GPS tracking status:
- continuous red: GPS antenna short or open
- continuous yellow: Not tracking any satellite
- flashing green but yellow background: Operating, but tracking less than 3 satellites (is ok, but not recommended)
- flashing green with black background: Normal operating mode
- flashing yellow with black background: If rarely happens: normal operating mode with minor timestamp deviations
- New FR24 feeder
Changes:
- The Mode-S LED for correct operation is now flashing green instead of red. This will prepare for later red and yellow indication for other kind of notifications.
Known Issues:
- 2D map tracks do not disappear sometimes if the aircraft is no longer visible. Solution: simply select another aircraft
Direct link to the package
Angstrom radarcaped-150219.18.30.opk
Version 141125.18.15
New Features:
- Web user interface got a modern look and feel
- The aircraft icons on the 2D map are no longer simple arrows but look now like real aircrafts
- New aircraftlist.json which contains the same data as the Web aircraft list
The new Web interface was tested with the following browsers:
- Firefox 33 or later (Linux, Windows)
- Iceweasel 31 or later (Linux)
- Google Chrome 39 or later (Linux, Windows)
- Internet Explorer 11 or later (Windows)
Other browsers may work but have not been tested.
Fixes:
- no data sent via delta DB file
Version 140922.19.03
New Features:
- In addition to Flightradar24 and Planeplotter, the Radarcape can now easily feed the current aircraft list to Planefinder and FlightAware servers. See the configuration menu how to register at their servers as a feeder. You can select the feeding interval separately for each in steps by 15, 30, 60, 120 and 300 seconds. There is a random value added in order to spread the feeding events a little over time.
Changes:
- The main menu and the configuration menu became redesigned for a better readability.
- Feeder status shows some more information, e.g. the true FPGA settings and the server's respose.
Fixes:
- The feeding of data is now coupled to the trust level of an entry. It must be at least 2 in order to upload data to a server. This should prevent ghost aircraft from beeing transmitted. Regular aircraft easily exceed this number within a very short time, so there is no real delay in announcing them to others. This feature should allow FEC beeing switched on in some more situations.
- Omit time should now be used in all maps and tables correctly.
- In the 2D map some aircraft appeared at 0°/0° coordinates after some time. That is fixed now.
Version 140412.08.49
New Features:
- none
I am currently working for the Peer-to-Peer MLAT, which is basically working with very precise results, however the communication between the Radarcapes has proven to be unstable and so needs a redesign.
Changes:
- New FR24 feeder
- Some performance increase with Port 30003 data output
- The Flightroutes link parser was changed to handle the new structure of the links
Version 140209.18.32
New Features:
- Decodes flight identification from DF20/DF21 frames (thanks, Bev)
- Decodes speed/heading from DF-17 subtype 3+4
- Automatic control of FR24 feeder setting change. No longer needs to manually sequence a setting change.
- Prepeared for next release to be installed with web GUI command. With this, it does not need to go into Linux when you want to install a software update
- The 3D map opens correctly with Windows 7
Changes:
- New FR24 MLAT capable feeder release 20140127-1444
- Some cosmetic changes
- Planeplotter sharing feeder in some cases contained false flight names
Install command:
opkg update
opkg install -V https://jetvision.de/resources/radarcaped-140209.18.32.opk
Version 140124.08.32c
New Features:
- Supports type information and routes information from common databases. This is displayed in aircraft list and 3D output currrently, it will become displayed in 2D and JSON output with next release. Origin and Destination are split, so you can sort for both in the aircraft list.
- There is a new Maintenance web page in the Radarcape where the links to the zipped archives can be pasted into, after pressing Update button the database is fetched from the server, unzipped and becomes installed. The whole update procedure is displayed in the web browser.
Note: Flightroute emails mostly contain a short link to the archive. Following this link is not included here, you always must copy the final ZIP archive link. This link also invalidates after a while, so in case of problems, referesh the page displaying it and use the new link.
It does not matter if you prefer the 3 letter or 4 letter database, Radarcape will handle both.
Changes:
- New FR24 MLAT feeder: This feeder connects to raw data port, no longer to Port 30003. Its options for aircraft sharing and MLAT data sharing can be controlled through Radarcape's configuration dialogue. Note that the CPU load is somewhat more than the old feeder.
- The former field 'Ident' became renamed to 'Flight'
Install command:
opkg update
opkg install -V https://jetvision.de/resources/radarcaped-140124.08.32c.opk
Version 140106.19.14
New Features:
- Planeplotter sharing upload for positionless aircraft can be disabled now
Changes:
- uploading to Planeplotter uses upper case 6 digit ICAO id
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-140106.19.14.opk
Version 140106.13.29 - Planeplotter Feeder, Ground Decoding
New Features:
- Planeplotter aircraft sharing added
This is the first release which publishes the current known aircraft to the Planeplotter network. Uploading can be enabled and disabled. You need to get a sharing authorisation, whichis explained in the configuration dialogue. There is also a status page and a link provided to the Planeplotter server which shows your past uploads. Uploading is currently done once every minute plus a random 0...14 sec. (The uploading methode was prepared for R-Pi, Bev needs to rename the service now.)
MLAT support will be added as soon as possible.
- Ground decoding
Ground data is decoded. It is output in all services.
Changes:
- The Flightradar24 Feeder can now be started based on the internal deltaDB methode or Port 30003 data, as some users felt that if based on Port 30003 the acceptance rate at FR24 is higher than based on deltaDB. Please note that Port 30003 is a very inefficient protocol and consumes more CPU resources than deltaDB.
- The feeders now start only if the GPS time is available. Timestamps on web status pages contain an (X) if unknown time source, (C) if the CPU time is used and (G) if GPS time is present.
- Port 30003 output data contains GPS timestamp if available.
Install command:
# original version overwritten by 19.14
opkg install -V https://jetvision.de/resources/radarcaped-140106.19.14.opk
Version 131225.18.56
New Features:
- Remote control of FPGA configuration ("DIP switches") can be enabled and disabled in configuration
Solves:
- Timestamp problem: All timestamps are based on the GPS time. If not available CPU time is used
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131225.18.56.opk
Version 131206.22.40
New Features:
- 2D map automatically centers on your GPS position and zooms according to your current largest distance.
Solves:
- Internet Explorer may not be display the web pages at all, Mozilla Firefox seems to be tolerant. Radarcape currently does not send the correct HTML header.
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131206.22.40.opk
Version 131202.20.55
New Features:
Solves:
- KML starter did not access KML output -> Google Earth 3D view did not work
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131202.20.55.opk
Version 131128.21.18: Introduction of 2D Maps
New Features:
- 2D map display on web browser
Solves:
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131128.21.18.opk
Version 131127.05.01: Solves P30003 message type problem
New Features:
- none
Solves:
- The port 30003 messages MSG,2 and MSG,3 seem to be swapped. ==> actually all Port 30003 messsages were one count too low.
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131127.05.01.opk
Version 131126.19.46: Configuration Page Issues Solved
New Features:
- none
Solves:
- The configuration page when beeing saved does not confirm change but show an empty page or a failure message. However the changes appear to be taken. It only happens on a few installations. Investigation is in progress.
- There was a delay when connecting to a TCP port, which is now avoided.
- HTML 'Back' link moved to the top of all pages
- Timestamp behaviour in P30003: Is now truely message generation and message capture time.
- uses GCC 4.3.3 and Boost 1.53.0
Install command:
opkg install -V https://jetvision.de/resources/radarcaped-131126.19.46.opk
FPGA Firmware
Firmware update on the Radarcape is absolutely simple: Just mount the Radarcape as a drive into your Windows, then replace the existing meaADSB.rbf file with the one downloaded from this web page. You may save the existing one, but the history also exists here for download (including the version name in the file name).
The GPS timestamp
The GPS timestamp is completely handled in the FPGA (hardware) and does not require any interactions on the Linux side. This is essential to meet the required accuracy. The local clock in the FPGA (64MHz or 96MHz) is stretched or compressed to meet 1e9 counts in between two pulses by a linear algorithm, in order to avoid bigger jumps in the timestamp. Rollover from 999999999 to 0 occurs synchronously to the 1PPS leading edge. In parallel, the Second-of-Day information is read from the TSIP serial data stream and also aligned to the 1PPS pulse. Both parts are then mapped into the 48bits that are available for the timestamp and transmitted with each Mode-S or Mode-A/C message.
- SecondsOfDay are using the upper 18 bits of the timestamp
- Nanoseconds are using the lower 30 bits. The value there directly converts into a 1ns based value and does not need to be converted by sample rate
In C
nanosec = (msg[2] & 0x3f) << 24
| msg[3] << 16
| msg[4] << 8
| msg[5];
daysec = msg[0] << 10
| msg[1] << 2
| msg[2] >> 6;
if (daysec_tm1!=daysec)
{
daysec_tm1 = daysec;
hh = (daysec/3600) % 24;
mm = (daysec/60) % 60;
ss = daysec % 60;
}
Example:
Timestamp of 1019UTC: 0x244bbb9ac9f0
lower 30 bits are 0x3b9ac9f0 => Nanosecond = 999999984 * 1e-9
upper 18 bits are 0x912e => daysec = 37166
hour = 37166/3600 = 10
minute = 37166 / 60 modulo 60 = 19
second = 37166 modulo 60 = 26
So time is 10:19:26.999999984 after UTC midnight
The legacy 48bit and 12MHz based timestamp however is not synchronized to 12MHz at all, so it still works as it has been since ever.
Linux and FPGA firmware package ppsjump-021 (23. Aug. 2013)
Corrections
- For enhanced stability, this version is based on Linux 3.8.
- The GPS tool is now included into the radarcape deamon. It also provides a GPS status through the web server, accessing gps.html on the integrated webserver
- The TCP ports for data streaming connect on each try, not each second.
Installation
For this version, it is essential that you update your SD card completly from scratch. Download the naked Linux 3.8 image (73MB) and make a SD card as described in Radarcape Linux Install/Configure. Please mind the two screenshots there in order to see how about the update procedure works like. (As some users had problems unpacking the XZ, there is a Linux 3.8 image ZIP Version (130MB) on the server, too)
When inserted and rebooted, either login through the serial port (Mini-USB on the back side) or via SSH/network (then your destination temporarily is “beaglebone”). Enter these commands, and don't forget to enter your known Radarcape ID when beeing asked from the skript:
cd
rm install38.sh
wget https://jetvision.de/resources/install38.sh
sh ./install38.sh
reboot -f
FPGA Firmware meaADSB_ep3_143_ppsjump-020
Corrections
The GPS timestamp locked on multiplies of 32768 in situations when the 1PPS signal was disturbed by external matters.
superseeded by ppsjump-021
FPGA Firmware meaADSB_ep3_141_gpsmlat-3
Corrections
SecondOfDay (the upper 18 bits of the timestamp in GPS mode) and Nanoseconds (the lower 30 bits) are now synchronized.
Note that in order to overcome above problem with negative timestamps, the GPS read: absolute timestamp of Mode-S and Mode-A/C frames is taken at the end of the frame, at least until further notice. This does not make any difference for multilateration, as long as this feature is unique provided by the Radarcape.
Firmware meaADSB_ep3_141_gpsmlat-3
md5sum meaadsb_ep3_141_gpsmlat-3.rbf
86d6cdb069868e4f57d47dfc3441593c meaadsb_ep3_141_gpsmlat-3.rbf
md5sum meaadsb_ep3_141_gpsmlat-3.zip
5bcae05ea429b4ef943b303314e22b82 meaadsb_ep3_141_gpsmlat-3.zip
FPGA Firmware meaADSB_ep3_141_gpsmlat-2
Firmware meaADSB_ep3_141_gpsmlat-2 has a working GPS timestamp function. Therefore, DIP#5 switch selects either the standard 12MHz timestamp (when off) or the GPS timestamp (when on).
md5sum meaADSB_ep3_141_gpsmlat-2.rbf
dc7a6278a668b1bdb81fd67e7a1891a6 meaADSB_ep3_141_gpsmlat-2.rbf
md5sum meaADSB_ep3_141_gpsmlat-2.zip
ba54740894406cb38e8dd95d0fc3e3e8 meaADSB_ep3_141_gpsmlat-2.zip
Radarcape DIP Switch | DIP#1 | DIP#2 | DIP#3 | DIP#4 | DIP#5 | DIP#6 | DIP#7 | DIP#8 |
---|---|---|---|---|---|---|---|---|
Equivalent Beast DIP with resp. to PP setting |
DIP#3 | DIP#4 | DIP#5 | DIP#6 | DIP#7 | DIP#8 | DIP#9 | DIP#10 |
When ON | Binary format | only DF-11 and DF-17 |
enable MLAT in AVR format |
CRC check disabled |
GPS based timestamp |
RTS hardware handshake |
1 Bit FEC disabled |
Mode-A/C decoding enabled |
When OFF | AVR format | all usable DF | no MLAT in AVR format |
CRC check enabled |
standard 12MHz timestamp |
hardware hand- shake disabled |
1 Bit FEC enabled |
Mode-A/C decoding disabled |
Command Character |
c/C | d/D | e/E | f/F | g/G | h/H | i/I | j/J |
not used in binary format |
An upper case character is equal to a DIP that is in ON position, a lower case character equal to DIP in open position
The green LED next to the SMA connector is used as GPS indicator:
- Short on, long off: Just 1PPS is present, but no time of day information
- On and off time equal: 1PPS present, Time of day present, but there is a synchronisation offset
- Long on, short off: 1PPS present, Time of day present, Internal time is synchronized to GPS
It is not a problem if the clock sometimes falls back from (3) to (2), because the sensitivity of synchronisation check is +/-1 tick.
The center red LED flashes as an indication of operating about twice per second. It should flash very fast in case that hardware handshake is active.
The GPS based timestamp still uses the standard 48 bits as known from the 12MHz timestamp, but in different way:
- the lower 30 bits are the time since the last 1PPS pulse, in 1ns steps, currently 15ns resolution
- the upper 18 bits are the Seconds-Of-Day, starting with zero at midnight UTC
Known Issues (meaADSB_ep3_141_gpsmlat-2)
- Within the GPS timestamp, the Second-Of-Day part advances in the mid of the 0-999999999ns phase ⇒ next version
- Sometimes the Second-Of-Day part does not increment at the rollover of the nanosecond part ⇒ next version
- The absolute value of the GPS timestamp of 14 bytes long Mode-S frames is offset, however since all units do have that error, it is not a big problem for multilateration ⇒ wait for release
- Negative delta time offsets between consequent frames ⇒ not an issue (see below)
Negative delta time between consequent frames
If you look at the block diagram of the Mode-S Beast, recognize that there are several frame decoders working in parallel, plus the Mode-A/C decoder, which is not yet mentioned in the picture. They all work independently, their output - a ready frame - is written into a FIFO in order to buffer it for RS232 transmission.
It now may happen that during the reception of a Mode-S frame, an overlapping Mode-AC frame becomes decoded in parallel and is written into the FIFO, prior to the end of the Mode-S frame. Since the timestamps are taken at the start of frame, in that situation, the Mode-AC frame with a later timestamp is written to the FIFO before the Mode-S frame finishes. Consequentally on the output, the later timestamp of the Mode-S frame appears ahead of the Mode-S frame's.
It is easy to understand with the Mode-AC as a cause, but the same happens if one of the noise decoders or the overlapping Mode-S frame decoder outputs a frame while the other is still working.
Sorting that in the FPGA would cost too many ressources, so users of the timestamps anyway need a matching algorithm among different units, so that algorithm should be aware about this situation.
If you think about swapping them around, note that it may not happen with two frames but several, e.g. in the situation that two Mode-A/C frames do overlap a 14 byte Mode-S frame.