C310 Redux Prop Feather
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
C310 Redux Prop Feather
Mods, I completed a support request (I think) but I do not see my query posted here.
Please remove if this is a duplicate...
I have a question regarding prop feathering on the C310 using a CH Products throttle quadrant.
I know that you can feather the props by right-clicking the lower third of the prop lever knob, but I am wondering if there is some way to move the lever into the feather range using hardware?
Each axis on the CH Products throttle quadrant has a detent at the aft portion of travel. Using the most-recent registered version of FSUIPC, I was able to calibrate the quadrant to go into: Reverse (for turboprops), feather, and idle cutoff for most default and payware P3D v4.2 aircraft.
Unfortunately the C310 prop levers do not go into the feather range when I move the CH Products prop levers aft of the detent.
Using FSUIPC, I tried assigning a repeating "prop decr" key command to the hardware prop lever range aft of the detent, but that had no effect on the C310 props.
Is it possible to move the C310 props into the feather range using hardware, if so how may this be accomplished?
Thanks!
Chris
Please remove if this is a duplicate...
I have a question regarding prop feathering on the C310 using a CH Products throttle quadrant.
I know that you can feather the props by right-clicking the lower third of the prop lever knob, but I am wondering if there is some way to move the lever into the feather range using hardware?
Each axis on the CH Products throttle quadrant has a detent at the aft portion of travel. Using the most-recent registered version of FSUIPC, I was able to calibrate the quadrant to go into: Reverse (for turboprops), feather, and idle cutoff for most default and payware P3D v4.2 aircraft.
Unfortunately the C310 prop levers do not go into the feather range when I move the CH Products prop levers aft of the detent.
Using FSUIPC, I tried assigning a repeating "prop decr" key command to the hardware prop lever range aft of the detent, but that had no effect on the C310 props.
Is it possible to move the C310 props into the feather range using hardware, if so how may this be accomplished?
Thanks!
Chris
Last edited by Chris.Laughery on Mon Jun 25, 2018 7:26 pm, edited 1 time in total.
-
- Posts: 1023
- Joined: Mon Sep 06, 2010 3:47 pm
Re: C310 Redux Prop Feather
There are three events that occur when right-clicking to enable the feathered condition. One is a control variable for the prop lever's movement, the second sets the 'visual 3D prop', and the last toggles the sim's 'feather switch'. Note also that the next right-click will reset the first and second variables back to FALSE (0), and toggle the sim's feather switch again. The following code section is for the left prop:
Similarly, the right prop is:
You could probably achieve the desired result using FSUIPC's built in Lua scripting. I've just recently replaced my second CH Pro Yoke with a shiny new Saitek Cessna Yoke and throttle quad, but haven't had the time to experiment with the detent switches on the quad's levers myself.
Code: Select all
<CallbackCode>
(M:Event) 'RightSingle' scmp 0 == if{
(L:Prop1_Feathered,bool) !
if{ 1 (>L:Prop1_Feathered,bool) -1 (>K:PROP_PITCH1_SET) (>K:TOGGLE_FEATHER_SWITCH_1) }
els{ 0 (>L:Prop1_Feathered,bool) 0 (>K:PROP_PITCH1_SET) (>K:TOGGLE_FEATHER_SWITCH_1) }
}
</CallbackCode>
Code: Select all
<CallbackCode>
(M:Event) 'RightSingle' scmp 0 == if{
(L:Prop2_Feathered,bool) !
if{ 1 (>L:Prop2_Feathered,bool) -1 (>K:PROP_PITCH2_SET) (>K:TOGGLE_FEATHER_SWITCH_2) }
els{ 0 (>L:Prop2_Feathered,bool) 0 (>K:PROP_PITCH2_SET) (>K:TOGGLE_FEATHER_SWITCH_2) }
}
</CallbackCode>
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
Great! This gives me some direction and offers a starting point for writing a custom script.
I'll post here if I have success via FSUIPC scripting so others may benefit too.
Likewise, if you have success, I'd like to hear about it.
Thanks Again,
--Chris
I'll post here if I have success via FSUIPC scripting so others may benefit too.
Likewise, if you have success, I'd like to hear about it.
Thanks Again,
--Chris
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
I managed to stack two ranges for my prop axis (aft of the detent) to be sent via FSUIPC for PROP_PITCH1_SET and TOGGLE_FEATHER_SWITCH by simply working though the GUI.
As you may have guessed, this does not trigger the 'Prop1_Feathered' animation (L:Prop1_Feathered).
I've not worked with FSUIPC's built in Lua scripting before, but I am a professional C# developer so I should be able to figure it out.
Before I go down that route, can you confirm that the 'L' variables, like your 'Prop1_Feathered' implementation, can be controlled using Lua script in FSUIPC?
Thanks Again,
Chris
As you may have guessed, this does not trigger the 'Prop1_Feathered' animation (L:Prop1_Feathered).
I've not worked with FSUIPC's built in Lua scripting before, but I am a professional C# developer so I should be able to figure it out.
Before I go down that route, can you confirm that the 'L' variables, like your 'Prop1_Feathered' implementation, can be controlled using Lua script in FSUIPC?
Thanks Again,
Chris
-
- Posts: 1023
- Joined: Mon Sep 06, 2010 3:47 pm
Re: C310 Redux Prop Feather
Yes. All variables are accessible via Lua scripting. 
Just to be clear, the ! is a "not" token (i.e., FALSE)

Just to be clear, the ! is a "not" token (i.e., FALSE)
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
I managed to create two simple Lua scripts for feathering and un-feathering the C310 props using a throttle quadrant.
Using FSUIPC:
Once the prop levers are calibrated and a narrow axis trigger range has been created aft of the lever detents, I call the appropriate script when the prop levers enter or exit the feather range:
Here's the Feather script which lives in the "FeatherProps.lua" file:
Using the axis assignment tab in FSUIPC, I specify a "1" parameter for the left engine, and a "2" parameter for the right engine.
The Un-feathering script lives in a file called "UnFeather.lua" and it simply executes the reciprocal values on exit of the range.
There's likely a better way using events that call functions with parameters, but this approach works (for my limited Lua knowledge).
Interestingly, I found the CH Throttle quadrant to require "finesse." If you slam the levers the code may or may not work. Operating the levers in a smooth fashion works every time. I suspect the axis has some signal noise which could possibly be filtered, but I wouldn't go slamming the levers IRL, so I won't in the sim.
Thanks for the direction and ideas Milviz!
Good stuff.
--Chris
Using FSUIPC:
Once the prop levers are calibrated and a narrow axis trigger range has been created aft of the lever detents, I call the appropriate script when the prop levers enter or exit the feather range:
Here's the Feather script which lives in the "FeatherProps.lua" file:
Code: Select all
ipc.log("ipcPARAM: "..ipcPARAM)
EngineNumber = ipcPARAM
if EngineNumber == 1 then
ipc.log("EngineNumber is 1")
--Write the new Feathered value to our variable
ipc.writeLvar("Prop1_Feathered", 1)
--Set the prop pitch
ipc.control(65923, -1)
--Toggle Feather Switch
ipc.control(66537)
ipc.log("Feather Prop 1 Done")
end
if EngineNumber == 2 then
ipc.log("EngineNumber is 2")
--Write the new Feathered value to our variable
ipc.writeLvar("Prop2_Feathered", 1)
--Set the prop pitch
ipc.control(65924, -1)
--Toggle Feather Switch
ipc.control(66538)
ipc.log("Feather Prop 2 Done")
end
The Un-feathering script lives in a file called "UnFeather.lua" and it simply executes the reciprocal values on exit of the range.
There's likely a better way using events that call functions with parameters, but this approach works (for my limited Lua knowledge).
Interestingly, I found the CH Throttle quadrant to require "finesse." If you slam the levers the code may or may not work. Operating the levers in a smooth fashion works every time. I suspect the axis has some signal noise which could possibly be filtered, but I wouldn't go slamming the levers IRL, so I won't in the sim.
Thanks for the direction and ideas Milviz!
Good stuff.
--Chris
Last edited by Chris.Laughery on Fri Jul 06, 2018 4:41 pm, edited 3 times in total.
-
- Posts: 1023
- Joined: Mon Sep 06, 2010 3:47 pm
Re: C310 Redux Prop Feather
Outstanding, Chris! 

-
- Posts: 24
- Joined: Mon Feb 23, 2015 12:57 am
Re: C310 Redux Prop Feather
Hello Everyone,
Has this been tried on the Saitek Throttles in the feather position?
Thanks,
John
Has this been tried on the Saitek Throttles in the feather position?
Thanks,
John
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
Hi John:
If you are using FSUIPC to calibrate the throttles, then the actual throttle device does not matter.
You simply need to set the feather range using the FSUIPC calibration utility.
The guide posted here http://www.uk2000scenery.com/fsuipc-guide-v1.pdf specifically illustrates how to set up the ranges on the CH Products quadrant, but the principles would be the same with the Saitek quadrants.
One important thing to consider; does the Saitek throttle have built in range detents?
If you're interested in trying this, I can post the un-feather script here as well - After looking at the code I posted originally, it occurred to me that the un-feather script might not be as obvious as I had presumed...
--Chris
If you are using FSUIPC to calibrate the throttles, then the actual throttle device does not matter.
You simply need to set the feather range using the FSUIPC calibration utility.
The guide posted here http://www.uk2000scenery.com/fsuipc-guide-v1.pdf specifically illustrates how to set up the ranges on the CH Products quadrant, but the principles would be the same with the Saitek quadrants.
One important thing to consider; does the Saitek throttle have built in range detents?
If you're interested in trying this, I can post the un-feather script here as well - After looking at the code I posted originally, it occurred to me that the un-feather script might not be as obvious as I had presumed...
--Chris
-
- Posts: 24
- Joined: Mon Feb 23, 2015 12:57 am
Re: C310 Redux Prop Feather
Hello Chris,
Thank you for the help with setting up my Saitek Throttles for piston engine light twins.
I have and use that procedure you have provided for Turbo Props with Beta settings and jets with reverse thrust (great write up from John Cook). What I'm looking at here for the C-310 is to pull the Prop Lever back to the detent (Saitek Lever Button) position. At that time the button would call up the script to feather the prop. When the button is released then the unfeather script would need to be actioned.
I hope this helps to determine what it is that I'm trying to accomplish and hopefully you can help me out with this.
Cheers,
John
Thank you for the help with setting up my Saitek Throttles for piston engine light twins.
I have and use that procedure you have provided for Turbo Props with Beta settings and jets with reverse thrust (great write up from John Cook). What I'm looking at here for the C-310 is to pull the Prop Lever back to the detent (Saitek Lever Button) position. At that time the button would call up the script to feather the prop. When the button is released then the unfeather script would need to be actioned.
I hope this helps to determine what it is that I'm trying to accomplish and hopefully you can help me out with this.
Cheers,
John
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
John:
I do not own Saitek throttles, but if the feather ranges are actually buttons, then I think it would be easy to simply call my Feather and Un-Feather scripts using the FSUIPC button assignments -- as opposed to the lever ranges that trigger the calls used in the procedure I posted above.
Are you familiar with Lua script and how it can be called in FSUIPC?
One word of caution, the code I've provided here works only for the Milviz C310.
You should not need any custom code to feather the props on other light twins (default aircraft and other third party devs).
With that being said, I have seen no other aircraft that models prop feathering as accurately as Milviz (maybe A2A?).
My script is specific to the Milviz 310 since I'm calling LVARS that are unique to that aircraft.
I am away from my simulator PC at the moment, but can post the un-feather script tomorrow morning.
You can email me privately at chris at aquaorb dot net if you like, we may be able to get you set up with a quick phone call.
What time zone are you in?
--Chris
I do not own Saitek throttles, but if the feather ranges are actually buttons, then I think it would be easy to simply call my Feather and Un-Feather scripts using the FSUIPC button assignments -- as opposed to the lever ranges that trigger the calls used in the procedure I posted above.
Are you familiar with Lua script and how it can be called in FSUIPC?
One word of caution, the code I've provided here works only for the Milviz C310.
You should not need any custom code to feather the props on other light twins (default aircraft and other third party devs).
With that being said, I have seen no other aircraft that models prop feathering as accurately as Milviz (maybe A2A?).
My script is specific to the Milviz 310 since I'm calling LVARS that are unique to that aircraft.
I am away from my simulator PC at the moment, but can post the un-feather script tomorrow morning.
You can email me privately at chris at aquaorb dot net if you like, we may be able to get you set up with a quick phone call.
What time zone are you in?
--Chris
-
- Posts: 24
- Joined: Mon Feb 23, 2015 12:57 am
Re: C310 Redux Prop Feather
Hello Chris,
I live in the CMT (-6) timezone, Canada.
I'm learning about the Lua as I read tonight and I agree that it could be accomplished via buttons. Yes, I'm aware that this is custom code that works only with the Milviz Cessna 310. With other piston engine light twins I set the button to repeat the "Prop Decrease" command and that feathers the prop. I agree that prop feathering in the Milviz model is excellent compared to other models such as the Baron 58.
I have made a Lua File in Notepad++ and copied it to the "Modules" directory in my P3D v4.3 installation. I copied your code but FSUIPC does not detect the file, "C_310_Final Release_V101".
John
I live in the CMT (-6) timezone, Canada.
I'm learning about the Lua as I read tonight and I agree that it could be accomplished via buttons. Yes, I'm aware that this is custom code that works only with the Milviz Cessna 310. With other piston engine light twins I set the button to repeat the "Prop Decrease" command and that feathers the prop. I agree that prop feathering in the Milviz model is excellent compared to other models such as the Baron 58.
I have made a Lua File in Notepad++ and copied it to the "Modules" directory in my P3D v4.3 installation. I copied your code but FSUIPC does not detect the file, "C_310_Final Release_V101".
John
-
- Posts: 24
- Joined: Mon Feb 23, 2015 12:57 am
Re: C310 Redux Prop Feather
Hello Chris,
I have managed to get the Lua file to be recognized. I believe that the name was to long. Shortened to "Test_C310".
Now I just need to get the feather command to action when the Saitek Button is pressed.
Thanks,
John
I have managed to get the Lua file to be recognized. I believe that the name was to long. Shortened to "Test_C310".
Now I just need to get the feather command to action when the Saitek Button is pressed.
Thanks,
John
-
- Posts: 24
- Joined: Mon Feb 23, 2015 12:57 am
Re: C310 Redux Prop Feather
Hello Chris,
I have now built a working Lua file with "Notepad ++" for feathering the props the C-310R with a Saitek Throttle Quadrant. Below is a copy of the code that I wrote for the Lua that others may feel free to use.
--------------------------------------------
-- Milviz Cessna 310 Redux
--------------------------------------------
--------------------------------------------
-- Version
--------------------------------------------
-- 1.01
--------------------------------------------
-- Parameters by Number
--------------------------------------------
--1 Prop 1 Feather
--2 Prop 2 Feather
--------------------------------------------
-- Variables
--------------------------------------------
Prop1_Feathered = "L:Prop1_Feathered"
Prop2_Feathered = "L:Prop2_Feathered"
--------------------------------------------
-- Scripts
--------------------------------------------
-- Propellor 1 Feathered
if ipcPARAM == 1 then
ipc.writeLvar(Prop1_Feathered, 1)
end
-- Propellor 2 Feathered
if ipcPARAM == 2 then
ipc.writeLvar(Prop2_Feathered, 1)
end
Again thank you for the help on getting this figured out.
Cheers,
John
I have now built a working Lua file with "Notepad ++" for feathering the props the C-310R with a Saitek Throttle Quadrant. Below is a copy of the code that I wrote for the Lua that others may feel free to use.
--------------------------------------------
-- Milviz Cessna 310 Redux
--------------------------------------------
--------------------------------------------
-- Version
--------------------------------------------
-- 1.01
--------------------------------------------
-- Parameters by Number
--------------------------------------------
--1 Prop 1 Feather
--2 Prop 2 Feather
--------------------------------------------
-- Variables
--------------------------------------------
Prop1_Feathered = "L:Prop1_Feathered"
Prop2_Feathered = "L:Prop2_Feathered"
--------------------------------------------
-- Scripts
--------------------------------------------
-- Propellor 1 Feathered
if ipcPARAM == 1 then
ipc.writeLvar(Prop1_Feathered, 1)
end
-- Propellor 2 Feathered
if ipcPARAM == 2 then
ipc.writeLvar(Prop2_Feathered, 1)
end
Again thank you for the help on getting this figured out.
Cheers,
John
-
- Posts: 12
- Joined: Sun Jun 24, 2018 11:23 am
- Location: Texas
Re: C310 Redux Prop Feather
John:
I'm glad you got it sorted.
I noticed that you did not set the pitch, but only triggered the animation.
I think you have to set the pitch to get the proper flight characteristics.
IIRC, the LVAR only does the animation, nothing more. Maybe Milviz can chime in on this?
I recommend you add the following lines to your feather code:
Since you were able to implement the feather code, you likely don't need an explanation of the un-feather code, but I'll post it so others may benefit.
Let me know if you have any questions.
I'm glad you got it sorted.
I noticed that you did not set the pitch, but only triggered the animation.
I think you have to set the pitch to get the proper flight characteristics.
IIRC, the LVAR only does the animation, nothing more. Maybe Milviz can chime in on this?
I recommend you add the following lines to your feather code:
Code: Select all
--Set the prop pitch
ipc.control(65923, -1)
--Toggle Feather Switch
ipc.control(66537)
Let me know if you have any questions.
Code: Select all
--UnFeather C310 prop when hardware prop lever moves forward of detent
--ipc.log("unFeatherProp() called")
ipc.log("ipcPARAM: "..ipcPARAM)
EngineNumber = ipcPARAM
if EngineNumber == 1 then
ipc.log("EngineNumber is 1")
--Write the new Feathered value to our variable
ipc.writeLvar("Prop1_Feathered", 0)
--Set the prop pitch
ipc.control(65923, 0)
--Toggle Feather Switch
ipc.control(66537)
ipc.log("UnFeather Prop 1 Done")
end
if EngineNumber == 2 then
--Write the new Feathered value to our variable
ipc.writeLvar("Prop2_Feathered", 0)
--Set the prop pitch
ipc.control(65924, 0)
--Toggle Feather Switch
ipc.control(66538)
ipc.log("UnFeather Prop 2 Done")
end