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
| Parameter | Type | Description |
|---|---|---|
bus | EventBus | The event bus. |
airspeedIndex | number | Subscribable<number> | The index of the sim airspeed indicator from which this autothrottle should source airspeed data. |
throttleInfos | readonly 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. |
options | AutothrottleOptions | Options with which to initialize this autothrottle. |
throttleLeverManager? | ThrottleLeverManager | The 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?
protectedreadonlyoptionalaccelSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:499
airspeedIndex
protectedreadonlyairspeedIndex:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:459
airspeedSimVar
protectedairspeedSimVar:string
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:460
hysteresis
protectedreadonlyhysteresis:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:542
hysteresisRecord
protectedreadonlyhysteresisRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:543
iasLookahead
protectedreadonlyiasLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:487
iasSmoother
protectedreadonlyiasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:488
isAlive
protectedisAlive:boolean=true
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:570
isOverpowerProtActive
protectedreadonlyisOverpowerProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:466
isOverspeedProtActive
protectedreadonlyisOverspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:464
isUnderspeedProtActive
protectedreadonlyisUnderspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:465
lastIasLookahead
protectedlastIasLookahead:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:490
lastSmoothedIas
protectedlastSmoothedIas:undefined|number=undefined
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:491
latchOptions
protectedreadonlylatchOptions:Readonly<Required<AutothrottleLatchOptions>>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:539
latchRecord
protectedreadonlylatchRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:540
lookaheadIasSmoother
protectedreadonlylookaheadIasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:489
machToKiasSmoother
protectedreadonlymachToKiasSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:485
maxIas
protectedreadonlymaxIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:476
maxMach
protectedreadonlymaxMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:478
maxPower
protectedreadonlymaxPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:480
maxThrottlePos
protectedreadonlymaxThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:482
minIas
protectedreadonlyminIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:477
minMach
protectedreadonlyminMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:479
minThrottlePos
protectedreadonlyminThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:483
overpowerPids
protectedreadonlyoverpowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:519
overspeedAccelCorrectionSmoother?
protectedreadonlyoptionaloverspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:502
overspeedAccelTargetFunc?
protectedreadonlyoptionaloverspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:496
overspeedChangeThreshold
protectedreadonlyoverspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:524
overspeedPid
protectedreadonlyoverspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:516
overspeedPowerCorrectionTransformer
protectedreadonlyoverspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:510
overspeedProtAccelTargetSmoother?
protectedreadonlyoptionaloverspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:506
overspeedProtPowerTargetSmoother
protectedreadonlyoverspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:536
overspeedSpeedTarget
protectedreadonlyoverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:528
powerCommand
protectedreadonlypowerCommand:PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:557
powerLookahead
protectedreadonlypowerLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:513
prevOverspeedSpeedTarget
protectedreadonlyprevOverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:532
prevSelectedSpeedTarget
protectedreadonlyprevSelectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:531
prevUnderspeedSpeedTarget
protectedreadonlyprevUnderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:533
publisher
protectedreadonlypublisher:Publisher<AutothrottleEvents>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:455
selectedIas
protectedreadonlyselectedIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:471
selectedMach
protectedreadonlyselectedMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:472
selectedPower
protectedreadonlyselectedPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:473
selectedPowerPids
protectedreadonlyselectedPowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:518
selectedSpeedAccelCorrectionSmoother?
protectedreadonlyoptionalselectedSpeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:501
selectedSpeedAccelTargetFunc?
protectedreadonlyoptionalselectedSpeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:495
selectedSpeedAccelTargetSmoother?
protectedreadonlyoptionalselectedSpeedAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:505
selectedSpeedIsMach
protectedreadonlyselectedSpeedIsMach:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:470
selectedSpeedPid
protectedreadonlyselectedSpeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:515
selectedSpeedPowerCorrectionTransformer
protectedreadonlyselectedSpeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:509
selectedSpeedPowerTargetSmoother
protectedreadonlyselectedSpeedPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:535
selectedSpeedTarget
protectedreadonlyselectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:527
selectedThrottlePos
protectedreadonlyselectedThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:474
shouldTargetAccel
protectedreadonlyshouldTargetAccel:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:493
speedCommand
protectedreadonlyspeedCommand:SpeedCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:550
speedTargetChangeThreshold
protectedreadonlyspeedTargetChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:523
targetMode
protectedreadonlytargetMode:Subject<AutothrottleTargetMode>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:468
throttles
protectedreadonlythrottles:AutothrottleThrottle[]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:462
throttleSpeedSmoothers
protectedreadonlythrottleSpeedSmoothers:Record<AutothrottleThrottleIndex,ExpSmoother>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:521
underspeedAccelCorrectionSmoother?
protectedreadonlyoptionalunderspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:503
underspeedAccelTargetFunc?
protectedreadonlyoptionalunderspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:497
underspeedChangeThreshold
protectedreadonlyunderspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:525
underspeedPid
protectedreadonlyunderspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:517
underspeedPowerCorrectionTransformer
protectedreadonlyunderspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:511
underspeedProtAccelTargetSmoother?
protectedreadonlyoptionalunderspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:507
underspeedProtPowerTargetSmoother
protectedreadonlyunderspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:537
underspeedSpeedTarget
protectedreadonlyunderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:529
useIndicatedMach
protectedreadonlyuseIndicatedMach:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:457
ALL_THROTTLE_INDEXES
protectedreadonlystaticALL_THROTTLE_INDEXES: readonly [1,2,3,4]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:453
Methods
calculatePowerTargetThrottlePos()
protectedcalculatePowerTargetThrottlePos(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
| Parameter | Type | Description |
|---|---|---|
throttle | AutothrottleThrottle | The throttle for which to calculate commanded throttle position. |
speedCommand | SpeedCommand | The engine power commanded by this autothrottle's speed controller. |
isOverpowerProtActive | boolean | Whether overpower protection is active. |
isPowerTargetActive | boolean | Whether power target is active. |
isThrottlePosTargetActive | boolean | Whether throttle lever position target is active. |
dt | number | The elapsed time since the last update. |
out | PowerCommand | The object to which to write the results. |
Returns
The throttle position for the specified throttle commanded by this autothrottle's power controller.
calculateSpeedTargetPower()
protectedcalculateSpeedTargetPower(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
| Parameter | Type | Description |
|---|---|---|
dt | number | The elapsed time since the last update. |
out | SpeedCommand | The object to which to write the results. |
Returns
The engine power for all throttles commanded by this autothrottle's speed controller.
createThrottle()
abstractprotectedcreateThrottle(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
| Parameter | Type | Description |
|---|---|---|
bus | EventBus | The event bus. |
info | AutothrottleThrottleInfo | Information describing the throttle to create. |
servoSpeed | number | Accessible<number> | The speed delivered by the servo controlling the throttle, in units of normalized position per second. |
powerSmoothingConstant | number | The smoothing time constant, in seconds, to use to smooth engine power data. |
powerSmoothingVelocityConstant | undefined | number | The 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. |
powerLookahead | Subscribable<number> | The lookahead time, in seconds, to use for engine power data. |
powerLookaheadSmoothingConstant | undefined | number | The smoothing time constant, in seconds, to use to smooth lookahead engine power data. If not defined, defaults to the value of powerSmoothingConstant. |
powerLookaheadSmoothingVelocityConstant | undefined | number | The 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. |
throttleLeverManager | undefined | ThrottleLeverManager | The throttle lever manager to use to request position changes for the throttle's lever. |
Returns
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
| Parameter | Type | Description |
|---|---|---|
ias | number | An 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
| Parameter | Type | Description |
|---|---|---|
mach | number | A 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
| Parameter | Type | Description |
|---|---|---|
power | number | An 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
| Parameter | Type | Description |
|---|---|---|
pos | number | A 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
| Parameter | Type | Description |
|---|---|---|
ias | number | An 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
| Parameter | Type | Description |
|---|---|---|
mach | number | A 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
| Parameter | Type | Description |
|---|---|---|
pos | number | A 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
| Parameter | Type | Description |
|---|---|---|
val | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
val | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
ias | number | An 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
| Parameter | Type | Description |
|---|---|---|
mach | number | A 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
| Parameter | Type | Description |
|---|---|---|
power | number | An 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
| Parameter | Type | Description |
|---|---|---|
val | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
pos | number | A 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
| Parameter | Type | Description |
|---|---|---|
index | AutothrottleThrottleIndex | The index of the throttle servo to activate/deactivate. |
active | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
mode | AutothrottleTargetMode | A 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
| Parameter | Type | Description |
|---|---|---|
val | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
frequency | number | The 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()
protectedupdate():void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:963
Updates this autothrottle.
Returns
void
createPidFromParams()
protectedstaticcreatePidFromParams(params):PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1684
Creates a PID controller using a given set of parameters.
Parameters
| Parameter | Type | Description |
|---|---|---|
params | AutothrottlePidParams | A set of PID parameters. |
Returns
A new PID controller created using the specified parameters.
defaultPowerCorrectionTransformer()
protectedstaticdefaultPowerCorrectionTransformer(correction):number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1693
A default transformation function for power target corrections which returns the correction unchanged.
Parameters
| Parameter | Type | Description |
|---|---|---|
correction | number | The raw power target correction. |
Returns
number
The transformed power target correction.