Skip to main content

Abstract Class: AbstractAutothrottle

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:452

An abstract implementation of an autothrottle system.

The system contains a global speed controller and one power controller for each engine throttle. The speed controller commands a synced engine power target for all throttles based on over/underspeed protection and the selected speed target, if active. Each power controller commands a position for its individual throttle based on overpower protection and power target, either from the speed controller or the selected power target, if active.

Extended by​

Constructors​

Constructor​

new AbstractAutothrottle(bus, airspeedIndex, throttleInfos, options, throttleLeverManager?): AbstractAutothrottle

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:584

Constructor.

Parameters​

ParameterTypeDescription
busEventBusThe event bus.
airspeedIndexnumber | Subscribable<number>The index of the sim airspeed indicator from which this autothrottle should source airspeed data.
throttleInfosreadonly Readonly<AutothrottleThrottleInfo>[]Information on the throttles controlled by this autothrottle. Each entry in the array should describe a single unique throttle. Order does not matter.
optionsAutothrottleOptionsOptions with which to initialize this autothrottle.
throttleLeverManager?ThrottleLeverManagerThe throttle lever manager to use to request position changes for virtual throttle levers. If not defined, position changes for virtual throttle levers will be requested using key events (specifically the THROTTLE[N]_SET event).

Returns​

AbstractAutothrottle

Properties​

accelSmoother?​

protected readonly optional accelSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:499


airspeedIndex​

protected readonly airspeedIndex: Subscribable<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:459


airspeedSimVar​

protected airspeedSimVar: string

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:460


hysteresis​

protected readonly hysteresis: number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:542


hysteresisRecord​

protected readonly hysteresisRecord: Record<AutothrottleThrottleIndex, number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:543


iasLookahead​

protected readonly iasLookahead: Subscribable<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:487


iasSmoother​

protected readonly iasSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:488


isAlive​

protected isAlive: boolean = true

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:570


isOverpowerProtActive​

protected readonly isOverpowerProtActive: Subject<boolean>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:466


isOverspeedProtActive​

protected readonly isOverspeedProtActive: Subject<boolean>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:464


isUnderspeedProtActive​

protected readonly isUnderspeedProtActive: Subject<boolean>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:465


lastIasLookahead​

protected lastIasLookahead: number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:490


lastSmoothedIas​

protected lastSmoothedIas: undefined | number = undefined

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:491


latchOptions​

protected readonly latchOptions: Readonly<Required<AutothrottleLatchOptions>>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:539


latchRecord​

protected readonly latchRecord: Record<AutothrottleThrottleIndex, number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:540


lookaheadIasSmoother​

protected readonly lookaheadIasSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:489


machToKiasSmoother​

protected readonly machToKiasSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:485


maxIas​

protected readonly maxIas: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:476


maxMach​

protected readonly maxMach: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:478


maxPower​

protected readonly maxPower: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:480


maxThrottlePos​

protected readonly maxThrottlePos: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:482


minIas​

protected readonly minIas: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:477


minMach​

protected readonly minMach: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:479


minThrottlePos​

protected readonly minThrottlePos: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:483


overpowerPids​

protected readonly overpowerPids: Record<AutothrottleThrottleIndex, PidController>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:519


overspeedAccelCorrectionSmoother?​

protected readonly optional overspeedAccelCorrectionSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:502


overspeedAccelTargetFunc?​

protected readonly optional overspeedAccelTargetFunc: AutothrottleAccelTargetFunc

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:496


overspeedChangeThreshold​

protected readonly overspeedChangeThreshold: number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:524


overspeedPid​

protected readonly overspeedPid: PidController

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:516


overspeedPowerCorrectionTransformer​

protected readonly overspeedPowerCorrectionTransformer: AutothrottlePowerCorrectionTransformer

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:510


overspeedProtAccelTargetSmoother?​

protected readonly optional overspeedProtAccelTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:506


overspeedProtPowerTargetSmoother​

protected readonly overspeedProtPowerTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:536


overspeedSpeedTarget​

protected readonly overspeedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:528


powerCommand​

protected readonly powerCommand: PowerCommand

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:557


powerLookahead​

protected readonly powerLookahead: Subscribable<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:513


prevOverspeedSpeedTarget​

protected readonly prevOverspeedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:532


prevSelectedSpeedTarget​

protected readonly prevSelectedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:531


prevUnderspeedSpeedTarget​

protected readonly prevUnderspeedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:533


publisher​

protected readonly publisher: Publisher<AutothrottleEvents>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:455


selectedIas​

protected readonly selectedIas: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:471


selectedMach​

protected readonly selectedMach: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:472


selectedPower​

protected readonly selectedPower: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:473


selectedPowerPids​

protected readonly selectedPowerPids: Record<AutothrottleThrottleIndex, PidController>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:518


selectedSpeedAccelCorrectionSmoother?​

protected readonly optional selectedSpeedAccelCorrectionSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:501


selectedSpeedAccelTargetFunc?​

protected readonly optional selectedSpeedAccelTargetFunc: AutothrottleAccelTargetFunc

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:495


selectedSpeedAccelTargetSmoother?​

protected readonly optional selectedSpeedAccelTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:505


selectedSpeedIsMach​

protected readonly selectedSpeedIsMach: Subject<boolean>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:470


selectedSpeedPid​

protected readonly selectedSpeedPid: PidController

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:515


selectedSpeedPowerCorrectionTransformer​

protected readonly selectedSpeedPowerCorrectionTransformer: AutothrottlePowerCorrectionTransformer

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:509


selectedSpeedPowerTargetSmoother​

protected readonly selectedSpeedPowerTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:535


selectedSpeedTarget​

protected readonly selectedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:527


selectedThrottlePos​

protected readonly selectedThrottlePos: Subject<number>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:474


shouldTargetAccel​

protected readonly shouldTargetAccel: boolean

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:493


speedCommand​

protected readonly speedCommand: SpeedCommand

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:550


speedTargetChangeThreshold​

protected readonly speedTargetChangeThreshold: number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:523


targetMode​

protected readonly targetMode: Subject<AutothrottleTargetMode>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:468


throttles​

protected readonly throttles: AutothrottleThrottle[]

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:462


throttleSpeedSmoothers​

protected readonly throttleSpeedSmoothers: Record<AutothrottleThrottleIndex, ExpSmoother>

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:521


underspeedAccelCorrectionSmoother?​

protected readonly optional underspeedAccelCorrectionSmoother: MultiExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:503


underspeedAccelTargetFunc?​

protected readonly optional underspeedAccelTargetFunc: AutothrottleAccelTargetFunc

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:497


underspeedChangeThreshold​

protected readonly underspeedChangeThreshold: number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:525


underspeedPid​

protected readonly underspeedPid: PidController

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:517


underspeedPowerCorrectionTransformer​

protected readonly underspeedPowerCorrectionTransformer: AutothrottlePowerCorrectionTransformer

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:511


underspeedProtAccelTargetSmoother?​

protected readonly optional underspeedProtAccelTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:507


underspeedProtPowerTargetSmoother​

protected readonly underspeedProtPowerTargetSmoother: ExpSmoother

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:537


underspeedSpeedTarget​

protected readonly underspeedSpeedTarget: AutothrottleSpeedTargetRecord

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:529


useIndicatedMach​

protected readonly useIndicatedMach: boolean

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:457


ALL_THROTTLE_INDEXES​

protected readonly static ALL_THROTTLE_INDEXES: readonly [1, 2, 3, 4]

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:453

Methods​

calculatePowerTargetThrottlePos()​

protected calculatePowerTargetThrottlePos(throttle, speedCommand, isOverpowerProtActive, isPowerTargetActive, isThrottlePosTargetActive, dt, out): PowerCommand

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1499

Calculates the throttle position for a specific throttle commanded by this autothrottle's power controller. The power controller incorporates the power target if active and overpower protection.

Parameters​

ParameterTypeDescription
throttleAutothrottleThrottleThe throttle for which to calculate commanded throttle position.
speedCommandSpeedCommandThe engine power commanded by this autothrottle's speed controller.
isOverpowerProtActivebooleanWhether overpower protection is active.
isPowerTargetActivebooleanWhether power target is active.
isThrottlePosTargetActivebooleanWhether throttle lever position target is active.
dtnumberThe elapsed time since the last update.
outPowerCommandThe object to which to write the results.

Returns​

PowerCommand

The throttle position for the specified throttle commanded by this autothrottle's power controller.


calculateSpeedTargetPower()​

protected calculateSpeedTargetPower(dt, out): SpeedCommand

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1135

Calculates the engine power for all throttles commanded by this autothrottle's speed controller. The speed controller incorporates the speed target and over-/under-speed protection if active.

Parameters​

ParameterTypeDescription
dtnumberThe elapsed time since the last update.
outSpeedCommandThe object to which to write the results.

Returns​

SpeedCommand

The engine power for all throttles commanded by this autothrottle's speed controller.


createThrottle()​

abstract protected createThrottle(bus, info, servoSpeed, powerSmoothingConstant, powerSmoothingVelocityConstant, powerLookahead, powerLookaheadSmoothingConstant, powerLookaheadSmoothingVelocityConstant, throttleLeverManager): AutothrottleThrottle

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:732

Creates a throttle controlled by this autothrottle system.

Parameters​

ParameterTypeDescription
busEventBusThe event bus.
infoAutothrottleThrottleInfoInformation describing the throttle to create.
servoSpeednumber | Accessible<number>The speed delivered by the servo controlling the throttle, in units of normalized position per second.
powerSmoothingConstantnumberThe smoothing time constant, in seconds, to use to smooth engine power data.
powerSmoothingVelocityConstantundefined | numberThe smoothing time constant, in seconds, to use to smooth estimated power velocity while smoothing engine power data. A value of zero is equivalent to no smoothing. If not defined, estimated power velocity will not be used to adjust smoothed engine power data.
powerLookaheadSubscribable<number>The lookahead time, in seconds, to use for engine power data.
powerLookaheadSmoothingConstantundefined | numberThe smoothing time constant, in seconds, to use to smooth lookahead engine power data. If not defined, defaults to the value of powerSmoothingConstant.
powerLookaheadSmoothingVelocityConstantundefined | numberThe smoothing time constant, in seconds, to use to smooth estimated power velocity while smoothing lookahead engine power data. A value of zero is equivalent to no smoothing. If not defined, estimated power velocity will not be used to adjust smoothed lookahead engine power data. If not defined, defaults to the value of powerSmoothingVelocityConstant.
throttleLeverManagerundefined | ThrottleLeverManagerThe throttle lever manager to use to request position changes for the throttle's lever.

Returns​

AutothrottleThrottle

A new throttle controlled by this autothrottle system.


destroy()​

destroy(): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1669

Destroys this autothrottle.

Returns​

void


setMaxIas()​

setMaxIas(ias): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:820

Sets this autothrottle's maximum allowed indicated airspeed, in knots.

Parameters​

ParameterTypeDescription
iasnumberAn indicated airspeed, in knots.

Returns​

void


setMaxMach()​

setMaxMach(mach): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:836

Sets this autothrottle's maximum allowed mach number.

Parameters​

ParameterTypeDescription
machnumberA mach number.

Returns​

void


setMaxPower()​

setMaxPower(power): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:852

Sets this autothrottle's maximum allowed engine power.

Parameters​

ParameterTypeDescription
powernumberAn engine power value.

Returns​

void


setMaxThrottlePos()​

setMaxThrottlePos(pos): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:860

Sets this autothrottle's maximum allowed normalized throttle lever position.

Parameters​

ParameterTypeDescription
posnumberA normalized throttle lever position.

Returns​

void


setMinIas()​

setMinIas(ias): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:828

Sets this autothrottle's minimum allowed indicated airspeed, in knots.

Parameters​

ParameterTypeDescription
iasnumberAn indicated airspeed, in knots.

Returns​

void


setMinMach()​

setMinMach(mach): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:844

Sets this autothrottle's minimum allowed mach number.

Parameters​

ParameterTypeDescription
machnumberA mach number.

Returns​

void


setMinThrottlePos()​

setMinThrottlePos(pos): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:868

Sets this autothrottle's minimum allowed normalized throttle lever position.

Parameters​

ParameterTypeDescription
posnumberA normalized throttle lever position.

Returns​

void


setOverpowerProtActive()​

setOverpowerProtActive(val): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:764

Sets whether this autothrottle's overpower protection is active.

Parameters​

ParameterTypeDescription
valbooleanWhether overpower protection is active.

Returns​

void


setOverspeedProtActive()​

setOverspeedProtActive(val): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:748

Sets whether this autothrottle's overspeed protection is active.

Parameters​

ParameterTypeDescription
valbooleanWhether overspeed protection is active.

Returns​

void


setSelectedIas()​

setSelectedIas(ias): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:788

Sets this autothrottle's selected indicated airspeed target, in knots.

Parameters​

ParameterTypeDescription
iasnumberAn indicated airspeed, in knots.

Returns​

void


setSelectedMach()​

setSelectedMach(mach): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:796

Sets this autothrottle's selected mach number target.

Parameters​

ParameterTypeDescription
machnumberA mach number.

Returns​

void


setSelectedPower()​

setSelectedPower(power): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:804

Sets this autothrottle's selected engine power target.

Parameters​

ParameterTypeDescription
powernumberAn engine power value.

Returns​

void


setSelectedSpeedIsMach()​

setSelectedSpeedIsMach(val): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:780

Sets whether this autothrottle's selected speed target is a mach number.

Parameters​

ParameterTypeDescription
valbooleanWhether the selected speed target is a mach number.

Returns​

void


setSelectedThrottlePos()​

setSelectedThrottlePos(pos): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:812

Sets this autothrottle's selected normalized throttle lever position target.

Parameters​

ParameterTypeDescription
posnumberA normalized throttle lever position.

Returns​

void


setServoActive()​

setServoActive(index, active): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:877

Sets whether one of this autothrottle's throttle servos are active.

Parameters​

ParameterTypeDescription
indexAutothrottleThrottleIndexThe index of the throttle servo to activate/deactivate.
activebooleanWhether the servo should be activated.

Returns​

void


setTargetMode()​

setTargetMode(mode): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:772

Sets this autothrottle's target mode.

Parameters​

ParameterTypeDescription
modeAutothrottleTargetModeA target mode.

Returns​

void


setUnderspeedProtActive()​

setUnderspeedProtActive(val): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:756

Sets whether this autothrottle's underspeed protection is active.

Parameters​

ParameterTypeDescription
valbooleanWhether underspeed protection is active.

Returns​

void


start()​

start(frequency): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:890

Turns this autothrottle on with a specified update frequency. If this autothrottle is already running, then it will be turned off before turning on again with the specified frequency.

Parameters​

ParameterTypeDescription
frequencynumberThe frequency, in hertz, at which this autothrottle will update.

Returns​

void

Throws​

Error if this autothrottle has been destroyed.


stop()​

stop(): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:906

Turns this autothrottle off.

Returns​

void

Throws​

Error if this autothrottle has been destroyed.


update()​

protected update(): void

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:963

Updates this autothrottle.

Returns​

void


createPidFromParams()​

protected static createPidFromParams(params): PidController

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1684

Creates a PID controller using a given set of parameters.

Parameters​

ParameterTypeDescription
paramsAutothrottlePidParamsA set of PID parameters.

Returns​

PidController

A new PID controller created using the specified parameters.


defaultPowerCorrectionTransformer()​

protected static defaultPowerCorrectionTransformer(correction): number

Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1693

A default transformation function for power target corrections which returns the correction unchanged.

Parameters​

ParameterTypeDescription
correctionnumberThe raw power target correction.

Returns​

number

The transformed power target correction.