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
4.98k stars 1.04k forks source link

Ability to program devices (button boxes etc) to control airplane (experimental) #4255

Closed ferryvanaesch closed 3 years ago

ferryvanaesch commented 3 years ago

Is your feature request related to a problem? Please describe. I can’t control the autopilot using button boxes / side stick buttons / rotary encoders

Describe the feature you'd like to see implemented I’d like to be able to assign rotary encoders and buttons to set things like speed, hdg, altitude, vs, selected altitude mode, managed, etc.

References N/A

Additional context Works for stock aircraft, but it seems fbw is using custom lvars and events. Triggering events and setting values in the lvars don’t work consistently.

Discord username (if different from GitHub): fva

mojoair commented 3 years ago

I was about to open a issue for this but appears others are having this issue as well. I have narrowed it down but I think it's the same issue that effects all related buttons/switches that do not work.

Example I use an external input that has rotary encoders for heading bug and Speed. These two no longer work (but Altitude works fine), even with same bindings they work fine in other aircrafts. I noticed when viewing the event log in FSUIPC, changing the Heading or the Speed on the Autopilot MCP does not show any events occurring in FSUIPC, alternatively the Altitude (the one that works) does indeed show the event occurring.

I believe this to be a bug with SDK implementation and just needs a quick fix as it worked perfectly before.

PS: I think you should add the Bug tag as well, I don't think this is an enhancement issue but rather a bug as it used to work perfectly.

ferryvanaesch commented 3 years ago

I have it working with a combination of Spad.Next and AAO; the ones that don't work for you use HVARs which AAO can successfully find. Spad.Next only recognises a subset of these at the moment. In short: I have it working in a very hacky way, but would like for this to become a clean solution once it goes to dev or stable.

aguther commented 3 years ago

The XML to JS use custom events for some parts like V/S or FPA that is why it's not visible in the FSUIPC. Especially those two are then put into a local variable instead of the V/S variable of the sim.

So it's working as intended and not a bug.

I understand the need for hardware assignments and we can look into it, but it needs to be taken care it does not jeopardize function of the custom AP / FCU interaction.

Documentation of events and local variables: https://github.com/flybywiresim/a32nx/blob/autopilot/docs/a320-events.md https://github.com/flybywiresim/a32nx/blob/autopilot/docs/a320-simvars.md

ferryvanaesch commented 3 years ago

I believe I have it working correctly; I'll be doing a proper flight tomorrow where I'll be giving it its first real test. Will report back here if I find any unexpected issues.

ferryvanaesch commented 3 years ago

The XML to JS use custom events for some parts like V/S or FPA that is why it's not visible in the FSUIPC. Especially those two are then put into a local variable instead of the V/S variable of the sim.

So it's working as intended and not a bug.

I understand the need for hardware assignments and we can look into it, but it needs to be taken care it does not jeopardize function of the custom AP / FCU interaction.

Documentation of events and local variables: https://github.com/flybywiresim/a32nx/blob/autopilot/docs/a320-events.md https://github.com/flybywiresim/a32nx/blob/autopilot/docs/a320-simvars.md

Will we be able to assign a rotary dial to switch between LS/VOR/Nav/Arc/Plan, and for the range selection? I currently don't see those in the documents above?

aguther commented 3 years ago

If it's not documented it's using default events (if any).

ferryvanaesch commented 3 years ago

Ok, I don't think any events are triggered in that case: can't see anything popping up in spad.next anyway.

Thanks for the info!

aguther commented 3 years ago

It did some sustainable improvements, see documentation here: https://github.com/flybywiresim/a32nx/tree/experimental/docs

I consider this as closed for now, feel free to reopen if needed.