diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 7780ae9465d..6cc18bf7612 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -147,6 +147,7 @@ 1. [A380X/FMS] Add page scroll via soft keys & individual scroll via KCCU on MFD F-PLN - @BravoMike99 (bruno_pt99) 1. [A32NX/FMS] Added nav database swap confirmation - @tracernz (Mike) 1. [A380X/FMS] Add basic FIX INFO functionality - @Benjozork (Benjamin Dupont) +1. [A32NX/COMMS] Enabled all components of communications panels with Rust - @Julian [Z+2 fr en esp]#8476 (Julian Sebline) ## 0.12.0 diff --git a/fbw-a32nx/docs/a320-simvars.md b/fbw-a32nx/docs/a320-simvars.md index 82b14691494..ee861bc5f1a 100644 --- a/fbw-a32nx/docs/a320-simvars.md +++ b/fbw-a32nx/docs/a320-simvars.md @@ -389,65 +389,68 @@ - Bool - Indicates if the APU fire button is RELEASED -- A32NX_RMP_L_TOGGLE_SWITCH +- A32NX_RMP_{L,R}_TOGGLE_SWITCH - Boolean - - Whether the left radio management panel toggle switch is on or off. + - Whether the left/right radio management panel toggle switch is on or off. -- A32NX_RMP_R_TOGGLE_SWITCH - - Boolean - - Whether the right radio management panel toggle switch is on or off. - -- A32NX_RMP_L_SELECTED_MODE - - Number - - The current mode of the left radio management panel. - -- A32NX_RMP_R_SELECTED_MODE - - Number - - The current mode of the right radio management panel. +- A32NX_RMP_{L,R}_SELECTED_MODE + - Enum + - The current mode of the left/right radio management panel. + Meaning | Value + --- | --- + VHF1 | 1 + VHF2 | 2 + VHF3 | 3 + HF1 | 4 + HF2 | 5 + VOR | 6 + ILS | 7 + GLS | 8 + ADF | 9 -- A32NX_RMP_{L,R}_NAV_BUTTON_SELECTED +- A32NX_RMP_{L,R}_NAV_BACKUP_MODE - Bool - - Whether the NAV push button on the corresponding RMP is pushed or not. + - Whether the left/right RMP is in nav backup mode or not -- A32NX_RMP_L_VHF2_STANDBY - - Hz - - The VHF 2 standby frequency for the left RMP. +- A32NX_RMP_NAV_BACKUP_MODE + - Bool + - Whether the system in nav backup mode or not -- A32NX_RMP_L_VHF3_STANDBY +- A32NX_RMP_{L,R}_VHF{1,2,3}_STANDBY - Hz - - The VHF 3 standby frequency for the left RMP. + - The VHF 1/2/3 standby frequency for the left/right RMP. -- A32NX_RMP_R_VHF1_STANDBY +- A32NX_RMP_HF{1,2}_ACTIVE_FREQUENCY - Hz - - The VHF 1 standby frequency for the right RMP. + - The HF 1/2 active frequency that is set. -- A32NX_RMP_R_VHF3_STANDBY +- A32NX_RMP_{L,R}_HF{1,2}_STANDBY_FREQUENCY - Hz - - The VHF 3 standby frequency for the right RMP. + - The HF 1/2 standby frequency for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_ACTIVE_FREQUENCY_VOR - Hz - - The VOR active frequency that is saved for display for the left/right RMP. + - The VOR active frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_ACTIVE_FREQUENCY_ILS - Hz - - The ILS active frequency that is saved for display for the left/right RMP. + - The ILS active frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_ACTIVE_FREQUENCY_ADF - Hz - - The ADF active frequency that is saved for display for the left/right RMP. + - The ADF active frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_STANDBY_FREQUENCY_VOR - Hz - - The VOR standby frequency that is saved for display for the left/right RMP. + - The VOR standby frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_STANDBY_FREQUENCY_ILS - Hz - - The ILS standby frequency that is saved for display for the left/right RMP. + - The ILS standby frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_STANDBY_FREQUENCY_ADF - Hz - - The ADF standby frequency that is saved for display for the left/right RMP. + - The ADF standby frequency that is saved for the left/right RMP. - A32NX_RMP_{L,R}_SAVED_COURSE_VOR - Number @@ -457,6 +460,134 @@ - Number - The ILS course tuned via the left/right RMP +- A32NX_RMP_SEL_LIGHT_ON + - Bool + - If the SEL light is on + +- A32NX_ACP{1,2,3}_VHF{1,2}_TRANSMIT + - Bool + - Indicates which VHF is selected for transmission on which ACP + Value | Meaning + --- | --- + 0 | Not selected + 1 | Selected + +- A32NX_ACP{1,2,3}_VHF{1,2,3}_VOLUME + - Number + - Volume of VHF 1/2/3 on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_HF{1,2}_VOLUME + - Number + - Volume of HF 1/2 on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MECH_VOLUME + - Number + - Volume of MECH on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_ATT_VOLUME + - Number + - Volume of CABIN on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_PA_VOLUME + - Number + - Volume of PA on the left/right/overhead ACP + +- A32NX_HF{1,2}_VOLUME + - Number + - The HF1/2 volume equal to one of the ACPs depending on the controlling mode + +- A32NX_ACP_MECH_VOLUME + - Number + - The MECH volume equal to one of the ACPs depending on the controlling mode + +- A32NX_ACP_ATT_VOLUME + - Number + - The CABIN volume equal to one of the ACPs depending on the controlling mode + +- A32NX_ACP_PA_VOLUME + - Number + - The PA volume equal to one of the ACPs depending on the controlling mode + +- A32NX_NAV_VOLUME:{1,2,3} + - Number + - The Morse volume for the corresponding nav transceiver equal to one of the ACPs depending on the controlling mode + +- A32NX_ADF_VOLUME:{1,2} + - Number + - The Morse volume for the corresponding adf transceiver equal to one of the ACPs depending on the controlling mode + +- A32NX_ACP{1,2,3}_VHF{1,2,3}_KNOB_VOLUME_DOWN + - Bool + - If the VHF 1/2/3 volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_HF{1,2}_KNOB_VOLUME_DOWN + - Bool + - If the HF 1/2 volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MECH_KNOB_VOLUME_DOWN + - Bool + - If the MECH volume knob is activated on the left/right/overhead + +- A32NX_ACP{1,2,3}_ATT_KNOB_VOLUME_DOWN + - Bool + - If the CABIN volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_PA_KNOB_VOLUME_DOWN + - Bool + - If the PA volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_VOR{1,2}_KNOB_VOLUME_DOWN + - Bool + - If the VOR 1/2 volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_ILS_KNOB_VOLUME_DOWN + - Bool + - If the ILS volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MLS_KNOB_VOLUME_DOWN + - Bool + - If the MLS volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MKR_KNOB_VOLUME_DOWN + - Bool + - If the ILS Markers volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_ADF{1,2}_KNOB_VOLUME_DOWN + - Bool + - If the ADF 1/2 volume knob is activated on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_VOR{1,2}_VOLUME + - Number + - Volume of VOR 1/2 on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_ILS_VOLUME + - Number + - Volume of ILS on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MLS_VOLUME + - Number + - Volume of MLS on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_MKR_VOLUME + - Number + - Volume of the ILS Markers on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_ADF{1,2}_VOLUME + - Number + - Volume of ADF 1/2 on the left/right/overhead ACP + +- A32NX_ACP{1,2,3}_SWITCH_INT + - Number + - Set to 0 whenever on RAD position. 100 whenever neutral position. 200 whenever in INT position + +- A32NX_SIDE_CONTROLLING + - Enum + - Indicates which side controls the airplane + Value | Meaning + --- | --- + 0 | Captain + 1 | FO + - A32NX_TO_CONFIG_FLAPS - Enum - The pilot-entered FLAPS value in the PERF TAKE OFF page. 0 is a valid entry, -1 if not entered diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml index 2ee3c4a5e47..36084119800 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml @@ -43,6 +43,57 @@ + + + + - - - + diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/AirlinerCommon.xml b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/AirlinerCommon.xml index ba00ef49d0b..b15e6726e0e 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/AirlinerCommon.xml +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/AirlinerCommon.xml @@ -39,13 +39,10 @@ - - - - - - - - - - diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Interior/A32NX_Interior_Includes.xml b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Interior/A32NX_Interior_Includes.xml index ff166af711b..3d521132779 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Interior/A32NX_Interior_Includes.xml +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Interior/A32NX_Interior_Includes.xml @@ -18,6 +18,7 @@ + diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/Climb.flt b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/Climb.flt index d355eabc499..b23e43f5b3e 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/Climb.flt +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/Climb.flt @@ -28,11 +28,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/approach.FLT b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/approach.FLT index 1e6595f0ae9..7671b5cd1d2 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/approach.FLT +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/approach.FLT @@ -28,11 +28,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -120,14 +120,6 @@ FoldingWingsState=0, 0 [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=7 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_Baro1_Mode=1 A32NX_AVIONICS_STARTUP_SOUNDS_INHIBIT=1 A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB=1 @@ -274,6 +266,61 @@ A32NX_SWITCH_ATC_ALT = 1 A32NX_GEAR_LEVER_POSITION_REQUEST = 0 A32NX_GPWS_GROUND_STATE=0 A32NX_GPWS_APPROACH_STATE=1 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT index eff93387130..cd9a4810bbc 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT @@ -33,11 +33,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -127,14 +127,6 @@ ExternalPowerSwitch=False [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=2 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_ENG_MODE_SEL=1 LANDING_1_Retracted=1 LANDING_2_Retracted=1 @@ -285,6 +277,62 @@ A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 A32NX_GPWS_GROUND_STATE=1 A32NX_GPWS_APPROACH_STATE=0 +A32NX_ECAM_SD_CURRENT_PAGE_INDEX = -1 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/cruise.FLT b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/cruise.FLT index 04045efef29..0ec0bb7f0cf 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/cruise.FLT +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/cruise.FLT @@ -28,11 +28,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -120,14 +120,6 @@ FoldingWingsState=0, 0 [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=6 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_Baro1_Mode=1 A32NX_AVIONICS_STARTUP_SOUNDS_INHIBIT=1 A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB=1 @@ -279,6 +271,62 @@ LANDING_2_Retracted = 1 LANDING_3_Retracted = 1 A32NX_GPWS_GROUND_STATE=0 A32NX_GPWS_APPROACH_STATE=1 +A32NX_ECAM_SD_CURRENT_PAGE_INDEX = -1 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/final.FLT b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/final.FLT index e1769c43dd6..01aaeec78f9 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/final.FLT +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/final.FLT @@ -28,8 +28,8 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False AudioMarkerListen=True @@ -116,14 +116,7 @@ SeatBeltsSwitch = True [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=8 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 + XMLVAR_Baro1_Mode=1 A320_NEO_CDU_START_PAGE=35 A32NX_AVIONICS_STARTUP_SOUNDS_INHIBIT=1 @@ -275,6 +268,61 @@ A32NX_GEAR_CENTER_POSITION = 100 A32NX_GEAR_LEFT_POSITION = 100 A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/hangar.flt b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/hangar.flt index b61b37d7804..8531a97c0ea 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/hangar.flt +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/hangar.flt @@ -33,11 +33,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -124,14 +124,6 @@ ExternalPowerSwitch=False [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=1 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_ENG_MODE_SEL=1 LANDING_1_Retracted=1 LANDING_2_Retracted=1 @@ -256,6 +248,61 @@ A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 A32NX_GPWS_GROUND_STATE=1 A32NX_GPWS_APPROACH_STATE=0 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/model/A320_NEO_INTERIOR.xml b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/model/A320_NEO_INTERIOR.xml index 31839d0d653..a8fb2563999 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/model/A320_NEO_INTERIOR.xml +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/model/A320_NEO_INTERIOR.xml @@ -2475,6 +2475,7 @@ 3 (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) + @@ -2761,8 +2762,8 @@ KNOB - ASOBO_GT_Switch_Dummy - KNOB_OVHD_AUDIOSWITCH + FBW_Airbus_AudioSwitching_Knob + KNOB_OVHD_AUDIOSWITCH KNOB_OVHD_AUDIOSWITCH KNOB_OVHD_AUDIOSWITCH 3 @@ -3046,161 +3047,6 @@ - - - - 1 - (L:A32NX_OVHD_INTLT_ANN) 0 == (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and - 86 - 1 - False - False - - - - - PUSH_OVHD_RADIO_VOR1_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_VOR2_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_MKR_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_ILS_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_MLS_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_ADF1_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_ADF2_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_INT_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - SWITCH_OVHD_RADIO_INT - - - - - - PUSH_OVHD_RADIO_VOICE - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_RESET - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - - PUSH_OVHD_RADIO_PA1_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_PA - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - - PUSH_OVHD_RADIO_VHF1_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_VHF2_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_VHF3_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_HF1_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_HF2_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CAB_EMIS - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_ATT - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_MECH - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CALL5 - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CALL4 - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CALL3 - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CALL2 - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - PUSH_OVHD_RADIO_CALL1 - (L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) - - - - @@ -4448,11 +4294,10 @@ AIRBUS @StopLockHighlight + (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) + (L:A32NX_OVHD_INTLT_ANN, number) 2 == (L:A32NX_ELEC_DC_2_BUS_IS_POWERED) and if{ 0.1 } els{ 1 } + (L:A32NX_OVHD_INTLT_ANN, number) 0 == (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, bool) and - - - - @@ -4461,37 +4306,16 @@ 1 L - (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) + (L:A32NX_ELEC_AC_ESS_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or + (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) (L:A32NX_RMP_L_TOGGLE_SWITCH, bool) and - - - 0 (>L:XMLVAR_COM_PANEL1_Transmit_Channel) - 4 (>L:XMLVAR_COM_PANEL2_Transmit_Channel) - - 0 (>K:PILOT_TRANSMITTER_SET) - 4 (>K:COPILOT_TRANSMITTER_SET) - - 1 (>L:XMLVAR_COM_1_VHF_L_Switch_Down) - 1 (>L:XMLVAR_COM_1_VHF_C_Switch_Down) - 1 (>L:XMLVAR_COM_2_VHF_L_Switch_Down) - 1 (>L:XMLVAR_COM_2_VHF_C_Switch_Down) - - 1 (>K:COM1_RECEIVE_SELECT) - 1 (>K:COM2_RECEIVE_SELECT) - 1 (>K:COM3_RECEIVE_SELECT) - - 0.8 (>L:XMLVAR_COM_1_Volume_VHF_L) - 0.4 (>L:XMLVAR_COM_1_Volume_VHF_C) - 0.8 (>L:XMLVAR_COM_2_Volume_VHF_L) - 0.4 (>L:XMLVAR_COM_2_Volume_VHF_C) - 1 L + (L:A32NX_ELEC_AC_ESS_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or + (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) KNOB_AUDIOL_VHF1 PUSH_AUDIOL_VHF1_EMIS KNOB_AUDIOL_VHF1 @@ -4500,6 +4324,7 @@ PUSH_AUDIOL_CALL1 PUSH_AUDIOL_CALL1_SEQ1 PUSH_AUDIOL_CALL1_SEQ2 + KNOB_AUDIOL_VHF2 PUSH_AUDIOL_VHF2_EMIS KNOB_AUDIOL_VHF2 @@ -4508,18 +4333,69 @@ PUSH_AUDIOL_CALL2 PUSH_AUDIOL_CALL2_SEQ1 PUSH_AUDIOL_CALL2_SEQ2 + KNOB_AUDIOL_VHF3 PUSH_AUDIOL_VHF3_EMIS KNOB_AUDIOL_VHF3 PUSH_AUDIOL_VHF3 PUSH_AUDIOL_CALL3 PUSH_AUDIOL_CALL3 + PUSH_AUDIOL_CALL3_SEQ1 + PUSH_AUDIOL_CALL3_SEQ2 + + KNOB_AUDIOL_HF1 + PUSH_AUDIOL_HF1_EMIS + KNOB_AUDIOL_HF1 + PUSH_AUDIOL_HF1 + PUSH_AUDIOL_CALL4 + PUSH_AUDIOL_CALL4 + PUSH_AUDIOL_CALL4_SEQ1 + PUSH_AUDIOL_CALL4_SEQ2 + + KNOB_AUDIOL_HF2 + PUSH_AUDIOL_HF2_EMIS + KNOB_AUDIOL_HF2 + PUSH_AUDIOL_HF2 + PUSH_AUDIOL_CALL5 + PUSH_AUDIOL_CALL5 + PUSH_AUDIOL_CALL5_SEQ1 + PUSH_AUDIOL_CALL5_SEQ2 + + KNOB_AUDIOL_INT + PUSH_AUDIOL_INT_EMIS + KNOB_AUDIOL_INT + PUSH_AUDIOL_INT + PUSH_AUDIOL_MECH + PUSH_AUDIOL_MECH + PUSH_AUDIOL_MECH_SEQ1 + PUSH_AUDIOL_MECH_SEQ2 + + KNOB_AUDIOL_CAB + PUSH_AUDIOL_CAB_EMIS + KNOB_AUDIOL_CAB + PUSH_AUDIOL_CAB + PUSH_AUDIOL_ATT + PUSH_AUDIOL_ATT + PUSH_AUDIOL_ATT_SEQ1 + PUSH_AUDIOL_ATT_SEQ2 + + KNOB_AUDIOL_PA + PUSH_AUDIOL_PA1_EMIS + KNOB_AUDIOL_PA + PUSH_AUDIOL_PA1 + PUSH_AUDIOL_PA + PUSH_AUDIOL_PA + PUSH_AUDIOL_PA_SEQ1 PUSH_AUDIOL_VOICE PUSH_AUDIOL_VOICE PUSH_AUDIOL_VOICE_SEQ1 PUSH_AUDIOL_VOICE_SEQ2 + PUSH_AUDIOR_RESET + PUSH_AUDIOR_RESET + PUSH_AUDIOR_RESET_SEQ2 + KNOB_AUDIOL_MKR PUSH_AUDIOL_MKR_EMIS KNOB_AUDIOL_MKR @@ -4540,7 +4416,7 @@ KNOB_AUDIOL_ILS PUSH_AUDIOL_ILS - + KNOB_AUDIOL_MLS PUSH_AUDIOL_MLS_EMIS KNOB_AUDIOL_MLS @@ -4556,71 +4432,8 @@ KNOB_AUDIOL_ADF2 PUSH_AUDIOL_ADF2 - PUSH_AUDIOL_CALL3_SEQ1 - PUSH_AUDIOL_CALL3_SEQ2 - - - - 1 - 85 - (L:A32NX_OVHD_INTLT_ANN) 0 == (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and - 1 - False - False - - - PUSH_AUDIOL_RESET - 0 - 0 - - - PUSH_AUDIOL_PA - 0 - 0 - - - PUSH_AUDIOL_ATT - 0 - 0 - - - PUSH_AUDIOL_MECH - 0 - 0 + SWITCH_AUDIOL_INT - - PUSH_AUDIOL_CALL4 - 0 - 0 - - - PUSH_AUDIOL_CALL5 - 0 - 0 - - - - - PUSH_AUDIOL_HF1_EMIS - 0 - - - PUSH_AUDIOL_HF2_EMIS - 0 - - - PUSH_AUDIOL_INT_EMIS - 0 - - - PUSH_AUDIOL_CAB_EMIS - 0 - - - PUSH_AUDIOL_PA1_EMIS - 0 - - @@ -4631,25 +4444,16 @@ 2 R - (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) - (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) + (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) + (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) (L:A32NX_RMP_R_TOGGLE_SWITCH, bool) and - - 0 (>L:XMLVAR_COM_PANEL2_Transmit_Channel) - 0 (>K:COPILOT_TRANSMITTER_SET) - - 1 (>L:XMLVAR_COM_2_VHF_L_Switch_Down) - 1 (>L:XMLVAR_COM_2_VHF_C_Switch_Down) - - 0.8 (>L:XMLVAR_COM_2_Volume_VHF_L) - 0.4 (>L:XMLVAR_COM_2_Volume_VHF_C) - 0 (>L:XMLVAR_COM_2_Volume_VHF_R) - 2 R + (L:A32NX_ELEC_AC_ESS_BUS_IS_POWERED, Bool) + (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) KNOB_AUDIOR_VHF1 PUSH_AUDIOR_VHF1_EMIS KNOB_AUDIOR_VHF1 @@ -4658,6 +4462,7 @@ PUSH_AUDIOR_CALL1 PUSH_AUDIOR_CALL1_SEQ1 PUSH_AUDIOR_CALL1_SEQ2 + KNOB_AUDIOR_VHF2 PUSH_AUDIOR_VHF2_EMIS KNOB_AUDIOR_VHF2 @@ -4666,6 +4471,7 @@ PUSH_AUDIOR_CALL2 PUSH_AUDIOR_CALL2_SEQ1 PUSH_AUDIOR_CALL2_SEQ2 + KNOB_AUDIOR_VHF3 PUSH_AUDIOR_VHF3_EMIS KNOB_AUDIOR_VHF3 @@ -4675,11 +4481,59 @@ PUSH_AUDIOR_CALL3_SEQ1 PUSH_AUDIOR_CALL3_SEQ2 + KNOB_AUDIOR_HF1 + PUSH_AUDIOR_HF1_EMIS + KNOB_AUDIOR_HF1 + PUSH_AUDIOR_HF1 + PUSH_AUDIOR_CALL4 + PUSH_AUDIOR_CALL4 + PUSH_AUDIOR_CALL4_SEQ1 + PUSH_AUDIOR_CALL4_SEQ2 + + KNOB_AUDIOR_HF2 + PUSH_AUDIOR_HF2_EMIS + KNOB_AUDIOR_HF2 + PUSH_AUDIOR_HF2 + PUSH_AUDIOR_CALL5 + PUSH_AUDIOR_CALL5 + PUSH_AUDIOR_CALL5_SEQ1 + PUSH_AUDIOR_CALL5_SEQ2 + + KNOB_AUDIOR_INT + PUSH_AUDIOR_INT_EMIS + KNOB_AUDIOR_INT + PUSH_AUDIOR_INT + PUSH_AUDIOR_MECH + PUSH_AUDIOR_MECH + PUSH_AUDIOR_MECH_SEQ1 + PUSH_AUDIOR_MECH_SEQ2 + + KNOB_AUDIOR_CAB + PUSH_AUDIOR_CAB_EMIS + KNOB_AUDIOR_CAB + PUSH_AUDIOR_CAB + PUSH_AUDIOR_ATT + PUSH_AUDIOR_ATT + PUSH_AUDIOR_ATT_SEQ1 + PUSH_AUDIOR_ATT_SEQ2 + + KNOB_AUDIOR_PA + PUSH_AUDIOR_PA1_EMIS + KNOB_AUDIOR_PA + PUSH_AUDIOR_PA1 + PUSH_AUDIOR_PA + PUSH_AUDIOR_PA + PUSH_AUDIOR_PA_SEQ1 + PUSH_AUDIOR_VOICE PUSH_AUDIOR_VOICE PUSH_AUDIOR_VOICE_SEQ1 PUSH_AUDIOR_VOICE_SEQ2 + PUSH_AUDIOL_RESET + PUSH_AUDIOL_RESET + PUSH_AUDIOL_RESET_SEQ2 + KNOB_AUDIOR_MKR PUSH_AUDIOR_MKR_EMIS KNOB_AUDIOR_MKR @@ -4715,105 +4569,134 @@ PUSH_AUDIOR_ADF2_EMIS KNOB_AUDIOR_ADF2 PUSH_AUDIOR_ADF2 - - - - 1 - 85 - (L:A32NX_OVHD_INTLT_ANN) 0 == (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, Bool) and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and - 1 - False - False - - - PUSH_AUDIOR_RESET - 0 - 0 - - - PUSH_AUDIOR_PA - 0 - 0 - - - PUSH_AUDIOR_ATT - 0 - 0 - - - PUSH_AUDIOR_MECH - 0 - 0 - - - PUSH_AUDIOR_CALL4 - 0 - 0 - - - PUSH_AUDIOR_CALL5 - 0 - 0 - - - - - PUSH_AUDIOR_HF1_EMIS - 0 - - - PUSH_AUDIOR_HF2_EMIS - 0 - - - PUSH_AUDIOR_INT_EMIS - 0 - - - PUSH_AUDIOR_CAB_EMIS - 0 - - - PUSH_AUDIOR_PA1_EMIS - 0 + + SWITCH_AUDIOR_INT + + + 3 + OVHD + (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) + (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) + KNOB_OVHD_RADIO_VHF1 + PUSH_OVHD_RADIO_VHF1_EMIS + KNOB_OVHD_RADIO_VHF1 + PUSH_OVHD_RADIO_VHF1 + PUSH_OVHD_RADIO_CALL1 + PUSH_OVHD_RADIO_CALL1 + PUSH_OVHD_RADIO_CALL1_SEQ1 + PUSH_OVHD_RADIO_CALL1_SEQ2 + + KNOB_OVHD_RADIO_VHF2 + PUSH_OVHD_RADIO_VHF2_EMIS + KNOB_OVHD_RADIO_VHF2 + PUSH_OVHD_RADIO_VHF2 + PUSH_OVHD_RADIO_CALL2 + PUSH_OVHD_RADIO_CALL2 + PUSH_OVHD_RADIO_CALL2_SEQ1 + PUSH_OVHD_RADIO_CALL2_SEQ2 + + KNOB_OVHD_RADIO_VHF3 + PUSH_OVHD_RADIO_VHF3_EMIS + KNOB_OVHD_RADIO_VHF3 + PUSH_OVHD_RADIO_VHF3 + PUSH_OVHD_RADIO_CALL3 + PUSH_OVHD_RADIO_CALL3 + PUSH_OVHD_RADIO_CALL3_SEQ1 + PUSH_OVHD_RADIO_CALL3_SEQ2 + + KNOB_OVHD_RADIO_HF1 + PUSH_OVHD_RADIO_HF1_EMIS + KNOB_OVHD_RADIO_HF1 + PUSH_OVHD_RADIO_HF1 + PUSH_OVHD_RADIO_CALL4 + PUSH_OVHD_RADIO_CALL4 + PUSH_OVHD_RADIO_CALL4_SEQ1 + PUSH_OVHD_RADIO_CALL4_SEQ2 + + KNOB_OVHD_RADIO_HF2 + PUSH_OVHD_RADIO_HF2_EMIS + KNOB_OVHD_RADIO_HF2 + PUSH_OVHD_RADIO_HF2 + PUSH_OVHD_RADIO_CALL5 + PUSH_OVHD_RADIO_CALL5 + PUSH_OVHD_RADIO_CALL5_SEQ1 + PUSH_OVHD_RADIO_CALL5_SEQ2 + + KNOB_OVHD_RADIO_INT + PUSH_OVHD_RADIO_INT_EMIS + KNOB_OVHD_RADIO_INT + PUSH_OVHD_RADIO_INT + PUSH_OVHD_RADIO_MECH + PUSH_OVHD_RADIO_MECH + PUSH_OVHD_RADIO_MECH_SEQ1 + PUSH_OVHD_RADIO_MECH_SEQ2 + + KNOB_OVHD_RADIO_CAB + PUSH_OVHD_RADIO_CAB_EMIS + KNOB_OVHD_RADIO_CAB + PUSH_OVHD_RADIO_CAB + PUSH_OVHD_RADIO_ATT + PUSH_OVHD_RADIO_ATT + PUSH_OVHD_RADIO_ATT_SEQ1 + PUSH_OVHD_RADIO_ATT_SEQ2 + + KNOB_OVHD_RADIO_PA + PUSH_OVHD_RADIO_PA1_EMIS + KNOB_OVHD_RADIO_PA + PUSH_OVHD_RADIO_PA1 + PUSH_OVHD_RADIO_PA + PUSH_OVHD_RADIO_PA + PUSH_OVHD_RADIO_PA_SEQ1 + + PUSH_OVHD_RADIO_VOICE + PUSH_OVHD_RADIO_VOICE + PUSH_OVHD_RADIO_VOICE_SEQ1 + PUSH_OVHD_RADIO_VOICE_SEQ2 + + PUSH_OVHD_RADIO_RESET + PUSH_OVHD_RADIO_RESET + PUSH_OVHD_RADIO_RESET_SEQ2 + + KNOB_OVHD_RADIO_MKR + PUSH_OVHD_RADIO_MKR_EMIS + KNOB_OVHD_RADIO_MKR + PUSH_OVHD_RADIO_MKR + + KNOB_OVHD_RADIO_VOR1 + PUSH_OVHD_RADIO_VOR1_EMIS + KNOB_OVHD_RADIO_VOR1 + PUSH_OVHD_RADIO_VOR1 + + KNOB_OVHD_RADIO_VOR2 + PUSH_OVHD_RADIO_VOR2_EMIS + KNOB_OVHD_RADIO_VOR2 + PUSH_OVHD_RADIO_VOR2 + + KNOB_OVHD_RADIO_ILS + PUSH_OVHD_RADIO_ILS_EMIS + KNOB_OVHD_RADIO_ILS + PUSH_OVHD_RADIO_ILS + + KNOB_OVHD_RADIO_MLS + PUSH_OVHD_RADIO_MLS_EMIS + KNOB_OVHD_RADIO_MLS + PUSH_OVHD_RADIO_MLS + + KNOB_OVHD_RADIO_ADF1 + PUSH_OVHD_RADIO_ADF1_EMIS + KNOB_OVHD_RADIO_ADF1 + PUSH_OVHD_RADIO_ADF1 + + KNOB_OVHD_RADIO_ADF2 + PUSH_OVHD_RADIO_ADF2_EMIS + KNOB_OVHD_RADIO_ADF2 + PUSH_OVHD_RADIO_ADF2 + + SWITCH_OVHD_RADIO_INT + - - - - (A:MARKER SOUND, Bool) 1 == { - (>K:MARKER_SOUND_TOGGLE) - } - - 0 (>K:NAV1_VOLUME_SET) - 0 (>K:NAV2_VOLUME_SET) - 0 (>K:NAV3_VOLUME_SET) - 0 (>K:NAV4_VOLUME_SET) - - 0 (>K:ADF_VOLUME_SET) - 0 (>K:ADF2_VOLUME_SET) - - 113000000 (>L:A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR) - 113000000 (>L:A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR) - 113000000 (>L:A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR) - 113000000 (>L:A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR) - - 108900000 (>L:A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS) - 108900000 (>L:A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS) - 108900000 (>L:A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS) - 108900000 (>L:A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS) - - 433000 (>L:A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF) - 433000 (>L:A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF) - 433000 (>L:A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF) - 433000 (>L:A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF) - - 22 (>L:A32NX_RMP_L_SAVED_COURSE_VOR) - 202 (>L:A32NX_RMP_L_SAVED_COURSE_ILS) - 22 (>L:A32NX_RMP_R_SAVED_COURSE_VOR) - 202 (>L:A32NX_RMP_R_SAVED_COURSE_ILS) - @@ -5243,14 +5126,14 @@ FBW_Airbus_ATC_MSG_Button PUSH_AUTOPILOT_LL (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) - --> + KORRY_HELD FBW_Airbus_ATC_MSG_Button PUSH_AUTOPILOT_RR (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) - --> + SWITCH_RIGHT @@ -5271,78 +5154,6 @@ KNOB_EFIS_FO_LOUDSPKR - - PUSH_AUDIOL_RESET - - - PUSH_AUDIOL_PA - - - KNOB_AUDIOL_PA - - - PUSH_AUDIOL_ATT - - - KNOB_AUDIOL_CAB - - - PUSH_AUDIOL_MECH - - - KNOB_AUDIOL_INT - - - PUSH_AUDIOL_CALL4 - - - KNOB_AUDIOL_HF1 - - - PUSH_AUDIOL_CALL5 - - - KNOB_AUDIOL_HF2 - - - PUSH_AUDIOR_RESET - - - PUSH_AUDIOR_PA - - - KNOB_AUDIOR_PA - - - PUSH_AUDIOR_ATT - - - KNOB_AUDIOR_CAB - - - PUSH_AUDIOR_MECH - - - KNOB_AUDIOR_INT - - - PUSH_AUDIOR_CALL4 - - - KNOB_AUDIOR_HF1 - - - PUSH_AUDIOR_CALL5 - - - KNOB_AUDIOR_HF2 - - - SWITCH_AUDIOL_INT - - - SWITCH_AUDIOR_INT - KNOB_RADAR_GAIN @@ -5370,81 +5181,6 @@ PUSH_OVHD_CARGOVENT_AFTISOL - - PUSH_OVHD_RADIO_VOR1 - - - PUSH_OVHD_RADIO_VOR2 - - - PUSH_OVHD_RADIO_MKR - - - PUSH_OVHD_RADIO_ILS - - - PUSH_OVHD_RADIO_MLS - - - PUSH_OVHD_RADIO_ADF1 - - - PUSH_OVHD_RADIO_ADF2 - - - SWITCH_OVHD_RADIO_INT - - - PUSH_OVHD_RADIO_VOICE - - - PUSH_OVHD_RADIO_RESET - - - PUSH_OVHD_RADIO_PA1 - - - PUSH_OVHD_RADIO_PA - - - PUSH_OVHD_RADIO_VHF1 - - - PUSH_OVHD_RADIO_VHF2 - - - PUSH_OVHD_RADIO_VHF3 - - - PUSH_OVHD_RADIO_HF1 - - - PUSH_OVHD_RADIO_HF2 - - - PUSH_OVHD_RADIO_CAB - - - PUSH_OVHD_RADIO_ATT - - - PUSH_OVHD_RADIO_MECH - - - PUSH_OVHD_RADIO_CALL5 - - - PUSH_OVHD_RADIO_CALL4 - - - PUSH_OVHD_RADIO_CALL3 - - - PUSH_OVHD_RADIO_CALL2 - - - PUSH_OVHD_RADIO_CALL1 - diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/runway.FLT b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/runway.FLT index 1762b763bc4..3b028dc0770 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/runway.FLT +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/runway.FLT @@ -33,11 +33,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -123,14 +123,6 @@ SeatBeltsSwitch = True [LocalVars.0] A32NX_IS_READY=0 A32NX_START_STATE=4 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_Baro1_Mode=1 A32NX_AVIONICS_STARTUP_SOUNDS_INHIBIT=1 A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB=1 @@ -284,6 +276,61 @@ A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 A32NX_GPWS_GROUND_STATE=1 A32NX_GPWS_APPROACH_STATE=0 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_LS_COURSE=-1 +A32NX_RMP_VOR1_COURSE=-1 +A32NX_RMP_VOR2_COURSE=-1 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/sound/sound.xml b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/sound/sound.xml index 91d5f91b9d8..cc7229703bf 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/sound/sound.xml +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/sound/sound.xml @@ -2094,7 +2094,7 @@ - + @@ -2104,7 +2104,7 @@ - + @@ -2114,7 +2114,7 @@ - + diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/taxi.flt b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/taxi.flt index 45b28fba4f7..a5c9ef01b1b 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/taxi.flt +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/taxi.flt @@ -33,11 +33,11 @@ DMESelected=1 ComTransmit=1 ComReceiveBoth=False Com1Receive=True -Com2Receive=False -Com3Receive=False +Com2Receive=True +Com3Receive=True AudioNav1Listen=False AudioNav2Listen=False -AudioMarkerListen=True +AudioMarkerListen=False AudioDmeListen=False AudioAdfListen=False AudioAdf2Listen=False @@ -134,14 +134,6 @@ Potentiometer.97=0 [LocalVars.0] A32NX_START_STATE=3 -A32NX_RMP_L_TOGGLE_SWITCH=1 -A32NX_RMP_R_TOGGLE_SWITCH=1 -A32NX_RMP_L_SELECTED_MODE=1 -A32NX_RMP_R_SELECTED_MODE=2 -A32NX_RMP_L_VHF2_STANDBY_FREQUENCY=124275000 -A32NX_RMP_L_VHF3_STANDBY_FREQUENCY=135475000 -A32NX_RMP_R_VHF1_STANDBY_FREQUENCY=129675000 -A32NX_RMP_R_VHF3_STANDBY_FREQUENCY=136975000 XMLVAR_Baro1_Mode=1 A32NX_AVIONICS_STARTUP_SOUNDS_INHIBIT=0 A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB=1 @@ -268,6 +260,58 @@ A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 A32NX_GPWS_GROUND_STATE=1 A32NX_GPWS_APPROACH_STATE=0 +A32NX_RMP_L_TOGGLE_SWITCH = 1 +A32NX_RMP_R_TOGGLE_SWITCH = 1 +A32NX_RMP_L_SELECTED_MODE = 1 +A32NX_RMP_R_SELECTED_MODE = 2 +A32NX_RMP_L_VHF2_STANDBY_FREQUENCY = 124275000 +A32NX_RMP_L_VHF3_STANDBY_FREQUENCY = 135475000 +A32NX_RMP_R_VHF1_STANDBY_FREQUENCY = 129675000 +A32NX_RMP_R_VHF3_STANDBY_FREQUENCY = 136975000 +A32NX_RMP_HF1_ACTIVE_FREQUENCY = 11345000 +A32NX_RMP_HF2_ACTIVE_FREQUENCY = 8930000 +A32NX_RMP_L_HF1_STANDBY_FREQUENCY = 17916000 +A32NX_RMP_L_HF2_STANDBY_FREQUENCY = 5541000 +A32NX_RMP_R_HF1_STANDBY_FREQUENCY = 13342000 +A32NX_RMP_R_HF2_STANDBY_FREQUENCY = 3494000 +A32NX_RMP_L_SAVED_COURSE_VOR = 22 +A32NX_RMP_L_SAVED_COURSE_ILS = 202 +A32NX_RMP_R_SAVED_COURSE_VOR = 87 +A32NX_RMP_R_SAVED_COURSE_ILS = 271 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_VOR = 113000000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_VOR = 117800000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_VOR = 113700000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_VOR = 115500000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ILS = 108900000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ILS = 108900000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ILS = 110100000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ILS = 111100000 +A32NX_RMP_L_SAVED_ACTIVE_FREQUENCY_ADF = 433000 +A32NX_RMP_L_SAVED_STANDBY_FREQUENCY_ADF = 433000 +A32NX_RMP_R_SAVED_ACTIVE_FREQUENCY_ADF = 420000 +A32NX_RMP_R_SAVED_STANDBY_FREQUENCY_ADF = 420000 +A32NX_AUDIOSWITCHING_KNOB = 1 +A32NX_ACP1_TRANSMIT_CHANNEL = 0 +A32NX_ACP2_TRANSMIT_CHANNEL = 0 +A32NX_ACP3_TRANSMIT_CHANNEL = 0 +A32NX_ACP1_VHF1_VOLUME = 80 +A32NX_ACP1_VHF2_VOLUME = 40 +A32NX_ACP2_VHF1_VOLUME = 80 +A32NX_ACP2_VHF2_VOLUME = 40 +A32NX_ACP3_VHF1_VOLUME = 80 +A32NX_ACP3_VHF2_VOLUME = 40 +A32NX_ACP1_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP2_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF1_KNOB_VOLUME_DOWN = 1 +A32NX_ACP3_VHF2_KNOB_VOLUME_DOWN = 1 +A32NX_ACP1_SWITCH_INT = 100 +A32NX_ACP2_SWITCH_INT = 100 +A32NX_ACP3_SWITCH_INT = 100 +A32NX_ACP1_TRANSMIT_PUSHED = 1 +A32NX_ACP2_TRANSMIT_PUSHED = 1 +A32NX_ACP3_TRANSMIT_PUSHED = 1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/FMC/A32NX_FMCMainDisplay.js b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/FMC/A32NX_FMCMainDisplay.js index 53476dddb0f..461136192a2 100644 --- a/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/FMC/A32NX_FMCMainDisplay.js +++ b/fbw-a32nx/src/base/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/FMC/A32NX_FMCMainDisplay.js @@ -2237,14 +2237,16 @@ class FMCMainDisplay extends BaseAirliners { // TODO:FPM REWRITE: Start of functions to refactor //----------------------------------------------------------------------------------- - // FIXME remove A32NX_FM_LS_COURSE + // FIXME remove A32NX_FM_LS_COURSE and A32NX_RMP_LS_COURSE async updateIlsCourse() { - let course = -1; - const mmr = this.navigation.getNavaidTuner().getMmrRadioTuningStatus(1); - if (mmr.course !== null) { - course = mmr.course; - } else if (mmr.frequency !== null && SimVar.GetSimVarValue('L:A32NX_RADIO_RECEIVER_LOC_IS_VALID', 'number') === 1) { - course = SimVar.GetSimVarValue('NAV LOCALIZER:3', 'degrees'); + let course = SimVar.GetSimVarValue('L:A32NX_RMP_LS_COURSE', 'number'); + if (course == -1) { + const mmr = this.navigation.getNavaidTuner().getMmrRadioTuningStatus(1); + if (mmr.course !== null) { + course = mmr.course; + } else if (mmr.frequency !== null && SimVar.GetSimVarValue('L:A32NX_RADIO_RECEIVER_LOC_IS_VALID', 'number') === 1) { + course = SimVar.GetSimVarValue('NAV LOCALIZER:3', 'degrees'); + } } return SimVar.SetSimVarValue('L:A32NX_FM_LS_COURSE', 'number', course); diff --git a/fbw-a32nx/src/behavior/src/A32NX_Interior_ACP.xml b/fbw-a32nx/src/behavior/src/A32NX_Interior_ACP.xml new file mode 100644 index 00000000000..c5d1d4c33e2 --- /dev/null +++ b/fbw-a32nx/src/behavior/src/A32NX_Interior_ACP.xml @@ -0,0 +1,480 @@ + + + + + + + + + + + + diff --git a/fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml b/fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml index 816957c434e..04908700cb9 100644 --- a/fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml +++ b/fbw-a32nx/src/behavior/src/A32NX_Interior_RMP.xml @@ -66,9 +66,17 @@ + 0 (>K:COM3_RADIO_SET_HZ) + 0 (>K:ADF_VOLUME_SET) + 0 (>K:ADF2_VOLUME_SET) + 0 (>K:NAV1_VOLUME_SET_EX1) + 0 (>K:NAV2_VOLUME_SET_EX1) + 0 (>K:NAV3_VOLUME_SET_EX1) + 0 (>K:NAV4_VOLUME_SET_EX1) BUTTON @@ -121,80 +129,39 @@ LOAD - + BUTTON FBW_RMP_MODE_BUTTON_AND_LED - 1 HF1 4 - + BUTTON FBW_RMP_MODE_BUTTON_AND_LED - 1 HF2 5 - + BUTTON FBW_RMP_MODE_BUTTON_AND_LED - 1 AM - 11 + 12 - - - - 7 - - let indicatorsPowered = #INDICATORS_POWERED, bool#; - let id = #ID, number#; - alias toggleSwitch = (L:A32NX_RMP_#SIDE#_TOGGLE_SWITCH, bool); - alias selectedModeLeft = (L:A32NX_RMP_L_SELECTED_MODE, number); - alias selectedModeRight = (L:A32NX_RMP_R_SELECTED_MODE, number); - alias annunciatorLight = (L:A32NX_OVHD_INTLT_ANN, number); - alias dc2Powered = (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, bool); - let emissiveDim = if annunciatorLight == 2 { 0.05 } else { 1 }; - // @todo abnormal defined differently with NAV modes available. - - let rmpLeftAbnormal = id == 1 and (selectedModeLeft == 2 or selectedModeLeft == 3 or selectedModeRight == 1); - let rmpRightAbnormal = id == 2 and (selectedModeRight == 1 or selectedModeRight == 3 or selectedModeLeft == 2); - - (if (toggleSwitch and (rmpLeftAbnormal or rmpRightAbnormal) or ((annunciatorLight == 0) and dc2Powered)) and indicatorsPowered { - 1 * emissiveDim - } else { - 0 - }) - - - - 7 let indicatorsPowered = #INDICATORS_POWERED, bool#; - let id = #ID, number#; - alias toggleSwitch = (L:A32NX_RMP_#SIDE#_TOGGLE_SWITCH, bool); - alias selectedModeLeft = (L:A32NX_RMP_L_SELECTED_MODE, number); - alias selectedModeRight = (L:A32NX_RMP_R_SELECTED_MODE, number); - alias annunciatorLight = (L:A32NX_OVHD_INTLT_ANN, number); - alias dc2Powered = (L:A32NX_ELEC_DC_2_BUS_IS_POWERED, bool); - let emissiveDim = if annunciatorLight == 2 { 0.05 } else { 1 }; - // @todo abnormal defined differently with NAV modes available. - - let rmpLeftAbnormal = id == 1 and (selectedModeLeft == 2 or selectedModeLeft == 3 or selectedModeRight == 1); - let rmpRightAbnormal = id == 2 and (selectedModeRight == 1 or selectedModeRight == 3 or selectedModeLeft == 2); - - (if (toggleSwitch and (rmpLeftAbnormal or rmpRightAbnormal) or ((annunciatorLight == 0) and dc2Powered)) and indicatorsPowered { - 1 * emissiveDim + let sel = (L:A32NX_RMP_SEL_LIGHT_ON, bool); + (if #RMP_POWERED, bool# and indicatorsPowered and (sel or #EMISSIVE_TEST, bool#) { + #EMISSIVE_DIM, number# } else { 0 }) @@ -204,7 +171,6 @@ - 7 SEL @@ -215,8 +181,8 @@ LOCK_RADIO#SIDE#_NAV 100 - (L:XMLVAR_RMP_#SIDE#_NavLockOff) 100 * - (L:XMLVAR_RMP_#SIDE#_NavLockOff) ! (>L:XMLVAR_RMP_#SIDE#_NavLockOff) + (L:A32NX_RMP_#SIDE#_NavLockOff) 100 * + (L:A32NX_RMP_#SIDE#_NavLockOff) ! (>L:A32NX_RMP_#SIDE#_NavLockOff) 0.1 @@ -231,14 +197,14 @@ BUTTON FBW_RMP_MODE_BUTTON_AND_LED NAV - 12 + 6 BUTTON FBW_RMP_MODE_BUTTON_AND_LED - 6 + 7 VOR @@ -247,7 +213,7 @@ BUTTON FBW_RMP_MODE_BUTTON_AND_LED ILS - 7 + 8 @@ -255,7 +221,7 @@ BUTTON FBW_RMP_MODE_BUTTON_AND_LED GLS - 8 + 9 @@ -263,7 +229,7 @@ BUTTON FBW_RMP_MODE_BUTTON_AND_LED MLS - 9 + 10 @@ -271,7 +237,7 @@ BUTTON FBW_RMP_MODE_BUTTON_AND_LED ADF - 10 + 11 @@ -292,7 +258,11 @@ #ANIM_NAME_BUTTON# - (>H:A32NX_RMP_#SIDE#_#BASE_NAME#_BUTTON_PRESSED) + + #RMP_POWERED# if{ + (>H:A32NX_RMP_#SIDE#_#BASE_NAME#_BUTTON_PRESSED) + } + @@ -305,24 +275,18 @@ @@ -394,7 +345,7 @@ - (A:LIGHT POTENTIOMETER:#POTENTIOMETER#, Percent over 100) #BACKLIGHTS_POWERED# (L:A32NX_RMP_#SIDE#_TOGGLE_SWITCH) * * + (A:LIGHT POTENTIOMETER:#POTENTIOMETER#, Percent over 100) #BACKLIGHTS_POWERED# * diff --git a/fbw-a32nx/src/systems/fmgc/src/navigation/NavaidTuner.ts b/fbw-a32nx/src/systems/fmgc/src/navigation/NavaidTuner.ts index 6ca8a348655..122f25a2f87 100644 --- a/fbw-a32nx/src/systems/fmgc/src/navigation/NavaidTuner.ts +++ b/fbw-a32nx/src/systems/fmgc/src/navigation/NavaidTuner.ts @@ -314,9 +314,7 @@ export class NavaidTuner { } // FIXME RMPs should provide a discrete output for this - const rmpTuningActive = - SimVar.GetSimVarValue('L:A32NX_RMP_L_NAV_BUTTON_SELECTED', 'bool') || - SimVar.GetSimVarValue('L:A32NX_RMP_R_NAV_BUTTON_SELECTED', 'bool'); + const rmpTuningActive = SimVar.GetSimVarValue('L:A32NX_RMP_NAV_BACKUP_MODE', 'bool'); const rmpTuningDeActivated = !rmpTuningActive && this.rmpTuningActive; this.rmpTuningActive = rmpTuningActive; @@ -482,6 +480,9 @@ export class NavaidTuner { */ private async tuneVorFrequency(index: 1 | 2, frequency: number | null): Promise { // FIXME tune through RMP (or direct for off-side) + // VOR course and frequencies are set in BaseRadioPanels.ts when in nav backup mode + // It doesn't overlap with this piece of code because it's disabled when in nav backup mode + // See rmpTuningActive variable in this file if (!NavRadioUtils.vhfFrequenciesAreEqual(this.lastVorFrequencies[index - 1], frequency)) { this.lastVorFrequencies[index - 1] = frequency; this.navaidVersion++; @@ -498,6 +499,9 @@ export class NavaidTuner { */ private async tuneVorCourse(index: 1 | 2, course: number | null): Promise { // FIXME tune through RMP (or direct for off-side) + // VOR course and frequencies are set in BaseRadioPanels.ts when in nav backup mode + // It doesn't overlap with this piece of code because it's disabled when in nav backup mode + // See rmpTuningActive variable in this file if (Math.round(this.lastVorCourses[index - 1]) !== Math.round(course)) { this.lastVorCourses[index - 1] = course; return Coherent.call('TRIGGER_KEY_EVENT', `VOR${index}_SET`, true, course ?? 0, 0, 0); diff --git a/fbw-a32nx/src/systems/instruments/src/EFB/index.tsx b/fbw-a32nx/src/systems/instruments/src/EFB/index.tsx index 3c73ee13f29..72eae620ea6 100644 --- a/fbw-a32nx/src/systems/instruments/src/EFB/index.tsx +++ b/fbw-a32nx/src/systems/instruments/src/EFB/index.tsx @@ -56,7 +56,7 @@ render( sim: { cones: true, msfsFplnSync: true, - pilotSeat: false, + pilotSeat: true, registrationDecal: true, wheelChocks: true, cabinLighting: false, diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/BaseRadioPanels.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/BaseRadioPanels.tsx index de03f4546de..8710887c093 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/Components/BaseRadioPanels.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/BaseRadioPanels.tsx @@ -6,6 +6,7 @@ import React, { useState } from 'react'; import { useSimVar, useInteractionSimVar, useInteractionEvent } from '@flybywiresim/fbw-sdk'; import { TransceiverType } from './StandbyFrequency'; import { VhfRadioPanel } from './VhfRadioPanel'; +import { HfRadioPanel } from './HfRadioPanel'; import { NavRadioPanel } from './NavRadioPanel'; import { RadioPanelDisplay } from './RadioPanelDisplay'; @@ -14,6 +15,8 @@ interface Props { * The RMP side (e.g. 'L' or 'R'). */ side: string; + + receiver: number; } /** @@ -33,7 +36,7 @@ export const RootRadioPanel = (props: Props) => { const powered = powerAvailable && panelSwitch; if (!powered) return ; - return ; + return ; }; /** @@ -53,86 +56,105 @@ const UnpoweredRadioPanel = () => ( * Renders appropriate mode sub-component (e.g. VhfRadioPanel). */ const PoweredRadioPanel = (props: Props) => { - const [navTransceiverType, setNavTransceiverType] = useState(TransceiverType.RADIO_VHF); + const [navReceiverType, setNavReceiverType] = useState(TransceiverType.ILS); // Used to turn on the associated led const [panelMode, setPanelMode] = useSimVar(`L:A32NX_RMP_${props.side}_SELECTED_MODE`, 'Number', 250); // Used to determine (in the FGMC for instance) if the system is in NAV backup mode. L and R simvars have to be checked - const [navButtonPressed, setNavButton] = useSimVar(`L:A32NX_RMP_${props.side}_NAV_BUTTON_SELECTED`, 'boolean', 250); + const [navButtonPressed, setNavButton] = useSimVar(`L:A32NX_RMP_${props.side}_NAV_BACKUP_MODE`, 'boolean', 250); // Used to return to the selected VHF once NAV is pushed again const [previousPanelMode, setPreviousPanelMode] = useState(panelMode); + const [indexTransceiver, setIndexTransceiver] = useState(props.side === 'L' ? 1 : 2); + // FIXME: A32NX_RMP_LS_COURSE and A32NX_RMP_VOR_** once MMR has them + const [, setCourse] = useSimVar( + navReceiverType === TransceiverType.VOR ? `K:VOR${props.side === 'L' ? 1 : 2}_SET` : 'L:A32NX_RMP_LS_COURSE', + 'number', + ); // Hook radio management panel mode buttons to set panelMode SimVar. useInteractionEvent(`A32NX_RMP_${props.side}_VHF1_BUTTON_PRESSED`, () => { setPanelMode(1); setPreviousPanelMode(1); - setNavTransceiverType(TransceiverType.RADIO_VHF); + setIndexTransceiver(1); }); useInteractionEvent(`A32NX_RMP_${props.side}_VHF2_BUTTON_PRESSED`, () => { setPanelMode(2); setPreviousPanelMode(2); - setNavTransceiverType(TransceiverType.RADIO_VHF); + setIndexTransceiver(2); }); useInteractionEvent(`A32NX_RMP_${props.side}_VHF3_BUTTON_PRESSED`, () => { setPanelMode(3); setPreviousPanelMode(3); - setNavTransceiverType(TransceiverType.RADIO_VHF); + setIndexTransceiver(3); + }); + + useInteractionEvent(`A32NX_RMP_${props.side}_HF1_BUTTON_PRESSED`, () => { + setPanelMode(4); + setPreviousPanelMode(4); + setIndexTransceiver(1); + }); + + useInteractionEvent(`A32NX_RMP_${props.side}_HF2_BUTTON_PRESSED`, () => { + setPanelMode(5); + setPreviousPanelMode(5); + setIndexTransceiver(2); }); useInteractionEvent(`A32NX_RMP_${props.side}_NAV_BUTTON_PRESSED`, () => { if (navButtonPressed) { + setCourse(-1); setPanelMode(previousPanelMode); - setNavTransceiverType(TransceiverType.RADIO_VHF); } setNavButton(!navButtonPressed); }); useInteractionEvent(`A32NX_RMP_${props.side}_VOR_BUTTON_PRESSED`, () => { - if (navButtonPressed) { - setPanelMode(6); - setNavTransceiverType(TransceiverType.VOR); - } - }); - - useInteractionEvent(`A32NX_RMP_${props.side}_ILS_BUTTON_PRESSED`, () => { if (navButtonPressed) { setPanelMode(7); - setNavTransceiverType(TransceiverType.ILS); + setNavReceiverType(TransceiverType.VOR); } }); - useInteractionEvent(`A32NX_RMP_${props.side}_GLS_BUTTON_PRESSED`, () => { + useInteractionEvent(`A32NX_RMP_${props.side}_ILS_BUTTON_PRESSED`, () => { if (navButtonPressed) { setPanelMode(8); - setNavTransceiverType(TransceiverType.GLS); + setNavReceiverType(TransceiverType.ILS); } }); - useInteractionEvent(`A32NX_RMP_${props.side}_MLS_BUTTON_PRESSED`, () => { - if (navButtonPressed) { - setPanelMode(9); - setNavTransceiverType(TransceiverType.MLS); - } - }); + /** + * MLS IMPLEMENTED IN THE XML BEHAVIOURS + * BUT DISABLED HERE SINCE THERE IS NOT ENOUGH REFERENCES + */ + // useInteractionEvent(`A32NX_RMP_${props.side}_MLS_BUTTON_PRESSED`, () => { + // if (navButtonPressed) { + // setPanelMode(8); + // } + // }); useInteractionEvent(`A32NX_RMP_${props.side}_ADF_BUTTON_PRESSED`, () => { if (navButtonPressed) { - setPanelMode(10); - setNavTransceiverType(TransceiverType.ADF); + setPanelMode(11); + setNavReceiverType(TransceiverType.ADF); } }); // This means we're in a VHF communications mode. - switch (navTransceiverType) { - case TransceiverType.RADIO_VHF: - return ; - case TransceiverType.VOR: - case TransceiverType.ILS: - case TransceiverType.ADF: - return ; + switch (panelMode) { + case 1: + case 2: + case 3: + return ; + case 4: + case 5: + return ; + case 7: + case 8: + case 11: + return ; default: // If we reach this block, something's gone wrong. We'll just render a broken panel. return ( diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/HfRadioPanel.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/HfRadioPanel.tsx new file mode 100644 index 00000000000..1ada688114b --- /dev/null +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/HfRadioPanel.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { useSimVar, useInteractionEvent } from '@flybywiresim/fbw-sdk'; +import { StandbyFrequency, TransceiverType } from './StandbyFrequency'; +import { RadioPanelDisplay } from './RadioPanelDisplay'; + +interface Props { + /** + * The RMP side (e.g. 'L' or 'R'). + */ + side: string; + + /** + * The HF transceiver mode (HF 1 or 2). + */ + hf: number; +} + +export const HfRadioPanel = (props: Props) => { + const [active, setActive] = useSimVar(`L:A32NX_RMP_HF${props.hf}_ACTIVE_FREQUENCY`, 'Hz'); + const [standby, setStandby] = useSimVar(`L:A32NX_RMP_${props.side}_HF${props.hf}_STANDBY_FREQUENCY`, 'Hz'); + + // Handle Transfer Button Pressed. + useInteractionEvent(`A32NX_RMP_${props.side}_TRANSFER_BUTTON_PRESSED`, () => { + setActive(standby); + setStandby(active); + }); + + return ( + + + + + ); +}; diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/NavRadioPanel.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/NavRadioPanel.tsx index 690ebab352d..05cc43d43e7 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/Components/NavRadioPanel.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/NavRadioPanel.tsx @@ -16,9 +16,9 @@ interface Props { side: string; /** - * The NAV transceiver (VOR, ILS, ADF). + * The NAV receiver (VOR, ILS, ADF). */ - transceiver: number; + receiver: number; } enum Mode { @@ -33,12 +33,12 @@ enum Mode { /** * - * @param transceiver The transceiver type (VOR, ADF or ILS) - * @param side Side on which the transceiver is (L or R) + * @param receiver The receiver type (VOR, ADF or ILS) + * @param side Side on which the receiver is (L or R) * @returns a tuble simvar */ -const useActiveFrequency = (transceiver: number, side: string) => { - switch (transceiver) { +const useActiveFrequency = (receiver: number, side: string) => { + switch (receiver) { case TransceiverType.VOR: return useSimVar(`L:A32NX_RMP_${side}_SAVED_ACTIVE_FREQUENCY_VOR`, 'number'); case TransceiverType.ADF: @@ -50,12 +50,12 @@ const useActiveFrequency = (transceiver: number, side: string) => { /** * - * @param transceiver The transceiver type (VOR, ADF or ILS) - * @param side Side on which the transceiver is (L or R) + * @param receiver The receiver type (VOR, ADF or ILS) + * @param side Side on which the receiver is (L or R) * @returns a tuble simvar */ -const useStandbyFrequency = (transceiver: number, side: string) => { - switch (transceiver) { +const useStandbyFrequency = (receiver: number, side: string) => { + switch (receiver) { case TransceiverType.VOR: return useSimVar(`L:A32NX_RMP_${side}_SAVED_STANDBY_FREQUENCY_VOR`, 'number'); case TransceiverType.ADF: @@ -67,12 +67,12 @@ const useStandbyFrequency = (transceiver: number, side: string) => { /** * - * @param transceiver The transceiver type (VOR, ADF or ILS) - * @param side Side on which the transceiver is (L or R) + * @param receiver The receiver type (VOR, ADF or ILS) + * @param side Side on which the receiver is (L or R) * @returns a tuble simvar */ -const useCourse = (transceiver: number, side: string) => { - switch (transceiver) { +const useCourse = (receiver: number, side: string) => { + switch (receiver) { case TransceiverType.VOR: return useSimVar(`L:A32NX_RMP_${side}_SAVED_COURSE_VOR`, 'number'); default: @@ -80,16 +80,16 @@ const useCourse = (transceiver: number, side: string) => { } }; -const setActiveFrequencySimVar = (transceiver: number, index: number, frequency: number) => { - if (transceiver === TransceiverType.ADF) { +const setActiveFrequencySimVar = (receiver: number, index: number, frequency: number) => { + if (receiver === TransceiverType.ADF) { SimVar.SetSimVarValue( `K:ADF${index === 1 ? '' : index}_ACTIVE_SET`, 'Frequency ADF BCD32', Avionics.Utils.make_adf_bcd32(frequency), ); + } else { + SimVar.SetSimVarValue(`K:NAV${index}_RADIO_SET_HZ`, 'Hz', frequency); } - - SimVar.SetSimVarValue(`K:NAV${index}_RADIO_SET_HZ`, 'Hz', frequency); }; /** @@ -101,42 +101,42 @@ export const NavRadioPanel = (props: Props) => { let standbyWindow: JSX.Element; let index = props.side === 'L' ? 1 : 2; - if (props.transceiver === TransceiverType.ILS) { + if (props.receiver === TransceiverType.ILS) { index = 3; // Both RMPs manage the same ILS } const [mode, setMode] = useState(Mode.FREQUENCY); - const [activeFrequency, setActiveFrequencySaved] = useActiveFrequency(props.transceiver, props.side); - const [standbyFrequency, setStandbyFrequencySaved] = useStandbyFrequency(props.transceiver, props.side); - const [course, setCourseSaved] = useCourse(props.transceiver, props.side); - - const [, setCourse] = useSimVar( - props.transceiver === TransceiverType.VOR ? `K:VOR${index}_SET` : 'L:A32NX_FM_LS_COURSE', - 'number', - 100, - ); + const [activeFrequency, setActiveFrequencySaved] = useActiveFrequency(props.receiver, props.side); + const [standbyFrequency, setStandbyFrequencySaved] = useStandbyFrequency(props.receiver, props.side); + const [course, setCourseSaved] = useCourse(props.receiver, props.side); 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'); + // FIXME: Remove A32NX_RMP_LS_COURSE and K:VOR${index}_SET once MMR implements them + const [, setCourse] = useSimVar( + props.receiver === TransceiverType.VOR ? `K:VOR${index}_SET` : 'L:A32NX_RMP_LS_COURSE', + 'number', + 100, + ); useInteractionEvent(`A32NX_RMP_${props.side}_TRANSFER_BUTTON_PRESSED`, () => { + // FIXME: Remove this logic once MMR is implemented // Inhibit RMP tuning if below 700 RA, APPR engaged, at least one AP/FD engaged (FCOM compliant) if ((RA1 >= 700 && RA2 >= 700) || !APPR || !AP) { if (mode === Mode.FREQUENCY) { - if (props.transceiver !== TransceiverType.ADF) { + if (props.receiver !== TransceiverType.ADF) { setMode(Mode.COURSE); } - // FCOM compliant: Both RMPs must be in nav backup mode in order to tune the ILS + // FCOM compliant: If ILS, the frequency can be tuned via the RMP only if both RMPs are in nav backup mode. if ( - props.transceiver !== TransceiverType.ILS || - (SimVar.GetSimVarValue('L:A32NX_RMP_L_NAV_BUTTON_SELECTED', 'Bool') && - SimVar.GetSimVarValue('L:A32NX_RMP_R_NAV_BUTTON_SELECTED', 'Bool')) + props.receiver !== TransceiverType.ILS || + SimVar.GetSimVarValue('L:A32NX_RMP_NAV_BACKUP_MODE', 'Bool') === true ) { - setActiveFrequencySimVar(props.transceiver, index, standbyFrequency); + setActiveFrequencySimVar(props.receiver, index, standbyFrequency); } setActiveFrequencySaved(standbyFrequency); } else { @@ -144,6 +144,29 @@ export const NavRadioPanel = (props: Props) => { setMode(Mode.FREQUENCY); } } + + // This effect to display frequency mode instead of course mode when switching between receivers. + // After few debug sessions, it was noticed standbyFrequency was the first valuable sign of switch. + // I could have listened props.receiver but this caused flickering (very fast display of previous frequency) due to sequential render + useEffect(() => { + // Performance purpose. Could set Frequency everytime but setMode fires a render + if (mode === Mode.COURSE) { + setMode(Mode.FREQUENCY); + } + }, [standbyFrequency]); + + if (mode === Mode.FREQUENCY) { + standbyWindow = ( + + ); + } else { + standbyWindow = ; + } }); // This effect to display frequency mode instead of course mode when switching between receivers. @@ -162,7 +185,7 @@ export const NavRadioPanel = (props: Props) => { side={props.side} value={standbyFrequency} setValue={setStandbyFrequencySaved} - transceiver={props.transceiver} + transceiver={props.receiver} /> ); } else { diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/RadioPanelDisplay.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/RadioPanelDisplay.tsx index 620d7e6c9ca..29c06c36d6d 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/Components/RadioPanelDisplay.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/RadioPanelDisplay.tsx @@ -13,6 +13,7 @@ interface Props { } const TEXT_DATA_MODE_VHF3 = 'DATA'; +const TEXT_DATA_MODE_VHF3_UNPOWERED = '------'; /** * Format the given frequency to be displayed. @@ -20,12 +21,15 @@ const TEXT_DATA_MODE_VHF3 = 'DATA'; * @returns The formated frequency string in 123.456 */ const formatFrequency = (frequency: number): string => { - // VHF COM, VOR, ILS + // VHF, VOR, ILS if (frequency >= 108000000) { return (frequency / 1000000).toFixed(3).padEnd(7, '0'); } - // HF HERE + // HF + if (frequency >= 2000000) { + return (frequency / 1000000).toFixed(3).padEnd(5, '0'); + } // ADF return (frequency / 1000).toFixed(1); @@ -39,6 +43,7 @@ const formatFrequency = (frequency: number): string => { export function RadioPanelDisplay(props: Props) { const [lightsTest] = useSimVar('L:A32NX_OVHD_INTLT_ANN', 'Boolean', 1000); const [dc2IsPowered] = useSimVar('L:A32NX_ELEC_DC_2_BUS_IS_POWERED', 'Bool', 1000); + const [DCBus1] = useSimVar('L:A32NX_ELEC_DC_1_BUS_IS_POWERED', 'boolean'); let content: JSX.Element; @@ -60,12 +65,18 @@ export function RadioPanelDisplay(props: Props) { {formatFrequency(props.value)} ); - } else { + } else if (DCBus1) { content = ( {TEXT_DATA_MODE_VHF3} ); + } else { + content = ( + + {TEXT_DATA_MODE_VHF3_UNPOWERED} + + ); } return {content}; diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyCourse.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyCourse.tsx index c92220e94b1..95d9066c1e6 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyCourse.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyCourse.tsx @@ -32,8 +32,8 @@ export const StandbyCourse = (props: Props) => { // Handle inner knob turned. const innerKnobUpdateCallback: UpdateValueCallback = useCallback( (offset) => { - const integer = Math.floor((props.value + offset) / 360); - props.setValue(props.value - integer * 360 + offset); + // +360 to take into account values below 0 + props.setValue((((props.value + offset) % 360) + 360) % 360); }, [props.value], ); @@ -46,5 +46,5 @@ export const StandbyCourse = (props: Props) => { useInteractionEvent(`A32NX_RMP_${props.side}_INNER_KNOB_TURNED_CLOCKWISE`, () => innerKnob.current.increase()); useInteractionEvent(`A32NX_RMP_${props.side}_INNER_KNOB_TURNED_ANTICLOCKWISE`, () => innerKnob.current.decrease()); - return ; + return ; }; diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyFrequency.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyFrequency.tsx index a7f1dcc3052..af7f5c4c50f 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyFrequency.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/Components/StandbyFrequency.tsx @@ -15,10 +15,9 @@ declare const Utils; // this can also be replaced once /typings are available export enum TransceiverType { RADIO_VHF, + RADIO_HF, VOR, ILS, - GLS, - MLS, ADF, } @@ -156,6 +155,9 @@ export const StandbyFrequency = (props: Props) => { let newInteger = 0; if (props.transceiver === TransceiverType.RADIO_VHF) { newInteger = Utils.Clamp(integer, 118, 136); + } + if (props.transceiver === TransceiverType.RADIO_HF) { + newInteger = Utils.Clamp(integer, 2, 23); } else if (props.transceiver === TransceiverType.ILS) { newInteger = Utils.Clamp(integer, 108, 111); } else if (props.transceiver === TransceiverType.VOR) { @@ -188,11 +190,16 @@ export const StandbyFrequency = (props: Props) => { const integer = Math.floor(frequency / 1000); let decimal = 0; - if (props.transceiver !== TransceiverType.ADF) { - decimal = offsetFrequencyChannel(spacing, frequency % 1000, offset); - } else { - // offsetFrequencyChannel does not fit ADF needs + // offsetFrequencyChannel does not fit ADF needs nor HF + if (props.transceiver === TransceiverType.ADF) { decimal = frequency % 1000 === 0 ? 500 : 0; + } else if (props.transceiver === TransceiverType.RADIO_HF) { + decimal = (frequency % 1000) + offset; + if (decimal < 0) { + decimal = 1000 - Math.abs(decimal); + } + } else { + decimal = offsetFrequencyChannel(spacing, frequency % 1000, offset); } props.setValue((integer * 1000 + (decimal % 1000)) * toMhz); } else { diff --git a/fbw-a32nx/src/systems/instruments/src/RMP/index.tsx b/fbw-a32nx/src/systems/instruments/src/RMP/index.tsx index 9bd0a311566..758c76e7e67 100644 --- a/fbw-a32nx/src/systems/instruments/src/RMP/index.tsx +++ b/fbw-a32nx/src/systems/instruments/src/RMP/index.tsx @@ -9,7 +9,7 @@ import { RootRadioPanel } from './Components/BaseRadioPanels'; render(
- - + +
, ); diff --git a/fbw-a32nx/src/systems/systems-host/systems/FWC/PseudoFWC.ts b/fbw-a32nx/src/systems/systems-host/systems/FWC/PseudoFWC.ts index 4266ca34ee1..4fc93bd05ed 100644 --- a/fbw-a32nx/src/systems/systems-host/systems/FWC/PseudoFWC.ts +++ b/fbw-a32nx/src/systems/systems-host/systems/FWC/PseudoFWC.ts @@ -1037,6 +1037,8 @@ export class PseudoFWC { private readonly voiceVhf3 = Subject.create(0); + private readonly audioSwitchingKnob = Subject.create(0); + /* SETTINGS */ private readonly configPortableDevices = Subject.create(false); @@ -2014,6 +2016,7 @@ export class PseudoFWC { this.tcasSensitivity.set(SimVar.GetSimVarValue('L:A32NX_TCAS_SENSITIVITY', 'Enum')); this.wingAntiIce.set(SimVar.GetSimVarValue('L:A32NX_PNEU_WING_ANTI_ICE_SYSTEM_SELECTED', 'bool')); this.voiceVhf3.set(SimVar.GetSimVarValue('A:COM ACTIVE FREQUENCY:3', 'number')); + this.audioSwitchingKnob.set(SimVar.GetSimVarValue('L:A32NX_AUDIOSWITCHING_KNOB', 'number')); /* FUEL */ const fuelGallonsToKg = SimVar.GetSimVarValue('FUEL WEIGHT PER GALLON', 'kilogram'); @@ -4720,6 +4723,17 @@ export class PseudoFWC { sysPage: -1, side: 'RIGHT', }, + // AUDIO 3 XFRD + '0000280': { + flightPhaseInhib: [], + simVarIsActive: this.audioSwitchingKnob.map((v) => v !== 1), + whichCodeToReturn: () => [0], + codesToReturn: ['000028001'], + memoInhibit: () => false, + failure: 0, + sysPage: -1, + side: 'RIGHT', + }, '0000350': { // LAND ASAP RED flightPhaseInhib: [], diff --git a/fbw-a32nx/src/wasm/systems/a320_systems/src/lib.rs b/fbw-a32nx/src/wasm/systems/a320_systems/src/lib.rs index 1acd66fc449..800f36a321d 100644 --- a/fbw-a32nx/src/wasm/systems/a320_systems/src/lib.rs +++ b/fbw-a32nx/src/wasm/systems/a320_systems/src/lib.rs @@ -35,6 +35,7 @@ use systems::{ AuxiliaryPowerUnitFactory, AuxiliaryPowerUnitFireOverheadPanel, AuxiliaryPowerUnitOverheadPanel, }, + communications::Communications, electrical::{Electricity, ElectricitySource, ExternalPowerSource}, engine::{leap_engine::LeapEngine, reverser_thrust::ReverserForce, EngineFireOverheadPanel}, hydraulic::brake_circuit::AutobrakePanel, @@ -76,6 +77,7 @@ pub struct A320 { radio_altimeters: A320RadioAltimeters, egpwc: EnhancedGroundProximityWarningComputer, reverse_thrust: ReverserForce, + communications: Communications, } impl A320 { pub fn new(context: &mut InitContext) -> A320 { @@ -131,6 +133,7 @@ impl A320 { 0, ), reverse_thrust: ReverserForce::new(context), + communications: Communications::new(context), } } } @@ -256,6 +259,8 @@ impl Aircraft for A320 { ); self.egpwc.update(&self.adirs, self.lgcius.lgciu1()); + + self.communications.update(context); } } impl SimulationElement for A320 { @@ -289,6 +294,7 @@ impl SimulationElement for A320 { self.pneumatic.accept(visitor); self.egpwc.accept(visitor); self.reverse_thrust.accept(visitor); + self.communications.accept(visitor); visitor.visit(self); } diff --git a/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/communications.rs b/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/communications.rs new file mode 100644 index 00000000000..675db45d51d --- /dev/null +++ b/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/communications.rs @@ -0,0 +1,115 @@ +use std::error::Error; +use systems_wasm::aspects::{MsfsAspectBuilder, VariableToEventMapping, VariableToEventWriteOn}; +use systems_wasm::Variable; + +pub(super) fn communications(builder: &mut MsfsAspectBuilder) -> Result<(), Box> { + builder.init_variable(Variable::aspect("VHF1_VOLUME"), 80.0); + builder.init_variable(Variable::aspect("VHF2_VOLUME"), 40.0); + + builder.variable_to_event( + Variable::aspect("PILOT_TRANSMIT_CHANNEL"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "PILOT_TRANSMITTER_SET", + )?; + // EveryTick due to a bug within the SDK + // Whenever the pilot version is set, the copilot version is too + // Therefore as workaround, we need to constantly update the copilot version + builder.variable_to_event( + Variable::aspect("COPILOT_TRANSMIT_CHANNEL"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::EveryTick, + "COPILOT_TRANSMITTER_SET", + )?; + builder.variable_to_event( + Variable::aspect("COM1_RECEIVE"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "COM1_RECEIVE_SELECT", + )?; + builder.variable_to_event( + Variable::aspect("COM2_RECEIVE"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "COM2_RECEIVE_SELECT", + )?; + // EveryTick due to an issue with volume initialisation + // Somestimes, the SDK doesn't seem to take into account our default value + // therefore the volume remains at 100% until it's changed on the ACP + // Waiting for an field in .flt files + builder.variable_to_event( + Variable::aspect("VHF1_VOLUME"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::EveryTick, + "COM1_VOLUME_SET", + )?; + builder.variable_to_event( + Variable::aspect("VHF2_VOLUME"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::EveryTick, + "COM2_VOLUME_SET", + )?; + builder.variable_to_event( + Variable::aspect("VHF3_VOLUME"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "COM3_VOLUME_SET", + )?; + builder.variable_to_event( + Variable::aspect("MARKER_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "MARKER_SOUND_TOGGLE", + )?; + builder.variable_to_event( + Variable::aspect("ADF1_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_ADF_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("ADF2_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_ADF2_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("VOR1_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_VOR1_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("VOR1_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_DME1_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("VOR2_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_VOR2_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("VOR2_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_DME2_IDENT_SET", + )?; + // The next two get data from ILS_IDENT since both MMRs are ILS only (so far) + builder.variable_to_event( + Variable::aspect("ILS_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_VOR3_IDENT_SET", + )?; + builder.variable_to_event( + Variable::aspect("ILS_IDENT"), + VariableToEventMapping::EventDataRaw, + VariableToEventWriteOn::Change, + "RADIO_VOR4_IDENT_SET", + )?; + + Ok(()) +} diff --git a/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/lib.rs b/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/lib.rs index 6dc95e07487..e312e2533fa 100644 --- a/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/lib.rs +++ b/fbw-a32nx/src/wasm/systems/a320_systems_wasm/src/lib.rs @@ -1,6 +1,7 @@ mod ailerons; mod autobrakes; mod brakes; +mod communications; mod elevators; mod flaps; mod gear; @@ -15,6 +16,7 @@ use a320_systems::A320; use ailerons::ailerons; use autobrakes::autobrakes; use brakes::brakes; +use communications::communications; use elevators::elevators; use flaps::flaps; use gear::gear; @@ -408,6 +410,7 @@ async fn systems(mut gauge: msfs::Gauge) -> Result<(), Box> { "radian per second squared", 0, )? + .provides_aircraft_variable("MARKER SOUND", "Bool", 0)? .with_aspect(|builder| { builder.copy( Variable::aircraft("APU GENERATOR SWITCH", "Bool", 0), @@ -448,6 +451,7 @@ async fn systems(mut gauge: msfs::Gauge) -> Result<(), Box> { .with_aspect(gear)? .with_aspect(payload)? .with_aspect(trimmable_horizontal_stabilizer)? + .with_aspect(communications)? .build(A320::new)?; while let Some(event) = gauge.next_event().await { diff --git a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/model/behaviour/legacy/Airbus.xml b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/model/behaviour/legacy/Airbus.xml index 19fcd8c2151..5bc85179f3f 100644 --- a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/model/behaviour/legacy/Airbus.xml +++ b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/model/behaviour/legacy/Airbus.xml @@ -754,6 +754,8 @@ +