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?
protected
readonly
optional
accelSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:498
airspeedIndex
protected
readonly
airspeedIndex:Subscribable
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:458
airspeedSimVar
protected
airspeedSimVar:string
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:459
hysteresis
protected
readonly
hysteresis:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:541
hysteresisRecord
protected
readonly
hysteresisRecord:Record
<AutothrottleThrottleIndex
,number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:542
iasLookahead
protected
readonly
iasLookahead:Subscribable
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:486
iasSmoother
protected
readonly
iasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:487
isAlive
protected
isAlive:boolean
=true
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:569
isOverpowerProtActive
protected
readonly
isOverpowerProtActive:Subject
<boolean
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:465
isOverspeedProtActive
protected
readonly
isOverspeedProtActive:Subject
<boolean
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:463
isUnderspeedProtActive
protected
readonly
isUnderspeedProtActive:Subject
<boolean
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:464
lastIasLookahead
protected
lastIasLookahead:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:489
lastSmoothedIas
protected
lastSmoothedIas:undefined
|number
=undefined
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:490
latchOptions
protected
readonly
latchOptions:Readonly
<Required
<AutothrottleLatchOptions
>>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:538
latchRecord
protected
readonly
latchRecord:Record
<AutothrottleThrottleIndex
,number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:539
lookaheadIasSmoother
protected
readonly
lookaheadIasSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:488
machToKiasSmoother
protected
readonly
machToKiasSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:484
maxIas
protected
readonly
maxIas:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:475
maxMach
protected
readonly
maxMach:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:477
maxPower
protected
readonly
maxPower:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:479
maxThrottlePos
protected
readonly
maxThrottlePos:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:481
minIas
protected
readonly
minIas:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:476
minMach
protected
readonly
minMach:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:478
minThrottlePos
protected
readonly
minThrottlePos:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:482
overpowerPids
protected
readonly
overpowerPids:Record
<AutothrottleThrottleIndex
,PidController
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:518
overspeedAccelCorrectionSmoother?
protected
readonly
optional
overspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:501
overspeedAccelTargetFunc?
protected
readonly
optional
overspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:495
overspeedChangeThreshold
protected
readonly
overspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:523
overspeedPid
protected
readonly
overspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:515
overspeedPowerCorrectionTransformer
protected
readonly
overspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:509
overspeedProtAccelTargetSmoother?
protected
readonly
optional
overspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:505
overspeedProtPowerTargetSmoother
protected
readonly
overspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:535
overspeedSpeedTarget
protected
readonly
overspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:527
powerCommand
protected
readonly
powerCommand:PowerCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:556
powerLookahead
protected
readonly
powerLookahead:Subscribable
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:512
prevOverspeedSpeedTarget
protected
readonly
prevOverspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:531
prevSelectedSpeedTarget
protected
readonly
prevSelectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:530
prevUnderspeedSpeedTarget
protected
readonly
prevUnderspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:532
publisher
protected
readonly
publisher:Publisher
<AutothrottleEvents
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:454
selectedIas
protected
readonly
selectedIas:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:470
selectedMach
protected
readonly
selectedMach:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:471
selectedPower
protected
readonly
selectedPower:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:472
selectedPowerPids
protected
readonly
selectedPowerPids:Record
<AutothrottleThrottleIndex
,PidController
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:517
selectedSpeedAccelCorrectionSmoother?
protected
readonly
optional
selectedSpeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:500
selectedSpeedAccelTargetFunc?
protected
readonly
optional
selectedSpeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:494
selectedSpeedAccelTargetSmoother?
protected
readonly
optional
selectedSpeedAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:504
selectedSpeedIsMach
protected
readonly
selectedSpeedIsMach:Subject
<boolean
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:469
selectedSpeedPid
protected
readonly
selectedSpeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:514
selectedSpeedPowerCorrectionTransformer
protected
readonly
selectedSpeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:508
selectedSpeedPowerTargetSmoother
protected
readonly
selectedSpeedPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:534
selectedSpeedTarget
protected
readonly
selectedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:526
selectedThrottlePos
protected
readonly
selectedThrottlePos:Subject
<number
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:473
shouldTargetAccel
protected
readonly
shouldTargetAccel:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:492
speedCommand
protected
readonly
speedCommand:SpeedCommand
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:549
speedTargetChangeThreshold
protected
readonly
speedTargetChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:522
targetMode
protected
readonly
targetMode:Subject
<AutothrottleTargetMode
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:467
throttles
protected
readonly
throttles:AutothrottleThrottle
[]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:461
throttleSpeedSmoothers
protected
readonly
throttleSpeedSmoothers:Record
<AutothrottleThrottleIndex
,ExpSmoother
>
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:520
underspeedAccelCorrectionSmoother?
protected
readonly
optional
underspeedAccelCorrectionSmoother:MultiExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:502
underspeedAccelTargetFunc?
protected
readonly
optional
underspeedAccelTargetFunc:AutothrottleAccelTargetFunc
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:496
underspeedChangeThreshold
protected
readonly
underspeedChangeThreshold:number
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:524
underspeedPid
protected
readonly
underspeedPid:PidController
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:516
underspeedPowerCorrectionTransformer
protected
readonly
underspeedPowerCorrectionTransformer:AutothrottlePowerCorrectionTransformer
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:510
underspeedProtAccelTargetSmoother?
protected
readonly
optional
underspeedProtAccelTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:506
underspeedProtPowerTargetSmoother
protected
readonly
underspeedProtPowerTargetSmoother:ExpSmoother
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:536
underspeedSpeedTarget
protected
readonly
underspeedSpeedTarget:AutothrottleSpeedTargetRecord
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:528
useIndicatedMach
protected
readonly
useIndicatedMach:boolean
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:456
ALL_THROTTLE_INDEXES
protected
readonly
static
ALL_THROTTLE_INDEXES: readonly [1
,2
,3
,4
]
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:452
Methods
calculatePowerTargetThrottlePos()
protected
calculatePowerTargetThrottlePos(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()
protected
calculateSpeedTargetPower(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()
abstract
protected
createThrottle(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()
protected
update():void
Defined in: src/sdk/autothrottle/AbstractAutothrottle.ts:962
Updates this autothrottle.
Returns
void
createPidFromParams()
protected
static
createPidFromParams(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()
protected
static
defaultPowerCorrectionTransformer(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.