RoystonS / BetterBravoLights

Utility for controlling lights on a Honeycomb Bravo Throttle from Microsoft Flight Simulator
MIT License
43 stars 8 forks source link

K Events? #7

Closed daanvb closed 3 years ago

daanvb commented 3 years ago

Is it possible to use K: events?

RoystonS commented 3 years ago

Hey @daanvb. Thanks for the query. I don't really know very much about K: events. I thought they were events sent into the simulator - effectively keyboard/input events? https://youtu.be/PKBjEl9E5A4?t=264

Can you give me an example of what you'd want to map?

daanvb commented 3 years ago

Hi @RoystonS yeah thats pretty much it. I use a program call Axis and Ohs (similar to Spad and FSUIPC) to map my hardware to some of these events, for example in the FBW Neo I have mapped the autopilot buttons on the Bravo to items such as:

Fuel pumps - K:FUELSYSTEM_PUMP_TOGGLE: Index Cross Feed - K:FUELSYSTEM_VALVE_OPEN Wing Anti Ice - K:TOGGLE_STRUCTURAL_DEICE Eng Anti Ice - K:ANTI_ICE_TOGGLE_ENG1 and K:ANTI_ICE_TOGGLE_ENG2

Amonst a few other things...

RoystonS commented 3 years ago

Yep, ok, so that's wiring up your hardware to drive values into those events in the sim to trigger things to happen. There should be corresponding A: or L: variables that are the result of those events taking place.

I found this article here which refers to K:FUELSYSTEM_PUMP_TOGGLE:index. It seems to be suggesting that the corresponding variable to read is A:FUELSYSTEM PUMP SWITCH:index? https://forums.flightsimulator.com/t/simvar-for-alt-reporting-and-atc/355572

Does that help any?

daanvb commented 3 years ago

Hi @RoystonS

Yeah I got that to work! Amazing!

So I need to find the corresponding AVar...is there an easy way to find that out?

daanvb commented 3 years ago

@RoystonS I've managed to figure them all out, thanks for the advice and this great utility!!

RoystonS commented 3 years ago

Excellent. Can I ask what you used to help figure them out? Might be useful for me to add links to the BetterBravoLights documentation.

daanvb commented 3 years ago

@RoystonS I used this list https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_Simulation_Variables.htm and a bit of educated guessing.

HDG = A:FUELSYSTEM PUMP SWITCH:3, bool == 1 || A:FUELSYSTEM PUMP SWITCH:6, bool == 1 || A:FUELSYSTEM PUMP SWITCH:2, bool == 1 || A:FUELSYSTEM PUMP SWITCH:5, bool == 1
NAV = A:FUELSYSTEM PUMP SWITCH:1, bool == 1 || A:FUELSYSTEM PUMP SWITCH:4, bool == 1
APR = A:FUELSYSTEM VALVE SWITCH:3, bool == 1
REV = A:STRUCTURAL DEICE SWITCH, bool == 1
ALT = A:ENG ANTI ICE:1, bool ==1  || A:ENG ANTI ICE:2, bool ==1
VS = A:PITOT HEAT SWITCH, bool == 1
AUTOPILOT = A:LIGHT CABIN ON, bool == 1

I still have a couple of issues with the Ignition switch - for some reason in the FBW it recognises "crank" as 0, Norm and Ign as 1, so basically the Starter Engaged light is always illuminated.

And the LVar for the APU doesn't seem to be detected L:A32NX_OVHD_APU_START_PB_IS_ON

RoystonS commented 3 years ago

Interesting. You're obviously not using the Bravo autopilot button lights for autopilot. ;-)

That lvar you mention seems to work ok when I just tested it? image image

You probably already know about it, but it's useful to hit the 'Addons->WASM->List Lvars' option in the FSUIPC7 UI; that'll tell you all the available lvars and their current values. Anything there should 'just work' in BetterBravoLights. (I do have an issue [#5] to integrate that list into BBL directly though.)

daanvb commented 3 years ago

@RoystonS Haha no i've transcended the autopilot fucntion on the Bravo!

I figured out the Starter Switch - StarterEngaged = A:TURB ENG IGNITION SWITCH EX1:1, enum == 2

Hmm interesting...do you need the paid version of FSUIPC to read LVars because it definitely doesn't work for me

daanvb commented 3 years ago

Tried another LVAR L:PUSH_OVHD_OXYGEN_CREW and that doesn't seem to register either...

RoystonS commented 3 years ago

No, the free edition of FSUIPC7 is all you need. But you do need to enable its 'LVAR WASM' module to enable it to read LVARs. I'm going to provide some explicit instructions for doing that (and some explicit detection code in the app to tell you what you do/don't need to do) in the next few days.

Do you have the 'Addons->WASM->List lvars' option I mentioned earlier, in FSUIPC?

daanvb commented 3 years ago

No, the free edition of FSUIPC7 is all you need. But you do need to enable its 'LVAR WASM' module to enable it to read LVARs. I'm going to provide some explicit instructions for doing that (and some explicit detection code in the app to tell you what you do/don't need to do) in the next few days.

Do you have the 'Addons->WASM->List lvars' option I mentioned earlier, in FSUIPC?

I've got it working now! I thought it was enabled but just toggeld it around and then those greyed out options became available so all good!

This program is so great, thank you!

RoystonS commented 3 years ago

Lovely. I'm just in the middle of writing detailed instructions for getting FSUIPC configured. As you've seen, it's not hard, but it'll be easier if I explain and show it to people. I'm also teaching the program to tell people they need to install FSUIPC (if they haven't) or Enable the WASM module if they haven't.

Glad you're enjoying it. Please do drop a comment and/or a rating at https://flightsim.to/file/21253/better-bravo-lights to let others know about it.

New version coming out tomorrow with configurations for all built-in MSFS planes...