Announcement

Collapse
No announcement yet.

Can anyone help decode these messages?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Just a heads-up for all potentially interested - FANS-1/A CPDLC messages (ie all these which have a type of CR1, CC1, DR1 or AT1) received over VDL mode 2 can be decoded with dumpvdl2 (google: "dumpvdl2 github" to find it, as I am not yet allowed to post links on this forum). Latest version (1.3.1) adds a small utility named decpdlc which can be used for manual decoding of FANS-1/A CPDLC messages received over different media - like plain old ACARS, HFDL or Inmarsat Aero. So if you have any FANS-1/A logs collected with other programs (PC-HFDL, acarsdec, Jaero, etc) you can decode these messages with decpdlc, by supplying their contents on command line or from a file. Search for 'decpdlc' in README.md for more details.

    I plan to separate FANS decoder out from dumpvdl2 codebase into a separate library, so that developers of other software projects could add FANS decoding feature with minimal fuss.

    Comment


    • #17
      Originally posted by szpajder View Post
      Just a heads-up for all potentially interested - FANS-1/A CPDLC messages (ie all these which have a type of CR1, CC1, DR1 or AT1) received over VDL mode 2 can be decoded with dumpvdl2 (google: "dumpvdl2 github" to find it, as I am not yet allowed to post links on this forum). Latest version (1.3.1) adds a small utility named decpdlc which can be used for manual decoding of FANS-1/A CPDLC messages received over different media - like plain old ACARS, HFDL or Inmarsat Aero. So if you have any FANS-1/A logs collected with other programs (PC-HFDL, acarsdec, Jaero, etc) you can decode these messages with decpdlc, by supplying their contents on command line or from a file. Search for 'decpdlc' in README.md for more details.

      I plan to separate FANS decoder out from dumpvdl2 codebase into a separate library, so that developers of other software projects could add FANS decoding feature with minimal fuss.
      Thanks very much for that effort , really appreciated and will work the manual way for now !
      Good luck with the development !

      regrds

      Bart

      Comment


      • #18
        A couple of examples of ATC uplink messages grabbed from Alphasat 24E L-band 10500 bps channels:

        Code:
        u       /SMACAYA.AT1.A6-EQCE4A4845914C9625C241A5362C4C9640E4B00E8C3
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 9
          Msg Ref: 18
          Timestamp: 08:17:25
         Message data:
          CLIMB TO AND MAINTAIN [altitude]
           Flight level: 330
          CROSS [position] AT [altitude]
           Fix: ARMED
           Flight level: 330
          REPORT LEVEL [altitude]
           Flight level: 330
        
        u       /PIKCPYA.AT1.G-CKNZ22A172DDD11C62C9A738322A003CCF
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 5
          Timestamp: 08:23:11
         Message data:
          AT [time] CONTACT [icaounitname] [frequency]
           Time: 08:35
           Facility Name: EISN
           Facility function: center
           VHF: 135.600 MHz
        
        u       - #MD/AA PIKCPYA.AT1.G-BNLY20A1F92A526A48934D049A6820CE4106AD49F360D48B1104D8B4E9C18F150549E821CF9D1A4D29A821D089321A0873E754830EA20AF26A48414E4419D5E4C396821C59D522D2FE32
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 1
          Timestamp: 08:31:36
         Message data:
          [freetext]
           THIS IS AN AUTOMATED MESSAGE TO CONFIRM CPDLC CONTACT WITH SHANWICK CENTER
        
        u       /SNNCPXA.AT1.G-CKNZA0A2112A41A752A6DD8316C3D98A00F818
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 1
          Timestamp: 08:33:04
         Message data:
          [freetext]
           NRS7016
          SQUAWK [beaconcode]
           Code: 1424
        
        u       /REKCAYA.AT1.TC-LJD24A3749D9A08008C29F127F54F28C3BD
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 9
          Timestamp: 08:55:18
         Message data:
          AT [position] CONTACT [icaounitname] [frequency]
           Latitude:   65 deg north
           Longitude: 000 deg east
           Facility Name: BODO
           Facility function: control
           VHF: 127.725 MHz
        
        u       - #MD/AA MSTEC7X.AT1.D-ABTLA223A3EA41624C90D1B351284A5066CF849699
        FANS-1/A CPDLC Message:
        CPDLC Uplink Message:
         Header:
          Msg ID: 4
          Timestamp: 08:58:15
         Message data:
          [freetext]
           DLH465
          PROCEED DIRECT TO [position]
           Fix: RAMOB

        Comment


        • #19
          Originally posted by szpajder View Post
          A couple of examples of ATC uplink messages grabbed from Alphasat 24E L-band 10500 bps channels:

          Code:
          u       /SMACAYA.AT1.A6-EQCE4A4845914C9625C241A5362C4C9640E4B00E8C3
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 9
            Msg Ref: 18
            Timestamp: 08:17:25
           Message data:
            CLIMB TO AND MAINTAIN [altitude]
             Flight level: 330
            CROSS [position] AT [altitude]
             Fix: ARMED
             Flight level: 330
            REPORT LEVEL [altitude]
             Flight level: 330
          
          u       /PIKCPYA.AT1.G-CKNZ22A172DDD11C62C9A738322A003CCF
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 5
            Timestamp: 08:23:11
           Message data:
            AT [time] CONTACT [icaounitname] [frequency]
             Time: 08:35
             Facility Name: EISN
             Facility function: center
             VHF: 135.600 MHz
          
          u       - #MD/AA PIKCPYA.AT1.G-BNLY20A1F92A526A48934D049A6820CE4106AD49F360D48B1104D8B4E9C18F150549E821CF9D1A4D29A821D089321A0873E754830EA20AF26A48414E4419D5E4C396821C59D522D2FE32
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 1
            Timestamp: 08:31:36
           Message data:
            [freetext]
             THIS IS AN AUTOMATED MESSAGE TO CONFIRM CPDLC CONTACT WITH SHANWICK CENTER
          
          u       /SNNCPXA.AT1.G-CKNZA0A2112A41A752A6DD8316C3D98A00F818
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 1
            Timestamp: 08:33:04
           Message data:
            [freetext]
             NRS7016
            SQUAWK [beaconcode]
             Code: 1424
          
          u       /REKCAYA.AT1.TC-LJD24A3749D9A08008C29F127F54F28C3BD
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 9
            Timestamp: 08:55:18
           Message data:
            AT [position] CONTACT [icaounitname] [frequency]
             Latitude:   65 deg north
             Longitude: 000 deg east
             Facility Name: BODO
             Facility function: control
             VHF: 127.725 MHz
          
          u       - #MD/AA MSTEC7X.AT1.D-ABTLA223A3EA41624C90D1B351284A5066CF849699
          FANS-1/A CPDLC Message:
          CPDLC Uplink Message:
           Header:
            Msg ID: 4
            Timestamp: 08:58:15
           Message data:
            [freetext]
             DLH465
            PROCEED DIRECT TO [position]
             Fix: RAMOB
          that is more than great ! I a, not completely sure how to get this sorted , but trying to get it working.

          Comment


          • #20
            If you have some FANS logs at hand, then you don't need to read about, compile nor use dumpvdl2. Just get the sources, type "make decpdlc" and in a few minutes you should have a decpdlc binary ready in the current directory.

            Then type, for example:

            Code:
            ./decpdlc u /SMACAYA.AT1.A6-EQCE4A4845914C9625C241A5362C4C9640E4B00E8C3
            and it will spit out the decoded message.

            The first parameter "u" indicates that the following string should be decoded as an uplink message - so you have to know in which direction it has been sent (ground to aircraft or vice versa). Usually it should be pretty straightforward to figure this out from the ACARS log. Or just try "u" and then "d" blindly - it should work this way or another

            Comment


            • #21
              Originally posted by szpajder View Post
              If you have some FANS logs at hand, then you don't need to read about, compile nor use dumpvdl2. Just get the sources, type "make decpdlc" and in a few minutes you should have a decpdlc binary ready in the current directory.

              Then type, for example:

              Code:
              ./decpdlc u /SMACAYA.AT1.A6-EQCE4A4845914C9625C241A5362C4C9640E4B00E8C3
              and it will spit out the decoded message.

              The first parameter "u" indicates that the following string should be decoded as an uplink message - so you have to know in which direction it has been sent (ground to aircraft or vice versa). Usually it should be pretty straightforward to figure this out from the ACARS log. Or just try "u" and then "d" blindly - it should work this way or another
              Thanks very much for your guidance I will get that one going , really appreciated and look forward to hear or see you back in any software ! thanks for the good work.

              Comment


              • #22
                dumpvdl2 also decodes ADS-C.

                Downlinks:

                Code:
                A75F15 (Aircraft, Airborne) -> 2B86F7 (Ground station): Command
                AVLC type: I sseq: 3 rseq: 3 poll: 0
                ACARS:
                Reg: .N574UP Flight: UP0001
                Mode: 2 Label: H1 Blk id: 3 Ack: ! Msg no.: F24A
                Message:
                #M1B/B6 CTUE1YA.ADS.N574UP0725DE985D6A89472E1D9F0D24B3C0316CC5F749642476902FB70457800E5A40E1C000B67A
                ADS-C message:
                 Basic report:
                  Lat: 53.2539940
                  Lon: 16.4207840
                  Alt: 38000 ft
                  Time: 2951.375 sec past hour (:49:11.375)
                  Position accuracy: <0.05 nm
                  NAV unit redundancy: OK
                  TCAS: OK
                 Predicted route:
                  Next waypoint:
                   Lat: 51.6123962
                   Lon: 8.6879539
                   Alt: 24436 ft
                   ETA: 2404 sec
                  Next+1 waypoint:
                   Lat: 51.2762833
                   Lon: 8.3873749
                   Alt: 17784 ft
                 Earth reference data:
                  True track: 253.8 deg
                  Ground speed: 451.5 kt
                  Vertical speed: 0 ft/min
                and uplinks:

                Code:
                10920A (Ground station, On ground) -> 8963D9 (Aircraft): Command
                AVLC type: I sseq: 2 rseq: 4 poll: 0
                ACARS:
                Reg: .A6-EPJ Flight:
                Mode: 2 Label: A6 Blk id: B Ack: 2 Msg no.:
                Message:
                /DXBEGEK.ADS.A6-EPJ07550BCE5212
                
                ADS-C message:
                 Periodic contract request:
                  Contract number: 85
                  Reporting interval: 896 seconds
                but there is no standalone decoder for ADS-C included. Only ADS-C payloads carried over VDL-2 are decoded.

                Comment


                • #23
                  The library which I mentioned in post #16 is now available on Github (I still can't post links on this forum, so either google it or wait for the next post). It provides decoders for ARINC-622 bit-oriented ATS applications - ADS-C and FANS-1/A CPDLC. A stable version 1.0.0 has been released today, together with a binary package for 64-bit Windows.

                  We already have first adopters of this project:

                  - dumpvdl2 - the latest code in unstable branch uses libacars for all tasks related to ACARS decoding; the library is a mandatory dependency.

                  - Thierry Leconte's acarsdec and vdlm2dec use libacars optionally (if installed) to decode ATS applications

                  - Support for ATS applications decoding with libacars is now in the master branch of Jonty's JAERO Inmarsat decoder and will be available in the next stable release of the program. Here is a screenshot of how it looks like.

                  JAERO_CPDLC.jpg

                  The "decpdlc" program for manual decoding of ATS messages has been removed from dumpvdl2 source tree and is now bundled with libacars as an example program named "decode_arinc". It decodes both CPDLC and ADS-C messages.

                  Comment


                  • #24
                    And here is the libacars Github repository:

                    https://github.com/szpajder/libacars

                    Comment


                    • #25
                      The next stable release of JAERO with libacars support included is expected to be out on late January.

                      For anyone interested in testing libacars capabilities (CPDLC, ADS-C) with JAERO right now, I have built a static Windows 64-bit binary executable, which is available here:

                      https://github.com/szpajder/JAERO/re...-pre2018112400

                      Enjoy.

                      Comment


                      • #26
                        JAERO 1.0.4.9 has been released by Jonty yesterday. It has all libacars features built in:

                        - CPDLC decoding
                        - ADS-C decoding
                        - Media Advisory decoding (ACARS label SA)

                        Download from here: https://github.com/jontio/JAERO/releases/tag/v1.0.4.9

                        Comment

                        Working...
                        X