Question
On the desktop Flight Data map, ADS-B traffic with no collision threat uses the same orange icon as LOW threat. The Xamarin (Mono) build still uses green for no threat. Is the desktop behaviour intentional? If so, what was the motivation?
Current state (master @ efb0801)
MAV_COLLISION_THREAT_LEVEL |
Desktop — GCSViews/FlightData.cs |
Xamarin — ExtLibs/Xamarin/Xamarin/GCSViews/FlightData.xaml.cs |
| NONE |
Orange |
Green |
| LOW |
Orange |
Orange |
| HIGH |
Red |
Red |
On desktop the green icon (GMapMarkerADSBPlane.icong) is loaded but can never be shown. updateMarkersAsNeeded runs the update callback, which sets the colour, before the new marker is added to the overlay, so the constructor's default Green is overwritten before the first draw.
As a result, on desktop an aircraft the autopilot has flagged LOW (a COLLISION message) looks exactly like ordinary traffic. The first warning level has no visual effect; only HIGH changes the icon.
History
- e6e0c5c (2016-06-28, "adsb: add collision support"): NONE → Green, LOW → Orange, HIGH → Red.
- f2a201b (2019-09-30, "xamarin: update"): the Xamarin Flight Data screen is based on that code and keeps NONE → Green.
- adac0f3 (2020-01-15, "FlightData: change default map draw rate"): desktop NONE changes from Green to Orange. The commit has no description, and its title is about map draw rate, so I can't tell whether the colour change was deliberate or an accident.
Proposal
Go back to NONE → Green on desktop, keeping LOW → Orange and HIGH → Red. That gives three levels you can tell apart, restores the original mapping, and makes desktop match Xamarin again. It's a one-line change in FlightData.cs.
If orange for normal traffic was deliberate (for example, green being hard to see on satellite imagery), please say so. In that case the builds should still match, and LOW needs its own look so the first warning level is visible. I can adjust the PR either way.
Related (minor)
On desktop, clicking an aircraft still toggles PointLatLngAltHdg.DisplayICAO (FlightData.cs, map mouse-down handler), but nothing reads it any more. The "tooltip always shown" branch that used it was removed in #3251. Xamarin still uses it. Should the click toggle be removed, or the pinned tooltip restored?
Question
On the desktop Flight Data map, ADS-B traffic with no collision threat uses the same orange icon as
LOWthreat. The Xamarin (Mono) build still uses green for no threat. Is the desktop behaviour intentional? If so, what was the motivation?Current state (master @ efb0801)
MAV_COLLISION_THREAT_LEVELGCSViews/FlightData.csExtLibs/Xamarin/Xamarin/GCSViews/FlightData.xaml.csOn desktop the green icon (
GMapMarkerADSBPlane.icong) is loaded but can never be shown.updateMarkersAsNeededruns the update callback, which sets the colour, before the new marker is added to the overlay, so the constructor's defaultGreenis overwritten before the first draw.As a result, on desktop an aircraft the autopilot has flagged
LOW(aCOLLISIONmessage) looks exactly like ordinary traffic. The first warning level has no visual effect; onlyHIGHchanges the icon.History
Proposal
Go back to NONE → Green on desktop, keeping LOW → Orange and HIGH → Red. That gives three levels you can tell apart, restores the original mapping, and makes desktop match Xamarin again. It's a one-line change in
FlightData.cs.If orange for normal traffic was deliberate (for example, green being hard to see on satellite imagery), please say so. In that case the builds should still match, and
LOWneeds its own look so the first warning level is visible. I can adjust the PR either way.Related (minor)
On desktop, clicking an aircraft still toggles
PointLatLngAltHdg.DisplayICAO(FlightData.cs, map mouse-down handler), but nothing reads it any more. The "tooltip always shown" branch that used it was removed in #3251. Xamarin still uses it. Should the click toggle be removed, or the pinned tooltip restored?