Skip to main content

Class: VNavSimVarPublisher

Defined in: src/sdk/autopilot/vnav/VNavEvents.ts:258

A publisher for VNAV events derived from SimVars.

Extends

Constructors

Constructor

new VNavSimVarPublisher(bus): VNavSimVarPublisher

Defined in: src/sdk/autopilot/vnav/VNavEvents.ts:263

Creates a new instance of VNavSimVarPublisher.

Parameters

ParameterTypeDescription
busEventBusThe event bus to which to publish.

Returns

VNavSimVarPublisher

Overrides

SimVarPublisher.constructor

Properties

bus

protected readonly bus: EventBus

Defined in: src/sdk/instruments/BasePublishers.ts:10

Inherited from

SimVarPublisher.bus


indexedSimVars

protected readonly indexedSimVars: Map<"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`, IndexedSimVarPublisherEntry<any>>

Defined in: src/sdk/instruments/BasePublishers.ts:149

Inherited from

SimVarPublisher.indexedSimVars


pacer

protected readonly pacer: undefined | PublishPacer<VNavEvents>

Defined in: src/sdk/instruments/BasePublishers.ts:13

Inherited from

SimVarPublisher.pacer


publishActive

protected publishActive: boolean

Defined in: src/sdk/instruments/BasePublishers.ts:12

Inherited from

SimVarPublisher.publishActive


publisher

protected readonly publisher: Publisher<VNavEvents>

Defined in: src/sdk/instruments/BasePublishers.ts:11

Inherited from

SimVarPublisher.publisher


resolvedSimVars

protected readonly resolvedSimVars: Map<"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`, ResolvedSimVarPublisherEntry<any>>

Defined in: src/sdk/instruments/BasePublishers.ts:147

Inherited from

SimVarPublisher.resolvedSimVars


subscribed

protected readonly subscribed: Set<"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`>

Defined in: src/sdk/instruments/BasePublishers.ts:151

Inherited from

SimVarPublisher.subscribed


INDEXED_REGEX

protected readonly static INDEXED_REGEX: RegExp

Defined in: src/sdk/instruments/BasePublishers.ts:145

Inherited from

SimVarPublisher.INDEXED_REGEX

Methods

getValue()

protected getValue<K>(topic): undefined | VNavEvents[K]

Defined in: src/sdk/instruments/BasePublishers.ts:343

Gets the current value for a topic.

Type Parameters

Type Parameter
K extends "vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`

Parameters

ParameterTypeDescription
topicKA topic.

Returns

undefined | VNavEvents[K]

The current value for the specified topic.

Inherited from

SimVarPublisher.getValue


getValueFromEntry()

protected getValueFromEntry<T>(entry): T

Defined in: src/sdk/instruments/BasePublishers.ts:357

Gets the current value for a resolved topic entry.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
entryResolvedSimVarPublisherEntry<T>An entry for a resolved topic.

Returns

T

The current value for the specified entry.

Inherited from

SimVarPublisher.getValueFromEntry


handleSubscribedTopic()

protected handleSubscribedTopic(topic): void

Defined in: src/sdk/instruments/BasePublishers.ts:193

Handles when an event bus topic is subscribed to for the first time.

Parameters

ParameterTypeDescription
topicstringThe subscribed topic.

Returns

void

Inherited from

SimVarPublisher.handleSubscribedTopic


isPublishing()

isPublishing(): boolean

Defined in: src/sdk/instruments/BasePublishers.ts:45

Tells whether or not the publisher is currently active.

Returns

boolean

True if the publisher is active, false otherwise.

Inherited from

SimVarPublisher.isPublishing


onTopicSubscribed()

protected onTopicSubscribed(topic): void

Defined in: src/sdk/instruments/BasePublishers.ts:279

Responds to when one of this publisher's topics is subscribed to for the first time.

Parameters

ParameterTypeDescription
topic"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`The topic that was subscribed to.

Returns

void

Inherited from

SimVarPublisher.onTopicSubscribed


onUpdate()

onUpdate(): void

Defined in: src/sdk/instruments/BasePublishers.ts:315

Publish all subscribed data points to the bus.

Returns

void

Inherited from

SimVarPublisher.onUpdate


publish()

protected publish<K>(topic, data, sync, isCached): void

Defined in: src/sdk/instruments/BasePublishers.ts:63

Publish a message if publishing is acpive

Type Parameters

Type Parameter
K extends keyof VNavEvents

Parameters

ParameterTypeDefault valueDescription
topicKundefinedThe topic key to publish to.
dataVNavEvents[K]undefinedThe data type for chosen topic.
syncbooleanfalseWhether or not the event should be synced to other instruments. Defaults to false.
isCachedbooleantrueWhether or not the event should be cached. Defaults to true.

Returns

void

Inherited from

SimVarPublisher.publish


publishTopic()

protected publishTopic(topic): void

Defined in: src/sdk/instruments/BasePublishers.ts:325

Publishes data to the event bus for a topic.

Parameters

ParameterTypeDescription
topic"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`The topic to publish.

Returns

void

Inherited from

SimVarPublisher.publishTopic


resolveIndexedSimVar()

protected resolveIndexedSimVar(topic, entry, index): undefined | string

Defined in: src/sdk/instruments/BasePublishers.ts:250

Attempts to resolve an indexed topic with an index, generating a version of the topic which is mapped to an indexed simvar. The resolved indexed topic can then be published.

Parameters

ParameterTypeDescription
topic"vnav_vertical_deviation" | "vnav_target_altitude" | "vnav_path_mode" | "vnav_path_available" | "vnav_state" | "vnav_altitude_capture_type" | "vnav_tod_distance" | "vnav_tod_leg_distance" | "vnav_bod_distance" | "vnav_tod_global_leg_index" | "vnav_bod_global_leg_index" | "vnav_toc_distance" | "vnav_toc_leg_distance" | "vnav_boc_distance" | "vnav_toc_global_leg_index" | "vnav_boc_global_leg_index" | "vnav_constraint_global_leg_index" | "vnav_constraint_altitude" | "vnav_next_constraint_altitude" | "vnav_fpa" | "vnav_required_vs" | "gp_approach_mode" | "gp_vertical_deviation" | "gp_distance" | "gp_fpa" | "gp_required_vs" | "gp_service_level" | "vnav_path_calculated" | "vnav_availability" | "vnav_altitude_constraint_details" | `vnav_vertical_deviation_${number}` | `vnav_target_altitude_${number}` | `vnav_path_mode_${number}` | `vnav_path_available_${number}` | `vnav_state_${number}` | `vnav_altitude_capture_type_${number}` | `vnav_tod_distance_${number}` | `vnav_tod_leg_distance_${number}` | `vnav_bod_distance_${number}` | `vnav_tod_global_leg_index_${number}` | `vnav_bod_global_leg_index_${number}` | `vnav_toc_distance_${number}` | `vnav_toc_leg_distance_${number}` | `vnav_boc_distance_${number}` | `vnav_toc_global_leg_index_${number}` | `vnav_boc_global_leg_index_${number}` | `vnav_constraint_global_leg_index_${number}` | `vnav_constraint_altitude_${number}` | `vnav_next_constraint_altitude_${number}` | `vnav_fpa_${number}` | `vnav_required_vs_${number}` | `gp_vertical_deviation_${number}` | `gp_distance_${number}` | `gp_fpa_${number}` | `gp_required_vs_${number}` | `gp_service_level_${number}` | `vnav_path_calculated_${number}` | `vnav_availability_${number}` | `vnav_altitude_constraint_details_${number}`The topic to resolve.
entryIndexedSimVarPublisherEntry<any>The entry of the topic to resolve.
indexnumberThe index with which to resolve the topic. If not defined, the topic will resolve to itself (without a suffix) and will be mapped the index-1 version of its simvar.

Returns

undefined | string

The resolved indexed topic, or undefined if the topic could not be resolved with the specified index.

Inherited from

SimVarPublisher.resolveIndexedSimVar


startPublish()

startPublish(): void

Defined in: src/sdk/instruments/BasePublishers.ts:30

Start publishing.

Returns

void

Inherited from

SimVarPublisher.startPublish


stopPublish()

stopPublish(): void

Defined in: src/sdk/instruments/BasePublishers.ts:37

Stop publishing.

Returns

void

Inherited from

SimVarPublisher.stopPublish


subscribe()

subscribe(data): void

Defined in: src/sdk/instruments/BasePublishers.ts:298

NOOP - For backwards compatibility.

Parameters

ParameterTypeDescription
datakeyof VNavEventsKey of the event type in the simVarMap

Returns

void

Deprecated

Inherited from

SimVarPublisher.subscribe


tryMatchIndexedSubscribedTopic()

protected tryMatchIndexedSubscribedTopic(topic): void

Defined in: src/sdk/instruments/BasePublishers.ts:208

Checks if a subscribed topic matches one of this publisher's indexed topics, and if so resolves and starts publishing the indexed topic.

Parameters

ParameterTypeDescription
topicstringThe subscribed topic to check.

Returns

void

Inherited from

SimVarPublisher.tryMatchIndexedSubscribedTopic


unsubscribe()

unsubscribe(data): void

Defined in: src/sdk/instruments/BasePublishers.ts:308

NOOP - For backwards compatibility.

Parameters

ParameterTypeDescription
datakeyof VNavEventsKey of the event type in the simVarMap

Returns

void

Deprecated

Inherited from

SimVarPublisher.unsubscribe