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?
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
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: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()
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
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()
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
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: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.