Improve transponder display and add combined signal quality indicator
**Transponder Display Improvements:** - Simplified transponder capability labels to be more concise - "Level 2+ Transponder" → "Level 2+" - "Enhanced Transponder" → "Enhanced" - "Alert/Emergency Status" → "Alert/Emergency" - Removes redundant "Transponder" suffix for cleaner popup display **New Signal Quality Feature:** - Added SignalQuality field combining NACp, NACv, and SIL into human-readable assessment - Quality levels: "Excellent", "Good", "Fair", "Poor" based on aviation standards - Prioritizes surveillance integrity (SIL) then position accuracy (NACp) - Automatically calculated when operational status messages (TC 31) are received - Displayed in aircraft popup when available **Signal Quality Algorithm:** - **Excellent**: High integrity (SIL ≥ 2) with precise position (NACp ≥ 9) - **Good**: Good integrity with moderate accuracy OR very high accuracy - **Fair**: Some integrity with basic accuracy OR high accuracy without integrity - **Poor**: Low but usable quality indicators - **Empty**: No quality data available **Frontend Enhancements:** - Added "Signal Quality" row to aircraft popup - Only displays when quality data is available - Clean integration with existing popup layout - Shows alongside transponder information **Data Quality Context:** - NACp: Position accuracy (0-11, higher = more precise location) - NACv: Velocity accuracy (0-4, higher = more precise speed/heading) - SIL: Surveillance integrity (0-3, higher = more reliable data) This gives users a quick understanding of data reliability without needing to interpret technical NACp/NACv/SIL values directly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
056c2b8346
commit
304b13a904
3 changed files with 77 additions and 5 deletions
|
|
@ -134,6 +134,7 @@ func (a *AircraftState) MarshalJSON() ([]byte, error) {
|
|||
SIL uint8 `json:"SIL"`
|
||||
TransponderCapability string `json:"TransponderCapability"`
|
||||
TransponderLevel uint8 `json:"TransponderLevel"`
|
||||
SignalQuality string `json:"SignalQuality"`
|
||||
SelectedAltitude int `json:"SelectedAltitude"`
|
||||
SelectedHeading float64 `json:"SelectedHeading"`
|
||||
BaroSetting float64 `json:"BaroSetting"`
|
||||
|
|
@ -180,6 +181,7 @@ func (a *AircraftState) MarshalJSON() ([]byte, error) {
|
|||
SIL: a.Aircraft.SIL,
|
||||
TransponderCapability: a.Aircraft.TransponderCapability,
|
||||
TransponderLevel: a.Aircraft.TransponderLevel,
|
||||
SignalQuality: a.Aircraft.SignalQuality,
|
||||
SelectedAltitude: a.Aircraft.SelectedAltitude,
|
||||
SelectedHeading: a.Aircraft.SelectedHeading,
|
||||
BaroSetting: a.Aircraft.BaroSetting,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue