Binding, H-events and other information
-
I had to make a few changes to the Baron and Bonanza to enable go-around mode (the configuration settings are actually for "autothrottle", hence why I missed them the first time. It's all done, I just haven't had the time to roll out an update yet.
Let me know if you have any more issues with the throttle. It shouldn't require anything special beyond any other aircraft.
-
Thanks, the complication with mapping the throttle reverse had something to do with complications/limitations regarding the hardware i use and the mapping software I use. So not directly connected to the aircraft.
About the; Go Around button, should using 'K:AUTO_THROTTLE_TO_GA' provide sound and animation for the button?
-
The animation is there, but I don't use the Asobo default template for that button, so there is no easy way for me to connect the "K:AUTO_THROTTLE_TO_GA" command to the button. If it really bothers you, you can replace the block of code starting with "PUSH_GoAround" in AnalogTBM.XML with...
<UseTemplate Name="ASOBO_ENGINE_TOGA_SubTemplate"> <ID>1</ID> <NODE_ID>PUSH_GoAround</NODE_ID> <ANIM_NAME>PUSH_GoAround</ANIM_NAME> </UseTemplate>
...and then use the B:Var "(>B:ENGINE_TOGA_1_Toggle)" to trigger the TOGA button.
-
Thanks, a lot of nice documentation at the top of that XML-file btw.
Will this code-change, do anything with the functionality of the TOGA-button?
If I understood correctly, replacing all of this?
<UseTemplate Name="ASOBO_GT_Push_Button"> <ANIM_NAME>PUSH_GoAround</ANIM_NAME> <LEFT_SINGLE_CODE> (>K:AUTO_THROTTLE_TO_GA) </LEFT_SINGLE_CODE> <WWISE_EVENT_1>autopilot_push_button_on</WWISE_EVENT_1> <NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1> <WWISE_EVENT_2>autopilot_push_button_off</WWISE_EVENT_2> <NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2> <TOOLTIP_TITLE></TOOLTIP_TITLE> <TOOLTIPID>Go Around</TOOLTIPID> </UseTemplate>
-
That's correct. No, it should not change the functionality. The only difference is that the Asobo templates are a nightmare to work with, so it's far easier to just implement all your own code. Amusingly, the Asobo templates might look shorter, but behind that short template is often as much as 1,000 lines of abstract code.
-
Great, btw: I found and mapped all the animations for the default 430's and 530's, and are now trying to implement an extra condition in the mapping software I use, to be able to fully map them intuitively with the Flight Radio Panel in combination with the HC Bravo. The KNS-81 runs perfectly with this setup, but as you mentioned to me earlier, animation and sound for the GNS units bezels don't currently work with B&B's (I have not yet tested with the 850). But it's quite clear to me, that it's very difficult to use mappings (that require some abstraction) without animation and sound. If it were there, I believe this setup could be good for training with these units. But currently I feel limited to only using the 750 GPS (mouse-pointer as touch panel is working intuitively).
I hope this can be looked into.
Making a unit like the new Octavi IFR-1 (https://www.octavi.net/) fully compatible, will probably also require some effort in this area?
-
Are you saying that you feel limited to the GTN 750 because the GNS knobs don't animate when using external hardware, or am I missing something else that I can help you with? I don't know what kind of utilities are provided with the Octavi for binding, but it should require no additional work compared to other hardware peripherals.
-
@Black-Square said in Binding, H-events and other information:
Are you saying that you feel limited to the GTN 750 because the GNS knobs don't animate when using external hardware...
Yes. Since rather limited desktop input devices (in my case a yoke, a throttle and a radio panel) that not always completely match the virtual cockpit counterpart; are used to control an entire cockpit, for multiple aircrafts and setups, the animations and sounds of the knobs, become an important part of the UX, especially when using such units as GNS 530 and 430 that require heavy use of rotating knobs and pushes, versus the GTN 750 that is an intuitive touch based interface.
Except for the GNS's, the Bonanza and Bravo works fantastic on my setup now. Thanks to all the input you gave. And I believe everyone with a similar setup would understand the logic of the mapping within a minute or two. And would very seldom need to use the mouse, except adjusting temperature and similar.
-
I finally tried the GA-button 'hack', but did not get it to work. It's not crucial, but perhaps you could look at it for the coming update and for the Dukes?
-
However, one thing I would really like to do, is to map the KNS80 to the Flight Radio Panel, like we did with the KNS81. I think you provided some small bits of code for me, to get the displays to work? As well as a list of the h-events for the buttons and knobs on the unit?
-
Secondly, I think it would make sense on the HC Alpha to map the Gyro Inst switches (Gyro, RMI, ADI 2 and HSI 2) to the Bus 1 (or perhaps Bus 2?). I already mapped the EFIS and Radio master Lvars to the Bus 2 switch, but could not find the Gyro switches from monitoring the data. (H-events?)
-
Lastly, for now :)
It seems like the autopilot switches use a combination of default and custom events. Maybe you could provide a list of recommended events for the autopilot?
And the CRS knob on the EFIS, do I need to map it for each NAV-mode?
-
What exactly did you try with the go around button? Like I said, the go around mode is up to the GPS developers to implement in several cases, so I can't promise that it will work with impunity.
The "Gyro" switches on the overhead are all controlled just by their respective circuits. I believe these are at the top of the XML file where I include advice to home cockpit builders:
Remote Compass (Gyro) Switch "A:CIRCUIT SWITCH ON:57, bool"
RMI Switch "A:CIRCUIT SWITCH ON:58, bool"
ADI 2 Switch "A:CIRCUIT SWITCH ON:59, bool"
HSI 2 Switch "A:CIRCUIT SWITCH ON:60, bool"Here are the inputs for the KNS81:
H:KNS80_bigInc
H:KNS80_smallInc
L:var_rnavKnobPulled
L:var_RNAV_VOLUME
H:KNS80_vorModeButton
H:KNS80_rnavModeButton
H:KNS80_dmeHoldButton
H:KNS80_useButton
H:KNS80_displayButton
H:KNS80_dataButtonThe outputs would have to be created in a similar fashion to what I had you do last time. I can't find the post or message where I gave you instructions on how to do that right now. If you could find it for me, I can advise further.
The Autopilot interface: Most are the expected default events. You can find all of this in the XML:
TestButton: 35 (>L:var_AutopilotStartupCounter, number)
MasterButton: (>K:AP_MASTER)
YawDamperButton: (>K:YAW_DAMPER_TOGGLE)
HalfBankButton: (A:AUTOPILOT MAX BANK ID, number) 1 < if{ 1 (>K:AP_MAX_BANK_SET) } els{ 0 (>K:AP_MAX_BANK_SET) }
SoftRideButton: (L:var_autopilotSoftRideMode, bool) ! (>L:var_autopilotSoftRideMode, bool)
FlightDirectorButton: (>K:TOGGLE_FLIGHT_DIRECTOR)
HeadingButton: (>K:AP_PANEL_HEADING_HOLD)
NavButton: (>K:AP_NAV1_HOLD)
ApproachButton: (>K:AP_APR_HOLD)
BackCourseButton: (>K:AP_BC_HOLD)
AltitudeButton: (>K:AP_ALT_HOLD)
AirspeedButton: (>K:FLIGHT_LEVEL_CHANGE) (A:AIRSPEED INDICATED, knots) (>K:AP_SPD_VAR_SET)VsSwitch:
UP:(A:AUTOPILOT FLIGHT LEVEL CHANGE, Bool) if{ (>K:AP_SPD_VAR_DEC) } els{ (A:AUTOPILOT VERTICAL HOLD, bool) if{ (>K:AP_VS_VAR_DEC) } els{ (A:AUTOPILOT ALTITUDE LOCK VAR, FEET) 0 > if{ 500 (>K:AP_ALT_VAR_DEC) } } }
DOWN:
(A:AUTOPILOT FLIGHT LEVEL CHANGE, Bool) if{ (>K:AP_SPD_VAR_INC) } els{ (A:AUTOPILOT VERTICAL HOLD, bool) if{ (>K:AP_VS_VAR_INC) } els{ (A:AUTOPILOT ALTITUDE LOCK VAR, FEET) 33600 < if{ 500 (>K:AP_ALT_VAR_INC) } } }
The EFIS heading knob uses the default bindings.
The EFIS course knob is as follows:
CLOCKWISE:(L:EFIS_NavigationSource, number) 0 == if{ (>K:VOR1_OBI_INC) } els{ (L:EFIS_NavigationSource, number) 1 == if{ (>K:VOR2_OBI_INC) } els{ (L:EFIS_NavigationSource, number) 2 == if{ (L:TDSGTNXI_OBSModeActive, bool) if{ (>K:VOR1_OBI_INC) } } els{ (L:EFIS_NavigationSource, number) 3 == if{ (L:var_RNAV_OBS, number) 1 + 360 % (>L:var_RNAV_OBS, number) } els{ (L:EFIS_NavigationSource, number) 4 == if{ (L:var_MLS_OBS, number) 1 + 360 % (>L:var_MLS_OBS, number) } els{ (L:EFIS_NavigationSource, number) 5 == if{ (L:var_ADF_OBS, number) 1 + 360 % (>L:var_ADF_OBS, number) } } } } } }
COUNTERCLOCKWISE:
(L:EFIS_NavigationSource, number) 0 == if{ (>K:VOR1_OBI_DEC) } els{ (L:EFIS_NavigationSource, number) 1 == if{ (>K:VOR2_OBI_DEC) } els{ (L:EFIS_NavigationSource, number) 2 == if{ (L:TDSGTNXI_OBSModeActive, bool) if{ (>K:VOR1_OBI_DEC) } } els{ (L:EFIS_NavigationSource, number) 3 == if{ (L:var_RNAV_OBS, number) 0 > if{ (L:var_RNAV_OBS, number) 1 - (>L:var_RNAV_OBS, number) } els{ 360 (>L:var_RNAV_OBS, number) } } els{ (L:EFIS_NavigationSource, number) 4 == if{ (L:var_MLS_OBS, number) 0 > if{ (L:var_MLS_OBS, number) 1 - (>L:var_MLS_OBS, number) } els{ 360 (>L:var_MLS_OBS, number) } } els{ (L:EFIS_NavigationSource, number) 5 == if{ (L:var_ADF_OBS, number) 0 > if{ (L:var_ADF_OBS, number) 1 - (>L:var_ADF_OBS, number) } els{ 360 (>L:var_ADF_OBS, number) } } } } } } }
PUSH:
(>H:EHSI_CourseSync) 50 (>L:var_efisCourseButtonAnim, number)
-
Perfect! Great.
Forgot about the documentation you've made in the XML, sorry for that.
Here is the thread about the KNS-81:
https://community.justflight.com/topic/5881/radio-setup-input-device/8BTW: Regarding classic navigation devices. One of the beta-testers of the upcoming Learjet flew the Baron 58 with the KLN-90B. There is a rumor that it will be included in the Dukes?
https://www.fsdeveloper.com/forum/threads/msfs-kln-90b-integration.457361/
-
Forgot to answer about the TOGA button. Just wanted it to animate and do whatever it's supposed to do :)
-
Thank you so much for sharing that link. I will usually go to great lengths to locate something like that, but I couldn't find any clear reference to the KNS81 by searching in the forums.
It's far more than a rumor that the KLN90B will be included in the Dukes. It's in the Just Flight news section, in the product descriptions, in the manuals on the store pages, and in the screenshots. I hope you will enjoy.
The TOGA button will likely only animate using the Asobo template if you use >B:ENGINE_TOGA_1_Toggle instead of >K:AUTO_THROTTLE_TO_GA. The new B:Var system is both a blessing and curse to developers.
-
Cool, looking forward to the Dukes and the KLN90B. Any chance of introducing it to the Bonanza and Barons also?
-
I tried to map the EFIS NAV Source button by incrementing EFIS_NavigationSource, but it did not work.
Is it possible to map this button somehow?
-
EFIS_NavigationSource is read only, I believe. The events for the buttons on the EFIS panel are...
H:EHSI_NavSource
H:EHSI_SystemSource
H:EHSI_TestReference
H:EHSI_SolidBearing
H:EHSI_HollowBearing -
Great, thanks
Backtracking to the TOGA button, I did not manage to get it animated, even after following your instructions and applying the code-change.