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:

                    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:

                      Note: this prerelease is obsolete. libacars functions are included and enabled in JAERO version 1.0.4.9 and later. Download from here: https://github.com/jontio/JAERO/releases.


                      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


                        • #27
                          Dear Sir,

                          I'm learning how to decode the ADS-C message in manual way, anyone could help me on this how to decode the ApplicationText "07EE31C287234908A33C1D0DEB3AB2940B890887ECEA45EA9 78145BD400E36F0F4C004100DAADEA8C3F4"?


                          Originally posted by ausmez View Post
                          Looks like Oblivian has answered most of your questions, but thought I would provide a little more detail for a couple of your examples.



                          This is a Media Advisory message. They are generated when a link (SATCOM, VHF-ACARS, IRIDIUM, etc..) status changes (Established, Lost) and are sent over any other media link that is available.

                          Code:
                          0 E V 021358 V /
                          
                          0 = Version Number
                          E = Establishment/Loss flag [B](1)[/B]
                          V = Media Identification [B](2)[/B]
                          021358 = UTC Timestamp
                          V = Current Media Available
                          / = Delimiter (May contain free text after the delimiter)
                          This message indicates that at 02:13:58 UTC, the VHF-ACARS link was established and the VHF-ACARS link was available

                          (1) Flags:
                          E = Media Established
                          L = Media Lost

                          (2) Media Types:
                          V = VHF-ACARS
                          S = Default Satcom
                          H = HF
                          G = Global Star Satcom
                          C = ICO Satcom
                          2 = VDL Mod 2
                          X = Inmarsat Aero H/H+/I/L
                          I = Iridium Satcom



                          This is an ADS-C (Automatic Dependent Surveillance - Contract) message, which is sent to an ATSU or AOC facility for surveillance and/or route conformance. There are different reasons as to why these messages are sent, but the most common reason is due to a Periodic Contract. This is a "contract" that is setup between the aircraft's avionics and the ATSU/AOC systems, which might say something along the lines of "Send me your position every 14 mins". The message is binary encoded and then converted into hexadecimal for transmission over ACARS.

                          If we have a look at your message, it can be broken down into 8 parts and decoded as follows:

                          Code:
                          /MELCAYA.ADS.9V-SRM07EE31C287234908A33C1D0DEB3AB2940B890887ECEA45EA978145BD400E36F0F4C004100DAADEA8C3F4
                          \_____/ \_/\_____/\____________________/\__________________________________/\__________/\________/\__/
                          1 2 3 4 5 6 7 8
                          
                          1. IATA destination address (MELCAYA = Melbourne Centre)
                          
                          2. Application type (ADS = ADS-C message follows)
                          
                          3. Aircraft registration (9V-SRM = Singapore Airlines Boeing 777-212ER)
                          
                          4. Basic Report
                          a. Position = -25.039215, 113.754673 @ 37000 feet
                          b. Timestamp = [HH]:37:35
                          c. Figure of Merit = Two or more NAV units are operating to indicated accuracy, TCAS is providing valid data, Accuracy is < 0.25 nmi
                          
                          5. Predicted Route Group
                          a. Next Waypoint = -29.208870, 116.023521 @ 37000 feet
                          b. ETA to Waypoint = 2028 sec
                          c. Next Waypoint + 1 = -30.553493, 116.631718 @ 23508 feet
                          
                          6. Earth Reference Group
                          a. True Track = 154
                          b. Ground Speed = 489.5 kts (906 km/h)
                          c. Vertical Rate = 16 fpm
                          
                          7. Meteorological Group
                          a. Wind Speed = 13 kts (25 km/h)
                          b. Wind Direction = 240 (South West)
                          c. Temperature = -43°C
                          
                          8. CRC
                          Hope this helps!

                          Comment

                          Working...
                          X