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(acps): Rest of knobs/buttons on ACPs/RMPs, Ovhd panel and shared cockpit #7866

Open
wants to merge 367 commits into
base: master
Choose a base branch
from

Conversation

juliansebline
Copy link
Contributor

@juliansebline juliansebline commented Mar 13, 2023

Summary of Changes

This PR makes all buttons on ACP and RMPs work and AudioSwitching knob too.

Plus, it adds an option in the EFB making the player able to choose on which side he/she is playing. This is mainly for shared cockpit purposes. By default, the option is set to "BOTH" which means each action on one ACP is performed onto the two other ones.

You have to understand the concept:

  1. "Captain" means any action on FO's ACP has no effect. If the AudioSwitching knob is rotated on Captain, ACP3 is preferred. If Rotated on F/O, no effect.
  2. "FO" means any action on Captain's ACP has no effect. If the AudioSwitching knob is rotated on F/O, ACP3 is preferred. If Rotated on Captain, no effect.

Most of the logic been rewritten to Rust. This will be useful when failures come but more importantly, the code is meant to be usable by the 380.

Screenshots (if necessary)

References

Additional context

Discord username (if different from GitHub): julian_fbw

Testing instructions

COMM.txt

####### CAPTAIN SIDE: The controlling ACPs are either ACP1 or 3 (depending on AudioSwitching knob position) #######

To better spot the changes during the tests...

  • Set all knobs to 0 on CPT side
  • Set all knobs to 100 on FO side
  • Start the APU

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND CAPTAIN'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON CAPTAIN.**

  • Understood
  1. Turn the knobs and push the buttons on Captain's ACP to different values than the other ACPs
  2. In the EFB, select Captain
    • The simvars should now be set with Captain's ACP configuration
  3. Rotate VHF1 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on Captain's ACP
    • The knob of this ACP only should be changing

There's a bug in the SDK or at least unwanted behaviour

  • COM RECEIVE:1 remains at 1 if corresponding transmit button is on
  • COM RECEIVE:1 goes to 0 if transmit button is off
  1. Push VHF1 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 0 if on, 4 if off

There's a bug in the SDK or at unwanted behaviour

  • COM RECEIVE:1 goes to 1 if transmit button is on even if the knob is off
  • COM RECEIVE:1 goes to knob position if transmit button is off
  1. Rotate VHF2 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  2. Push VHF2 knob on Captain's ACP
    • The knob of this ACP only should be changing

There's a bug in the SDK or at least unwanted behaviour

  • COM RECEIVE:2 remains at 1 if corresponding transmit button is on
  • COM RECEIVE:2 goes to 0 if transmit button is off
  1. Push VHF2 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 1 if on, 4 if off

There's a bug in the SDK or at unwanted behaviour

  • COM RECEIVE:2 goes to 1 if transmit button is on even if the knob is off
  • COM RECEIVE:2 goes to knob position if transmit button is off
  1. Rotate HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  2. Push HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  3. Push HF1, HF2, Mech, Cab transmit buttons on Captain's ACP (except PA)
    • The buttons of this ACP only should be changing
    • Simvar PILOT TRANSMITTER TYPE == 4
  4. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on Captain's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars PILOT TRANSMITTER TYPE == 4 if on, previous channel if off
  5. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  6. Left click on it
    • The switch should go to the top position on Captain's ACP only
  7. Right click on it
    • The switch should remain in this position on Captain's ACP only
  8. Left click on it
    • The switch should return to middle position on Captain's ACP only
  9. Hold Right click on it
    • The switch should go to bottom position on Captain's ACP
  10. Release the right click
    • The switch should return to middle position on Captain's ACP
  11. Rotate the AudioSwitching knob to Captain
  12. Restart at point 3 of this part but replace Captain's ACP with ACP3
    • Passed
  13. Rotate the AudioSwitching knob to FO
    • The simvars should now be set with Captain's ACP configuration
  14. Rotate the AudioSwitching knob to NORM
    • Nothing should change

####### F/O SIDE: The controlling ACPs are either ACP2 or 3 (depending on AudioSwitching knob position) #######

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND FO'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON FO.**

  • Understood
  1. Turn the knobs and push the buttons on FO's ACP to different values than the other ACPs
  2. In the EFB, select FO
    • The simvars should now be set with FO's ACP configuration
  3. Rotate VHF1 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE EX1:1 should update accordingly
  5. Push VHF1 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 0 if on, 4 if off
  6. Rotate VHF2 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  7. Push VHF2 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE EX1:2 should update accordingly
  8. Push VHF2 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 1 if on, 4 if off
  9. Rotate HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  10. Push HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  11. Push HF1, HF2, Mech, Cab transmit buttons on FO's ACP (except PA)
    • The buttons of this ACP only should be changing
    • Simvars COPILOT TRANSMITTER TYPE == 4
  12. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on FO's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars PILOT TRANSMITTER TYPE == 4 if on, previous channel if off
  13. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  14. Left click on it
    • The switch should go to the top position on FO's ACP only
  15. Right click on it
    • The switch should remain in this position on FO's ACP only
  16. Left click on it
    • The switch should return to middle position on FO's ACP only
  17. Hold Right click on it
    • The switch should go to bottom position on FO's ACP
  18. Release the right click
    • The switch should return to middle position on FO's ACP
  19. Rotate the AudioSwitching knob to FO
  20. Restart at point 3 of this part but replace FO's ACP with ACP3
    • Passed
  21. Rotate the AudioSwitching knob to Captain
    • The simvars should now be set with FO's ACP configuration
  22. Rotate the AudioSwitching knob to NORM
    • Nothing should change
  23. In the EFB, select BOTH
    • ALL ACPs should be updated with FO's configuration as it was the last one used

####### ELECTRICITY CHECK #######

  1. Turn off the engines
    • Only the ACPs and RMP1 should be on
  2. Press the buttons and knobs
    • Only VHF1 simvars should get updated
  3. Turn off one battery and press many buttons on the ACPs
  4. Turn on the APU
    • The facade of each ACPs should not have changed

####### MORSE CHECK #######

For this you will have to open the behaviors window and local variables tab.

  1. For each VOR knob, press it, rotate it copy 883636401 in the VOR1/2_IDENT_PACKEDLvar
    • You should be hearing multiple beeps and squelch and squelch only if the lvar is empty
    • "BRIS" is the code. "-... .-. .. ... --.-" is what you should be hearing
  2. For each ADF knob, press it, rotate itn copy 883636401 in the ADF1/2_IDENT_PACKED Lvar
    • You should be hearing multiple beeps and squelch and squelch only if the lvar is empty
    • "BRIS" is the code. "-... .-. .. ... --.-" is what you should be hearing
  3. For the ILS knob, press it, rotate it copy 883636401 in the ILS_IDENT_PACKED Lvar and press the onside LS button on the FCU
    • You should be hearing multiple beeps and squelch and squelch only if the lvar is empty
    • "BRIS" is the code. "-... .-. .. ... --.-" is what you should be hearing
  4. Check also the sides are independant like in the previous steps.

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

@alexr4339
Copy link

alexr4339 commented Mar 15, 2023

Quality Assurance Tester Report

Discord : Alex R#6663
Object of testing: PR #7866
Tier of Testing : 1
Date : started on 15/03/2023 ended 19/03/2023

Testing Process:
Still in progress.
All items until F/O have been tested. A checked items means no issues were found and it behaved as expected. If an item is unchecked, I have added a small explanation of the error after the dash.

####### BOTH SIDES #######

  1. Download the file below and rename it COMM.simvars
    COMM.txt
  2. Open the simvar watcher and load the file
  3. Spawn on the runway
  4. Check if the AudioSwitching knob on the overhead panel is set to NORM
  5. Turn on the EFB and go to the simulation options
    • Last line (Captain, FO, Both) set to "Both"
      For verification: Its called cockpit seat to control - Captain/Copilot/Synchronized in the EFB
  6. Rotate VHF1 volume knob on all ACPs (including overhead)
    • All related knobs should rotate and be at the same position (as the option is set to Both)
    • COM VOLUME:1 simvar should update accordingly
  7. Push VHF1 knob on all ACPs (including overhead)
    • All related knobs should be on/off (as the option is set to Both)
    • COM RECEIVE:1 should update accordingly - Added COM RECEIVE on simvarwatcher using add request button. Added Index 0-3. Index 0 had value 0, 1-3 had value 1.
  8. Push VHF1 transmit button
    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 0 if on, 4 if off
  9. Rotate VHF2 volume knob on all ACPs (including overhead)
    • All related knobs should rotate and be at the same position (as the option is set to Both)
    • COM VOLUME:2 simvar should update accordingly
    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 1 if on, 4 if off
  10. Push VHF2 knob of all ACPs (including overhead)
    • All related knobs should be on/off (as the option is set to Both)
    • COM RECEIVE:2 should update accordingly
  11. Push VHF2 transmit button
    • VHF1 transmit buttons should go off
    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 1 if on, 4 if off
  12. Rotate HF1, HF2, Mech, Cab and PA knob on all ACPs (including overhead)
    • All related knobs should rotate and be at the same position (as the option is set to Both)
  13. Push HF1, HF2, Mech, Cab and PA knob on all ACPs (including overhead)
    • All knobs should be on/off (as the option is set to Both)
  14. Push HF1, HF2, Mech, Cab transmit buttons on all ACPs (except PA)
    • All buttons should be on/off (as the option is set to Both)
    • Only one transmit button can be on at a time
  15. Keep pressing PA transmit button with left mouse button
    • Only PA push button should be on on all ACPs
    • Release the mouse button, the light should return to the previous selected channel
  16. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  17. Left click on it
    • The switch should go to the top position on all ACPs
  18. Right click on it
    • The switch should remain in this position on all ACPs
  19. Left click on it
    • The switch should return to middle position on all ACPs
  20. Hold Right click on it
    • The switch should go to bottom position on all ACPs
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 1
  21. Release the right click
    • The switch should return to middle position on all ACPs
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 0

####### CAPTAIN SIDE: The controlling ACPs are either ACP1 or 3 (depending on AudioSwitching knob position) #######

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND CAPTAIN'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON CAPTAIN.**

  • Understood
  1. Turn the knobs and push the buttons on Captain's ACP to different values than the other ACPs -Not possible as long as EFB was set to both. Setting FB to captain. I am now able set to different values as other ACP.
  2. In the EFB, select Captain
    • The simvars should now be set with Captain's ACP configuration - Side note: Turning VHF3 knob has no effect on COM VOLUME:3. Neither in captain nor in synchronized and is always 1.
  3. Rotate VHF1 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on Captain's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:1 should update accordingly - Value is always 1 when vhf1 transmit is on. If transmit is off (pilot type = 4) then it updates correctly.
  5. Push VHF1 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 0 if on, 4 if off and COPILOT TRANSMITTER TYPE = 4
  6. Rotate VHF2 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  7. Push VHF2 knob on Captain's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:2 should update accordingly
  8. Push VHF2 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 1 if on, 4 if off and COPILOT TRANSMITTER TYPE = 4
  9. Rotate HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  10. Push HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  11. Push HF1, HF2, Mech, Cab transmit buttons on Captain's ACP (except PA)
    • The buttons of this ACP only should be changing
  12. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on Captain's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars PILOT TRANSMITTER TYPE = 8 if on, previous channel if off and COPILOT TRANSMITTER TYPE = 4
  13. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  14. Left click on it
    • The switch should go to the top position on Captain's ACP only
    • Simvars PILOT TRANSMITTER TYPE = 6 and COPILOT TRANSMITTER TYPE = 4
  15. Right click on it
    • The switch should remain in this position on Captain's ACP only
  16. Left click on it
    • The switch should return to middle position on Captain's ACP only
    • Simvars PILOT TRANSMITTER TYPE = current transmit channel and COPILOT TRANSMITTER TYPE = 4
  17. Hold Right click on it
    • The switch should go to bottom position on Captain's ACP
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 1
  18. Release the right click
    • The switch should return to middle position on Captain's ACP
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 0
  19. Rotate the AudioSwitching knob to Captain
  20. Restart at point 3 of this part but replace Captain's ACP with ACP3
    • Passed - Same behaviour and same issues as with acp1.
  21. Rotate the AudioSwitching knob to FO
    • The simvars should now be set with Captain's ACP configuration
  22. Rotate the AudioSwitching knob to NORM
    • Nothing should change

####### F/O SIDE: The controlling ACPs are either ACP2 or 3 (depending on AudioSwitching knob position) #######

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND FO'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON FO.**

  • Understood
  1. Turn the knobs and push the buttons on FO's ACP to different values than the other ACPs
  2. In the EFB, select FO
    • The simvars should now be set with FO's ACP configuration
  3. Rotate VHF1 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:1 should update accordingly - com receive only updates from 0 to 1 if vhf1 call button is not illuminated. If call button is illuminated, COM RECEIVE:1 is always 1
  5. Push VHF1 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars COPILOT TRANSMITTER TYPE = 0 if on, 4 if off and PILOT TRANSMITTER TYPE = 4
  6. Rotate VHF2 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  7. Push VHF2 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:2 should update accordingly
  8. Push VHF2 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars COPILOT TRANSMITTER TYPE = 1 if on, 4 if off and PILOT TRANSMITTER TYPE = 4
  9. Rotate HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  10. Push HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  11. Push HF1, HF2, Mech, Cab transmit buttons on FO's ACP (except PA)
    • The buttons of this ACP only should be changing
  12. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on FO's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars COPILOT TRANSMITTER TYPE = 8 if on, previous channel if off and PILOT TRANSMITTER TYPE = 4
  13. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  14. Left click on it
    • The switch should go to the top position on FO's ACP only
    • Simvars COPILOT TRANSMITTER TYPE = 6 and PILOT TRANSMITTER TYPE = 4
  15. Right click on it
    • The switch should remain in this position on FO's ACP only
  16. Left click on it
    • The switch should return to middle position on FO's ACP only
    • Simvars COPILOT TRANSMITTER TYPE = current transmit channel and PILOT TRANSMITTER TYPE = 4
  17. Hold Right click on it
    • The switch should go to bottom position on FO's ACP
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 1
  18. Release the right click
    • The switch should return to middle position on FO's ACP
    • Lvar IS_EMITTING_ON_FREQUENCY should be set to 0
  19. Rotate the AudioSwitching knob to FO
  20. Restart at point 3 of this part but replace FO's ACP with ACP3
    • Passed - ACP3 had same issue as ACP2
  21. Rotate the AudioSwitching knob to Captain
    • The simvars should now be set with FO's ACP configuration
  22. Rotate the AudioSwitching knob to NORM
    • Nothing should change
  23. In the EFB, select BOTH
    • ALL ACPs should be updated with FO's configuration as it was the last one used

Negatives:
N/A

Testing Results:
Passed

Conclusions:
Everything works as expected.

@2hwk 2hwk added this to the v0.10.0 milestone Mar 19, 2023
@2hwk 2hwk added QA Tier 2 Please Resolve Conflicts The author of thie PR must resolve remaining conflicts and removed Needs Code Review labels Mar 26, 2023
@2hwk
Copy link
Member

2hwk commented Mar 30, 2023

Fix merge conflicts ^^

@juliansebline
Copy link
Contributor Author

Fix merge conflicts ^^

Wilco once at home this weekend

@2hwk 2hwk removed the Please Resolve Conflicts The author of thie PR must resolve remaining conflicts label Apr 2, 2023
fbw-a32nx/docs/a320-simvars.md Outdated Show resolved Hide resolved
@Saschl Saschl modified the milestones: v0.10.0, v0.11.0 Apr 18, 2023
@alepouna
Copy link
Member

QA Report

Discord: alepouna
Object of testing: #7866
Tier of Testing : 1
Date : 25/6/2023

Testing Process:

####### BOTH SIDES #######

  1. Download the file below and rename it COMM.simvars
    COMM.txt

  2. Open the simvar watcher and load the file

  3. Spawn on the runway

  4. Check if the AudioSwitching knob on the overhead panel is set to NORM

  5. Turn on the EFB and go to the simulation options

    • Last line (Captain, FO, Both) set to "Both"
  6. Rotate VHF1 volume knob on all ACPs (including overhead)

    • All related knobs should rotate and be at the same position (as the option is set to Both)
    • COM VOLUME:1 simvar should update accordingly
  7. Push VHF1 knob on all ACPs (including overhead)

    • All related knobs should be on/off (as the option is set to Both)
    • COM RECEIVE:1 should update accordingly
  8. Push VHF1 transmit button

    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 0 if on, 4 if off
  9. Rotate VHF2 volume knob on all ACPs (including overhead)

    • All related knobs should rotate and be at the same position (as the option is set to Both)
    • COM VOLUME:2 simvar should update accordingly
    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 1 if on, 4 if off
  10. Push VHF2 knob of all ACPs (including overhead)

    • All related knobs should be on/off (as the option is set to Both)
    • COM RECEIVE:2 should update accordingly
  11. Push VHF2 transmit button

    • VHF1 transmit buttons should go off
    • PILOT TRANSMITTER TYPE and COPILOT TRANSMITTER TYPE simvars should be set to 1 if on, 4 if off
  12. Rotate HF1, HF2, Mech, Cab and PA knob on all ACPs (including overhead)

    • All related knobs should rotate and be at the same position (as the option is set to Both)
  13. Push HF1, HF2, Mech, Cab and PA knob on all ACPs (including overhead)

    • All knobs should be on/off (as the option is set to Both)
  14. Push HF1, HF2, Mech, Cab transmit buttons on all ACPs (except PA)

    • All buttons should be on/off (as the option is set to Both)
    • Only one transmit button can be on at a time
  15. Keep pressing PA transmit button with left mouse button

    • Only PA push button should be on on all ACPs
    • Release the mouse button, the light should return to the previous selected channel
  16. On each ACP, the INTRAD switch should be set to middle position

    • Yes
  17. Left click on it

    • The switch should go to the top position on all ACPs
  18. Right click on it

    • The switch should remain in this position on all ACPs
  19. Left click on it

    • The switch should return to middle position on all ACPs
  20. Hold Right click on it

    • [NOT PASSED - LEGACY CONTROLS INOP | OP for other control method] The switch should go to bottom position on all ACPs
    • [ref above] Lvar IS_EMITTING_ON_FREQUENCY simvar should be set to 1
  21. Release the right click

    • [ref 20] The switch should return to middle position on all ACPs
    • [ref 20] Lvar IS_EMITTING_ON_FREQUENCY simvar should be set to 0

####### CAPTAIN SIDE: The controlling ACPs are either ACP1 or 3 (depending on AudioSwitching knob position) #######

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND CAPTAIN'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON CAPTAIN.**

  • Understood
  1. Turn the knobs and push the buttons on Captain's ACP to different values than the other ACPs
  2. In the EFB, select Captain
    • The simvars should now be set with Captain's ACP configuration
  3. Rotate VHF1 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on Captain's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:1 should update accordingly
  5. Push VHF1 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 0 if on, 4 if off and COPILOT TRANSMITTER TYPE = 4
  6. Rotate VHF2 volume knob on Captain's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  7. Push VHF2 knob on Captain's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:2 should update accordingly
  8. Push VHF2 transmit button on Captain's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 1 if on, 4 if off and COPILOT TRANSMITTER TYPE = 4
  9. Rotate HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  10. Push HF1, HF2, Mech, Cab and PA knob on Captain's ACP
    • The knobs of this ACP only should be changing
  11. Push HF1, HF2, Mech, Cab transmit buttons on Captain's ACP (except PA)
    • The buttons of this ACP only should be changing
  12. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on Captain's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars PILOT TRANSMITTER TYPE = 8 if on, previous channel if off and COPILOT TRANSMITTER TYPE = 4
  13. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  14. Left click on it
    • The switch should go to the top position on Captain's ACP only
    • Simvars PILOT TRANSMITTER TYPE = 6 and COPILOT TRANSMITTER TYPE = 4
  15. Right click on it
    • [ref 20 from first set] The switch should remain in this position on Captain's ACP only
  16. Left click on it
    • The switch should return to middle position on Captain's ACP only
    • Simvars PILOT TRANSMITTER TYPE = current transmit channel and COPILOT TRANSMITTER TYPE = 4
  17. Hold Right click on it
    • [ref 20 from first set] The switch should go to bottom position on Captain's ACP
    • [ref 20 from first set] Lvar IS_EMITTING_ON_FREQUENCY should be set to 1
  18. Release the right click
    • [ref 20 from first set] The switch should return to middle position on Captain's ACP
    • [ref 20 from first set] Lvar IS_EMITTING_ON_FREQUENCY should be set to 0
  19. Rotate the AudioSwitching knob to Captain
  20. Restart at point 3 of this part but replace Captain's ACP with ACP3
    • Passed
  21. Rotate the AudioSwitching knob to FO
    • The simvars should now be set with Captain's ACP configuration
  22. Rotate the AudioSwitching knob to NORM
    • Nothing should change

####### F/O SIDE: The controlling ACPs are either ACP2 or 3 (depending on AudioSwitching knob position) #######

** PLEASE KEEP IN MIND ACP3 SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON NORM.**

  • Understood

** PLEASE KEEP IN MIND FO'S ACP SHOULD HAVE NO EFFECT IF AUDIO SWITCHING KNOB ON FO.**

  • Understood
  1. Turn the knobs and push the buttons on FO's ACP to different values than the other ACPs
  2. In the EFB, select FO
    • The simvars should now be set with FO's ACP configuration
  3. Rotate VHF1 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:1 simvar should update accordingly
  4. Push VHF1 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:1 should update accordingly
  5. Push VHF1 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars PILOT TRANSMITTER TYPE = 0 if on, 4 if off and COPILOT TRANSMITTER TYPE = 4
  6. Rotate VHF2 volume knob on FO's ACP
    • The knob of this ACP only should be rotating
    • COM VOLUME:2 simvar should update accordingly
  7. Push VHF2 knob on FO's ACP
    • The knob of this ACP only should be changing
    • COM RECEIVE:2 should update accordingly
  8. Push VHF2 transmit button on FO's ACP
    • The button of this ACP only should be changing
    • Simvars COPILOT TRANSMITTER TYPE = 1 if on, 4 if off and PILOT TRANSMITTER TYPE = 4
  9. Rotate HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  10. Push HF1, HF2, Mech, Cab and PA knob on FO's ACP
    • The knobs of this ACP only should be changing
  11. Push HF1, HF2, Mech, Cab transmit buttons on FO's ACP (except PA)
    • The buttons of this ACP only should be changing
  12. Keep pressing PA transmit button with left mouse button
    • PA push button should be on on FO's ACP only
    • Release the mouse button, the light should return to the previous selected channel
    • Simvars COPILOT TRANSMITTER TYPE = 8 if on, previous channel if off and PILOT TRANSMITTER TYPE = 4
  13. On each ACP, the INTRAD switch should be set to middle position
    • Yes
  14. Left click on it
    • The switch should go to the top position on FO's ACP only
    • Simvars COPILOT TRANSMITTER TYPE = 6 and PILOT TRANSMITTER TYPE = 4
  15. Right click on it
    • [ref 20 first set] The switch should remain in this position on FO's ACP only
  16. Left click on it
    • [ref 20 first set] The switch should return to middle position on FO's ACP only
    • [ref 20 first set] Simvars COPILOT TRANSMITTER TYPE = current transmit channel and PILOT TRANSMITTER TYPE = 4
  17. Hold Right click on it
    • [ref 20 first set] The switch should go to bottom position on FO's ACP
    • [ref 20 first set] Lvar IS_EMITTING_ON_FREQUENCY should be set to 1
  18. Release the right click
    • [ref 20 first set] The switch should return to middle position on FO's ACP
    • [ref 20 first set] Lvar IS_EMITTING_ON_FREQUENCY should be set to 0
  19. Rotate the AudioSwitching knob to FO
  20. Restart at point 3 of this part but replace FO's ACP with ACP3
    • [Not passed COPILOT TRANSMIT TYPE DOES NOT CHANGE] Passed
  21. Rotate the AudioSwitching knob to Captain
    • The simvars should now be set with FO's ACP configuration
  22. Rotate the AudioSwitching knob to NORM
    • Nothing should change
  23. In the EFB, select BOTH
    • [Only after changing one value - not really a negative] ALL ACPs should be updated with FO's configuration as it was the last one used

Notes:
The rotation speed for VHF 1 and 2 is fast, but for everything else (VHF 3, HF1, HF 2, INT, CAB, PA, VOR 1, VOR 2, MKR, ILS, MLS, ADF1, ADF2) is slower

Negatives:

  1. Refer set 1 test 20: INTRAD is not able to moved to the bottom position in legacy controls, works fine on normal mode or if right click is used but not with normal controls
  2. Refer set 3 test 23: Once Cockpit seat used to control BOTH ACPs, the values will sync AFTER at least either ACP(including 3) have a change of values, they do not change to what the captain has set when pressing the button on the EFB.

Testing Results:
Passed with remarks

Copy link
Member

@tracernz tracernz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will leave some comments when I get a chance, but there are a few things wrong here and I wanted to register that straight away so it doesn't get merged first.

Copy link
Member

@tracernz tracernz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've had a quick scan over.

fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml Outdated Show resolved Hide resolved
fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml Outdated Show resolved Hide resolved
fbw-a32nx/src/systems/instruments/src/EWD/PseudoFWC.ts Outdated Show resolved Hide resolved
.github/CHANGELOG.md Outdated Show resolved Hide resolved
@juliansebline
Copy link
Contributor Author

I've had a quick scan over.

Thanks a lot! I'll fix all this very soon.

.cargo/config.toml Outdated Show resolved Hide resolved
@juliansebline juliansebline requested a review from beheh June 7, 2024 12:40
Copy link
Member

@tracernz tracernz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave this a quick skim. It's been a long time and much has changed in the main project!

The captain/fo side vs AMU/RMP is implemented a little differently in the A380. It's just whichever half of the cockpit you are sitting in at the time. We should unify whatever we decide to do so the two planes work the same from the user perspective.

The A380 already has the RMPs and AMUs implemented as discrete systems with bus communication between them in typescript with failures for each component, and I was intending to bring this to the A320 digital RAIM later (3d modelling is in progress for that as well).

I've added a couple of issues that need addressed, and a couple of notes below.

}
});

/**
* MLS IMPLEMENTED IN THE XML BEHAVIOURS
* BUT DISABLED HERE SINCE THERE IS NOT ENOUGH REFERENCES
Copy link
Member

@tracernz tracernz Jun 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: We will never implement MLS as it's obsolete.

Copy link
Contributor Author

@juliansebline juliansebline Jun 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True! Was commented out but I suppose the rebase wasn't that successful. It's fixed.

Also, I'm keeping MLS tag since the it's written MLS everywhere in the code but it should be GLS in the future. Will it be implemented?

Copy link
Member

@tracernz tracernz Jun 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The GLS button is already there alongside MLS in the cockpit. GLS will be implemented in time with a new MMR implementation. I will be a bit busy for the next couple of months though. It will need external nav database support first as MSFS does not have any GLS data. Navigraph also does not provide the GLS FAS data... it's only in the latest ARINC424 standards.


const [APPR] = useSimVar('L:A32NX_FCU_APPR_MODE_ACTIVE', 'bool');
const [AP] = useSimVar('L:A32NX_AUTOPILOT_ACTIVE', 'bool');
const [RA1] = useSimVar('L:A32NX_RA_1_RADIO_ALTITUDE', 'number');
const [RA2] = useSimVar('L:A32NX_RA_2_RADIO_ALTITUDE', 'number');
const [, setCourse] = useSimVar(
props.receiver === TransceiverType.VOR ? `K:VOR${index}_SET` : 'L:A32NX_FM_LS_COURSE',
Copy link
Member

@tracernz tracernz Jun 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RMP should never write FM vars (or any other system's vars).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then I have to refactor it now the Rust code exists

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the time being, it has to be done this way (or in Rust) since the FMGC is not complete

fn read(&mut self, reader: &mut SimulatorReader) {
self.ident_new = reader.read(&self.ident_id);
}
}
Copy link
Member

@tracernz tracernz Jun 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: this morse beeping would be a lot easier to do in typescript with SoundServer to play packets of sounds (https://microsoft.github.io/msfs-avionics-mirror/docs/sounds/soundserver). The underlying sound API is more comprehensive on the JS side. Ultimately it needs to be controlled/part of the NAV receivers (in C++) rather than the audio system, so it can be in sync with the simulated NAV radios and ident decoding. We can bring this in now and refactor/rewrite later.

Copy link
Contributor Author

@juliansebline juliansebline Jun 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright sounds good. Always down to create a better code :)

Are the NAV receivers implemented in C++ already? If not, once my PRs are merged, I could work on it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve been working in the background a bit for a few months. Most of the time spent on research so far, especially for the MMR as it includes ILS, GLS, FLS, SLS, GPS, VOR and marker beacon all in the one unit 🤯. It also requires nav database work alongside.

@juliansebline
Copy link
Contributor Author

I gave this a quick skim. It's been a long time and much has changed in the main project!

The captain/fo side vs AMU/RMP is implemented a little differently in the A380. It's just whichever half of the cockpit you are sitting in at the time. We should unify whatever we decide to do so the two planes work the same from the user perspective.

The A380 already has the RMPs and AMUs implemented as discrete systems with bus communication between them in typescript with failures for each component, and I was intending to bring this to the A320 digital RAIM later (3d modelling is in progress for that as well).

I've added a couple of issues that need addressed, and a couple of notes below.

Alright so what should I do? Delete this PR? 😅

@tracernz
Copy link
Member

tracernz commented Jun 8, 2024

Alright so what should I do? Delete this PR? 😅

Noooo, this is good! The 2 things to address are the NAV4 being MMR2 (ILS), and the LS course var.
Anything else is future work.

@juliansebline
Copy link
Contributor Author

juliansebline commented Jun 9, 2024

Alright so what should I do? Delete this PR? 😅

Noooo, this is good! The 2 things to address are the NAV4 being MMR2 (ILS), and the LS course var.

Anything else is future work.

Alright! We'll discuss about it! I agree it's possible to make it more realistic.

Now I am in Greece enjoying 40 degrees C, Gyros (pita sandwich) and sea food until next Sunday

@juliansebline
Copy link
Contributor Author

juliansebline commented Jun 9, 2024

Anyway, in the mean time it would be a good idea to final test it and merge because it became VERY unmaintainable.

I spend too much time rebasing.

I'll create a new PR based on the updated master to address the changes

@tracernz
Copy link
Member

tracernz commented Jun 15, 2024

Alright! We'll discuss about it! I agree it's possible to make it more realistic.

Now I am in Greece enjoying 40 degrees C, Gyros (pita sandwich) and sea food until next Sunday

To further clarify. While I talked about digital RAIM, we will also keep the old ACPs + RMPs as an option in the A32NX, so everything you've done for them is still 💯 . I assumed that without stating it outright before!

@flogross89 flogross89 modified the milestones: v0.12.0, v0.13.0 Oct 26, 2024
@@ -92,6 +92,7 @@
1. [EFCS] Fix ground spoiler retraction after increasing TLA slightly above 0 - @lukecologne (luke)
1. [FWC] Improved LDG LT memo to take into account light position - @BravoMike99 (bruno_pt99)
1. [PRESS] Add pressurization system failures - @mjuhe (Miquel Juhe)
1. [COMMS] Enabled all components of communications panels - @Julian [Z+2 fr en esp]#8476 (Julian Sebline)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase/merge and move to 0.13.0.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wilco.

Been away for ages but planning to resume operations once I move to my new apartment with proper desk etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it's going to be hell. Might create a new branch

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy that, just create a draft PR and mark as ready for review when you are done.

@2hwk 2hwk modified the milestones: v0.13.0, Backlog Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🟡 Code Review: Ready for Review
Development

Successfully merging this pull request may close these issues.

8 participants