Conversion of 737 Throttle Quadrant

Hello,

as i start to the conversion of the original trottle – i created a separate Page to cover all the necessary informations. To see some documentation please click on the related page above: updated 17.09.2013 – added description for Trim indicator mechanics and motor block for Lever movement.

2013-04-08 20.04.21

One thought on “Conversion of 737 Throttle Quadrant

  1. jinweizhong

    I Have had a quick question
    I have modified a 737-500 throttle to use a 3 turn potentiometer and a chain and clutch to actuate
    I use Opencockpits SIOC USB dcmoto plus Iocard ,I don’t want to use the opencockits throttle program,But the program never completed successfully,prosim737 settings are not friendly.
    Is there any script for USB DCmoto plus that I can refer to?
    The following is my reference to the opencockits throttle script. After prosim is set, the trim wheel and speed brake have no action.

    / *****************************************************************************
    // * Config_SIOC ver 5.1 – By Manuel Velez – http://www.opencockpits.com
    // *****************************************************************************
    // * FileName : THsioc.txt
    // * Date : 2026-02-11

    Var 0000, name Inicia, Value 0 // Initialization for TIMER
    {
    &TimerTrim = -999999
    &TimerTrim = TIMER 999999 ,1 ,300
    }

    Var 0005, name Flaps, Link IOCARD_ANALOGIC, Input 6, PosL 0, PosC 127, PosR 255 // Flaps
    {
    &THflaps = &Flaps
    }

    Var 0006, name Spoilerslever, Link IOCARD_ANALOGIC, Input 5, PosL 0, PosC 127, PosR 255 // Spoilers lever
    {
    &THSpoilers = &Spoilerslever
    &Spoilers_moto = &Spoilerslever
    &THSArmed = &Spoilerslever
    }

    Var 0010, name Version, Link IOCP, Offset 0 // Version

    Var 0011, name Lever1_Pot, Link IOCARD_ANALOGIC, Input 8, PosL 0, PosC 127, PosR 255 // Lever1_Pot_Analogic
    {
    L1 = &Lever1_Pot
    IF &AutoThrottle = 0
    {
    IF &THrev1 = 1
    {
    L1 = -4096
    }
    IF &ENGINENUMBERS = 2
    {
    &Lever1_to_FS = L1 // Send Lever1 Position to FS
    }
    IF &ENGINENUMBERS = 4
    {
    &Lever1_to_FS = L1 // Send Lever1 Position to FS
    }
    }
    }

    Var 0012, name Lever2_Pot, Link IOCARD_ANALOGIC, Input 7, PosL 0, PosC 127, PosR 255 // Lever2_Pot_Analogic
    {
    L1 = &Lever2_Pot
    IF &AutoThrottle = 0
    {
    IF &THrev2 = 1
    {
    L1 = -4096
    }
    IF &ENGINENUMBERS = 2
    {
    &Lever2_to_FS = L1 // Send Lever1 Position to FS
    }
    IF &ENGINENUMBERS = 4
    {
    &Lever2_to_FS = L1 // Send Lever1 Position to FS
    }
    }
    }

    Var 0013, name THautoth, Link IOCP, Offset 21 // AutoThrottle system

    Var 0014, name THpos1, Link IOCP, Offset 13 // Pos for Lever 1

    Var 0015, name THpos2, Link IOCP, Offset 14 // Pos for Lever 2

    Var 0016, name THflaps, Link IOCP, Offset 5 // Flaps
    {
    &fs_flaps = &THflaps
    }

    Var 0017, name THtoga, Link IOCARD_SW, Input 10 // TOGA buttom
    {
    IF &THtoga = 1
    {
    IF &TOGA = 1
    {
    &TOGA = 0
    }
    ELSE
    {
    &TOGA = 1
    }
    }
    }

    Var 0018, name THATdisengage, Link IOCARD_SW, Input 9 // AT DISENGAGE buttom
    {
    IF &THATdisengage = 1
    {
    &TOGA = 0
    &AutoThrottle = 0
    }
    }

    Var 0019, name THpbrake, Link IOCARD_SW, Input 4 // Parking Brake
    {
    IF &THpbrake = 1
    {
    &fs_pbrake = 32767
    }
    ELSE
    {
    &fs_pbrake = 0
    }
    &fs_pbrakel = &THpbrake
    }

    Var 0020, name THpbrelease, Link IOCARD_OUT, Output 6 // Parking Brake Release gate hold

    Var 0021, name THpblight, Link IOCARD_OUT, Output 5 // Parking Brake Light

    Var 0022, name THrev1, Link IOCP, Offset 27 // Lever 1 Reverse
    {
    IF &THrev1 = 1
    {
    &Lever1_to_FS = -4096
    }
    ELSE
    {
    &Lever1_to_FS = 0
    }
    }

    Var 0023, name THrev2, Link IOCP, Offset 23 // Lever 2 Reverse
    {
    IF &THrev2 = 1
    {
    &Lever2_to_FS = -4096
    }
    ELSE
    {
    &Lever2_to_FS = 0
    }
    }

    Var 0024, name THTrimwheel, Link IOCARD_MOTOR, Output 1, Aceleration 0 // Trim Wheel motor
    {
    &Trim_target = &THTrimwheel
    }

    Var 0025, name THGTrim1, Link IOCP, Offset 35 // Trim gauge Left

    Var 0026, name THGTrim2, Link IOCP, Offset 36 // Trim gauge right

    Var 0027, name THSpoilers, Link IOCP, Offset 6 // Spoilers lever
    {
    IF &THSArmed = 1
    {
    &fs_spoilers = 4800
    }
    ELSE
    {
    &fs_spoilers = &THSpoilers
    }
    }

    Var 0028, name THSArmed, Link IOCARD_SW, Input 1 // Spoilers lever in Armed zone
    {
    IF &THSArmed = 1
    {
    &fs_spoilers = 4800 // Armed
    &fs_spoilersa = 1
    &Spoilerslever = 160 + 50
    }
    ELSE
    {
    &fs_spoilersa = 0
    }
    }

    Var 0029, name THAutoS, Link IOCP, Offset 37 // Autopos Spoilers 1=Up zone 2=Down zone

    Var 0030, name FuelCutoff1, Link IOCARD_SW, Input 7 // Fuel_Cutoff1_SW
    {
    IF &FuelCutoff1 = 1
    {
    &fs_valve1 = 0
    }
    ELSE
    {
    &fs_valve1 = 16384
    }
    }

    Var 0031, name FuelCutoff2, Link IOCARD_SW, Input 6 // Fuel Cutoff 2 SW
    {
    IF &FuelCutoff2 = 1
    {
    &fs_valve2 = 0
    }
    ELSE
    {
    &fs_valve2 = 16384
    }
    }

    Var 0032, name HORNCUTOUT, Link IOCARD_SW, Input 0 // Horn cutout buttom

    Var 0033, name STM_elec, Link IOCARD_SW, Input 2 // Elect cutout buttom

    Var 0034, name STM_autopilot, Link IOCARD_SW, Input 3 // Autopilot cutout buttom

    Var 0035, name Spoilers_moto, Link IOCARD_MOTOR, Output 0, Aceleration 0 // Spoilers_moto

    Var 0036, name TH2_MOTO, Link IOCARD_MOTOR, Output 3, Aceleration 0 // TH Lever 2_moto
    {
    &THautoth = &TH2_MOTO
    &THpos2 = &TH2_MOTO
    &Lever2_Pot = &TH2_MOTO
    }

    Var 0037, name TH1_MOTO, Link IOCARD_MOTOR, Output 2, Aceleration 0 // TH Lever1_moto
    {
    &THautoth = &TH1_MOTO
    &THpos1 = &TH1_MOTO
    &Lever1_Pot = &TH1_MOTO
    }

    Var 0040, name Lever2_to_FS, Link FSUIPC_OUT, Offset $0924, Length 2 // Send value of Lever2 to FS

    Var 0041, name Lever1_to_FS, Link FSUIPC_OUT, Offset $088C, Length 2 // Send value of Lever1 to FS

    Var 0042, name AutoThrottle, Link FSUIPC_INOUT, Offset $07DC, Length 4 // is A/T active?
    {
    IF &AutoThrottle = 0 // A/T is OFF
    {
    &THautoth = 0
    }
    }

    Var 0043, name ENGINENUMBERS, Link FSUIPC_INOUT, Offset $0AEC, Length 2 // Number of engines

    Var 0044, name TOGA, Link FSUIPC_INOUT, Offset $080C, Length 4 // is TO/GA switch active?
    {
    IF &TOGA = 0
    {
    IF &AutoThrottle = 0
    {
    &THautoth = 0
    }
    }
    }

    Var 0045, name Lever1_target, Link FSUIPC_IN, Offset $088C, Length 2 // Where Lever1 should be
    {
    IF &THrev1 = 1
    {
    &AutoThrottle = 0
    }
    IF &AutoThrottle = 1 // A/T is ON
    {
    &THautoth = 1
    &THpos1 = &Lever1_target
    }
    IF &TOGA = 1 // A/T is ON
    {
    &THautoth = 1
    &THpos1 = &Lever1_target
    }
    }

    Var 0046, name Lever2_target, Link FSUIPC_IN, Offset $0924, Length 2 // Where Lever2 should be
    {
    IF &THrev2 = 1
    {
    &AutoThrottle = 0
    }
    IF &AutoThrottle = 1 // A/T is ON
    {
    &THautoth = 1
    &THpos2 = &Lever2_target
    }
    IF &TOGA = 1 // A/T is ON
    {
    &THautoth = 1
    &THpos2 = &Lever2_target
    }
    }

    Var 0047, name fs_flaps, Link FSUIPC_OUT, Offset $0BDC, Length 4 // Flaps

    Var 0048, name fs_pbrakel, Link FSUIPC_IN, Offset $0BCA, Length 2 // Parking brake light
    {
    IF &fs_pbrakel = 16383
    {
    &THpblight = 1
    }
    ELSE
    {
    &THpblight = 0
    &THpbrelease = 1
    }
    }

    Var 0049, name fs_pbrake, Link FSUIPC_OUT, Offset $0BC8, Length 2 // Parking brake

    Var 0050, name Trim_target, Link FSUIPC_IN, Offset $0BC0, Length 2, Type 1 // Where Elevator Trim should be
    {
    &THGTrim1 = &Trim_target
    L0 = &Trimwheel – &Trim_target
    L1 = ABS L0
    IF L1 > 50
    {
    &Trimwheel = &Trim_target
    IF L0 > 0
    {
    &THTrimwheel = 127
    }
    ELSE
    {
    &THTrimwheel = 254
    }
    }
    ELSE
    {
    &THTrimwheel = 0
    }
    }

    Var 0051, name fs_spoilers, Link FSUIPC_OUT, Offset $0BD0, Length 4 // Spoilers position

    Var 0052, name fs_spoilersa, Link FSUIPC_OUT, Offset $0BCC, Length 4 // Spoilers armed ?

    Var 0053, name fs_onground, Link FSUIPC_IN, Offset $0366, Length 2 // On ground ?
    {
    IF &fs_onground = 1
    {
    IF &THSArmed = 1
    {
    &THAutoS = 1
    }
    }
    }

    Var 0054, name fs_valve1, Link FSUIPC_OUT, Offset $0890, Length 2 // Valve 1

    Var 0055, name fs_valve2, Link FSUIPC_OUT, Offset $0928, Length 2 // Valve 2

    Var 0061, name TimerTrim, Link SUBRUTINE
    {
    L0 = &Trimwheel2 – &Trim_target
    IF L0 = 0
    {
    &THTrimwheel = 0
    }
    &Trimwheel2 = &Trim_target
    }

    Var 0062, name Trimwheel

    Var 0063, name Trimwheel2

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *