Duke (Piston + Turbine) LVAR for MobiFlight
-
K:AP_PITCH_LEVELER_ON should do the trick, but it's possible that pressing it a second time in some circumstances could result in what you're seeing. Unfortunately, the MSFS variable to detect when go-around mode is activated is broken, so I've had to do some of my own process of elimination for the GA indicator. Looking at my code, I can see many questions I could ask in an attempt to get to the bottom of this, but let me start here: Is the pitch control mode working when you adjust the target pitch with L:var_AP_PitchKnob?
The Duke has no auto throttle, but the go-around mode can be used to position the flight director at 8° nose up with wings level for initial climb out.
-
No problem!
You can either use the native magneto events, such as "K:MAGNETO1_OFF", "K:MAGNETO1_LEFT", "K:MAGNETO1_RIGHT", "K:MAGNETO1_BOTH", "K:MAGNETO1_START" (there are more for different purposes)...
...or you can use "L:BKSQ_IgnitionPosition_1", which runs from 0-5. 5 is used for holding the start position without automatic return to both.
@Black-Square Bumping this thread because this is wrong and because the cockpit XML for piston duke needs fixing.
I've been trying to get both engines started through SimConnect for 4 hours. That is until I realized the cockpit XML is different for each engine mag switch. When using the behaviors variable list, "BKSQ_IgnitionPosition_1/2" is only writable 0-3. Setting it to 4 auto-reverts back to 3 and setting it to 5 does nothing but animate it to START while starting nothing.
i finally managed to start the left engine with A:GENERAL ENG STARTER:1 and K:SET_STARTER1_HELD. And start the right engine with A:GENERAL ENG STARTER:2 and K:MAGNETO2_START. Nothing else worked for me. I tried all the SimConnect magneto and starter set/toggle events and achieved nothing. The prop would just twitch or do nothing at all. The plane appears to require the usage of A:GENERAL ENG STARTER:x and doesn't respond to standalone K events.
Please correct this section:

-
Had a similar issue in the Bonanza regarding the Ignition Position not working right for positions 4 and 5. Nick has fixed it for a patch next week, hopefully the same fix can be applied to previous aircraft.
@jmarkows Yes, that change should solve any issues here too, with the 5 position now working as a start position with no spring return.
-
@jmarkows Yes, that change should solve any issues here too, with the 5 position now working as a start position with no spring return.
@Black-Square I'm open to testing anything prior to release.
-
@Black-Square I'm open to testing anything prior to release.
@Tailhook Thanks for volunteering! Believe it or not, it should be as simple as doing the following find-and-replace on the main behaviors XML, and of course for BKSQ_IgnitionPosition_2, as well.
Find:
(L:BKSQ_IgnitionPosition_1, number) 4 ==
Replace:(L:BKSQ_IgnitionPosition_1, number) 4 >= -
@Tailhook Thanks for volunteering! Believe it or not, it should be as simple as doing the following find-and-replace on the main behaviors XML, and of course for BKSQ_IgnitionPosition_2, as well.
Find:
(L:BKSQ_IgnitionPosition_1, number) 4 ==
Replace:(L:BKSQ_IgnitionPosition_1, number) 4 >=Find:
(L:BKSQ_IgnitionPosition_1, number) 4 ==
Replace:(L:BKSQ_IgnitionPosition_1, number) 4 >=Tried this (3 lines, both mags), no difference. The mags won't go into START now at all. Still need to use the two different event's I posted above to get any action out of both L/R starters.
-
Find:
(L:BKSQ_IgnitionPosition_1, number) 4 ==
Replace:(L:BKSQ_IgnitionPosition_1, number) 4 >=Tried this (3 lines, both mags), no difference. The mags won't go into START now at all. Still need to use the two different event's I posted above to get any action out of both L/R starters.
@Tailhook Three lines? I only see two. Also, when you say you tried it, do you mean that you tried your previous homebrew solution, or you tried incrementing/decrementing L:BKSQ_IgnitionPosition_1
0 -> 1 -> 2 -> 3 -> 5? -
@Tailhook Three lines? I only see two. Also, when you say you tried it, do you mean that you tried your previous homebrew solution, or you tried incrementing/decrementing L:BKSQ_IgnitionPosition_1
0 -> 1 -> 2 -> 3 -> 5?@Black-Square Lines 5256 and 5298 were the '3rd' for each. ¯_(ツ)_/¯
I reverted those lines and tested again. Setting ignition to 5 does crank the starter now. But this change is not realistic because the knob only counts to 0-4 when using mouse.
Instead, I replaced:
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>A:GENERAL ENG STARTER:1, bool) }
with
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>K:STARTER1_SET) }and
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:SET_STARTER2_HELD) }
with
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:STARTER2_SET) }NOW the magneto switches go to START when in position 4, like they should.
-
@Tailhook Three lines? I only see two. Also, when you say you tried it, do you mean that you tried your previous homebrew solution, or you tried incrementing/decrementing L:BKSQ_IgnitionPosition_1
0 -> 1 -> 2 -> 3 -> 5?@Black-Square said in Duke (Piston + Turbine) LVAR for MobiFlight:
@Tailhook Three lines? I only see two. Also, when you say you tried it, do you mean that you tried your previous homebrew solution, or you tried incrementing/decrementing L:BKSQ_IgnitionPosition_1
0 -> 1 -> 2 -> 3 -> 5?So when the patch comes out, or we put the fix in manually, we should skip a value of 4?
-
@Black-Square Lines 5256 and 5298 were the '3rd' for each. ¯_(ツ)_/¯
I reverted those lines and tested again. Setting ignition to 5 does crank the starter now. But this change is not realistic because the knob only counts to 0-4 when using mouse.
Instead, I replaced:
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>A:GENERAL ENG STARTER:1, bool) }
with
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>K:STARTER1_SET) }and
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:SET_STARTER2_HELD) }
with
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:STARTER2_SET) }NOW the magneto switches go to START when in position 4, like they should.
@Tailhook said in Duke (Piston + Turbine) LVAR for MobiFlight:
But this change is not realistic because the knob only counts to 0-4 when using mouse.
I'm sorry if I'm missing something, but how is setting a value of 5 to get what you want "unrealistic", just because that's not what happens when you use your mouse?
-
@Tailhook said in Duke (Piston + Turbine) LVAR for MobiFlight:
But this change is not realistic because the knob only counts to 0-4 when using mouse.
I'm sorry if I'm missing something, but how is setting a value of 5 to get what you want "unrealistic", just because that's not what happens when you use your mouse?
@Black-Square Because manually manipulating the starter variable through devmode by forcing an abnormal value just to achieve a desired effect is not realistic. Everyone using external hardware or software with the Duke, Baron, and Bonanza are currently suffering from this issue. I provided the fix for simconnect to get both engines started externally, and the animation now works correctly when setting the Lvar and starter event simultaneously.
-
Please bear with me again, because I want to make the correct decision for everyone here. Can you explain how setting an L:Var and the correct starter event simultaneously is more desirable than just setting one L:Var? There's nothing "abnormal" about the value five. It just allows us to bypass the spring return of the four position in code.
-
Please bear with me again, because I want to make the correct decision for everyone here. Can you explain how setting an L:Var and the correct starter event simultaneously is more desirable than just setting one L:Var? There's nothing "abnormal" about the value five. It just allows us to bypass the spring return of the four position in code.
@Black-Square Because magneto switches do not have 6 positions. This would require a custom intercept of receiving the Lvar value of 4 and then forcing the value of 5.
-
I'm not the most adept with hardware and the various 3rd party applications to bind them, so maybe that's the problem here, but... my users bind all sorts of complex behaviors with my aircraft using L:Vars. What is so complicated about setting the value to five when you turn your hardware switch to the start position? Please don't misconstrue my questions for resistance to change. If I have to explain a change to all my users in the future, I would just like to understand why it was the best choice to make at the time.
-
Understandable. Just note that you are using the wrong event for the starter variable. _HELD is primarily for starter buttons, not switches. For more, see here: https://devsupport.flightsimulator.com/t/set-starter1-held-sdk-info-needs-slight-update/5366/3
-
@Black-Square Lines 5256 and 5298 were the '3rd' for each. ¯_(ツ)_/¯
I reverted those lines and tested again. Setting ignition to 5 does crank the starter now. But this change is not realistic because the knob only counts to 0-4 when using mouse.
Instead, I replaced:
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>A:GENERAL ENG STARTER:1, bool) }
with
(A:GENERAL ENG STARTER:1, bool) if{ 0 (>K:STARTER1_SET) }and
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:SET_STARTER2_HELD) }
with
(A:GENERAL ENG STARTER:2, bool) if{ 0 (>K:STARTER2_SET) }NOW the magneto switches go to START when in position 4, like they should.
I agree, and I think the discrepancy that you've noticed was me "shotgun" testing multiple possible solutions back when I was developing this system. The STARTER_SET event would be the most correct to use, but I also want to make sure that people have a way to access the magneto switch via L:Var without the spring return, which has been a sticking point for the majority of hardware questions in the past.
Now, reading your original post to figure out the best combination of things to do here, the real question is why I haven't had any problems with starting the engines (with the proper visual switch position) by using the native starter events from the in-game controls menu.