Abstract Class: AbstractAutothrottle
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:451
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:583
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:498
airspeedIndex
protectedreadonlyairspeedIndex:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:458
airspeedSimVar
protectedairspeedSimVar:string
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:459
hysteresis
protectedreadonlyhysteresis:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:541
hysteresisRecord
protectedreadonlyhysteresisRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:542
iasLookahead
protectedreadonlyiasLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:486
iasSmoother
protectedreadonlyiasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:487
isAlive
protectedisAlive:boolean=true
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:569
isOverpowerProtActive
protectedreadonlyisOverpowerProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:465
isOverspeedProtActive
protectedreadonlyisOverspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:463
isUnderspeedProtActive
protectedreadonlyisUnderspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:464
lastIasLookahead
protectedlastIasLookahead:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:489
lastSmoothedIas
protectedlastSmoothedIas:undefined|number=undefined
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:490
latchOptions
protectedreadonlylatchOptions:Readonly<Required<AutothrottleLatchOptions>>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:538
latchRecord
protectedreadonlylatchRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:539
lookaheadIasSmoother
protectedreadonlylookaheadIasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:488
machToKiasSmoother
protectedreadonlymachToKiasSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:484
maxIas
protectedreadonlymaxIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:475
maxMach
protectedreadonlymaxMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:477
maxPower
protectedreadonlymaxPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:479
maxThrottlePos
protectedreadonlymaxThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:481
minIas
protectedreadonlyminIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:476
minMach
protectedreadonlyminMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:478
minThrottlePos
protectedreadonlyminThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:482
overpowerPids
protectedreadonlyoverpowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:518
overspeedAccelCorrectionSmoother?
protectedreadonlyoptionaloverspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:501
overspeedAccelTargetFunc?
protectedreadonlyoptionaloverspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:495
overspeedChangeThreshold
protectedreadonlyoverspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:523
overspeedPid
protectedreadonlyoverspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:515
overspeedPowerCorrectionTransformer
protectedreadonlyoverspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:509
overspeedProtAccelTargetSmoother?
protectedreadonlyoptionaloverspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:505
overspeedProtPowerTargetSmoother
protectedreadonlyoverspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:535
overspeedSpeedTarget
protectedreadonlyoverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:527
powerCommand
protectedreadonlypowerCommand:PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:556
powerLookahead
protectedreadonlypowerLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:512
prevOverspeedSpeedTarget
protectedreadonlyprevOverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:531
prevSelectedSpeedTarget
protectedreadonlyprevSelectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:530
prevUnderspeedSpeedTarget
protectedreadonlyprevUnderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:532
publisher
protectedreadonlypublisher:Publisher<AutothrottleEvents>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:454
selectedIas
protectedreadonlyselectedIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:470
selectedMach
protectedreadonlyselectedMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:471
selectedPower
protectedreadonlyselectedPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:472
selectedPowerPids
protectedreadonlyselectedPowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:517
selectedSpeedAccelCorrectionSmoother?
protectedreadonlyoptionalselectedSpeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:500
selectedSpeedAccelTargetFunc?
protectedreadonlyoptionalselectedSpeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:494
selectedSpeedAccelTargetSmoother?
protectedreadonlyoptionalselectedSpeedAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:504
selectedSpeedIsMach
protectedreadonlyselectedSpeedIsMach:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:469
selectedSpeedPid
protectedreadonlyselectedSpeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:514
selectedSpeedPowerCorrectionTransformer
protectedreadonlyselectedSpeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:508
selectedSpeedPowerTargetSmoother
protectedreadonlyselectedSpeedPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:534
selectedSpeedTarget
protectedreadonlyselectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:526
selectedThrottlePos
protectedreadonlyselectedThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:473
shouldTargetAccel
protectedreadonlyshouldTargetAccel:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:492
speedCommand
protectedreadonlyspeedCommand:SpeedCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:549
speedTargetChangeThreshold
protectedreadonlyspeedTargetChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:522
targetMode
protectedreadonlytargetMode:Subject<AutothrottleTargetMode>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:467
throttles
protectedreadonlythrottles:AutothrottleThrottle[]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:461
throttleSpeedSmoothers
protectedreadonlythrottleSpeedSmoothers:Record<AutothrottleThrottleIndex,ExpSmoother>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:520
underspeedAccelCorrectionSmoother?
protectedreadonlyoptionalunderspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:502
underspeedAccelTargetFunc?
protectedreadonlyoptionalunderspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:496
underspeedChangeThreshold
protectedreadonlyunderspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:524
underspeedPid
protectedreadonlyunderspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:516
underspeedPowerCorrectionTransformer
protectedreadonlyunderspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:510
underspeedProtAccelTargetSmoother?
protectedreadonlyoptionalunderspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:506
underspeedProtPowerTargetSmoother
protectedreadonlyunderspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:536
underspeedSpeedTarget
protectedreadonlyunderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:528
useIndicatedMach
protectedreadonlyuseIndicatedMach:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:456
ALL_THROTTLE_INDEXES
protectedreadonlystaticALL_THROTTLE_INDEXES: readonly [1,2,3,4]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:452
Methods
calculatePowerTargetThrottlePos()
protectedcalculatePowerTargetThrottlePos(throttle,speedCommand,isOverpowerProtActive,isPowerTargetActive,isThrottlePosTargetActive,dt,out):PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1498
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:1134
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:731
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:1668
Destroys this autothrottle.
Returns
void
setMaxIas()
setMaxIas(
ias):void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:819
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:835
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:851
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:859
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:827
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:843
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:867
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:763
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:747
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:787
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:795
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:803
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:779
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:811
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:876
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:771
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:755
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:889
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:905
Turns this autothrottle off.
Returns
void
Throws
Error if this autothrottle has been destroyed.
update()
protectedupdate():void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:962
Updates this autothrottle.
Returns
void
createPidFromParams()
protectedstaticcreatePidFromParams(params):PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1683
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:1692
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.