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.

MCP - HDG/CRS rotation speeds

Goflight MCP - XP11 - Laminar Baron B58

Hi Steve,

Rotating the MCP heading or course selector is a slow process under the FS default MCP config - especially all the way thru 180deg.

Is there a method that can be applied to manage a two step rotation speed to reduce the time spent winding the bug thru large changes ?

* Rotate fast = 10deg increments
* Rotate slow = 1deg increments

Thanks in advance,

Brett

Answers

  • Hi Bret,

    Can you check the Event Action is set to ROTATE for the clockwise and anti-clockwise events.

    Thx
    Steve
  • Steve - I'll follow this up once I get my system back up and running after rebuild.
  • Hi Steve,

    Yes, the MCP Heading event action is set to rotate for both the clockwise and anti clockwise events, but there is no ability to increase the speed of rotation, which is what I am after.

    I wondered if you could apply a bespoke event that may provide a two-step rotational speed selection for both the HDG and Nav1-Nav2 CRS selector.

    Brett
  • With the ROTATE event action, the faster you turn the rotary, the greater the change.

    If that still isn't good enough, you would need two bespoke events for the heading change which would add or subtract 10 degrees from the dataref "sim/cockpit/autopilot/heading_mag".

    Best wishes
    Steve
  • flakster , when I run into that situation and acceleration doesn't seem to work , sometimes it's just as easy to find the commands that rotate the knob left/right and use those instead of hitting the dataref directly. Then you will be using any acceleration routine that Laminar or the airplane developer put in by default without having to do anything special in GIT
    Steve McNitt
  • Thank you Steve - I'll give that a try.
  • BTW. if I rapidly rotate the GF-MCP HDG bug in excess of 90deg (in either direction) from the original HDG, the GIT will (more often than not) crash .. requiring a USB disconnect/reconnect plus a GIT-RESTART to reload the MCP.
  • I'll see if I can replicate the problem.

    Best wishes
    Steve
  • A discussion on the X-Plane HDG/OBS rapid rotational speeds may be found via this thread on X-Plane.org.

    It appears that Laminar have not yet had the time to include a fix, however the coding of a simple Lua script plugin by a XP.org member (see post dated 10Jan18) may have merit - albeit not specifically designed for GoFlight equipment.

    I have not attempted to install the plugin as yet, as I am unsure how what effect it may have on the stability of GIT, but I would appreciate your thoughts before heading down that path.

    Thx Brett
  • Hi Brett,

    Are Commands being used on the rotary or is it a Bespoke Event that's updating a dataref?

    Best wishes
    Steve
  • Hi Steve - I've attached the Lua script for managing the HDG rotational speed.

    Additional Lua scripts for airspeed, altitude, elev_trim, ops and vertspeed are located in a zipped folder at the X-Plane.org link in my previous post.

    Thx Brett


    dataref("TIME", "sim/time/total_running_time_sec")
    --dataref("HDG_AP", "sim/cockpit/autopilot/heading", "writable")

    --How many degrees should the trim jump each time if your spinning fast?
    local FastDegreesHDG = 12
    local StandardDegreesHDG = 1
    --How many spins per second (or button presses per second) is considered FAST?
    local HDGFastTurnsPerSecond = 3
    local TresholdTime=0.4

    --You shouldnt need to change anything below-----------------------------------

    --HDGTurnTimes is used to store times since each turn
    HDGTurnTimes = {}
    HDGNumberUpTurns = 1
    HDGNumberDownTurns = 1


    local i = 1

    for i = 1, HDGFastTurnsPerSecond do
    HDGTurnTimes[i]=1
    end


    function HDGIncrement()
    local hdg
    hdg=get("sim/cockpit/autopilot/heading")

    HDGNumberDownTurns = 1
    local TimeNow = TIME
    HDGTurnTimes[HDGNumberUpTurns] = TimeNow

    local i = 1
    local ItsFast = 1

    for i = 1, HDGFastTurnsPerSecond do

    if (HDGTurnTimes[i] + TresholdTime >= TimeNow) and (ItsFast == 1) then
    ItsFast = 1
    else
    ItsFast = 0
    end
    end

    HDGNumberUpTurns = HDGNumberUpTurns + 1
    if HDGNumberUpTurns > HDGFastTurnsPerSecond then
    HDGNumberUpTurns = 1
    end

    if ItsFast == 1 then
    hdg=hdg+FastDegreesHDG
    else
    hdg=hdg+StandardDegreesHDG
    end
    set("sim/cockpit/autopilot/heading",hdg % 360)
    end

    function HDGDecrement()
    local hdg
    hdg=get("sim/cockpit/autopilot/heading")
    print (hdg)
    HDGNumberUpTurns = 1
    local TimeNow = TIME
    HDGTurnTimes[HDGNumberDownTurns] = TimeNow

    local i = 1
    local ItsFast = 1

    for i = 1, HDGFastTurnsPerSecond do

    if (HDGTurnTimes[i] + TresholdTime >= TimeNow) and (ItsFast == 1) then
    ItsFast = 1
    else
    ItsFast = 0
    end
    end

    HDGNumberDownTurns = HDGNumberDownTurns + 1
    if HDGNumberDownTurns > HDGFastTurnsPerSecond then
    HDGNumberDownTurns = 1
    end

    if ItsFast == 1 then
    hdg=hdg-FastDegreesHDG
    else
    hdg=hdg-StandardDegreesHDG
    end
    set("sim/cockpit/autopilot/heading",hdg % 360)
    end


    create_command("FlyWithLua/HDG_UP","This command moves HDG bug up","HDGIncrement()", " ", "")
    create_command("FlyWithLua/HDG_DOWN","This command moves HDG bug down","HDGDecrement()", " ", "")
  • How have you configured the rotaries for the Laminar Baron B58 - Commands or DataRefs?

    Thx
    Steve
  • Hi Steve,

    I am using the standard GIT Baron 58 config.

    Brett
  • So if I can locate and apply the rotary commands (as Slayer suggested above) then install the Lua script plugin, it may function without interrupting GIT ?
  • edited March 2018
    You could try it or you could create two lua scripts in GIT as follows and assign them to your heading rotary in GIT:

    Hdg Increase Lua File:
    hdg = getdref("sim/cockpit/autopilot/heading") + getlastinput()
    setdref("sim/cockpit/autopilot/heading", hdg % 360)
    Hdg Decrease Lua File:
    hdg = getdref("sim/cockpit/autopilot/heading") - getlastinput()
    setdref("sim/cockpit/autopilot/heading", hdg % 360)
    Best wishes
    Steve
  • edited March 2018
    Acceleration is not working with rotate set using stock Xplane datarefs. A little bit better if I put the sliders for the MCP near zero but seems like it worked better before. Actally they may be built in commands. Hard to tell..
    Steve McNitt
Sign In or Register to comment.