rsadsb / adsb_deku

✈️ Rust ADS-B decoder + tui radar application
MIT License
604 stars 22 forks source link

Incorrect Capability Classes #44

Open wcampbell0x2a opened 2 years ago

wcampbell0x2a commented 2 years ago

readsb

28547   │ *8dace839f8132006005ab84f2dfa;
28548   │ hex:  ace839   CRC: 000000 fixed bits: 0 decode: ok
28549   │ RSSI: -3.0 dBFS
28550   │ Score: 1800
28551   │ receiverTime: 14406049.00us
28552   │ systemTime: 1637757645.129s      07:40:45
28553   │ DF:17 AA:ACE839 CA:5 ME:F8132006005AB8
28554   │  Extended Squitter Aircraft operational status (airborne) (31/0)
28555   │   ICAO Address:  ACE839 (adsb_icao)
28556   │   Air/Ground:    airborne
28557   │   NIC-A:         1
28558   │   NIC-baro:      1
28559   │   NACp:          10
28560   │   GVA:           2
28561   │   SIL:           3 (p <= 0.00001%, per flight hour)
28562   │   SDA:           2
28563   │   Aircraft Operational Status:
28564   │     Version:            2
28565   │     Capability classes: 1090IN ARV TS UATIN
28566   │     Operational modes:  SAF
28567   │     Heading ref dir:    True heading

adsb_deku

11671   │ 8dace839f8132006005ab84f2dfa
11672   │ Frame {
11673   │     df: ADSB(
11674   │         ADSB {
11675   │             capability: AG_AIRBORNE,
11676   │             icao: ICAO(
11677   │                 [
11678   │                     172,
11679   │                     232,
11680   │                     57,
11681   │                 ],
11682   │             ),
11683   │             me: AircraftOperationStatus(
11684   │                 Airborne(
11685   │                     OperationStatusAirborne {
11686   │                         capability_class: CapabilityClassAirborne {
11687   │                             reserved0: 0,
11688   │                             acas: 0,
11689   │                             cdti: 1,
11690   │                             reserved1: 0,
11691   │                             arv: 1,
11692   │                             ts: 1,
11693   │                             tc: 0,
11694   │                             reserved2: 32,
11695   │                         },
11696   │                         operational_mode: OperationalMode {
11697   │                             reserved: 0,
11698   │                             tcas_ra_active: false,
11699   │                             ident_switch_active: false,
11700   │                             reserved_recv_atc_service: false,
11701   │                             single_antenna_flag: true,
11702   │                             system_design_assurance: 2,
11703   │                         },
11704   │                         reserved: 0,
11705   │                         version_number: DOC9871AppendixC,
11706   │                         nic_supplement_a: 1,
11707   │                         navigational_accuracy_category: 10,
11708   │                         geometric_vertical_accuracy: 2,
11709   │                         source_integrity_level: 3,
11710   │                         barometric_altitude_integrity: 1,
11711   │                         horizontal_reference_direction: 0,
11712   │                         sil_supplement: 0,
11713   │                         reserved1: 0,
11714   │                     },
11715   │                 ),
11716   │             ),
11717   │             pi: ICAO(
11718   │                 [
11719   │                     79,
11720   │                     45,
11721   │                     250,
11722   │                 ],
11723   │             ),
11724   │         },
11725   │     ),
11726   │     crc: 0,
11727   │ }
11728   │  Extended Squitter Aircraft operational status (airborne)
11729   │   Address:       ace839 (Mode S / ADS-B)
11730   │   Air/Ground:    airborne
11731   │   Aircraft Operational Status:
11732   │    Version:            2
11733   │    Capability classes: CDTI ARV TS
11734   │    Operational modes:  SAF SDA=2
11735   │    NIC-A:              1
11736   │    NACp:               10
11737   │    GVA:                2
11738   │    SIL:                3 (per hour)
11739   │    NICbaro:            1
11740   │    Heading reference:  true north
wcampbell0x2a commented 2 years ago
DEBUG radar: apps/src/radar.rs:451: bytes: 9676b0f2f9c49191d5576732b38a
ERROR radar: apps/src/radar.rs:482: Assertion("CapabilityClassSurface.reserved0 field failed assertion: reserved0 == 0")
fionera commented 1 year ago

Did you find a fix for this? I am currently decoding data from a binary beast stream and it fails because of this assertion.

Update: patched it out for now

wcampbell0x2a commented 1 year ago

Did you just patch out the assert? I'm pretty sure that field is to be 0.

If not, I can remove the assert.