Most of the commonly reported issues and questions are answered in the Frequently Asked Questions (FAQ) option under the Support menu of this website.
*** PLEASE NOTE ***
Your forum account is not the same as the account used in the shop. They are completely separate accounts.
1st December: A new version of the GoFlight Interface Tool for MSFS is now available.
12th November: A new version of the GoFlight Interface Tool for X-Plane is now available.
6th June: A new version of Virtual Flight Sim Hardware is now available (huge update)
21st November: A new version of the GoFlight Interface Tool for FSX/FSXSE/P3D is now available.

xplane crashes when quitting

2»

Comments

  • This is the thread we are following up ixeg/gizmo just in case you are interested.

    Another guy did a lua script to write some basic ixeg/datarefs and it also crashes xplane depending how fast he writes. So yes, it seems the issue is on their side. Lets see...
  • http://forums.x-pilot.com/forums/topic/9357-gizmo-x-plane-crash-when-sending-datarefs/


    Tried and tried to find those MCPPRO variables to know the ROTATE state for use them on the besproke code to automatize 100/1000 increments but unable :(
    When you are able, i will be glad if you can help me how to find/use them
  • I've been trying to sort that out too but I think it is an Xplane dataref that determines 100's or 1000's 
    Steve McNitt
  • I've been doing the flipflop events like this, is it wrong?

    ALT_MULTIPLIER
    :Off:
    if bespoke Var 0 = 1 Next Else Next Skip
    Bespoke Var 0 = 0
    :On:
    if bespoke Var 0 = 0 Next Else Next Skip
    Bespoke Var 0 = 1

    The labels aren't needed I just put them in for readability or any goto's and it seems to be working.
    Steve McNitt
  • Hi Steve,

    The logic is fine, like you said it does work. Internally and probably not perceptiable by anyone is that it would run slower because you are causing a variable value to be fetched twice (two If statements). A Goto is simple and very fast. An If statement is slower because it has to determine a variables position in memory (a list), retrieve the value and then check the logic of the If statement.

    In reality no-one would notice the difference unless it was called continuously.

    Best wishes

    Steve

  • edited April 2016
    Manuel I had an idea I haven't tried yet but why not use a bespoke variable and then with a button toggle you could write either 100 or 1000 to that bespoke variable. 

    Then in your altitude dial increase and decrease bespoke events, read that bespoke variable and increment by that using (if Var)?

    I was going to do that on the T7 but the outer ring on the altitude dial does the same function so I'm going to use the alt intv button to toggle between 100's and 1000's
    Steve McNitt
  • Good idea

    But i think the SET+ operation does not support ALTITUDE_DATAREF + BESPOKE VARIABLE it only supports for ALTITUDE_DATAREF + entered value

    Anyway this will not solve heading, speed, course issues, you need 1 / 10 multiplier here. It will require another button.

    I think best would be still trying to understand the status of the MCP (speed the user is rotating) to accelerate or not


  • The "rotate" feature does not seem to work as good as it does in P3D and FSX. I honestly don't see a difference. I tried even setting the delays for the MCP to 0 , With the mousewheel manipulators in XPX I can see it does send a lot faster on the green indicator light in GIT when using the mousewheel compared to the rate GIT sends .

    . To make matters worse I think diff devs use diff methods for acceleration on  turning the rotaries. I think I saw somewhere for a mode 2 related to them in a dataref but now I can't find it again. That'smy only real complaint so far.
    Steve McNitt
  • Hi Steve,

    The Rotate code is the same code in all GIT versions. I'm guessing that FSX/Prepar3D see repeated commands and go into some sort of acceleration mode.

    What I can do is tweak the code for X-Plane so instead of it being a linear mapping (e.g speed = 2, so send 2 commands), I cold do an exponential map onto the speed so say 2 would send 3 commands, 3 would send 9 commands etc. Its easy enough to do so I'll add it to the dev plan and try and get it out ASAP.

    Best wishes

    Steve

  • Great, thanks for taking a look at it.
    Steve McNitt
  • I did find a way to make it work in the meantime, send the dataref and increment a bespoke variable, then when the bespoke variable hits goes over like 3 , I call a different bespoke event that fires the same dataref multiple times and resets the bespoke variable back to 0.

    poor mans acceleration lol
    Steve McNitt
  • I have got the rotary acceleration working a treat. I also have the display blanking working and the separate file for BespokeEvents.xml and BespokeVariables.xml.

    I just want to do an EFIS default config and then I'll release it, probably late tomorrow.

    Best wishes

    Steve

  • Sweet!
    Steve McNitt
  • thanks, great news!!
  • Version 1.3 is now available in your account to download.

    Best wishes

    Steve

  • thanks!!! will download and test
  • Steve

    I just want you congratulate for the acceleration on the rotaries, it work brilliant. Couple of fast turns and you can do a 360. Very nice.

    One small doubt, when using the altitude rotary with xplane custom command it accelerates quite fast. But when using the altitude rotary with the bespoke +/-100 routine over the dataref seems not to accelerate. Is this ok?


  • edited May 2016

    Commands are processed within X-Plane so they always have up-to-date DataRefs to run against. Bespoke Events run outside of X-Plane and access DataRefs via a shared memory area between GIT and the GIT plugin.

    So when a task sends an update to a DataRef, the command is processed by the plugin and then the shared memory area is updated. This happens extremely fast but there is a delay non the less.

    The Rotate function is also operating extremely fast so many of the task updates on a DataRef are actually just setting the DataRef to the same value because the shared memory area has not yet been updated.

    The trick is to add a Sleep task before or after the Set task to give the GIT Plugin chance to update shared memory. You want the Sleep task to use a very small number (its in milliseconds), so try a few values until it works better.

    PS: This thread now bears no resemblance to the title. Can you open up new threads please unless its about crashes, otherwise all the useful stuff being talked about will be missed by others. :)

    Best wishes

    Steve

  • yes you are correct, this thread became Manuel's one :)


    maybe you can split it in two not to miss for others what already discussed? or i will open another threat for the rotary acceleration.
  • edited June 2016
    Accelerate works fairly well for altitude rotary by adding "sleep 5" as suggested for IXEG plane.

    Steve, could you please add the accelerate logic to the EFIS rotaries?  Setting DH is rather tedious on the IXEG.
  • The logic applies to every rotary so long at the Event Action is ROTATE.

    Best wishes

    Steve

  • edited June 2016
    Slai, open the EFIS tab and set the actions for clockwise and counterclockwise to "rotate" for the DH rotary - easy enough to fix. Not sure why that didn't get in my profile.  Sometimes I loose changes and can't figure out where or when stuff like this happens

    If you have any further requests for the profile can you post it to that forum thread please? 

    I've made the changes and will post an updated version in a bit.
    Steve McNitt
Sign In or Register to comment.