Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(atsu): missing request pages and automated report-functions #7074

Merged
merged 312 commits into from
Jun 25, 2022
Merged

Conversation

svengcz
Copy link
Contributor

@svengcz svengcz commented Apr 17, 2022

Summary of Changes

This PR implements the missing CPDLC features from open requests to message responses.

Tasks:

  • implement flight state observer in ATSU
  • add missing uplink messages for reports/requests
  • Create request-response LUT to prepare automated message creation
  • Refactor DCDU to show request and response with additional status messages
  • Add RECALL* to the DCDU
  • Add MODIFY* to the DCDU with page changes on the MCDU
  • Implement missing status messages (reference "DCDU status messages")
  • add "MSG MODIFY" page on MCDU
  • Implement a DCL handling for better TELEX/CPDLC clearance messages
  • Update ATC COMM send messages to "XFR TO DCDU"
  • Update MCDU according to new FCOM
    • Create Flight REQ page
      • Lateral
      • Vertical
      • Speed
      • Contact
      • Procedure
      • Oceanic
      • Freetext
      • Clearance
    • Create Ground REQ page
      • Departure
    • Create Usual REQ page
    • Create Emergency page
    • Create Reports page
      • Create Position report
    • Create Monitored Msg page
  • Implement auto-position update after a waypoint is passed
  • Split downlink and uplink buffer for the DCDU
  • Update ATC ring tones according to new FCOM
  • Implement DCDU auto-closing of messages after five seconds

Screenshots (if necessary)

  • new ATC COM layout according to 2021 FCOM

    • FANS independent
      ATC MENU

    • FANS-A pages
      FLIGHT REQ - FANS-A
      GROUND REQ - FANS-A
      ATC VERT REQ - FANS A
      CONTACT REQ - FANS A
      USUAL REQ - FANS A
      ATC SPEED REQ - FANS-A
      PROCEDURE REQ - FANS-A
      FREE TEXT - FANS-A

    • FANS-B pages
      FLIGHT REQ - FANS-B
      ATC LAT REQ - FANS-B
      ATC SPEED REQ - FANS-B
      ATC VERT REQ - FANS-B
      GROUND REQ - FANS-B
      USUAL REQ - FANS B

  • DCDU recall feature
    grafik
    grafik

  • DCDU priority messages
    grafik
    grafik

  • DCDU semantic responses
    grafik
    grafik

  • Message monitoring
    grafik

References

  • System details
    grafik

  • Emergency FANS-A
    Private references of A320Neo

  • FANS-B pages
    grafik
    FCOM pages 97, 114

    • Format definitions
      grafik
      grafik

Additional context

Discord username (if different from GitHub):

Testing instructions

  • Test all pages, subpages and editable fields of ATC COM
    • Connection to ATC: TESA for FANS-A, TESB for FANS-B
  • Test DCDU RECALL feature
    • No message sent or received: Status: RECALL EMPTY
    • Received or sent message: Shows last closed message with RECALL MODE as status and message is NOT automatically closed after two seconds
    • Received or sent message closed more than five minutes ago: RECALL EMPTY
  • Test DCDU PRINT
    • Print a message -> DCDU shows PRINTING for 4.5 seconds & message is printed
  • Test Auto position report
    • Notify ATC -> activate auto position report -> overfly waypoint and check if correct position report is sent
    • INFO: Is not shown in ACARS ATC tool -> Needs to be checked on the Hoppe website
  • Test ATS623
    • Test DCL on IVAO with TELEX as a response for the clearance request
    • Test DCL on VATSIM with usual responses
  • Test DCDU message order
    • Open a message in the DCDU -> send a message from ATC to A/C -> MSG-Counter should pop up, but first opened message should be visible
  • Test automatic message closing on DCDU
    • answer/send a message and wait until the message is closed after 2 seconds
      • DCL/OCL, Confirm..., Report... are not closed automatically
  • Test DCDU message buffers
    • send six messages to the A/C -> DCDU shows ANSWER MSG for five seconds -> close one message -> backlogged message added at the end of the messages in the DCDU
    • send six request to ATC -> DCDU and MCDU show DCDU FILE FULL -> close one message -> backlogged message added at the end of the messages in the DCDU
  • Test priority messages
    • Send a normal message (i.e. DESCEND TO XXX) to A/C -> Send priority message (i.e. IMMEDIATELY DESCEND TO XXX) to A/C -> DCDU shows "PRIORITY MSG+" in status -> move with MSG+ to priority message -> DCDU status disappears -> Message visualization starts with "HIGH PRIORITY" in the first line
    • ATC ring tones comes ever five seconds if a priority message is received, else every 15 seconds
  • Test semantic responses
    • Send a CONFIRM, WHEN CAN..., REPORT request to the A/C -> check if correct response is selected
      • If data is not available in the FMC, NO FM DATA is shown and only MODIFY can be selected
    • MODIFY opens a MCDU page to modify the response, CANNOT inverts the response
    • Check if correct response is sent
    • Test different combinations of DCDU buttons and MCDU modifications
  • Test message monitoring
    • Test all REPORT REACHING, LEAVING, etc. messages and check if the responses are correct
    • Abort message monitoring
    • Test all kinds of MODIFY
  • Test MODIFY page
    • If in a ATC COM page should MODIFY pop up as soon as MODIFY* on the DCDU is pressed
    • If on an page outside the ATC COM -> page does not change -> MODIFY pops up under ATC COM and can be opened
  • Test reminder messages
    • If a time is set as condition
      • Non deferred messages are reopened in DCDU 30 to 21 seconds before the time is reached
      • Deferred messages are reopned as soon as the time is reached (AT X CONTACT XY, AT X MONITOR XY)
    • Position reminders are reopened as soon as the waypoint is passed
    • Level reminders are reopened as soon as the level is reached or passed
  • Due to a lot of changes, please test all existing features!
  • Please run two or three tests with random handlings, etc. (please interpret it as a complete new feature as we did during the PDC introduction)

How to download the PR for QA

Every new commit to this PR will cause a new A32NX artifact to be created, built, and uploaded.

  1. Make sure you are signed in to GitHub
  2. Click on the Checks tab on the PR
  3. On the left side, click on the bottom PR tab
  4. Click on the A32NX download link at the bottom of the page

@svengcz svengcz added this to the v0.8.0 milestone Apr 17, 2022
@svengcz svengcz added MCDU Issue is related to the MCDU DCDU Issue is related to the DCDU labels Apr 17, 2022
@svengcz svengcz self-assigned this Apr 17, 2022
@svengcz svengcz force-pushed the cpdlc branch 5 times, most recently from 3d226ea to 80b3b4c Compare April 26, 2022 07:08
@2hwk 2hwk modified the milestones: v0.8.0, Backlog Apr 26, 2022
@svengcz svengcz force-pushed the cpdlc branch 10 times, most recently from ef298c2 to f79fe69 Compare May 4, 2022 07:34
@svengcz svengcz force-pushed the cpdlc branch 7 times, most recently from ba1985d to 7781a7c Compare May 14, 2022 07:58
@2hwk 2hwk added the QA Tier 2 label Jun 10, 2022
@2hwk
Copy link
Member

2hwk commented Jun 10, 2022

Current status:

  • Test all pages, subpages and editable fields of ATC COM
  • Test DCDU RECALL feature
  • Test DCDU PRINT
  • Test Auto position report
  • Test ATS623
  • Test DCDU message order
  • Test automatic message closing on DCDU
  • Test DCDU message buffers
  • Test priority messages
  • Test message monitoring
  • Test semantic responses
  • Test MODIFY page
  • Test reminder messages - Partial PASS
  • Test all existing features

PASS for further experimental testing

@2hwk 2hwk added the Exp Available on experimental branch (for testing) label Jun 10, 2022
2hwk added a commit that referenced this pull request Jun 10, 2022
2hwk added a commit that referenced this pull request Jun 11, 2022
2hwk added a commit that referenced this pull request Jun 13, 2022
2hwk added a commit that referenced this pull request Jun 14, 2022
2hwk added a commit that referenced this pull request Jun 20, 2022
2hwk added a commit that referenced this pull request Jun 23, 2022
@svengcz svengcz merged commit 1268052 into master Jun 25, 2022
@svengcz svengcz deleted the cpdlc branch June 25, 2022 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DCDU Issue is related to the DCDU Exp Available on experimental branch (for testing) MCDU Issue is related to the MCDU QA Tier 2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants