Jump to content
The simFlight Network Forums

PFC serial port console with throttle quadrant (Turbo Prop) using PFCcom64.DLL in MSFS Prop and Condition lever issues


Delta70

Recommended Posts

I have an old serial port PFC console with throttle quadrant. The flight controls behave as expected but the throttle quadrant (Turbo Prop installed) is a bit odd. In the PFC options everything is working sliders move perfectly. In MSFS using the KingAir (both Blacksquare version and default) the throttles move correctly and independently (ThrottleR1 and R2 in PFC options) the propeller and condition levers however are a different story. Right propeller moves correctly and independently, left propeller moves the left level 0-100% and oddly the right lever at the same time but only moving it 50-100% so if you move the left level it will jump the right lever to 50% to start the movement (PropPitchR1 and R2 are selected in PFC options) and moving both at the same time causes weird bouncing with the right as the left interferes. The condition levers 1 and 2 set in PFC options have no effect just don't do anything. Not sure if anyone else has experienced this sort of thing?

Link to comment
Share on other sites

2 hours ago, Delta70 said:

The condition levers 1 and 2 set in PFC options have no effect just don't do anything.

What controls are they assigned to? You can try setting logging for axes controls and see what is logged, if anything, when you move the assigned levers. Looking at the HubHop page for the King Air (https://hubhop.mobiflight.com/presets/), it looks like the condition levers require a combination of axes controls (SET_FUEL_VALVE_ENG1/2), lvars (L:Condition_Lever_CutOff_1/2) and simvars/a:vars (TURB ENG CONDITION LEVER POSITION:1/2). I have no idea how you would set-this up with a PFC device (I don't have any!), but I could look into how to control with a standard joystick axes if you like to see if that helps.

Note it was previously reported that the controls for the condition lever were working, but they were not controlling the visuals, i.e. you could hear the change in the engine but the lever in the VC wasn't moving - that maybe why you also need to set the lvar and avar. See 

 

I can take a look at the condition lever in the Asobo King Air, but this will be next week. I can only do this with a standard joystick axis, but if this can be done we can then look into how to set this up with the PFC driver, if possible.

2 hours ago, Delta70 said:

Right propeller moves correctly and independently, left propeller moves the left level 0-100% and oddly the right lever at the same time but only moving it 50-100% so if you move the left level it will jump the right lever to 50% to start the movement (PropPitchR1 and R2 are selected in PFC options) and moving both at the same time causes weird bouncing with the right as the left interferes.

That is strange... what do you see on the PFC config page for the left lever? Does it jump from 0-100 there? Could you activate logging for Axes Controls in FSUIPC7, and generate a short log file where you just load the aircraft and then move the left lever through its full range, from min to max, and then back again. Then exit FSUIPC7 and show me/attach your FSUIPC7.log file, together with your PFC.cfg file and FSUIPC7.ini file.

Normally an axis that jumps from 0-100 and back again has been flagged as a digital axis in the registry, and you need to clean the registry to resolve this (there is a FAQ entry on how to do this in the FAQ sub-forum). However, as this also seems to be interfering with the right propeller, best to show me those files before anything else.

John

Link to comment
Share on other sites

On 11/10/2023 at 5:26 PM, John Dowson said:

What controls are they assigned to? You can try setting logging for axes controls and see what is logged, if anything, when you move the assigned levers. Looking at the HubHop page for the King Air (https://hubhop.mobiflight.com/presets/), it looks like the condition levers require a combination of axes controls (SET_FUEL_VALVE_ENG1/2), lvars (L:Condition_Lever_CutOff_1/2) and simvars/a:vars (TURB ENG CONDITION LEVER POSITION:1/2). I have no idea how you would set-this up with a PFC device (I don't have any!), but I could look into how to control with a standard joystick axes if you like to see if that helps.

Note it was previously reported that the controls for the condition lever were working, but they were not controlling the visuals, i.e. you could hear the change in the engine but the lever in the VC wasn't moving - that maybe why you also need to set the lvar and avar. See 

 

I can take a look at the condition lever in the Asobo King Air, but this will be next week. I can only do this with a standard joystick axis, but if this can be done we can then look into how to set this up with the PFC driver, if possible.

Thank you for your response, I am a bit new to these forums here so have been doing some digging around for info this weekend and testing scenarios using the plain axes controls settings in FSUIPC disregarding the PFC options for the condition levers. The PFC setting for the throttle quadrant turbo prop condition levers are just Condition 1 and Condition 2 in the drop down menu but these don't seem to work. I found that I could set the mobiflight condition lever preset commands found in events.txt for the King Air these are the same as the HubHop presets. I set 3 ranges - cutoff, low idle and high idle to activate. They work but no animation just sound as you mentioned. That said the only animation is between low idle and cutoff I think this is being triggered by the fuel valve setting.

On 11/10/2023 at 5:26 PM, John Dowson said:

That is strange... what do you see on the PFC config page for the left lever? Does it jump from 0-100 there? Could you activate logging for Axes Controls in FSUIPC7, and generate a short log file where you just load the aircraft and then move the left lever through its full range, from min to max, and then back again. Then exit FSUIPC7 and show me/attach your FSUIPC7.log file, together with your PFC.cfg file and FSUIPC7.ini file.

Normally an axis that jumps from 0-100 and back again has been flagged as a digital axis in the registry, and you need to clean the registry to resolve this (there is a FAQ entry on how to do this in the FAQ sub-forum). However, as this also seems to be interfering with the right propeller, best to show me those files before anything else.

John

There is a little misunderstanding here with the propeller controls and I have now also observed the mixture controls do the same thing when flying a piston engine (default Baron) The left lever moves through the range of say 0 to 100% normally it doesn't jump in one go but it also controls the right lever between say 50 to 100% same linear movement (this makes the right lever jump to 50% if the left is moved when the right is at 0%). The right lever just controls itself normally no conflict with the left. Bouncing of the right lever occurs in the cockpit animation when moving both at the same time.  This is only experienced in MSFS, the config page of PFC there is no conflicting movement, everything is normal.

Link to comment
Share on other sites

MSFS is a completely different sim to FSX. There are many additional controls in MSFS, and many aircraft do not use the standard controls, and you have to use lvars/hvars/presets instead. The PFC driver was written many years ago (way before my time), and will not have access to the newer controls available in MSFS (or presets. etc). And as I don't have any PFC controls (and have never seen or configured any), so it is very difficult for me to advise on this.

I do not understand why the left lever is also controlling the right lever. What axes controls do you see logged when you move the left lever? What do you see logged when you control the right lever? It is far easier for you to check this - just set axes logging and open the logging console and see what is logged when you move the levers.

Have you checked in MSFS to see if these levers have also been auto-assigned there? Does MSFS recognise the PFC device? Does FSUIPC recognise your PFC axes/buttons, or are these only recognised and assignable in the PFC driver?

I have just taken a quick look at the KingAir, and it looks like some Input Events are available for the condition lever:

Quote

FUEL_Transfer_Left_Aux<;FLOAT64>
FUEL_Transfer_Right_Aux<>
FUEL_Crossfeed_1<>
FUEL_1_Condition_Lever<;FLOAT64>
FUEL_2_Condition_Lever<>

I will be releasing a beta version if FSUIPC later today that will allow assignment to Input Events, but for buttons/switches/keys,  not axes. However, you can still use them for axes by writing the axes value to an FSUIPC offset and then using a lua script to pick-up the axes value (using event.offset), calibrate it and then send the value to the FS using an Input Event (ipc.execInputEvent). This will only be possible using FSUIPC though, and not via the PFC driver.

It is also strange that the Input Event for condition lever 1 accepts a parameter (float64), but the one for lever 2 doesn't. I suspect that is an error somewhere within the aircraft itself (or in MSFS) [it is an error in the information received - both accept a parameter],

Later: I have just taken a look at the kingAir condition levers. They cannot be controlled by axes controls, as they have three distinct positions: cut-off, low-idle and high idle, which matches the presets available. You can control both levers (including the visuals) by assigning to the FUEL_1_Condition_Lever and FUEL_2_Condition_Lever Input Events, using a parameter of 2 for cut-off, 1 for low-idle and 0 for high-idle. I will look into allowing input events to be assigned to an axes range (right-hand side of axes assignment dialog) to allow an axes to be assigned to these Input Events when moving through different positions, but I will do this after the initial beta release.

For the propeller, assigning to PropPitch1 & PropPitch2 work as expected here. There are also Input Events available for the propeller levers (ENGINE_Propeller_1 and ENGINE_Propeller_2), but I don't see any reason to use these as the standard controls are working as expected.

John

 

Link to comment
Share on other sites

2 hours ago, John Dowson said:

I do not understand why the left lever is also controlling the right lever. What axes controls do you see logged when you move the left lever? What do you see logged when you control the right lever? It is far easier for you to check this - just set axes logging and open the logging console and see what is logged when you move the levers.

Have you checked in MSFS to see if these levers have also been auto-assigned there? Does MSFS recognise the PFC device? Does FSUIPC recognise your PFC axes/buttons, or are these only recognised and assignable in the PFC driver?

Thank you for your response. I can see what is going on with the axes controls although it isn't explaining why on the prop controls (or mixture when using say the baron) left lever is interfering with the right but the right is not interfering with the left since both are calling the same control command. Here is a snippet of the log with the controls being called. PFC

   113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15360 (0x00003c00) AXIS_MIXTURE_SET (These are set at Condition 1 and Condition 2 in the PFC options)
   113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15799 (0x00003db7) AXIS_MIXTURE_SET
   113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 16384 (0x00004000) AXIS_MIXTURE_SET
   116782 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15945 (0x00003e49) AXIS_MIXTURE_SET

   127844 ***  AXIS: Cntrl= 65820 (0x0001011c), Param= 410 (0x0000019a) THROTTLE1_SET (These are set as ThrottleR1 and ThrottleR2 in the PFC options)
   127907 ***  AXIS: Cntrl= 65820 (0x0001011c), Param= 0 (0x00000000) THROTTLE1_SET
   128969 ***  AXIS: Cntrl= 65821 (0x0001011d), Param= -98 (0xffffff9e) THROTTLE2_SET
   129125 ***  AXIS: Cntrl= 65821 (0x0001011d), Param= -197 (0xffffff3b) THROTTLE2_SET

   131563 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 455 (0x000001c7) AXIS_PROPELLER_SET (These are set as PropPitchR1 and PropPitchR2 PFC options)
   131594 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 1365 (0x00000555) AXIS_PROPELLER_SET
   131594 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 2276 (0x000008e4) AXIS_PROPELLER_SET
   131672 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 3186 (0x00000c72) AXIS_PROPELLER_SET

The serial port PFC device is not recognised by MSFS and neither is it recognised by windows as a game controller. The Axes controls and buttons are recognised by FSUIPC which means I can use the FSUIPC config options rather than the PFC drivers.

2 hours ago, John Dowson said:

I will be releasing a beta version if FSUIPC later today that will allow assignment to Input Events, but for buttons/switches/keys,  not axes. However, you can still use them for axes by writing the axes value to an FSUIPC offset and then using a lua script to pick-up the axes value (using event.offset), calibrate it and then send the value to the FS using an Input Event (ipc.execInputEvent). This will only be possible using FSUIPC though, and not via the PFC driver.

This will be useful for the condition levers in King Air will try set this up when the beta version comes out.

Link to comment
Share on other sites

15 minutes ago, Delta70 said:

113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15360 (0x00003c00) AXIS_MIXTURE_SET (These are set at Condition 1 and Condition 2 in the PFC options)
   113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15799 (0x00003db7) AXIS_MIXTURE_SET
   113110 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 16384 (0x00004000) AXIS_MIXTURE_SET
   116782 ***  AXIS: Cntrl= 66292 (0x000102f4), Param= 15945 (0x00003e49) AXIS_MIXTURE_SET

Ok - they won't work in the King Air...

15 minutes ago, Delta70 said:

131563 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 455 (0x000001c7) AXIS_PROPELLER_SET (These are set as PropPitchR1 and PropPitchR2 PFC options)
   131594 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 1365 (0x00000555) AXIS_PROPELLER_SET
   131594 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 2276 (0x000008e4) AXIS_PROPELLER_SET
   131672 ***  AXIS: Cntrl= 66291 (0x000102f3), Param= 3186 (0x00000c72) AXIS_PROPELLER_SET

This is strange - the individual AXIS_PROPELLER1_SET and AXIS_PROPELLER2_SET controls should be used...

16 minutes ago, Delta70 said:

The Axes controls and buttons are recognised by FSUIPC which means I can use the FSUIPC config options rather than the PFC drivers.

Ok, then I would use FSUIPC, that would give you more options. Try disabling the prop assignments in the PFC driver and assign to the individual prop controls in FSUIPC.

18 minutes ago, Delta70 said:

This will be useful for the condition levers in King Air will try set this up when the beta version comes out.

Should be available later today...I will let you know when released.

John

Link to comment
Share on other sites

First, as stated in the beta announcement topic, for any issues in this beta release, please post in the beta release thread/topic.

The issue was that the function call was always returning a failure even though it had succeeded. I have corrected this now, and the beta release has been bumped to 7.3.26d.

John

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.