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. TBM 850
  6. fs2024 version CWS yoke button assignment

fs2024 version CWS yoke button assignment

Scheduled Pinned Locked Moved TBM 850
17 Posts 4 Posters 276 Views 2 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.
  • Black SquareB Offline
    Black SquareB Offline
    Black Square
    Black Square Developer
    wrote last edited by Black Square
    #4

    Oh, we're talking about the TBM here? I'm very confused. Where do you see this note about "Control AP Pitch with Hardware Events" in regards to the TBM? Those notes are in the v1.1 changelog for the Dukes, not the TBM.

    Either way, the CWS functionality of the native autopilot is very poorly implemented, and I don't even have a variable to access to know when it's activated. Your two options are K:SYNC_FLIGHT_DIRECTOR_PITCH, and L:var_PilotCws_IsDown, which can be configured with any 3rd party binding software. I believe there is also a native binding in the MSFS controls menu for the K:SYNC_FLIGHT_DIRECTOR_PITCH event, though I would have to look next time I'm at my desk. If that doesn't clear things up, please let me know! Always happy to help.

    hughesj2H 1 Reply Last reply
    0
    • Black SquareB Black Square

      Oh, we're talking about the TBM here? I'm very confused. Where do you see this note about "Control AP Pitch with Hardware Events" in regards to the TBM? Those notes are in the v1.1 changelog for the Dukes, not the TBM.

      Either way, the CWS functionality of the native autopilot is very poorly implemented, and I don't even have a variable to access to know when it's activated. Your two options are K:SYNC_FLIGHT_DIRECTOR_PITCH, and L:var_PilotCws_IsDown, which can be configured with any 3rd party binding software. I believe there is also a native binding in the MSFS controls menu for the K:SYNC_FLIGHT_DIRECTOR_PITCH event, though I would have to look next time I'm at my desk. If that doesn't clear things up, please let me know! Always happy to help.

      hughesj2H Offline
      hughesj2H Offline
      hughesj2
      wrote last edited by
      #5

      @Black-Square Thanks Nick, yes sorry the post was tagged TBM I thought so didn't specify (I actually thought the instructions were also the same for TBM and Dukes but obviously was wrong)
      I have the Sync flight director command bound natively to my "5" button on my warthog which I believed would operate as "CWS" however as Airvice mentions you don't get an EADI indication that CWS is in operation when using the binding and the yoke button in sim doesn't animate (unless you click on it in sim with mouse)...So it's not activating "CWS". It is however acting as an FD Pitch sync button as I set the pitch to ~10 degrees and then pressed Sync flight director and it returns the pitch to near 0....So it's working fine for syncing pitch just not I guess as CWS? But then again my understanding of CWS is from 737 sim so may be a different function here (no roll?)
      Cheers
      James

      1 Reply Last reply
      0
      • Black SquareB Offline
        Black SquareB Offline
        Black Square
        Black Square Developer
        wrote last edited by
        #6

        Thanks for the explanation. It sounds like everything is working correctly. Like I said, there is no variable in the simulator for when the pitch sync mode is activated, so I have no way to trigger the "CWS" flag on the EADI when you use the native command. Your understanding of CWS is probably correct, but MSFS does not have any CWS functionality natively, so I gave you the next best thing I had available.

        hughesj2H 1 Reply Last reply
        1
        • Black SquareB Black Square

          Thanks for the explanation. It sounds like everything is working correctly. Like I said, there is no variable in the simulator for when the pitch sync mode is activated, so I have no way to trigger the "CWS" flag on the EADI when you use the native command. Your understanding of CWS is probably correct, but MSFS does not have any CWS functionality natively, so I gave you the next best thing I had available.

          hughesj2H Offline
          hughesj2H Offline
          hughesj2
          wrote last edited by
          #7

          @Black-Square Fair enough 👍🏼

          1 Reply Last reply
          0
          • A Offline
            A Offline
            airvice
            wrote last edited by
            #8

            @Black-Square blacksquare perhaps i am misunderstanding something here, are you saying that there is no way of activating the inbuilt cws function on the TBM via a button binding, or that the cws feature doesnt actually work in the sim. lets say i was able to click the yoke cws button and see the announciated cws appear on the EADI, would it then work correctly?. The way i read the tbm manual new feature section v1.1 is that its a new feature therefore i assumed it wouild not only be accessable but also work correctly? Or If i use a 3rd party binding software i should be able to activate this feature using a joystick binding and see it announciate on the eadi and its just the native sim option K:SYNC_FLIGHT_DIRECTOR_PITCH that has no variables to trigger the cws flag and indication on the eadi?

            1 Reply Last reply
            0
            • A Offline
              A Offline
              airvice
              wrote last edited by airvice
              #9

              @Black-Square is there a way of setting cws up with fsuipc? as in binding a joysick button to activate it so that it clicks the cws button on the yoke and announciates on the eadi just by pressing a button on my yoke?

              1 Reply Last reply
              0
              • Black SquareB Offline
                Black SquareB Offline
                Black Square
                Black Square Developer
                wrote last edited by
                #10

                You are correct on all accounts, but one clarification is also necessary.

                No, the CWS message will not appear on the EADI when using K:SYNC_FLIGHT_DIRECTOR_PITCH, because the simulator does not have a method for me to access when this event is triggered. This is just an oversight in the sim, which has probably existed for 30 years in its code.

                Yes, you can easily use fsuipc to trigger L:var_PilotCws_IsDown, so the message will illuminate and the pitch sync functionality will be triggered.

                Clarification: What you are triggered here is a pitch sync functionality, and not CWS. The simulator's native autopilot implementation does not have any sense of real control-wheel-steering.

                A 1 Reply Last reply
                0
                • Black SquareB Black Square

                  You are correct on all accounts, but one clarification is also necessary.

                  No, the CWS message will not appear on the EADI when using K:SYNC_FLIGHT_DIRECTOR_PITCH, because the simulator does not have a method for me to access when this event is triggered. This is just an oversight in the sim, which has probably existed for 30 years in its code.

                  Yes, you can easily use fsuipc to trigger L:var_PilotCws_IsDown, so the message will illuminate and the pitch sync functionality will be triggered.

                  Clarification: What you are triggered here is a pitch sync functionality, and not CWS. The simulator's native autopilot implementation does not have any sense of real control-wheel-steering.

                  A Offline
                  A Offline
                  airvice
                  wrote last edited by
                  #11

                  @Black-Square thank you for the explanation. I'm struggling to find any documentation on how to set this up in fsuipc, do you have any info in that? seems like i would have to write some code snippets or at least edit the fsuipc ini which ive tried and no luck so far

                  J 1 Reply Last reply
                  0
                  • A airvice

                    @Black-Square thank you for the explanation. I'm struggling to find any documentation on how to set this up in fsuipc, do you have any info in that? seems like i would have to write some code snippets or at least edit the fsuipc ini which ive tried and no luck so far

                    J Online
                    J Online
                    jmarkows
                    wrote last edited by
                    #12

                    @airvice FSUIPC has the documentation you need in order to bind keys to LVar settings. It's under the Advanced Users guide. It does require the paid version of FSUIPC though.

                    1 Reply Last reply
                    0
                    • J Online
                      J Online
                      jmarkows
                      wrote last edited by
                      #13

                      @Black-Square Food for thought on the native K event, Nick; JustFlight has something similar in the 146 that allows you to disengage the AP servos to set a new VS reference datum, similar to how I think CWS is being described as working here. In their case, they use a throwaway binding; I think there's one for press and hold functionality and one for just an immediate snapshot, but they're both bindings like Afterburner Toggle. Unless this is another instance of things possible with WASM that aren't with whatever you work your magic with.

                      @airvice Have you made any progress on this? I have some code snippets I can provide from both the TBM (where I have a button for 850 mode) and the Starship (where I have a button for checklist advance) that might help illustrate how it should work. I may also switch to the CWS_IsDown instead of using the native K event binding in the sim.

                      A 1 Reply Last reply
                      0
                      • J jmarkows

                        @Black-Square Food for thought on the native K event, Nick; JustFlight has something similar in the 146 that allows you to disengage the AP servos to set a new VS reference datum, similar to how I think CWS is being described as working here. In their case, they use a throwaway binding; I think there's one for press and hold functionality and one for just an immediate snapshot, but they're both bindings like Afterburner Toggle. Unless this is another instance of things possible with WASM that aren't with whatever you work your magic with.

                        @airvice Have you made any progress on this? I have some code snippets I can provide from both the TBM (where I have a button for 850 mode) and the Starship (where I have a button for checklist advance) that might help illustrate how it should work. I may also switch to the CWS_IsDown instead of using the native K event binding in the sim.

                        A Offline
                        A Offline
                        airvice
                        wrote last edited by
                        #14

                        @jmarkows

                        ive been through the fsuipc advanced manual i have the pay version, but i just cant get it to work. Im not an expert at fs coding so im sure it's user error but i think the manual assumes those using it are already at an advanced level. im not. If you have any suggestions id appreciate it, however i would need very clear and full instructions on how to do it as im new to all this from the back end

                        J 1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          airvice
                          wrote last edited by
                          #15

                          @Black-Square Im using the pms50 gtn750 paid version. Well regarding range rings and tod i was thinking of the nav gps system somewhere?

                          1 Reply Last reply
                          0
                          • A airvice

                            @jmarkows

                            ive been through the fsuipc advanced manual i have the pay version, but i just cant get it to work. Im not an expert at fs coding so im sure it's user error but i think the manual assumes those using it are already at an advanced level. im not. If you have any suggestions id appreciate it, however i would need very clear and full instructions on how to do it as im new to all this from the back end

                            J Online
                            J Online
                            jmarkows
                            wrote last edited by jmarkows
                            #16

                            @airvice The exact layout of everything you do will ultimately depend on how you have FSUIPC configured. I am a fan of using the "UseProfiles=Files" option in the FSUIPC.ini file, which separates all of my different aircraft profiles into separate .ini files in the Profiles folder, instead of just cramming all of it into the FSUIPC.ini file. In my FSUIPC.ini file, there is only a single line relevant to all of this (well, technically two):

                            [Profile.TBM850]
                            1=Black Square TBM 850 Red & Gold
                            

                            This tells FSUIPC that when I load the aircraft model titled "Black Square TBM 850 Red & Gold" to load the profile named TBM850. This is really just FYI to showcase how I call it; as I said, how you call it will depend on how you set it up, and I really can't help with it remotely. The meat of my TBM850.ini should be more easily usable from a plug & play sense, though.

                            My TBM850.ini file is relatively simple:

                            [Profile]
                            Created=19/10/2024 22:31:24
                            [Buttons]
                            0=PD,11,C66006,30 	-{PROP_PITCH1_DECR}-
                            1=UD,11,C66007,0 	-{PROP_PITCH1_HI}-
                            2=PD,13,Cx0100A000,x01 	-{offset byte set, offset A000}-
                            3=UD,13,Cx0100A000,x00 	-{offset byte set, offset A000}-
                            [LvarOffsets]
                            0=L:var_850Mode=UB0xA000
                            

                            There are four simple operations in this profile.

                            • 0=Pressing button D11 on my Velocity One throttle, which for me corresponds to the button at the end of my propeller axis, will decrease the propeller pitch axis by a value of 30. This effectively puts the propeller pitch lever in the TBM cockpit into the Feather detent, and it feathers the prop on the aircraft.
                            • 1= Releasing button D11 on my Velocity One throttle sets Propeller Pitch 1 axis to the High value, which just moves it out of the feather detent, and the propeller unfeathers.
                            • 2= and 3= I don't believe I generated, I let the Button configuration screen in FSUIPC set that for me. More on this in a bit.

                            Under [LvarOffsets], I have a single entry, 0=L:var_850Mode=UB0xA000, which basically says to FSUIPC "when you see offset 0xA000, that means this Lvar." Exactly what an offset it and how it works is beyond the scope of this post, which is fortunate because it's beyond the scope of me, too. However, experimentally I have seen that simply setting Lvars directly may or may not work, but it will not animate whatever you are trying to do, which is half the fun. Setting the 850Mode Lvar to an offset allows the 850 mode switch in the TBM cockpit to move in and out of its position as I toggle it.

                            Wherever you end up putting your TBM commands, put this text to start:

                            [LvarOffsets]
                            0=L:var_PilotCws_IsDown=UB0xA000
                            

                            1c96de21-65d1-4102-9a6d-d359c3d63939-image.png

                            Once you are in the sim with the TBM loaded, go to the Button and Switch assignments screen in FSUPIC and press the button you want to bind. Make sure that ProfileSpecific is checked (maybe do this first so that the profile is created for you, then find whatever you named it when creating it either in the FSUIPC.ini file, or as a separate file). For this button, you want Select for FS Control in the upper right, then navigate to Offset Byte Set for the Control sent when button pressed and released. Enter the offset (in this case xA000 is the first freely available one), and set the parameter to x01 for pressed and x00 for released. Then save it.

                            It "should" be as simple as that, once that saves, you should be able to press your button and see the CWS button work in the virtual cockpit.

                            EDIT: since I had to bring everything up anyway, I figured I might as well go all the way and do it myself to verify.

                            8c5ff1e1-1d36-4b0d-addf-84ddd39bd2f4-image.png

                            After adding a second line into the LVarOffsets area and then binding button B9 to the above settings, my TBM850.ini profile now looks like:

                            [Profile]
                            Created=19/10/2024 22:31:24
                            [Buttons]
                            0=PA,11,C66006,30 	-{PROP_PITCH1_DECR}-
                            1=UA,11,C66007,0 	-{PROP_PITCH1_HI}-
                            2=PA,13,Cx0100A000,x01 	-{offset byte set, offset A000}-
                            3=UA,13,Cx0100A000,x00 	-{offset byte set, offset A000}-
                            4=PB,9,Cx0100A002,x01 	-{offset byte set, offset A002}-
                            5=UB,9,Cx0100A002,x00 	-{offset byte set, offset A002}-
                            [LvarOffsets]
                            0=L:var_850Mode=UB0xA000
                            1=L:var_PilotCws_IsDown=UB0xA002
                            

                            I have not flown the TBM yet with this, but I can see the yoke button depressing and releasing in the cockpit so I assume it will work.

                            1 Reply Last reply
                            0
                            • J Online
                              J Online
                              jmarkows
                              wrote last edited by
                              #17

                              Oh my goodness, I did all of that so long ago I forgot what I learned for the Starship and the Dukes. There's a much simpler way to go about it.

                              //Black Square/TBM/Autopilot
                              Pilot_CWS_Down#1 (>L:var_PilotCws_IsDown, bool)
                              Pilot_CWS_Up#0 (>L:var_PilotCws_IsDown, bool)
                              //Black Square/TBM/Engine
                              850_Mode_On#1 (>L:var_850Mode, bool)
                              850_Mode_Off#0 (>L:var_850Mode, bool)
                              

                              Put that into a file in your FSUIPC directory called myevents.txt. If it doesn't exist, create it. From the Buttons and Switches Assignment screen, select your button, do your profile stuff (you really should so that it auto loads profiles depending on what aircraft you load), then just click Find Preset for both press and release.

                              5729958f-65bf-4477-a174-274ddb0e6ad1-image.png

                              It will be under Personal-->Black Square-->TBM and so on based on how it is listed in myevents.txt. How to set it is already done in the so-called "calculator code" I have above in the snipped that goes into myevents.txt. CWS_Down will always send a 1, CWS_Up will always send a 0. There is some very powerful RPN coding possible in there that I haven't yet been able to make heads or tails of, but this is a simple enough way that it should get you up and running pretty quickly.

                              image.png

                              1 Reply Last reply
                              0
                              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