MSFS Avionics Source Code Mirror
OTHER License
Bot releases are visible (Hide)
Published by mattnischan 9 months ago
Published by mattnischan 11 months ago
SDK
createRawTextInput()
method of TextInputField
has been removed.GPSSatComputer
simulation and added additional configuration options.range()
and fillRange()
methods to ArrayUtils
.AccelerometerPublisher
class.above_ground_height
topic to GNSSEvents
.DistancePerWeight
and DistanceRatio
members to UnitFamily
.NMILE_PER_GALLON_FUEL
and FOOT_PER_NMILE
unit types.DefaultMapLabeledRingLabel
class.GenericMapSharedCanvasSubLayer
class.MapLabeledRingCanvasSubLayer
class.Tcas
now supports dynamic max intruder count and update frequencies.MapSharedCanvasLayer
class.MapSystemBuilder
.MapSystem
init callbacks will now be caught instead of interrupting the rest of the map build process.MapMultiLineAirspaceRenderer
would incorrectly render offset lines at the beginning of a shape.elevation_position
topic to ControlSurfacesEvents
.Autopilot
now uses the sim's maximum bank angle value when none is set using APConfig
.independentFds
parameter to APConfig
.MappedSubscribable
interface now extends Subscription
.ConsumerSubject
and ConsumerValue
now implement Subscription
.hideSign
option to NumberFormatter
.options
argument in NumberFormatter.create()
is now optional.SubscribableMapFunctions.count()
method.MB
and MILE_PER_GALLON_FUEL
unit types.fuel_usable_total_weight
topic.undefined
was explicitly passed as the option
argument to NumberFormatter.create()
.BingComponent
was sending too many params to SET_MAP_PARAMS
Coherent calls.indicated_mach_number
, indicated_tas
, tas_to_ias_factor
, indicated_mach_to_kias_factor
, and indicated_tas_to_ias_factor
topics to AdcEvents
.APConfig
is now parameterized in Autopilot
.APFLCDirector
now supports using indicated mach number.AbstractAutothrottle
now supports using indicated mach number.ColorUtils
.FSComponent
now supports the SVG tspan
element.Formatter
now optionally takes a second type parameter (defaulting to string
for backwards-compatibility) that specifies the output type of the formatter.FmcFormatter
type which wraps Formatter
and allows it to return a string | FmcRenderTemplate
.DisplayField
now accepts formatters whose output type is FmcRenderTemplate
, by taking FmcFormatter
as the formatter type in the options object.memorizedComponents
property of AbstractFmcPage
is now public.takeTextInput()
method to TextInputField
.onPrefixedEvent()
method of FmcScreen
.AltitudeSelectManager
now supports filtering events that trigger input accelerationAltitudeSelectManager
now supports locking selected altitude to the small increment step on SET events.GarminSDK
BearingDisplay
to prevent runtime errors.NavDataFieldType
.NavDataBarFieldTypeModelFactory
interface.NavDataNumberUnitField
and NavDataBearingField
now support custom unit formatters.TrafficInfoService
now supports ADS-B integration and additional configuration options related to ADS-B.AdsbSensitivityParameters
.MapRangeCompassLayer
.runwayLabelShow
property to MapWaypointsModule
to control visibility of runway labels separately from outlines.GarminMapBuilder.waypoints
build step now passes in the map system context to the configure
function.MapPanningModule
and MapPanningRTRController
out of the map pointer code.TouchPad
where the incorrect previous mouse position was being passed to the onDragMoved
callback.MapWaypointsVisController
now supports options to customize declutter thresholds.MapWaypointsVisController
no longer controls the visibility of runway outlines.GarminMapBuilder.waypointVisSettings
now supports options to customize declutter thresholds.NextGenGarminMapBuilder
class.HDDD° MM.MMM'
format to LatLonDisplay
.splitPrefix
prop to LatLonDisplay
.runway
property to ApproachDetails
.NumberUnitDisplay
and BearingDisplay
.BearingDisplay
, NumberUnitDisplay
and TimeDisplay
now support ToggleableClassNameRecord
for their class
props.suffixFormatter
and hideSuffixWhenNaN
props to TimeDisplay
.hideUnitWhenNaN
prop to NumberUnitDisplay
.mapGroundNorthUpActive
setting to MapUserSettingTypes
.MapOrientationModule
, MapOrientationSettingsController
, and MapDesiredOrientationController
now support north up on ground logic.ScrollList
now automatically snaps back to item when item length, item spacing, or item count per page props change.DateTimeUserSettings
now supports retrieving an instrument-local setting manager.Fms
where removing the entry leg of an airway would corrupt the flight plan if the airway only had one leg in it.MapTerrainController
now supports custom default terrain mode.MapWaypointHighlightIcon
was still rendering zero-width strokes.ArtificialHorizon
now supports either solid color or gradient for both ground and sky.GarminAPConfigInterface
interface.GarminAPConfig
.AdcSystem
now publishes mach and true airspeed values derived from indicated airspeed in lieu of "true" values.tasToIas
property to AirspeedIndicatorDataProvider
.tasToIas
property to AirspeedDefinitionContext
.AirspeedIndicator
no longer takes in the event bus as a prop.AirspeedIndicator
now supports adding additional CSS classes via prop.AirspeedIndicator
now optionally supports zero-valued V-speeds.DefaultAirspeedIndicatorDataProvider
no longer requires an instance of AirspeedAoaDataProvider
to be passed to the constructor. If no AOA data provider is specified, then DefaultAirspeedIndicatorDataProvider
behaves as if AOA data is always unavailable.VSpeedUserSettingUtils
now optionally support zero-valued V-speeds.G1000
AirspeedIndicator
component with the new G1000AirspeedIndicator
component.panel.xml
support for configuring V-speeds.panel.xml
support for configuring the airspeed indicator.ArrowControl
component.G1000UiControlWrapper
now supports wrapping G1000ControlList
controls.NumberInput
now takes MutableSubscribable
objects for its dataSubject
prop.ArrowToggle
now takes MutableSubscribable
objects for its dataref
prop.NavSystems
's class FrequencyItem
and its props interface FrequencyItemProps
.panel.xml
support for enabling/disabling selected altitude input event compatibility. Enable to treat AP_ALT_VAR_SET
events as increment/decrement events. Used for airplanes whose ModelBehaviors intercept AP_ALT_VAR_INC
/AP_ALT_VAR_DEC
events and forward them as SET events instead.panel.xml
support for configuring autopilot lateral director (ROL, HDG, VOR, LOC, GPS) bank angle limits.scrollToMostRecentlyAdded
prop to HardwareControlListProps
to allow autoscrolling to the most recently added item of the list.UiControls2
: GenericNumberInput
, and the newly added TimeNumberInput
and CourseNumberInput
. The GenericNumberInput
component supports keypad entry through single digit DigitInputs.G3000
CharInput
and CharInputSlot
components.Keyboard
component.GtcWaypointDialog
view, which allows a user to select a waypoint. This new dialog should be used where possible instead of GtcKeyboardDialog
.GtcWaypointDisplay
now supports binding ToggleableClassNameRecord
to its class
prop.GtcWaypointDisplay
.panel.xml
support for defining airspeed indicator color ranges using TAS.Published by mattnischan about 1 year ago
SDK
Binding<T>
and TwoWayBinding<T, U>
.format()
method of Formatter<T>
now takes a non-nullable type for its value
parameter.nullValueString
property of Formatter<T>
is now optional.FlightPlan
and FlightPlanner
.ColorUtils
class.AvionicsSystemPowerEvents
type.onPowerValid()
callback to BasicAvionicsSystem
.Wait.awaitFrames()
method.selectedHeading
property to MapAutopilotPropsModule
.MapAutopilotPropsController
now supports binding props to custom event bus topics.ReadonlyConsumerValue
type.APFLCDirector
could target the wrong speed in rare circumstances.FlightPlan
.APNavDirector
and APBackCourseDirector
now support tracking VOR/LOC signals in two phases: intercept and tracking. Certain director behaviors can now be configured independently for each phase.AltitudeSelectManager
now allows passing undefined to the settingsManager
constructor parameter if metric mode is not supported.APConfig
are now optional.FSComponent
where text and subscribables added directly as children of fragments would not be rendered to the DOM.FSComponent.bindCssClassSet()
.FilteredMapSubject
class.FSComponent.bindCssClassSet()
.AbstractSubscribable
, AbstractSubscribableArray
, AbstractSubscribableSet
, and AbstractSubscribableMap
.ObjectSubject
.Subject.apply()
no longer throws an uncaught runtime error if the subject value is not an object.DisplayFieldOptions
.cg_percent
topic to WeightBalanceEvents
.SubscribableMap<string, string>
.n1_uncorrected
and n2_uncorrected
topics to EngineEvents
.GarminSDK
NextGen
map and SVT absolute terrain colors to better match the real units.MapWindVectorModule
, MapWindVectorLayer
, and MapWindVectorController
classes.mapWindVectorShow
to MapUserSettingTypes
.GarminMapBuilder
, NextGenNavMapBuilder
, NextGenNearestMapBuilder
, and NextGenConnextMapBuilder
.WeatherRadarAvionicsSystem
class.wxrCalibratedGain
and wxrGain
settings to WeatherRadarUserSettingTypes
.TouchSlider
now supports rendering an optional inset child node.GarminHeadingSyncManager
class.MapGarminAutopilotPropsModule
and MapGarminAutopilotPropsController
classes.GarminMapBuilder.autopilotProps()
method.MapRangeCompassLayer
now supports drawing the selected heading line in Track Up orientation, and no longer hides the line when the selected heading is out of the compass's heading bounds (the heading bug is still hidden).NavDataBarFieldConsumerValueModel
and NavDataBarFieldConsumerValueNumberUnitModel
classes.NavDataBarFieldConsumerModel
and NavDataBarFieldConsumerNumberUnitModel
classes.GarminAutopilot
class.TouchList
component.ScrollList
component.onTouched
callback to TouchButton
and related button components.TouchButton
and related button components.simulatePressed()
method to TouchButton
and related button components.DynamicList
class.TouchButton
would immediately enter the drag-inhibited state when primed if inhibitOnDrag
was set to true and focusOnDrag
was set to false.getRootElement()
method to all touchscreen button components.GarminVNavManager2
no longer uses the climb or missed approach tracking phases if advanced VNAV is not supported.GarminVNavManager2
now publishes appropriate flight phase, tracking phase, and current/active constraint data when ground speed is less than 30 knots.G3000
NavReferenceSources
is now an interface. Use the new NavReferenceSourceCollection
class in garminsdk
to access an implementation of the interface.panel.xml
weather radar options for min/max user-selectable gain and electrical circuit for power draw when the radar is actively scanning.panel.xml
configuration option for HDG sync mode support.GarminTouchList
and GarminTouchListProps
exports to the msfs-wtg3000-gtc
package, which are aliases for TouchList
and TouchListProps
from the msfs-garminsdk
package.panel.xml
support for configuring GTC default control mode.Published by mattnischan over 1 year ago
isFlightDirectorOn
and isFlightDirectorCoPilotOn
are now read-only outside APStateManager
. Use the setFlightDirector()
method instead.FMS_LOC
member to APLateralModes
enum and new createFmsLocLateralDirector()
method to APConfig
interface.NavComInstrument
no longer creates its own instance of NavComSimVarPublisher
.NavProcessor
no longer creates its own instance of NavProcSimVarPublisher
.APRadioNavInstrument
no longer creates its own instance of NavProcSimVarPublisher
.APLvlDirector
now requires an APValues
object to be passed to its constructor.isToGaMode
option for APLvlDirector
is now specified via an options object.ap_master_[engage/disengage]
and ap_yd_[engage/disengage]
, and topics to ap_master_[on/off]
and ap_yd_[on/off]
, respectively.AbstractAutothrottle
now uses MultiExpSmoother
for smoothing speed and engine power.APNavDirectorInterceptFunc
.getCurrentClimbConstraint()
, getNextDescentConstraintIndex()
, getNextClimbConstraintIndex()
, and getNextMaprConstraintIndex()
methods to VNavUtils
.AuralAlertSystemWarningAdapter
class.autoEngageFd
and initializeStateManagerOnFirstFlightPlanSync
options to APConfig
.drivePitch
and driveBank
properties to the PlaneDirector
interface.AutopilotDriver
class.GenericFlcComputer
class.ambient_density
topic to AdcEvents
, providing ambient air density in slugs per cubic foot.SLUG
and KNOT_PER_SEC
units to UnitType
.UnitType
.asUnit
utility to NumberUnitSubject
for creating a constant conversion to another unit.BasicAvionicsSystem
now supports binding power state to subscribables.MathUtils.SQRT3
and MathUtils.SQRT1_3
constants.MathUtils.diffAngleDeg()
method.Vec3Math.setFromSpherical()
where the vector length was not being applied.HorizonProjection
.projectCameraRelativeAngular()
, invertToCameraRelativeAngles()
, projectRelativeCoordinates()
, and projectCameraRelativeCoordinates()
methods to HorizonProjection
.DigitScroller
so that each digit can be selected and styled independently.ClippedPathStream
where it was sometimes not generating the correct clipped endpoints for lines.isFinite()
methods to the various VecMath
classes.VecSubject
classes now consider NaN
to be equal to itself.HPA
, PercentOver100
, MetersPerSecondSquared
, and MillimetersWater
members to SimVarValueType
enum.autobrake_switch_pos
and autobrake_active
topics to BrakeEvents
.simRate
topic to ClockEvents
.class
attribute of native HTML elements to objects containing key-value pairs where the keys are class name strings and the values are boolean
or Subscribable<boolean>
.style
attribute of native HTML elements to objects containing key-value pairs where the keys are style property names and the values are string
, or Subscribable<string>
.ref
, style
, and class
props on native HTML elements.AbstractNearestSubscription
would notify removals with the incorrect array index.nav_radial_error
topic to NavProcSimVars
.SmoothingPathCalculator
did not write target altitudes to smoothed flat constraints.SubscribableMapFunctions.or()
, SubscribableMapFunctions.and()
, and SubscribableMapFunctions.nor()
methods.MathUtils.ceil()
and MathUtils.floor()
methods.vectorAnticipationBankRate
and disableAutoSuspendAtMissedApproachPoint
options to LNavDirectorOptions
.verticalAngle
property to FlightPlanLeg
type.CasSystem
where deactivating a suffixed alert when it was not active (or was scheduled to be active) and another suffix was active would corrupt the system state.DurationFormatter
, DmsFormatter2
, and DateTimeFormatter
.DateTimeFormatter
can now format hour/minute/second fragments to include decimals.DateTimeFormatter
now outputs '12' instead of '0' for 12-hour fragments.DurationFormatter
, DmsFormatter2
, or DateTimeFormatter
.copyFrom()
method to FlightPlan
.payload_station_weight
topic to WeightBalanceEvents
.AbstractAutothrottle
supports new options to set a threshold for changing speed target, overspeed limit, and underspeed limit values to ignore the contribution to the PID derivative term from the changing target value.getPreviousError()
method to PidController
.PidController
no longer calculates an infinite/NaN derivative term when dt
is 0.NavComSimVarPublisher
now publishes all the topics that are published by NavProcSimVarPublisher
.NavProcSimVarPublisher
, NavProcSimVars
, and other related types.SimVarPublisher
now supports defining custom valid index ranges and default index for indexed simvars.FuelSystemEvents
.GNSSEvents
related to inertial data.Autopilot
now sets APValues.lateralActive
to APLateralMode.NONE
and APValues.verticalActive
to APVerticalMode.NONE
when the lateral and vertical directors assigned to the NONE
modes are active, respectively.BacklightLevelController
now takes horizon angle into account.FSComponent.bindCssClassSet()
that binds a set to a ToggleableClassNameRecord
.FSComponent.addCssClassesToRecord()
function.SmoothingPathCalculatorOptions
now has all optional properties.GNSSPublisher
was publishing incorrect values to the zulu_time
topic.FlightPlanner
no longer tries to change the active flight plan index to a non-existent flight plan after receiving a flight plan sync response.HorizonSharedCanvasLayer
component.FlightPlan.setProcedureDetails()
would sometimes incorrectly update the flight plan's internal procedure details data.LinearServo
's drive()
method now takes in optional args to override timestamp and servo rate.simRate
property to APValues
.driveBank()
instead of setBank()
and support custom bank rates.APHdgDirector
and APTrkDirector
now support locking turn direction.ClippedPathStream.arc()
where arc segments were improperly drawn.ClippedPathStream.arc()
now clamps the angular width of arcs to 2 * Math.PI
. This brings it in line with the behavior of CanvasRenderingContext2D
's arc()
method.AiPilotEvents
interface and AiPilotPublisher
class.ap_disengage_status
topic to APEvents
.ap_heading_selected
, ap_altitude_selected
, ap_vs_selected
, ap_fpa_selected
, ap_ias_selected
, and ap_mach_selected
topics in APEvents
.keyEventManager
property in APStateManager
is now protected instead of private.SubscribableMap
interface and MapSubject
class.CasRegistrationManager
and AuralAlertRegistrationManager
were inappropriately caching registration events.FlightPathTurnCalculator
no longer attempts to compute turn anticipation if the from leg ends in a discontinuity or either the from/to leg is a discontinuity leg.FlightPathTurnCalculator
will now generate anticipated turns for AF/RF legs that don't exactly end on the same point as the connecting leg (within a certain tolerance).FlightPathTurnCalculator
would sometimes generate an anticipated arc/track turn whose anticipation distance was too large.VNavUtils.getFpa()
now always returns zero when altitude is zero.FlightPathUtils.getGreatCircleTangentToPath()
and FlightPathUtils.getGreatCircleTangentToVector()
methods.SwitchLabel
so that the caret won't turn green when on the left side.lskNotHandledThrowValue
, textInputFieldDisallowedDeleteThrowValue
and textInputFieldParseFailThrowValue
options to FmcScreenOptions
.MultiExpSmoother
class.AmbientPublisher
class.anti_ice_structural_ice_pct
topic to AntiIceEvents
.lnav_is_awaiting_calc
topic to LNavEvents
.getNextDescentConstraintIndex()
, getNextClimbConstraintIndex()
, and getNextMaprConstraintIndex()
methods to VNavUtils
.APVNavPathDirector
.showTerminalWaypoints
parameter to NearestIntersectionSearchSession.setIntersectionFilter()
.MapSystemWaypointsLayer
was not initializing its nearest search filters properly.NavRadioEvents
.AbstractAutothrottle
now supports targeting acceleration in lieu of directly targeting indicated airspeed.APNavDirector
and APBackCourseDirector
would not deactivate from an active state when CDI source was not NAV if the nav-to-nav manager reported that LOC mode could be armed.AeroMath.isaPressure()
where the pressure returned at or below the minimum altitude was incorrect.AeroMath.isaPressure()
so that the returned pressure values no longer have small discontinuities near the breakpoints for the different atmosphere layer boundaries.AeroMath.isaAltitude()
method.APFPADirector
would activate with an erroneous target value.APVSDirector
to allow specifying which increment to round to when getting the current vertical speed to set the selected vertical speed.GameStateProvider
now debounces any ingame events it gets by 2 frames before notifying subscribers, which should prevent erroneous ingame notifications after loading and before briefing starts.APGSDirectorOptions
now allows customization of desired closure rate, desired VS target, and min/max VS target.VsiDataProvider
.VerticalSpeedIndicator
now uses TcasRaCommandDataProvider
to get TCAS RA data.CASDisplay
now supports dynamic message counts.WindDataProvider
before it is initialized.MinimumsAlerter
considered the radar altimeter system to be off-line when its state was undefined.GpsReceiverSelector
and FmsPositionSystemSelector
.GarminObsDirector
now uses driveBank()
instead of setBank()
and supports custom bank rates.GarminAPConfig
now generates a HDG director that supports turn direction locking by default (reversal threshold of 331 degrees).GarminAPConfigDirectorOptions
for configuring default pitch/bank servo rates and HDG director turn reversal threshold.GarminVNavManager2
is no longer forced into climb tracking mode when in the departure segment.RollIndicator
now supports ground/sky pointer options.getTocBocDetails()
method to GarminVNavUtils
.GarminVNavManager2
around calculating the active VNAV waypoint.GarminVNavManager2
would not calculate TOC/BOC details for missed approach constraints when the missed approach was manually activated before LNAV sequenced into the missed approach segment.GarminVNavManager2
would not disarm/deactivate PATH when the VNAV tracking phase switched to a phase that did not allow tracking the descent path.MapWaypointsLayer
now displays RNAV-type intersections.TcasRaCommandDataProvider
interface and DefaultTcasRaCommandDataProvider
class.HorizonDisplay
now supports displaying TCAS RA pitch cues.CasConfig
object from panel.xml.NavIndicators
to an interface. The implementing class is now NavIndicatorsCollection
.CAS
to G3000FullCasDisplay
. It is still exported under the CAS
alias for backwards compatibility.<PfdLayout>
panel.xml tag now supports inheritance and can be defined in global scope.use-banners
option is now an alias for setting all individual banner options.G3000BacklightPublisher
and G3000BacklightUtils
classes.GtcService
instance to the GTC plugin binder.GtcDualKnobRotationState
in favor of GtcDualKnobState
.G3000GtcViewContext
object is now passed to GTC plugins' registerViews()
method. The object contains references to items used to create the base G3000 package's GTC views.panel.xml
config option for displaying the PFD roll arc.panel.xml
config option for roll indicator ground/sky pointer style.Published by mattnischan over 1 year ago
SortedArray
: get()
, first()
, and last()
now throw errors if index is out of bounds.ArraySubject
no longer passes an index of -1 to handlers. The index passed to handlers is now always the index of the manipulated element(s).nav_radial
and adf_bearing
topics were changed to be in units of degrees instead of radians.gp_distance
topic was changed to be in units of feet.getCurrentConstraintDetails()
, getTargetConstraintIndex()
and getTargetConstraint()
methods to VNavPathCalculator
interface.planBuilt
property to VNavPathCalculator
interface.setCurrentAlongLegDistance()
method from the VNavPathCalculator
interface.setCurrentAlongLegDistance()
method from SmoothingPathCalculator
.flaps_angle
topic to flaps_left_angle
and added new flaps_right_angle
topic.gear_position_index
topic to gear_position
.Tcas
. As a result, the API for TcasSensitivityParameters
and TcasIntruder
have changed.Tcas
and added support for multi-threat encounters and composite RAs.eng_combustion
topic to boolean
.eng_starter
topic to eng_starter_on
and changed its type to boolean
.eng_manual_ignition
topic to eng_ignition_switch_state
and changed its type to 0 | 1 | 2
.VNavUtils.getConstraintDetails()
now accepts an out
argument to define the object to write the details to instead of always creating a new object with every call.SmoothingPathCalculator
now takes additional options in the constructor to customize behavior.UserFacility
to store the ICAOs of references (if any) instead of the facilities themselves.DurationFormatter
now supports precision.gp_available
topic now indicates whether a glidepath is actually available for guidance as opposed to whether the currently loaded approach supports a glidepath.phase
property to flight plan VerticalData
.VNavUtils.getVerticalSpeedFromFpa()
to match the other vertical speed/FPA/groundspeed conversions.VNavWaypoint
now supports mutable location and requires an ident string.NearestUserFacilitySearchSession
to NearestRepoFacilitySearchSession
.FacilityWaypoint
to be an interface. The old FacilityWaypoint
class was renamed BasicFacilityWaypoint
.LNavDirector.getVectorsForTransitionMode()
into LNavUtils
.SmoothingPathCalculator
no longer supports the vnav_set_current_fpa
control event topic.SmoothingPathCalculator
no longer automatically calculates the FPA for vertical directs; it is now the responsibility of the code activating the VDTO to provide an FPA. If an FPA is not explicitly provided, it will default to the calculator's default FPA.VNavUtils.getNextClimbConstraint()
to VNavUtils.getNextClimbTargetConstraint()
.globalPluginTargetFunc
to the addScripts()
method of PluginSystem
to allow the system to filter global plugins.MapAltitudeArcLayer
to render the arc using SVG instead of canvas.AdcPublisher
and AhrsPublisher
; these publishers now support all indexes for their indexed topics by default.SoundServer
-related play_sound
, start_sound
, and stop_sound
event bus topics are no longer supported. New topics used to publish commands to SoundServer
can be found in the SoundServerControlEvents
interface.SoundServer
no longer prevents sounds from being played based on instrument electricity state.APStateManager
now requires an APConfig
object to be passed to its constructor.LNavDirector
, APRollDirector
, APLvlDirector
, APHdgDirector
, APNavDirector
, and APBackCourseDirector
now accept configuration options via an optional object passed to their constructors.onSoundEnd()
method to the FsInstrument
interface.KeyInterceptManager
to KeyEventManager
and added ability to trigger key events with the new triggerKey()
method.endIndex
param to FlightPlan.legs()
.FlightPlan.tryGetSegment()
method.trimStart()
and trimEnd()
methods to StringUtils
.LatLonDisplay
component to properly pad the minutes value with a leading zero when the value is less than 10.NearestContext
.vc_mouse_leave
and vc_mouse_enter
events to BaseInstrumentPublisher
.type
parameter to ICAO.isFacility()
.FacilityUtils
class.FacilityRepository
now supports adding/removing multiple facilities at a time.KdTree
where the tree structure was not reset when clearing the tree.KdTree
where removing elements would corrupt the tree state.MapNearestWaypointsLayer
where it would continue to render waypoints for facilities that had been removed from the facility repository.NearestSubscription
: added awaitStart()
method.NearestSubscription
: start()
and update()
now always await until the subscription has been started/updated, respectively.FacilityLoader
now returns the correct type of session when starting a nearest VOR search.NearestVorSubscription
: added setVorFilter()
method.AdaptiveNearestSubscription
could sometimes provide the incorrect facilities.NearestContext.initialize()
to define airplane position.NearestContext.update()
now awaits the update of the context's constituent nearest subscriptions.NearestContext.getRegionLetter()
will succeed.AdaptiveNearestContext
class.ArrayUtils
.SortedArray
: added peek()
, peekFirst()
, peekLast()
, resort()
and removeAt()
methods.InstrumentBackplane
now uses the BackplanePublisher
interface instead of BasePublisher
.EventRepublisher
class.FlightTimerInstrument
and FlightTimerPublisher
classes.nav_dme_lla
and adf_lla
topics to NavProcSimVars
events.lnavdata_waypoint_ident
topic to LNavDataEvents
.NavComSimVars
event topics for COM radio 3, NAV radios 3/4, and ADF radio 2.useMinusSign
option to NumberFormatter
.gp_service_level
topic to VNavEvents
.copyCalcs
to the copyFlightPlan()
method in FlightPlanner
and the copy()
method in FlightPlan
.NavProcessor
now calls setBrgSrc()
when a radio that is a selected bearing source has a frequency change event.VNavConstraintDetails
type.vnav_constraint_details
topic to VNavEvents
.isLegIndexPredicted
to FlightPlanPredictor
.Easing
utils class.Animator
class.FSComponent.parseCssClassesFromString()
now takes optional filter argument.NavComInstrument
.ICAO.getRegionCode()
method.NaN
values are now considered equal for the purposes of NumberUnit
and GeoPoint
equality checks.GeoPointSubject
now supports custom error tolerance.toggle()
method to MutableSubscribableSet
.zero_lift_aoa
topic to AdcEvents
.mach_to_kias_factor
topic when IAS is close to 0.mach_to_kias_factor
topic could have an infinite value.ControlSurfacesEvents
.gear_is_on_ground
topic to ControlSurfacesEvents
.NavComSimVars
events that publish COM radio tuned facility name and ident.Transform2D.toScale()
was ignoring the z scaling factor.ap_selected_speed_is_manual
topic to APEvents
.lnav_along_track_speed
topic to LNavEvents
.BottomTargetPathCalculator
now writes the firstDescentConstraintLegIndex
and lastDescentConstraintLegIndex
fields in the vertical plan.SmoothingPathCalculator
now writes the missedApproachStartIndex
field in the vertical plan, and the isBeyondFaf
field in the vertical constraint.VNavUtils
.FlightPathUtils.projectVelocityToCircle()
method.withPrecision()
, changedBy()
, and atFrequency()
methods in SubscribableMapFunctions
.TemperatureDelta
member to UnitFamily
enum.MappedSubject.create()
that allows you to omit the mapping function.CombinedSubject
.DurationDisplay
.DurationDisplay
now displays negative values correctly.useMinusSign
and forceSign
options to DurationDisplay
.TcasAdvisoryDataProvider
class.event_bus_topic_first_sub
topic is no longer cached.UnitType.IGPH_FUEL
).MapWaypointRendererIconFactory
and MapWaypointRendererLabelFactory
are now allowed to return null
.OneWayRunway
.RunwayUtils.getSurfaceCategory()
now accepts OneWayRunway
or RunwaySurfaceType
as arguments.RunwayUtils
: getRunwayPairNameString()
, getRunwayNumberPrimary()
, and getRunwayNumberSecondary()
.PatternPathStream
where it would sometimes render a pattern past the end of a path.AirportUtils.tryGetRegionCode()
method.pipe()
method on Subscribable
now supports map functions that accept the current value of the pipe's target subscribable as a second argument.SubscribableMapFunctions.atFrequency()
.GPSSatComputer
class.MapOwnAirplaneLayer
now supports dynamic icon size.ap_toga_hold
topic to APEvents
.FacilityRepository
now supports removing facilities by ICAO.FacilityRepositoryEvents
for adding and removing facilities from FacilityRepository
.EngineEvents
.FacilityUtils
and UserFacilityUtils
.size()
method to FacilityRepository
.antipode()
method to GeoPointInterface
.approach_supports_gp
topic to VNavDataEvents
to replace the old gp_available
topic.SmoothingPathCalculator
.VNavUtils
.VNavEvents
.SmoothingPathCalculator
related to VNAV-ineligible legs.IntersectionFacilityUtils
class.NearestIntersectionSubscription
now supports the option to filter out terminal intersections when they duplicate a non-terminal intersection.FSComponent.shallowDestroy()
utility function.MathUtils.lerpVector()
method.OneWayRunway
: lighting
, gradient
, width
, and elevationEnd
.DefaultUserSettingManager
now attempts to reconcile existing setting state on other instruments on initialization instead of always initializing to the default setting values.LerpVectorLookupTable
class.VIS
facility type in FacilityRepository
.AllExceptVisual
facility search type.NavComSimVars
events.LNavDirector
now handles vector anticipation without sequencing to the next vector early.lnav_tracking_state
topic to LNavEvents
.LNavUtils
class.ArcTurnController
will now also reset its smoothing filter.LinearServo
drives a value after instantiation.FlightPathUtils.getVectorTurnDirection()
and FlightPathUtils.getVectorTurnRadius()
methods.vnav_set_default_fpa
topic to VNavControlEvents
.SmoothingPathCalculator
now supports setting default FPA through vnav_set_default_fpa
topic.Autopilot
now forces armed vertical modes to deactivate when the glidepath director activates.verticalDirectFpa
property to VerticalFlightPlan
.fpa
property to SetVnavDirectToData
.Wait
functions.LNavDirector
to track an inappropriate vector.LNavDirector
where it was impossible to manually suspend (including activating OBS mode) a leg that previously had an end-of-leg suspend applied to it.RunwayUtils.getRunwayFacilityIcao()
can now accept an airport ICAO as its first argument in place of an airport facility.APGSDirector
and APGPDirector
to reduce oscillations at high ground speeds.SmoothingPathCalculator
now supports an optional function to define which altitude constraints to include in VNAV calculations.VNavUtils.getNextMaprTargetConstraint()
method.FlightPlanner
no longer publishes the fplCalculated
topic if the flight plan was deleted while calculate was running.Autopilot
now allows the VNAV manager to disarm FLC mode.APAltCapDirector
to perform better with higher vertical speeds during capture.TcasOperatingMode
enum members: Off
, Failed
, and Test
.BingComponent
, SynVisComponent
, and MapSystem
now supports the new JS Bing map terrain color API added in SU10.BingComponent.createEarthColorsArray()
now takes additional optional arguments defining the elevation range and number of terrain color steps to generate. The defaults will generate an array equivalent to the old implementation.BingComponent.rgbToHexaColor()
.BingComponent
, MapBingLayer
, and MapSystem
now support custom weather colors.getRegionCode()
and getRegionIdent()
methods to NearestContext
.MapOwnAirplaneIconModule
and MapOwnAirplaneLayer
now support customizable icon orientations.MapOwnAirplaneIconOrientationController
class for use with MapSystem
.APNavDirector
now supports a configuration option to skip arming.LNavDirector
now supports a configuration option to skip arming.AhrsEvents
.fuel_total
and fuel_total_weight
topics now always provide (usable + unusable) fuel.fuel_usable_total
and fuel_usable_total_weight
topics to EngineEvents
that provide usable fuel quantities.AltitudeSelectManager
now supports an option to transform intercepted SET events into INC/DEC (this was the default behavior, but now it can be disabled).AltitudeSelectManager
now supports optional custom altitude stops when incrementing/decrementing.AltitudeSelectManager
now supports pause/resume/reset logic.DefaultUserSettingManager
can now be instantiated as instrument-local manager. Instrument-local managers do not sync their setting values to or from other instruments.LNavDirector
is now false if there is no valid vector for it to track.LNavDirector
now automatically unsuspends sequencing when there is no leg for it to track.SynVisComponent
now supports an optional delay before binding a Bing map on initialization.FSComponent.visitNodes()
could try to visit null/undefined nodes.SimVarPublisher
will now immediately publish a value if publishing is active when a topic is first subscribed to.CssTransform
API for generating CSS transform strings.MapDataIntegrityModule
for tracking attitude and ADC data integrity.MapBindingsController
now supports multi-source bindings.MapAltitudeArcLayer
now hides the arc if GPS or ADC data are not available.NumberFormatter
now supports string caching via option.InterceptGreatCircleToPointBuilder
that would cause it to calculate looping paths when not appropriate.ControlSurfacesEvents
.FacilityUtils.isFacilityType()
now correctly handles intersection facilities with VOR/NDB ICAO strings.DefaultFacilityWaypointCache
now separates intersection facilities with VOR/NDB ICAO strings from their VOR/NDB counterparts.MapProjection
could enter an unrecoverable internal state when attempting to display large ranges near the poles.MapRotation
enum member Undefined
. MapRotationController
will not set any specific rotation for this new mode.SmoothingPathCalculator
to make the class extensible.AeroMath
utility class.shouldResync
to the EventBus
constructor to control whether the bus asks for all previously published and cached topics to be resynced to the new instance.WeightBalanceEvents
interface, which defines weight and balance-related event topics, and its associated publisher WeightBalanceSimvarPublisher
.UnitType.RANKINE
).length
property to VerticalFlightPlan
.VNavUtils.getTocBocDetails()
would not calculate a BOC if the climb would start once the last climb constraint was sequenced.APFLCDirector
now accepts an optional constructor argument to define whether to set the target FLC speed to the current IAS when the director is activated.GameVarPublisher
class.fuel_center
topic to EngineEvents
.ControlSurfacesEvents
.useBuffer
prop is no longer required to be true
for MapCachedCanvasLayer
.ApproachUtils
class.getNextMaprTargetAltitude()
, getNextClimbTargetAltitude()
, getNextDescentTargetAltitude()
, getNextDescentTargetConstraint()
methods to VNavUtils
.FuelSystemEvents
interface, which defines fuel system-related event topics, and its associated publisher FuelSystemSimVarPublisher
.BrakeEvents
interface, which defines brake-related event topics, and its associated publisher BrakeSimvarPublisher
.HydraulicsEvents
interface, which defines hydraulics-related event topics, and its associated publisher HydraulicsPublisher
.forEachSubscribedTopic()
method to EventBus
.SimVarPublisher
to accept topics with arbitrary indexes.SoundServer
to provide expanded functionality.CasSystem
class and related supporting classes.AuralAlertSystem
class and related supporting classes.ArrayUtils.shallowCopy()
method.altitudeHoldDefaultAltitude
property to APConfig
to define the default altitude hold value to set during autopilot initialization.ambient_density
topic to AdcEvents
.UnitType.SLUG
).Density
member to UnitFamily
enum.UnitType.SLUG_PER_FT3
and UnitType.KG_PER_M3
).APFPADirector
, APHdgHoldDirector
, APNoneDirector
, APTogaPitchDirector
, APTrkDirector
, APTrkHoldDirector
.AbstractAutothrottle
, JetAutothrottle
, and TurbopropAutothrottle
classes.FlightTimerInstrument
class and related supporting classes.NavRadioEvents
.getLatDmsStr()
and getLonDmsStr()
in DmsFormatter
.reset()
method to LinearServo
.defaultLateralMode
and defaultVerticalMode
properties in APConfig
to accept functions that return the desired default modes in place of static modes.DmsFormatter2
utility class.RadioFrequencyFormatter
utility class.UUID
utility class.WeatherRadar
now supports custom colors and gain.GarminAPConfig
now accepts an optional argument in its constructor to define configuration options for various directors.BAROMETRIC
, AP_NAV_SELECT_SET
, and TOGGLE_GPS_DRIVES_NAV1
key intercepts from GarminAPStateManager
.GarminVNavManager
.isPowered()
and setPowered()
methods to the TrafficSystem
interface.FmsUtils.buildVisualApproach()
will now calculate the correct altitude constraint for the faf for any requested distance from the runway.Fms.emptyPrimaryFlightPlan()
and Fms.invertFlightPlan()
no longer create off-route direct-to's.Fms
could sometimes throw an uncaught error.Fms.cancelDirectTo()
method for canceling the active direct-to.GarminVNavUtils.shouldUseConstraint()
method.GarminGoAroundManager
class to handle things that should happen when GA mode is activated.MapTerrainWxSettingCompatManager
class.Fms
where the flight plan would become corrupted when inserting an airway using an entry leg that is the target of a direct-to, or when removing an airway entry leg that is the target of a direct-to.MapRangeCompassLayer
and HorizonLine
.MapTrackVectorLayer
now hides the track vector if GPS or ADC data or both heading and attitude data are not available.editHold()
method to Fms
to handle editing existing holds in the flight plan.GarminFacilityWaypointCache
now separates intersection facilities with VOR/NDB ICAO strings from their VOR/NDB counterparts.vnav_tracking_phase
topic to VNavDataEvents
.GarminVNavManager2
class to replace the old GarminVNavManager
, which is now considered to be deprecated.VNavDataProvider
interface and associated implementing class DefaultVNavDataProvider
to provide a common interface from which to consume VNAV data.Fms
where on-route direct-to's were sometimes created with incorrect initial course and turn direction.Fms
retrieves approach frequencies.isVisual
parameter to FmsUtils.getApproaches()
.AoaSystem
, FmsPositionSystem
, GpsReceiverSystem
, MarkerBeaconSystem
, TrafficAvionicsSystem
.ImgTouchButton
class.BgImgTouchButton
class.TouchPad
class.TouchSlider
class.GarminTimerManager
class.WaypointAlertComputer
class.MinimumsDataProvider
interface associated implementing class DefaultMinimumsDataProvider
to provide a common interface from which to consume minimums data.WindDataProvider
interface associated implementing class DefaultWindDataProvider
to provide a common interface from which to consume computed wind data.CASDisplay
class.Published by mattnischan about 2 years ago
AltitudeSelectManager
now publishes selected altitude initialization state to alt_select_is_initialized
topic.AltitudeSelectManager
now supports initOnInput
option.lnavdata_waypoint_ident
event to LNavDataEvents
.APPitchDirector
BottomTargetPathCalculator
now checks the invalid constraints on each calculate event to determine if any invalid constrant could now be valid and re-added to the vertical flight plan.getFafIndexReverse
method in VNavUtils
to return the last leg if no FAF exists.BottomTargetPathCalculator.buildVerticalPath()
.onBoundCallback
is now an optional prop on BingComponent
.MapProjection
no longer notifies change listeners when there is no change after calling set()
.EventRepublisher
class.NavAngleUnit
is now an interface.NavAngleSubject
was renamed to BasicNavAngleSubject
, and slightly refactored to support the new BasicNavAngleUnit
class.angularWidth()
to GeoCircle
.GeoCircle.angleAlong()
and GeoCircle.distanceAlong()
now support optional equality tolerance arguments.BasicNavAngleUnit
class, which implements NavAngleUnit
.GeoPoint.distance()
with LatLonInterface
arguments.AffineTransformPathStream
was not applying the correct rotation to arcs.inclusive
argument to FlightPathUtils.isPointAlongArc()
.TurnToCourseBuilder
no longer builds a vector if the turn start and end would be equivalent.FlightPathCalculator
now supports fallback state.LegCalculations
now has a isFallback
property which is set to true
when the calculated flight path for the leg ends in a fallback state.FlightPathUtils.resolveIngressToEgress()
now handles cases where the end of an ingress vector or start of an egress vector joins a base flight path vector outside the bounds of the joined vector.FlightPathUtils.isPointAlongArc()
where tolerances were not being handled correctly.CircleInterceptLegCalculator
.InstrumentBackplane
now uses the BackplanePublisher
interface instead of BasePublisher
.nav_dme_lla
and adf_lla
to NavProcSimVars
events.getRegionCode
static method to ICAO
.LodBoundary
no longer uses unsimplified vectors for all LODs when grabbing LOD'd vectors from the sim.FacilityILSFrequency
interface to and updated various runway structures to use it.NUMERIC_NAN_EQUALITY
function to SubscribableUtils
.pause()
and resume()
methods on Subscription
and MappedSubscribable
now return this
.These are the changes between the initial public release of the garminsdk and current release version 0.1.0.
AdcSystem
and moved ADC-related events to that.AhrsSystem
now republishes relevant AHRS data to the bus under its own indexed topics for ease of consumption.AhrsSystem
now publishes whether heading and altitude data are valid.AhrsSystem
and AdcSystem
.MapOrientationRTRController
and map builder now support mapping orientation modes to subscribable target offsets/range endpoints in addition to static ones.TrafficSystem
interface.TrafficSystem
.TrafficMapRangeLayer
.TrafficMapRangeLayer
will now always display ranges in nautical miles.TrafficMapRangeLayer
would not draw ticks correctly after its parent map was resized.GarminAPConfig
from 30 to 25.APBackCourseDirector
in GarminAPConfig
.GarminObsDirector
now always uses the magnetic variation at the OBS fix to compute a true course to track.ObsSuspDataProvider
class to handle SUSP mode.vnavNextLegTargetAltitude
in GarminVNavManager
.GarminVNavManager
no longer requires nextLeg
.NavDataComputer
.FmaDisplaySlot
renamed to FmaModeSlot
and its props were changed to make it more explicit that it requires the transition state of the active mode rather than the armed modes.FmaApSlot
renamed to FmaMasterSlot
and changed to handle just one master setting each.isDuplicateLeg
in FMS to handle when idents match but assciated airport is different.addVisualFacilityFromLeg
would try to add discos to the repo.RadarAltimeterSystem
.RadarAltimeter
component.RadarAltimeterDataProvider
now smooths the provided radar altitude and provides a data failed state.MinimumsAlerter
.WeatherRadar
component and WeatherRadarUserSettingTypes
user setting type definition.CdiScaleFormatter
class to generate text formatters for CDI scaling modes.UnitFormatter
output string for inches of mercury to 'IN'.Published by mattnischan over 2 years ago
This release of the Avionics Framework includes a new component, the Garmin SDK. This contains common code meant to be used across Garmin systems to facilitate the development of new Garmin products which use similar paradigms. Since this is the initial release of the Garmin SDK there is no change log for that, but changes to it in future releases will be documented here.
primaryPlanIndex
to VNAVDirector
constructor.settingsManager
to AltitudeSelectManager
constructor.LNavVars
L-Vars from WT1000_to WTAP_.VNavSimVars
L-Vars from WT1000_to WTAP_.VNavConstraint
interface.
minAltitude
, maxAltitude
properties.targetAltitude
.BottomTargetPathCalculator
and VNAVDirector
now use the targetAltitude
field.apValues.navToNavLocArm
to be a function that returns the latest value from the nav to nav manager.AutoPilot
in favor of using the subjects with the same names from apValues
. The fields removed were lateralActive
, lateralArmed
, verticalActive
, verticalArmed
.VNavPathCalculator
interface and implemented classes SmoothingPathCalculator
and BottomTargetPathCalculator
to support multiple flight plans, requiring methods to supply a plan index or a vertical plan for each method run. This allows vnav path calculations to be run, and data to be retained, for multiple plans at the same time.VNavEvents
are all events published directly by VNav based on data directly from the path calculator. Many, but not all of these, are lvar-driven events.VNavDataEvents
are all events published by other data processors/users based on/related to VNav data, but are not published directly by the VNav classes themselves.VNavControlEvents
are generic or common events used by avionics to control aspects of VNav via the bus.yaw_damper
stateObsDirector
.obsDirector
to LNAVDirector
constructor.VnavPathCalculator
.GlidePathCalculator
class.GPS WP DISTANCE
in GpsSynchronizer.VNavControlEvents
.VNavUtils
.FLCDirector
now supports mach hold.AltitudeSelectManager
now supports input acceleration and a variety of other configuration options.AutoPilot
's apValues
, lateralArmed
and verticalArmed
LNavDirector
now accepts true or false value on the 'suspend_sequencing'
Control Event on the bus, and correctly sets the suspend state in LNAV.suspChanged
event from LNavEvents
has been removed and replaced with isSuspended
.captureAltitude()
method to APAltCapDirector
for tuning specific aircraft; if supplied this is used, if unsupplied a default method is used.APNavDirector
's localizer tracking would be offset.BottomTargetPathCalculator
and GlidePathCalculator
.firstDescentConstraintLegIndex
, lastDescentConstraintLegIndex
to VerticalFlightPlan
interface. Added isDirectToTarget
to VNavLeg
interface.BottomTargetPathCalculator
for changed interfaces.VNavUtils
methods. As appropriate - generally VNavUtils
methods are those that are common across all vnav implementations, while the private static methods in the calculator itself represent logic specific to the calculator.VNavVar
VNAVMode
to VNAVState
, changed VNavSimVarEvents
vnav_mode
to vnav_state
, changed enum VNavMode
to VNavState
.VNavDirector
to VNavManager
interface.APVerticalModes
enum to include PATH
instead of VNAV
.APVNavPathDirector
APFLCDirector
allowing it to be armed.Autopilot
in SDK to handle new VNavManager
injection.MapAbstractWaypointRenderer
to MapWaypointRenderer
.GeoProjectionPathStreamStack
class.AbstractFlightPathLegRenderer.render()
now accepts bitflags to determine which part of the leg to render.BingComponent
, MapBingLayer
, and SynVisComponent
now require a prop that provides the current game state.HardwareUiControl
base class for use when developing GUI menus.MapWaypointRenderer
now supports injectable render role selection behavior.MapWaypointRenderer
.PathStream
classes.GeoCirclePathRenderer
class.GeoProjectionPathStreamStack
class.CustomFlightPathLegRenderer
class.FlightPathLegLineRenderer
and FlightPathLegPatternRenderer
classes.MapProjection
now supports setting arbitrary endpoints to define range.BingComponent
MapSystem
map building system API and related components.DurationDisplay
and LatLonDisplay
now accept SubscribableSet
for their class
prop.DurationDisplay
can now accept a static value for its value
prop.vnav_enabled
event from ControlEvents
.string
in places where it wasn't already.KeyInterceptManager
now converts key event values to their correct format (signed 32-bit integers) before publishing them on the event bus.suspend_sequencing
event to ControlEvents
.lnav_inhibit_next_sequence
event to ControlEvents
.activate_missed_approach
event to ControlEvents
.approach_freq_set
event to ControlEvents
.approach_available
event to ControlEvents
.SimVarValueType
.EventBusMetaEvents
event interface.
event_bus
event to this new interface.event_bus_topic_sub
event topic to this new interface that EventBus
publishes when a topic is subscribed to.getTopicSubscriberCount()
method to EventBus
.SimVarPublisher
to automatically start polling simvars that it gets subscriptions for.
subscribe()
and unsubscribe()
methods on SimVarPublisher
now do nothing.ConsumerSubject
now allows pausing, resuming, and setting consumer after instantiation.KeyInterceptManager
GameStateProvider
class.HoldLeg
flight path vector flag has been separated into HoldInboundLeg
and HoldOutboundLeg
.HoldEntry
flight path vector flag into HoldDirectEntry
, HoldTeardropEntry
, and HoldParallelEntry
flags.FlightPlanner
now provides an option for the user to specify a naming method to name legs. The default garmin naming framework remains.DirectToPointBuilder
flight path vector builder class.FlightPathUtils.isPointAlongArc()
, for checking if a point lies on a geo circle arc.ThruDiscontinuity
. This is a discontinuity leg that does not trigger LNAV to suspend sequencing.FlightPlanLegIterator
class in sdk/flightplan
with methods for iterating forward or reverse through the legs of a flight plan.GeoPoint
for calculating distance and bearing from raw lat/lon values.GeoCircleResampler
class.GeoProjection
now supports full 3D pre-rotation.DurationFormatter
and DateTimeFormatter
classes.SvgPathStream
class.PathStream.arc()
when called immediately after beginPath()
to match what canvas does.gps_wp_bearing
event is now published as string instead of number of degrees.APEvent
topics to achieve a more consistent naming scheme.XPDRInstrument
now supports an arbitrary number of transponders. All transponder-related sim var event topics are now indexed.NavEventsExtentions
to NavRadioEvents
and redefined the event topic names.PressurizationPublisher
.ADCPublisher
.ADCPublisher
.ap_yd_engage
and ap_yd_disengage
events to APEvents
for processing yaw director events.mach_number
.set_signal_strength
event to NavCom
.EngineEvents
.DecisionHeightManager
class to handle the new DH/DA logic added in SU8, with unit switching capabilities.BaseInstrumentPublisher
class.nav_radio_active_mag_var
event to NavRadioEvents
.NavProcessor
and NPConfig
.Transform2D.reflection()
was renamed to Transform2D.toReflection()
.ReadonlyFloat64Array
type and changed the vector math, geo, flight path calc, and map codebases to use ReadonlyFloat64Array
where appropriate.MathUtils
.lerp()
method to MathUtils.Transform3D
class.Transform2D
with setting origin points in the .toTranslate/Scale/Rotation/Reflection
methods.VecNMath
class.FacilityRespository
to FacilityRepository
.name
, flags
, and verticalData
fields in LegDefinition
are now readonly (including the fields inside verticalData
, except for fpa
, because it is a calculated field. This was done so that people won't change these fields expecting the changes to get picked up automatically. LegDefinitions should be mostly treated as immutable, and changes should only go through the appropriate FlightPlan functions, such as addLeg
, removeLeg
, and setVerticalData
.FacilitySearchType.None
to FacilitySearchType.All
.getAssociatedAirportIdent()
static function to ICAO class.FacilityRepository
now maintains a k-d tree of user facilities.FacilityLoader
now supports nearest search for user facilities.DeferredUserSettingManager
class.UserSetting
now implements MutableSubscribable
interface.Subscribable
interface now requires an isSubscribable
property.ObjectSubject
in JSX.MutableSubscribable
interface, which Subject
, ComputedSubject
, and ObjectSubject
all implement.AbstractSubscribable
now implements the .map()
method.ComputedSubject
now properly supports removing subs during a notify.SubscribableSet
interface and SetSubject
class.SubscribableSet
via JSX.TCAS
to support resolution advisories.TCAS
now publishes TA/RA intruder counts.LerpLookupTable
class.KdTree
and GeoKdTree
classes.Subscribable
and Subject
-related files formerly found in utils/
to the sub/
top-level directory.AbstractSubscribable
and MappedSubject
were moved into their own files.utils/
directory, with some files moving to other locations and others placed into sub-directories.ui/
top-level directory to graphics/
.HardwareUiControl.ts
and HardwareUiControlList.ts
to components/controls/
.ui/map/
directory.utils/Units.ts
from the SDK. Please use the API found in math/NumberUnit.ts
instead.Published by mattnischan over 2 years ago
Initial MSFS Avionics Framework release.