Abstract Class: AbstractAutothrottle
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:483
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:616
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:530
airspeedIndex
protectedreadonlyairspeedIndex:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:490
airspeedSimVar
protectedairspeedSimVar:string
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:491
hysteresis
protectedreadonlyhysteresis:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:574
hysteresisRecord
protectedreadonlyhysteresisRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:575
iasLookahead
protectedreadonlyiasLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:518
iasSmoother
protectedreadonlyiasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:519
isAlive
protectedisAlive:boolean=true
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:602
isOverpowerProtActive
protectedreadonlyisOverpowerProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:497
isOverspeedProtActive
protectedreadonlyisOverspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:495
isUnderspeedProtActive
protectedreadonlyisUnderspeedProtActive:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:496
lastIasLookahead
protectedlastIasLookahead:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:521
lastSmoothedIas
protectedlastSmoothedIas:number|undefined=undefined
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:522
latchOptions
protectedreadonlylatchOptions:Readonly<Required<AutothrottleLatchOptions>>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:571
latchRecord
protectedreadonlylatchRecord:Record<AutothrottleThrottleIndex,number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:572
lookaheadIasSmoother
protectedreadonlylookaheadIasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:520
machToKiasSmoother
protectedreadonlymachToKiasSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:516
maxIas
protectedreadonlymaxIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:507
maxMach
protectedreadonlymaxMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:509
maxPower
protectedreadonlymaxPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:511
maxThrottlePos
protectedreadonlymaxThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:513
minIas
protectedreadonlyminIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:508
minMach
protectedreadonlyminMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:510
minThrottlePos
protectedreadonlyminThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:514
overpowerPids
protectedreadonlyoverpowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:551
overspeedAccelCorrectionSmoother?
protectedreadonlyoptionaloverspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:533
overspeedAccelTargetFunc?
protectedreadonlyoptionaloverspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:527
overspeedChangeThreshold
protectedreadonlyoverspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:556
overspeedPid
protectedreadonlyoverspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:548
overspeedPowerCorrectionTransformer
protectedreadonlyoverspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:541
overspeedProtAccelTargetSmoother?
protectedreadonlyoptionaloverspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:537
overspeedProtPowerTargetSmoother
protectedreadonlyoverspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:568
overspeedSpeedTarget
protectedreadonlyoverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:560
powerCommand
protectedreadonlypowerCommand:PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:589
powerLookahead
protectedreadonlypowerLookahead:Subscribable<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:544
powerTargetToThrottlePosFunc?
protectedreadonlyoptionalpowerTargetToThrottlePosFunc:AutothrottlePowerToThrottlePosFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:545
prevOverspeedSpeedTarget
protectedreadonlyprevOverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:564
prevSelectedSpeedTarget
protectedreadonlyprevSelectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:563
prevUnderspeedSpeedTarget
protectedreadonlyprevUnderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:565
publisher
protectedreadonlypublisher:Publisher<AutothrottleEvents>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:486
selectedIas
protectedreadonlyselectedIas:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:502
selectedMach
protectedreadonlyselectedMach:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:503
selectedPower
protectedreadonlyselectedPower:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:504
selectedPowerPids
protectedreadonlyselectedPowerPids:Record<AutothrottleThrottleIndex,PidController>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:550
selectedSpeedAccelCorrectionSmoother?
protectedreadonlyoptionalselectedSpeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:532
selectedSpeedAccelTargetFunc?
protectedreadonlyoptionalselectedSpeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:526
selectedSpeedAccelTargetSmoother?
protectedreadonlyoptionalselectedSpeedAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:536
selectedSpeedIsMach
protectedreadonlyselectedSpeedIsMach:Subject<boolean>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:501
selectedSpeedPid
protectedreadonlyselectedSpeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:547
selectedSpeedPowerCorrectionTransformer
protectedreadonlyselectedSpeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:540
selectedSpeedPowerTargetSmoother
protectedreadonlyselectedSpeedPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:567
selectedSpeedTarget
protectedreadonlyselectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:559
selectedThrottlePos
protectedreadonlyselectedThrottlePos:Subject<number>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:505
shouldTargetAccel
protectedreadonlyshouldTargetAccel:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:524
speedCommand
protectedreadonlyspeedCommand:SpeedCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:582
speedTargetChangeThreshold
protectedreadonlyspeedTargetChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:555
targetMode
protectedreadonlytargetMode:Subject<AutothrottleTargetMode>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:499
throttles
protectedreadonlythrottles:AutothrottleThrottle[]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:493
throttleSpeedSmoothers
protectedreadonlythrottleSpeedSmoothers:Record<AutothrottleThrottleIndex,ExpSmoother>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:553
underspeedAccelCorrectionSmoother?
protectedreadonlyoptionalunderspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:534
underspeedAccelTargetFunc?
protectedreadonlyoptionalunderspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:528
underspeedChangeThreshold
protectedreadonlyunderspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:557
underspeedPid
protectedreadonlyunderspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:549
underspeedPowerCorrectionTransformer
protectedreadonlyunderspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:542
underspeedProtAccelTargetSmoother?
protectedreadonlyoptionalunderspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:538
underspeedProtPowerTargetSmoother
protectedreadonlyunderspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:569
underspeedSpeedTarget
protectedreadonlyunderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:561
useIndicatedMach
protectedreadonlyuseIndicatedMach:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:488
ALL_THROTTLE_INDEXES
protectedreadonlystaticALL_THROTTLE_INDEXES: readonly [1,2,3,4]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:484
Methods
calculatePowerTargetThrottlePos()
protectedcalculatePowerTargetThrottlePos(throttle,speedCommand,isOverpowerProtActive,isPowerTargetActive,isThrottlePosTargetActive,dt,out):PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1538
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:1174
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:778
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 | number | undefined | 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 | number | undefined | The smoothing time constant, in seconds, to use to smooth lookahead engine power data. If not defined, defaults to the value of powerSmoothingConstant. |
powerLookaheadSmoothingVelocityConstant | number | undefined | 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 | ThrottleLeverManager | undefined | 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:1747
Destroys this autothrottle.
Returns
void
setMaxIas()
setMaxIas(
ias):void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:866
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:882
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:898
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:906
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:874
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:890
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:914
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:810
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:794
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:834
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:842
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:850
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:826
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:858
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:923
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:818
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:802
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:936
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:952
Turns this autothrottle off.
Returns
void
Throws
Error if this autothrottle has been destroyed.
update()
protectedupdate():void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1009
Updates this autothrottle.
Returns
void
createPidFromParams()
protectedstaticcreatePidFromParams(params):PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:1760
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:1769
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.