Help assigning hardware buttons for NAV/GPS/RNAV and APR/ARM in Bonanza
-
The pushbuttons in the upper left corner of the Bonanza used for switching the autopilot signal between NAV/GPS or NAV/RNAV and the APR ARM are giving me difficulty finding the correct variable so I can assign them. Most recent attempt using what I found in the xml file was: "KNS81_NAV_RNAV_GPS# (>L:var_radio1Mode, number) 2 == (A:GPS DRIVES NAV1, Bool)" It does not seem to have any effect on the switch but it does switch out the radio panel for the GTN when I have the KX radios and KNS only installed.
Could someone help providing the correct coding so I can use my hardware to control rather than mouseclicks please?
-
Do I understand correctly that you are just looking to emulate pressing the "NAV/GPS" autopilot source select button? If so, all that should be necessary is
>K:TOGGLE_GPS_DRIVES_NAV1
. -
@Black-Square
I thought there would be another coding for when using the KNS81 only panel since the switch says NAV/RNAV instead of NAV/GPS but I did discover the existing coding for the GPS switch worked. I still haven't found the coding to arm the approach. I do have it working in the Duke though.
I also am working with using one of the knobs I have for the DME, I find the cw and ccw coding works to switch between off, nav1, hld, nav2 but it won't turn cw to the RNAV position. If you have placed the switch in the RNAV position with the mouse you can use the ccw command to switch it out of RNAV to NAV2... curious. -
The approach arming mode actually does nothing in any of my aircraft prior to my incorporating the KLN-90B and the MD-41 mode control panel. The KNS-81 has a separate approach mode triggered by rotating the mode knob, as I'm sure you already know. For the DME, you might just be using some old code from aircraft that didn't have the RNAV display option, like the Analog Caravan. If your code has something like...
(L:var_dmeMode, number) 3 < if{ (L:var_dmeMode, number) 1 + (>L:var_dmeMode, number) }
then, add one more increment to it by changing that line to...
(L:var_dmeMode, number) 4 < if{ (L:var_dmeMode, number) 1 + (>L:var_dmeMode, number) }
If that's not what your code looks like, please send me a screenshot, and I should be able to tell you what to do. -
Works now with this coding:
// BS KDI572
BS_KDI572_DME_Mode_Turn_Ccw#(L:var_dmeMode, Number) 1 - 0 max s0 (>L:var_dmeMode, Number) l0 0 == if{ 1 (>H:dmeMode0) } l0 1 == if{ 1 (>H:dmeMode1) } l0 2 == if{ 1 (>H:dmeMode2) } l0 3 == if{ 1 (>H:dmeMode3) } l0 4 == if{ 1 (>H:dmeMode4) }
BS_KDI572_DME_Mode_Turn_Cw#(L:var_dmeMode, Number) 1 + 4 min s0 (>L:var_dmeMode, Number) l0 0 == if{ 1 (>H:dmeMode0) } l0 1 == if{ 1 (>H:dmeMode1) } l0 2 == if{ 1 (>H:dmeMode2) } l0 3 == if{ 1 (>H:dmeMode3) } l0 4 == if{ 1 (>H:dmeMode4) }Just added an additional section for mode 4.
-
Excellent. Glad it's working. Let me know if there's anything else I can do for you!