Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
Collapse
Just Flight Community Forum
  1. Home
  2. Just Flight
  3. MSFS Products
  4. Black Square Add-Ons
  5. Commander 114
  6. Axis control for Cowl Flaps

Axis control for Cowl Flaps

Scheduled Pinned Locked Moved Commander 114
29 Posts 8 Posters 1.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F fredgarven

    @SkipperMacz In case you are interested, I have completed the project based on v1.1a. I have also updated the accompanying document. Check out the link:

    https://drive.google.com/drive/folders/1bt0euYHjSdla7srvA_8fSl4J8yQjiLlk?usp=sharing

    I added in all the axes and reconfigured a few things. There is now no need to have anything configured in FS2024 itself.

    S Offline
    S Offline
    SkipperMacz
    wrote on last edited by
    #13

    @fredgarven said in Axis control for Cowl Flaps:

    In case you are interested...

    I'm VERY Interested! Many thanks @fredgarven for this further insight into MobiFlight use for the Commander 114. Your cowl flaps control has already enhanced the experience and I look forward to exploring what else you have magically included in this project finale 🙂

    1 Reply Last reply
    0
    • J jmarkows

      @SkipperMacz Actually I owe you something of an apology. I haven't started the sim in a while to look at the FSUPIC UI with my profile loaded, but I did crack open my saved profile ini files this evening to confirm what I expected.

      I have done two methods for cowl flaps across a few different aircraft. For the BS Bonanza, I made an event in the myevents.txt file as follows:
      BT36_Cowl_Flap#@ 16384 + 32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

      This gets bound to the axis of my choice and converts it to the 0 to 100% that the Avar in use there is expecting in my Bonanza profile:
      3=BR,256,F,PBT36_Cowl_Flap,0,0,0 -{ TO SIM: Preset Control }-

      So there was a little bit of work to get it done, mostly to convert the axis range from 0-100 I think, but should be "fairly" simple to do.

      C Offline
      C Offline
      cconesa
      wrote last edited by
      #14

      @jmarkows Would it be too much trouble if you could give us the actual FSUIPC (edits) commands that need to be added so that the commander cowl flap works with the Honeycomb Bravo control and the second mixture lever, please?.

      I have seen the commands in your post but I am unable to replicted in the INI and PRESET files so that it works.

      Thank you. Christian C./

      F 1 Reply Last reply
      0
      • C cconesa

        @jmarkows Would it be too much trouble if you could give us the actual FSUIPC (edits) commands that need to be added so that the commander cowl flap works with the Honeycomb Bravo control and the second mixture lever, please?.

        I have seen the commands in your post but I am unable to replicted in the INI and PRESET files so that it works.

        Thank you. Christian C./

        F Offline
        F Offline
        fredgarven
        wrote last edited by
        #15

        @cconesa
        COMMANDER114_COWL_FLAPS#@ 16384 + 32767 / 0 max 1 min (>B:ENGINE_CowlFlaps_Set)

        In case I got it backwards:

        COMMANDER114_COWL_FLAPS_REVERSED#1 @ 16384 + 32767 / 0 max 1 min - (>B:ENGINE_CowlFlaps_Set)

        1 Reply Last reply
        0
        • J Offline
          J Offline
          jmarkows
          wrote last edited by jmarkows
          #16

          Hah, that probably would have been the way to do it if I had been a thinking man that night. On finding that it was apparently reversed compared to the Bonanza, I spent a good bit of time figuring out how to subtract negative numbers and ended up with this:

          AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

          @fredgarven I understand that the # signifies the end of the preset name and the @ is the incoming axis or passed value, but what's the significance of putting the #1 @? What does that do, invert the input?

          F 1 Reply Last reply
          0
          • J jmarkows

            Hah, that probably would have been the way to do it if I had been a thinking man that night. On finding that it was apparently reversed compared to the Bonanza, I spent a good bit of time figuring out how to subtract negative numbers and ended up with this:

            AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

            @fredgarven I understand that the # signifies the end of the preset name and the @ is the incoming axis or passed value, but what's the significance of putting the #1 @? What does that do, invert the input?

            F Offline
            F Offline
            fredgarven
            wrote last edited by
            #17

            @jmarkows The #1 isn't anything special. The # just separates the preset name from the calculator code.

            So this:

            COMMANDER114_COWL_FLAPS_REVERSED#1 @ 16384 + 32767 / 0 max 1 min - (>B:ENGINE_CowlFlaps_Set)

            is just using 1 - value at the end to reverse the axis.

            I used 0 to 1 because B:ENGINE_CowlFlaps_Set expects a normalized value. Your 0 to 100 version is doing the same basic thing, just writing directly to the A:Var.

            I probably should have spaced it out better the first time because #1 does look like some kind of special FSUIPC syntax.

            C 1 Reply Last reply
            1
            • J Offline
              J Offline
              jmarkows
              wrote last edited by
              #18

              I completely missed the - all the way at the end of the line, but it makes sense now.

              1 Reply Last reply
              0
              • F fredgarven

                @jmarkows The #1 isn't anything special. The # just separates the preset name from the calculator code.

                So this:

                COMMANDER114_COWL_FLAPS_REVERSED#1 @ 16384 + 32767 / 0 max 1 min - (>B:ENGINE_CowlFlaps_Set)

                is just using 1 - value at the end to reverse the axis.

                I used 0 to 1 because B:ENGINE_CowlFlaps_Set expects a normalized value. Your 0 to 100 version is doing the same basic thing, just writing directly to the A:Var.

                I probably should have spaced it out better the first time because #1 does look like some kind of special FSUIPC syntax.

                C Offline
                C Offline
                cconesa
                wrote last edited by
                #19

                @jmarkows @fredgarven , thank you both for the reply and now I am going to be as thick as two planks...

                This line goes into the events file in FSUIPC?. If so, how to activate it in FSUIPC so that the second mixture throttle detects it as a cowl flap setting?.

                Thank you.

                J 1 Reply Last reply
                0
                • C cconesa

                  @jmarkows @fredgarven , thank you both for the reply and now I am going to be as thick as two planks...

                  This line goes into the events file in FSUIPC?. If so, how to activate it in FSUIPC so that the second mixture throttle detects it as a cowl flap setting?.

                  Thank you.

                  J Offline
                  J Offline
                  jmarkows
                  wrote last edited by
                  #20

                  @cconesa Go ahead and add this line to your myevents.txt file. If it doesn't exist, create it; you could just put it in events.txt if you wanted, but as that's the Mobiflight event library, the next time you install or update FSUIPC you run the risk of overwriting it and losing all your custom events.

                  //Black Square/Commander114/Engine
                  AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

                  Once you have that in there, either start FSUIPC or, if it was already running, go to File -> Reload Presets. From there, in the Axis menu, you should be able to move the axis you want bound to the cowl flaps and select Assign to Preset on the right, then either dig the AC11_Cowl_Flap preset out of the large list or click the Find Preset button to navigate around to it.

                  My sim is not running and my stuff isn't set up right now, otherwise I could provide some UI images of FSUIPC.

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    cconesa
                    wrote last edited by
                    #21

                    And this is how it finally worked in FSUIPC:
                    added the following to the events.txt file:
                    //Black Square/Commander 114/General
                    AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

                    And assigned the second mixture axis to the cowl flap that now reads in FSUIPC.ini:
                    0=1Z,256,F,PAC11_Cowl_Flap,0,0,0 -{ TO SIM: Preset Control }-

                    Done.

                    Any suggestions for the assignment of the "pitot heater" to the events.txt file?

                    J 1 Reply Last reply
                    0
                    • C cconesa

                      And this is how it finally worked in FSUIPC:
                      added the following to the events.txt file:
                      //Black Square/Commander 114/General
                      AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)

                      And assigned the second mixture axis to the cowl flap that now reads in FSUIPC.ini:
                      0=1Z,256,F,PAC11_Cowl_Flap,0,0,0 -{ TO SIM: Preset Control }-

                      Done.

                      Any suggestions for the assignment of the "pitot heater" to the events.txt file?

                      J Offline
                      J Offline
                      jmarkows
                      wrote last edited by jmarkows
                      #22

                      @cconesa

                      Here are all the events I've done for the Commander so far. Very happy with the flaps one, actually. The button I have set to Flaps Up will set the switch to Up if it isn't, or neutral if it is, and Flaps Down will send 3 on press and 2 on release, so until I release the button I'll do flaps down, just like the real thing 🙂

                      //Black Square/Commander114/Engine
                      AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)
                      AC11_Cabin_Heat#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_CabinHeatHandle, number)
                      AC11_Cabin_Vent#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_CabinVentHandle, number)
                      AC11_Defrost#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_DefrosterHandle, number)
                      AC11_Magneto_Increase#(L:BKSQ_IgnitionPosition_1, number) ++ 4 == if{ 5 (>L:BKSQ_IgnitionPosition_1, number) } els{ (L:BKSQ_IgnitionPosition_1, number) ++ 5 min (>L:BKSQ_IgnitionPosition_1, number) }
                      AC11_Magneto_Decrease#(L:BKSQ_IgnitionPosition_1, number) -- 0 max (>L:BKSQ_IgnitionPosition_1, number)
                      //Black Square/Commander114/AntiIce
                      AC11_Pitot_Heat#@ (>L:var_PitotHeatSwitch, bool)
                      //Black Square/Commander114/Primary Control
                      AC11_FlapsDown#@ (>L:var_FlapSwitchOverride,number)
                      AC11_FlapsUp#(L:var_FlapSwitchOverride,number) 1 == if{ 2 (>L:var_FlapSwitchOverride, number) } els{ 1 (>L:var_FlapSwitchOverride, number) }

                      C 1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        SkipperMacz
                        wrote last edited by
                        #23

                        At the risk of turning this thread into a programming tutorial, I love how this 'FlapsUp' simulates the latching switch in the Commander. Is it possible to achieve this with MobiFlight and not just FSUIPC? Further up this thread I got introduced to Mobi and like how it looks and operates, but as yet I have NO IDEA how to change anything.

                        F 1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          Myslr95
                          wrote last edited by
                          #24

                          Yes, you can achieve these results with mobi, spad, hangar control, fsuipc and I'm sure there are others too. Once you get over the learning curve, you will never fly without it.

                          1 Reply Last reply
                          0
                          • J jmarkows

                            @cconesa

                            Here are all the events I've done for the Commander so far. Very happy with the flaps one, actually. The button I have set to Flaps Up will set the switch to Up if it isn't, or neutral if it is, and Flaps Down will send 3 on press and 2 on release, so until I release the button I'll do flaps down, just like the real thing 🙂

                            //Black Square/Commander114/Engine
                            AC11_Cowl_Flap#@ 16384 - -32767 / 100 * 0 max 100 min (>A:RECIP ENG COWL FLAP POSITION:1, percent)
                            AC11_Cabin_Heat#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_CabinHeatHandle, number)
                            AC11_Cabin_Vent#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_CabinVentHandle, number)
                            AC11_Defrost#@ 16384 + 32767 / 100 * 0 max 100 min (>L:var_DefrosterHandle, number)
                            AC11_Magneto_Increase#(L:BKSQ_IgnitionPosition_1, number) ++ 4 == if{ 5 (>L:BKSQ_IgnitionPosition_1, number) } els{ (L:BKSQ_IgnitionPosition_1, number) ++ 5 min (>L:BKSQ_IgnitionPosition_1, number) }
                            AC11_Magneto_Decrease#(L:BKSQ_IgnitionPosition_1, number) -- 0 max (>L:BKSQ_IgnitionPosition_1, number)
                            //Black Square/Commander114/AntiIce
                            AC11_Pitot_Heat#@ (>L:var_PitotHeatSwitch, bool)
                            //Black Square/Commander114/Primary Control
                            AC11_FlapsDown#@ (>L:var_FlapSwitchOverride,number)
                            AC11_FlapsUp#(L:var_FlapSwitchOverride,number) 1 == if{ 2 (>L:var_FlapSwitchOverride, number) } els{ 1 (>L:var_FlapSwitchOverride, number) }

                            C Offline
                            C Offline
                            cconesa
                            wrote last edited by
                            #25

                            @jmarkows thank you very much, will get on to it this afternoon!.

                            1 Reply Last reply
                            0
                            • S SkipperMacz

                              At the risk of turning this thread into a programming tutorial, I love how this 'FlapsUp' simulates the latching switch in the Commander. Is it possible to achieve this with MobiFlight and not just FSUIPC? Further up this thread I got introduced to Mobi and like how it looks and operates, but as yet I have NO IDEA how to change anything.

                              F Offline
                              F Offline
                              fredgarven
                              wrote last edited by
                              #26

                              @SkipperMacz I went ahead and changed my flap setup based on the idea you and @jmarkows were discussing. I tested it with power on and off and it is working really well.

                              UP now behaves like the real Commander switch. One tap latches it UP and the flaps continue retracting. Tap UP again and it returns to CENTER.

                              Flaps UP - On Press:

                              (L:var_FlapSwitchOverride, number) 1 == if{
                                  2 (>L:var_FlapSwitchOverride, number)
                              }
                              els{
                                  1 (>L:var_FlapSwitchOverride, number)
                              }
                              

                              On Hold: blank

                              On Release: blank

                              DOWN is still momentary. I added a repeated continuous-flap command because using only the override caused the flap motor to pulse badly during the first part of extension.

                              Flaps DOWN - On Press:

                              3 (>L:var_FlapSwitchOverride, number)
                              
                              (A:ELECTRICAL MAIN BUS VOLTAGE:5, volts) 6 >
                              (L:var_Breaker_FlapMotor_ReadOnly, bool)
                              and
                              if{
                                  190 (>K:FLAPS_CONTINUOUS_INCR)
                              }
                              

                              Flaps DOWN - On Hold:

                              (A:ELECTRICAL MAIN BUS VOLTAGE:5, volts) 6 >
                              (L:var_Breaker_FlapMotor_ReadOnly, bool)
                              and
                              if{
                                  190 (>K:FLAPS_CONTINUOUS_INCR)
                              }
                              

                              For the DOWN On Hold settings I am using:

                              Hold Delay: 100 ms
                              Repeat Delay: 100 ms

                              Flaps DOWN - On Release:

                              2 (>L:var_FlapSwitchOverride, number)
                              

                              That got rid of the pulsing completely for me. DOWN now sounds and moves smoothly while held, then returns to CENTER when released. UP stays latched until I tap it again.

                              I have updated my Commander MobiFlight project with this setup as well. This should be the final update. I have moved all of the sections into their own tabs, so it might look a little different. You can find it here:

                              FredGarven's Mobiflight Projects

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                jmarkows
                                wrote last edited by jmarkows
                                #27

                                Interesting, with FSUIPC I am not seeing the pulsing using only the single LVar override On Press and again On Release. It could be a difference in hardware, though; maybe my Turtle Beach V1 quadrant is not pulsing the input.

                                Glad you were able to adapt it to suit your needs, though!

                                fizzboyF 1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  SkipperMacz
                                  wrote last edited by
                                  #28

                                  @fredgarven This is tremendous work! I love how you have used the tabs to arrange the project and, although I haven't tested yet, I'm pleased to see you have gotten your skills around the voodoo task of replicating the Commander's flaps switch functions. The Project Guide document is a real work of dedication and I can highly recommend it and the project itself to anyone flying the excellent Commander.

                                  1 Reply Last reply
                                  0
                                  • J jmarkows

                                    Interesting, with FSUIPC I am not seeing the pulsing using only the single LVar override On Press and again On Release. It could be a difference in hardware, though; maybe my Turtle Beach V1 quadrant is not pulsing the input.

                                    Glad you were able to adapt it to suit your needs, though!

                                    fizzboyF Offline
                                    fizzboyF Offline
                                    fizzboy
                                    wrote last edited by
                                    #29

                                    @jmarkows I know you implemented the VS properly with 200 fpm increments but I kinda love that you can make it increment by 100 fpm and the dial animates to a spot between the digits.

                                    "No... I really want to descend at 500 fpm, thank you."

                                    1 Reply Last reply
                                    0
                                    • fizzboyF fizzboy referenced this topic
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users