Below is a post I made over at the Benchmark Sims forum about enabling the Idle Cutoff functionality in F4BMS. Any input from the guru's here would be appreciated.
I think I’ve developed a solution to allow the Warthog (WH) Throttle to use a mostly realistic “virtual’ Idle Cutoff function WITHOUT the use of the Idle Detent (alt-i) keystroke so that the Warthog emulates the throttle moving over the real jet’s Idle Cutoff Detent (with a virtual Idle Cutoff) when you pull it up and on to and push off the WH idle detents. I’ll describe what I did generally and then share the TARGET code.
Using a custom curve in the TARGET Script Editor (not the GUI) I set up a custom axis curve with a 5% deadzone at the bottom. I then use an EXEC command in TARGET to force (actually TRIM) the throttle setting below the 5% level when the throttle is moved onto the WH idle detents which virtually moves the throttle below the Idle Cutoff setting in the sim and shuts down the engines if they are running. When the throttles are moved off the WH idle detents the TRIM value is removed and the throttles move back into the active range (as if you had moved it over the real idle cutoff detent) and the engine will start and run normally. Like the real jet, you cannot shut down the engine unless you move the throttle up and onto the idle detents and thus over the virtual idle cutoff detent.
To make it work in the sim, first make sure the “Idle Cutoff” box is CHECKED in the Falcon BMS Configuration “Settings Hardware” area. This will enable the OFF-Idle throttle position code in BMS and render the ‘Idle Detent’ code non-functional (i.e. alt-i no longer works). With the TARGET script running the code below, enter the sim Setup Controllers page pull the throttle all the way back (but NOT up and on to the idle detents) and RIGHT CLICK on the SET AB button. This will set the idle cutoff point and the Red Line will appear near, but above, the bottom of the indicator. I also use a “virtual detent” for the AB as well so I set the AB detent by left clicking right when the indicators start moving up after the virtual AB detent is passed. You can check if things are working to plan by now moving the throttles up and on to the idle detents and you should see the throttle position indicators move below the Red Line.
The code that needs to be in your TARGET script is below:
The first two settings define the Left and Right Throttle axes and set the custom curve. If you do not want to use the virtual AB detent, just remove the “65,70, 75,70,” text below.
MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS);
SetCustomCurve(&Throttle, THR_LEFT, LIST(0,5, 65,70, 75,70, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB
MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS);
SetCustomCurve(&Throttle, THR_RIGHT, LIST(0,5, 65,70, 75,70, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB
The Idle cutoff is enabled with the following TRIM commands in an EXEC statement:
// Idle Cutoff Code
MapKey (&Throttle, IDLELON,
MapKeyR (&Throttle, IDLELON,
MapKey (&Throttle, IDLERON,
MapKeyR (&Throttle, IDLERON,
Of course you will need to assign the left and right throttle axes in the sim. All other WH functions should behave just as you have programmed them in the past. A couple of other notes:
1.) You will always need to ‘wake up’ the controller when you start the sim so I would recommend when performing a Ramp Start to first cycle the throttle back and forth once you are in the cockpit before placing it on the idle detents and then beginning your start up procedure. Once the JFS is running and stabilized, moving the WH throttles off the detents will spool the engine and continue startup.
2.) To shut the engine down after a flight, just move the throttles back and up and onto the idle detent and the engine will spool down.
3.) You may also be able to use the SetSCurve command with TARGET to set the 5% deadzone on the bottom but I have not tried that.
If you are using my profile, I will be updating the posted version to include this new functionality in the next couple of days after a little more testing.
I’d appreciate any feedback and testing you guys could do to make sure this works. Thanks.