flybywiresim / aircraft

The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that are as close to reality as possible.
https://flybywiresim.com
GNU General Public License v3.0
5.14k stars 1.12k forks source link

Additional push events for glareshield buttons #4718

Open frankkopp opened 3 years ago

frankkopp commented 3 years ago

Aircraft Version

Development

Description

As we now have push events for the FCU autopilot buttons it would be great to extend these push events to all glareshield buttons: https://github.com/flybywiresim/a32nx/blob/master/docs/a320-events.md

Buttons (for each side): FD LS CSTR VOR D WPT ARPT ADF1/VOR1 ADF2/VOR2

For LS, CSTR, VOR D, WPT, ARPT there is LVAR:BTN{}{1,2}_FILTER_ACTIVE for reading. But changing these vars only changes the button state (light on/off) but has no influence on the ND and also on the other buttons (ND buttons are exclusive).

ADF/VOR 1+2 there seems to be no event or var at all.

Additional info (optional)

Basically this would allow external hardware to map these buttons.

Example Stream Deck: image

Discord Username (optional)

Cdr_Maverick#6475

aguther commented 3 years ago

You’re talking about glareshield not FCU.

frankkopp commented 3 years ago

You’re talking about glareshield not FCU.

Thanks - you are right of course - it's not FCU :) Should have looked it up - isn't it even called EFIS Control Panel? http://www.a320dp.com/A320_DP/flight-instruments/sys-8.1.0.html

abeauchamp commented 2 years ago

As of today it seems that all these buttons can be mapped to events/variables. They are all functionnal except for the LS button. Indeed there is an issue with the BTN_LS_1_FILTER_ACTIVE LVAR. When this variable is switched to 1, it does switch the LS button on and display an ILS course pointer on the navigation display, but nothing changes on the PFD. If I ckick on the LS button with the mouse then then indicators show un on the PFD an normal.

frankkopp commented 2 years ago

As of today it seems that all these buttons can be mapped to events/variables. They are all functionnal except for the LS button. Indeed there is an issue with the BTN_LS_1_FILTER_ACTIVE LVAR. When this variable is switched to 1, it does switch the LS button on and display an ILS course pointer on the navigation display, but nothing changes on the PFD. If I ckick on the LS button with the mouse then then indicators show un on the PFD an normal.

This is even documented now - the issue is indeed in the PFD (doesn't recognize the change variable):

https://docs.flybywiresim.com/pilots-corner/a32nx-briefing/a32nx_api/#efis-control-panel

abeauchamp commented 2 years ago

As of today it seems that all these buttons can be mapped to events/variables. They are all functionnal except for the LS button. Indeed there is an issue with the BTN_LS_1_FILTER_ACTIVE LVAR. When this variable is switched to 1, it does switch the LS button on and display an ILS course pointer on the navigation display, but nothing changes on the PFD. If I ckick on the LS button with the mouse then then indicators show un on the PFD an normal.

This is even documented now - the issue is indeed in the PFD (doesn't recognize the change variable):

https://docs.flybywiresim.com/pilots-corner/a32nx-briefing/a32nx_api/#efis-control-panel

Is there a ticket for that ?

frankkopp commented 2 years ago

Is there a ticket for that ?

This is the ticket :)

But maybe a new ine specific for this would be good.

abeauchamp commented 2 years ago

Alright after looking throught the code, it seems that the BTNLS{ID}_FILTER_ACTIVE mentionned in the documentation (in the page you just linked) is only for the visual indicator of the button state. To interact with the button there is an H:Event called H:A320_Neo_PFD_BTNLS{ID}. I don't have access to my simulator right now so I'll try that later. This whole ticket might just be that the doc is lacking some info.

frankkopp commented 2 years ago

Alright after looking throught the code, it seems that the BTNLS{ID}_FILTER_ACTIVE mentionned in the documentation (in the page you just linked) is only for the visual indicator of the button state. To interact with the button there is an H:Event called H:A320_Neo_PFD_BTNLS{ID}. I don't have access to my simulator right now so I'll try that later. This whole ticket might just be that the doc is lacking some info.

H: Events are not documented on purpose. Hard to use. It would be better if this also would work with LVARs as the rest.