Class: AbstractAutothrottle
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.
Hierarchy
AbstractAutothrottle
Constructors
constructor
• new AbstractAutothrottle(bus
, airspeedIndex
, throttleInfos
, options
, throttleLeverManager?
): AbstractAutothrottle
Constructor.
Parameters
Name | 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
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:431
Properties
accelSmoother
• Protected
Optional
Readonly
accelSmoother: MultiExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:368
airspeedIndex
• Protected
Readonly
airspeedIndex: Subscribable
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:328
airspeedSimVar
• Protected
airspeedSimVar: string
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:329
hysteresis
• Protected
Readonly
hysteresis: number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:394
hysteresisRecord
• Protected
Readonly
hysteresisRecord: Record
<AutothrottleThrottleIndex
, number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:395
iasLookahead
• Protected
Readonly
iasLookahead: Subscribable
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:356
iasSmoother
• Protected
Readonly
iasSmoother: MultiExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:357
isAlive
• Protected
isAlive: boolean
= true
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:417
isOverpowerProtActive
• Protected
Readonly
isOverpowerProtActive: Subject
<boolean
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:335
isOverspeedProtActive
• Protected
Readonly
isOverspeedProtActive: Subject
<boolean
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:333
isUnderspeedProtActive
• Protected
Readonly
isUnderspeedProtActive: Subject
<boolean
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:334
lastIasLookahead
• Protected
lastIasLookahead: number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:359
lastOverspeedIas
• Protected
lastOverspeedIas: undefined
| number
= undefined
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:387
lastSmoothedIas
• Protected
lastSmoothedIas: undefined
| number
= undefined
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:360
lastTargetIas
• Protected
lastTargetIas: undefined
| number
= undefined
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:386
lastUnderspeedIas
• Protected
lastUnderspeedIas: undefined
| number
= undefined
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:388
lookaheadIasSmoother
• Protected
Readonly
lookaheadIasSmoother: MultiExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:358
machToKiasSmoother
• Protected
Readonly
machToKiasSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:354
maxIas
• Protected
Readonly
maxIas: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:345
maxMach
• Protected
Readonly
maxMach: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:347
maxPower
• Protected
Readonly
maxPower: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:349
maxThrottlePos
• Protected
Readonly
maxThrottlePos: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:351
minIas
• Protected
Readonly
minIas: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:346
minMach
• Protected
Readonly
minMach: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:348
minThrottlePos
• Protected
Readonly
minThrottlePos: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:352
overpowerPids
• Protected
Readonly
overpowerPids: Record
<AutothrottleThrottleIndex
, PidController
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:380
overspeedAccelTargetFunc
• Protected
Optional
Readonly
overspeedAccelTargetFunc: (iasError
: number
, targetIas
: number
, effectiveIas
: number
) => number
Type declaration
▸ (iasError
, targetIas
, effectiveIas
): number
Parameters
Name | Type |
---|---|
iasError | number |
targetIas | number |
effectiveIas | number |
Returns
number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:365
overspeedChangeThreshold
• Protected
Readonly
overspeedChangeThreshold: number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:383
overspeedPid
• Protected
Readonly
overspeedPid: PidController
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:377
overspeedProtAccelTargetSmoother
• Protected
Optional
Readonly
overspeedProtAccelTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:371
overspeedProtPowerTargetSmoother
• Protected
Readonly
overspeedProtPowerTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:391
powerCommand
• Protected
Readonly
powerCommand: PowerCommand
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:409
powerLookahead
• Protected
Readonly
powerLookahead: Subscribable
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:374
publisher
• Protected
Readonly
publisher: Publisher
<AutothrottleEvents
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:324
selectedIas
• Protected
Readonly
selectedIas: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:340
selectedMach
• Protected
Readonly
selectedMach: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:341
selectedPower
• Protected
Readonly
selectedPower: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:342
selectedPowerPids
• Protected
Readonly
selectedPowerPids: Record
<AutothrottleThrottleIndex
, PidController
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:379
selectedSpeedAccelTargetFunc
• Protected
Optional
Readonly
selectedSpeedAccelTargetFunc: (iasError
: number
, targetIas
: number
, effectiveIas
: number
) => number
Type declaration
▸ (iasError
, targetIas
, effectiveIas
): number
Parameters
Name | Type |
---|---|
iasError | number |
targetIas | number |
effectiveIas | number |
Returns
number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:364
selectedSpeedAccelTargetSmoother
• Protected
Optional
Readonly
selectedSpeedAccelTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:370
selectedSpeedIsMach
• Protected
Readonly
selectedSpeedIsMach: Subject
<boolean
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:339
selectedSpeedPid
• Protected
Readonly
selectedSpeedPid: PidController
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:376
selectedSpeedPowerTargetSmoother
• Protected
Readonly
selectedSpeedPowerTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:390
selectedThrottlePos
• Protected
Readonly
selectedThrottlePos: Subject
<number
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:343
shouldTargetAccel
• Protected
Readonly
shouldTargetAccel: boolean
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:362
speedCommand
• Protected
Readonly
speedCommand: SpeedCommand
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:402
speedTargetChangeThreshold
• Protected
Readonly
speedTargetChangeThreshold: number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:382
targetMode
• Protected
Readonly
targetMode: Subject
<AutothrottleTargetMode
>
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:337
throttles
• Protected
Readonly
throttles: AutothrottleThrottle
[]
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:331
underspeedAccelTargetFunc
• Protected
Optional
Readonly
underspeedAccelTargetFunc: (iasError
: number
, targetIas
: number
, effectiveIas
: number
) => number
Type declaration
▸ (iasError
, targetIas
, effectiveIas
): number
Parameters
Name | Type |
---|---|
iasError | number |
targetIas | number |
effectiveIas | number |
Returns
number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:366
underspeedChangeThreshold
• Protected
Readonly
underspeedChangeThreshold: number
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:384
underspeedPid
• Protected
Readonly
underspeedPid: PidController
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:378
underspeedProtAccelTargetSmoother
• Protected
Optional
Readonly
underspeedProtAccelTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:372
underspeedProtPowerTargetSmoother
• Protected
Readonly
underspeedProtPowerTargetSmoother: ExpSmoother
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:392
useIndicatedMach
• Protected
Readonly
useIndicatedMach: boolean
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:326
ALL_THROTTLE_INDEXES
▪ Static
Protected
Readonly
ALL_THROTTLE_INDEXES: readonly [1
, 2
, 3
, 4
]
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:322
Methods
calculatePowerTargetThrottlePos
▸ calculatePowerTargetThrottlePos(throttle
, speedCommand
, isOverpowerProtActive
, isPowerTargetActive
, isThrottlePosTargetActive
, dt
, out
): PowerCommand
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
Name | 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.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:1182
calculateSpeedTargetPower
▸ calculateSpeedTargetPower(dt
, out
): SpeedCommand
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
Name | 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.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:885
createThrottle
▸ createThrottle(bus
, info
, servoSpeed
, powerSmoothingConstant
, powerSmoothingVelocityConstant
, powerLookahead
, powerLookaheadSmoothingConstant
, powerLookaheadSmoothingVelocityConstant
, throttleLeverManager
): AutothrottleThrottle
Creates a throttle controlled by this autothrottle system.
Parameters
Name | Type | Description |
---|---|---|
bus | EventBus | The event bus. |
info | AutothrottleThrottleInfo | Information describing the throttle to create. |
servoSpeed | 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.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:559
destroy
▸ destroy(): void
Destroys this autothrottle.
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:1318
setMaxIas
▸ setMaxIas(ias
): void
Sets this autothrottle's maximum allowed indicated airspeed, in knots.
Parameters
Name | Type | Description |
---|---|---|
ias | number | An indicated airspeed, in knots. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:647
setMaxMach
▸ setMaxMach(mach
): void
Sets this autothrottle's maximum allowed mach number.
Parameters
Name | Type | Description |
---|---|---|
mach | number | A mach number. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:663
setMaxPower
▸ setMaxPower(power
): void
Sets this autothrottle's maximum allowed engine power.
Parameters
Name | Type | Description |
---|---|---|
power | number | An engine power value. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:679
setMaxThrottlePos
▸ setMaxThrottlePos(pos
): void
Sets this autothrottle's maximum allowed normalized throttle lever position.
Parameters
Name | Type | Description |
---|---|---|
pos | number | A normalized throttle lever position. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:687
setMinIas
▸ setMinIas(ias
): void
Sets this autothrottle's minimum allowed indicated airspeed, in knots.
Parameters
Name | Type | Description |
---|---|---|
ias | number | An indicated airspeed, in knots. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:655
setMinMach
▸ setMinMach(mach
): void
Sets this autothrottle's minimum allowed mach number.
Parameters
Name | Type | Description |
---|---|---|
mach | number | A mach number. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:671
setMinThrottlePos
▸ setMinThrottlePos(pos
): void
Sets this autothrottle's minimum allowed normalized throttle lever position.
Parameters
Name | Type | Description |
---|---|---|
pos | number | A normalized throttle lever position. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:695
setOverpowerProtActive
▸ setOverpowerProtActive(val
): void
Sets whether this autothrottle's overpower protection is active.
Parameters
Name | Type | Description |
---|---|---|
val | boolean | Whether overpower protection is active. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:591
setOverspeedProtActive
▸ setOverspeedProtActive(val
): void
Sets whether this autothrottle's overspeed protection is active.
Parameters
Name | Type | Description |
---|---|---|
val | boolean | Whether overspeed protection is active. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:575
setSelectedIas
▸ setSelectedIas(ias
): void
Sets this autothrottle's selected indicated airspeed target, in knots.
Parameters
Name | Type | Description |
---|---|---|
ias | number | An indicated airspeed, in knots. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:615
setSelectedMach
▸ setSelectedMach(mach
): void
Sets this autothrottle's selected mach number target.
Parameters
Name | Type | Description |
---|---|---|
mach | number | A mach number. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:623
setSelectedPower
▸ setSelectedPower(power
): void
Sets this autothrottle's selected engine power target.
Parameters
Name | Type | Description |
---|---|---|
power | number | An engine power value. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:631
setSelectedSpeedIsMach
▸ setSelectedSpeedIsMach(val
): void
Sets whether this autothrottle's selected speed target is a mach number.
Parameters
Name | Type | Description |
---|---|---|
val | boolean | Whether the selected speed target is a mach number. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:607
setSelectedThrottlePos
▸ setSelectedThrottlePos(pos
): void
Sets this autothrottle's selected normalized throttle lever position target.
Parameters
Name | Type | Description |
---|---|---|
pos | number | A normalized throttle lever position. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:639
setServoActive
▸ setServoActive(index
, active
): void
Sets whether one of this autothrottle's throttle servos are active.
Parameters
Name | Type | Description |
---|---|---|
index | AutothrottleThrottleIndex | The index of the throttle servo to activate/deactivate. |
active | boolean | Whether the servo should be activated. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:704
setTargetMode
▸ setTargetMode(mode
): void
Sets this autothrottle's target mode.
Parameters
Name | Type | Description |
---|---|---|
mode | AutothrottleTargetMode | A target mode. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:599
setUnderspeedProtActive
▸ setUnderspeedProtActive(val
): void
Sets whether this autothrottle's underspeed protection is active.
Parameters
Name | Type | Description |
---|---|---|
val | boolean | Whether underspeed protection is active. |
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:583
start
▸ start(frequency
): void
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
Name | Type | Description |
---|---|---|
frequency | number | The frequency, in hertz, at which this autothrottle will update. |
Returns
void
Throws
Error if this autothrottle has been destroyed.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:717
stop
▸ stop(): void
Turns this autothrottle off.
Returns
void
Throws
Error if this autothrottle has been destroyed.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:733
update
▸ update(): void
Updates this autothrottle.
Returns
void
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:785
createPidFromParams
▸ createPidFromParams(params
): PidController
Creates a PID controller using a given set of parameters.
Parameters
Name | Type | Description |
---|---|---|
params | AutothrottlePidParams | A set of PID parameters. |
Returns
A new PID controller created using the specified parameters.
Defined in
src/sdk/autothrottle/AbstractAutothrottle.ts:1333