Releases: microsoft/msfs-avionics-mirror
MSFS Avionics Framework v2.0.7
MSFS Avionics Framework v2.0.7
SDK
- Adjusted the timeout for facility requests through
FacilityLoader
to be more lenient. FlightPlan::openBatch()
is now guaranteed to return a UUID when a batch is opened (previously it could fail to return a UUID if a runtime error was encountered).- Added new
FaaChartType
andLidoChartType
enums. - Added new
ChartViewLambertConformalConicProjection
class. - Added
IcaoValue
overloads toUserFacilityUtils.createFromLatLon
,UserFacilityUtils.createFromRadialDistance
, andUserFacilityUtils.createFromRadialRadial
. - Deprecated ICAO string overloads of
UserFacilityUtils.createFromLatLon
,UserFacilityUtils.createFromRadialDistance
, andUserFacilityUtils.createFromRadialRadial
. - Added new
ObjectUtils
class. - Fixed an issue where
SmoothingPathCalculator
did not correctly refresh theisPathEnd
flag on constraints after previously invalidated constraints were added back to the vertical plan. ApproachUtils.isRnpAr()
now uses the newly added RNP AR flags in the facility data instead of the previous heuristic that relied on absence of LNAV/LNAV-VNAV/LP/LPV minima.- Added new
FlightPlanUtils.isToFixLeg()
method. - Added a new
targetChangeInhibitTime
option toAPAltCapDirector
.
GarminSDK
- Fixed an issue where
GarminAutopilot
would sometimes incorrectly report that approach mode was active when it should not be. - Fixed an issue with loading published approaches using
Fms
where it sometimes would incorrectly connect the approach transition to final approach segment. Fms
now uses the speed restriction type available in the published procedure legs when designating speed restrictions in loaded procedures.
Epic 2
- Fixed an issue where the
getAutothrottleOptions()
plugin function was ignored.
MSFS Avionics Framework 2.0.5
Initial framework release for Microsoft Flight Simulator 2024. This release includes the V2 updates for the G1000 NXi, G3000/5000, GNS430W/530W, G3X Touch, and WT21, as well as adds the Epic 2/Apex and UNS-1 FMS.
MSFS Avionics Framework 0.7.1
SDK
- Fixed some incorrect package dependency versions in various project.json files
SR22T G1000 Plugin
- Release of the source of the SR22T plugin for the G1000
MSFS Avionics Framework 0.7.0
SDK
- [Breaking Change] The
createRawTextInput()
method ofTextInputField
has been removed. - Improved fidelity of
GPSSatComputer
simulation and added additional configuration options. - Added new
range()
andfillRange()
methods toArrayUtils
. - Added new
AccelerometerPublisher
class. - Added new
above_ground_height
topic toGNSSEvents
. - Added new
DistancePerWeight
andDistanceRatio
members toUnitFamily
. - Added new
NMILE_PER_GALLON_FUEL
andFOOT_PER_NMILE
unit types. - Added new
DefaultMapLabeledRingLabel
class. - Added new
GenericMapSharedCanvasSubLayer
class. - Added new
MapLabeledRingCanvasSubLayer
class. Tcas
now supports dynamic max intruder count and update frequencies.- Added new
MapSharedCanvasLayer
class. - Added support for adding on-destroy callbacks to
MapSystemBuilder
. - Errors thrown in
MapSystem
init callbacks will now be caught instead of interrupting the rest of the map build process. - Fixed a bug where
MapMultiLineAirspaceRenderer
would incorrectly render offset lines at the beginning of a shape. - Added new
elevation_position
topic toControlSurfacesEvents
. Autopilot
now uses the sim's maximum bank angle value when none is set usingAPConfig
.- Added new optional
independentFds
parameter toAPConfig
. - The
MappedSubscribable
interface now extendsSubscription
. ConsumerSubject
andConsumerValue
now implementSubscription
.- Added new
hideSign
option toNumberFormatter
. - The
options
argument inNumberFormatter.create()
is now optional. - Added new
SubscribableMapFunctions.count()
method. - Added new
MB
andMILE_PER_GALLON_FUEL
unit types. - Fixed incorrect values being published to the
fuel_usable_total_weight
topic. - Fixed a bug when
undefined
was explicitly passed as theoption
argument toNumberFormatter.create()
. - Fixed a bug where
BingComponent
was sending too many params toSET_MAP_PARAMS
Coherent calls. - Added new
indicated_mach_number
,indicated_tas
,tas_to_ias_factor
,indicated_mach_to_kias_factor
, andindicated_tas_to_ias_factor
topics toAdcEvents
. - The type of
APConfig
is now parameterized inAutopilot
. APFLCDirector
now supports using indicated mach number.AbstractAutothrottle
now supports using indicated mach number.- Added new color interpolation methods to
ColorUtils
. FSComponent
now supports the SVGtspan
element.Formatter
now optionally takes a second type parameter (defaulting tostring
for backwards-compatibility) that specifies the output type of the formatter.- Introduced the new
FmcFormatter
type which wrapsFormatter
and allows it to return astring | FmcRenderTemplate
. DisplayField
now accepts formatters whose output type isFmcRenderTemplate
, by takingFmcFormatter
as the formatter type in the options object.- The
memorizedComponents
property ofAbstractFmcPage
is now public. - Added new
takeTextInput()
method toTextInputField
. - Fixed type errors in the
onPrefixedEvent()
method ofFmcScreen
. AltitudeSelectManager
now supports filtering events that trigger input accelerationAltitudeSelectManager
now supports locking selected altitude to the small increment step on SET events.
GarminSDK
- [Breaking Change] Added additional type safety to
BearingDisplay
to prevent runtime errors. - Added additional members to
NavDataFieldType
. - Added new
NavDataBarFieldTypeModelFactory
interface. NavDataNumberUnitField
andNavDataBearingField
now support custom unit formatters.- Added new generic nav data field type renderers.
TrafficInfoService
now supports ADS-B integration and additional configuration options related to ADS-B.- CDI scaling label is now an optional parameter when selecting a sensitivity level from
AdsbSensitivityParameters
. - Fixed a potential runtime error in
MapRangeCompassLayer
. - Added new
runwayLabelShow
property toMapWaypointsModule
to control visibility of runway labels separately from outlines. - The
GarminMapBuilder.waypoints
build step now passes in the map system context to theconfigure
function. - Factored
MapPanningModule
andMapPanningRTRController
out of the map pointer code. - Fixed a bug in
TouchPad
where the incorrect previous mouse position was being passed to theonDragMoved
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.- Added new
NextGenGarminMapBuilder
class. - Added support for
HDDDΒ° MM.MMM'
format toLatLonDisplay
. - Added new optional
splitPrefix
prop toLatLonDisplay
. - Added new
runway
property toApproachDetails
. - Added support for custom unit formatters to
NumberUnitDisplay
andBearingDisplay
. BearingDisplay
,NumberUnitDisplay
andTimeDisplay
now supportToggleableClassNameRecord
for theirclass
props.- Added new
suffixFormatter
andhideSuffixWhenNaN
props toTimeDisplay
. - Added new
hideUnitWhenNaN
prop toNumberUnitDisplay
. - Added new
mapGroundNorthUpActive
setting toMapUserSettingTypes
. MapOrientationModule
,MapOrientationSettingsController
, andMapDesiredOrientationController
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.- Fixed a bug in
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.- Fixed a bug where
MapWaypointHighlightIcon
was still rendering zero-width strokes. ArtificialHorizon
now supports either solid color or gradient for both ground and sky.- Added new
GarminAPConfigInterface
interface. - Added option to use indicated mach number to
GarminAPConfig
. AdcSystem
now publishes mach and true airspeed values derived from indicated airspeed in lieu of "true" values.- Added new
tasToIas
property toAirspeedIndicatorDataProvider
. - Added new
tasToIas
property toAirspeedDefinitionContext
. 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 ofAirspeedAoaDataProvider
to be passed to the constructor. If no AOA data provider is specified, thenDefaultAirspeedIndicatorDataProvider
behaves as if AOA data is always unavailable.- Various methods in
VSpeedUserSettingUtils
now optionally support zero-valued V-speeds.
G1000
- [Breaking Change] Replaced the
AirspeedIndicator
component with the newG1000AirspeedIndicator
component. - Added support for hardware keybord with new AS1000_CONTROL_PAD_ H events.
- Added support for LVL and TO/GA modes.
- Added support for knob-based XPDR code entry using H events.
- Added
panel.xml
support for configuring V-speeds. - Added
panel.xml
support for configuring the airspeed indicator. - Added new
ArrowControl
component. G1000UiControlWrapper
now supports wrappingG1000ControlList
controls.NumberInput
now takesMutableSubscribable
objects for itsdataSubject
prop.ArrowToggle
now takesMutableSubscribable
objects for itsdataref
prop.- Exported
NavSystems
's classFrequencyItem
and its props interfaceFrequencyItemProps
. - Added
panel.xml
support for enabling/disabling selected altitude input event compatibility. Enable to treatAP_ALT_VAR_SET
events as increment/decrement events. Used for airplanes whose ModelBehaviors interceptAP_ALT_VAR_INC
/AP_ALT_VAR_DEC
events and forward them as SET events instead. - Added
panel.xml
support for configuring autopilot lateral director (ROL, HDG, VOR, LOC, GPS) bank angle limits. - Added a
scrollToMostRecentlyAdded
prop toHardwareControlListProps
to allow autoscrolling to the most recently added item of the list. - Added support for control pad entry on number entry components under
UiControls2
:GenericNumberInput
, and the newly addedTimeNumberInput
andCourseNumberInput
. TheGenericNumberInput
component supports keypad entry through single digit DigitInputs. - Made all methods in PFD and MFD plugins optional.
- CAS messages may now be assigned associated Alerts messages via JS and/or plugin code
- Added support for styling the Com selection based on the radio selected to transmit, and for both Nav and Com standby frequencies selected to edit.
G3000
- Added new
CharInput
andCharInputSlot
components. - Added new
Keyboard
component. - Added new
GtcWaypointDialog
view, which allows a user to select a waypoint. This new dialog should be used where possible instead ofGtcKeyboardDialog
. GtcWaypointDisplay
now supports bindingToggleableClassNameRecord
to itsclass
prop.- Fixed memory leaks in
GtcWaypointDisplay
. - Added
panel.xml
support for defining airspeed indicator color ranges using TAS.
MSFS Avionics Framework 0.6.0
SDK
- [Breaking Change] Fixed various typing errors in the FMC framework which could allow binding to incorrect data.
- [Breaking Change] Removed
Binding<T>
andTwoWayBinding<T, U>
. - [Breaking Change] The
format()
method ofFormatter<T>
now takes a non-nullable type for itsvalue
parameter. - [Breaking Change] The
nullValueString
property ofFormatter<T>
is now optional. - Added support for associating flight plan modifications with batches using
FlightPlan
andFlightPlanner
. - Added new
ColorUtils
class. - Added new
AvionicsSystemPowerEvents
type. - Added a protected
onPowerValid()
callback toBasicAvionicsSystem
. - Added new
Wait.awaitFrames()
method. - Added new
selectedHeading
property toMapAutopilotPropsModule
. MapAutopilotPropsController
now supports binding props to custom event bus topics.- Added new
ReadonlyConsumerValue
type. - Added utilities for SimBrief OFP download and route/winds extraction.
- Fixed a bug where
APFLCDirector
could target the wrong speed in rare circumstances. - Added support for per-leg user data in
FlightPlan
. APNavDirector
andAPBackCourseDirector
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 thesettingsManager
constructor parameter if metric mode is not supported.- All director and manager factories in
APConfig
are now optional. - Fixed a bug with
FSComponent
where text and subscribables added directly as children of fragments would not be rendered to the DOM. - Fixed an incorrect return type on one of the overloads of
FSComponent.bindCssClassSet()
. - Added new
FilteredMapSubject
class. - Added new overload of
FSComponent.bindCssClassSet()
. - Fixed rare runtime errors and memory leaks in
AbstractSubscribable
,AbstractSubscribableArray
,AbstractSubscribableSet
, andAbstractSubscribableMap
. - Applied memory optimizations to
ObjectSubject
. Subject.apply()
no longer throws an uncaught runtime error if the subject value is not an object.- A function can now be passed in as a shorthand for a formatter object in
DisplayFieldOptions
. - Added new
cg_percent
topic toWeightBalanceEvents
. - Added JSX support for binding an intrinsic element's style attribute to a
SubscribableMap<string, string>
.
- Added new
n1_uncorrected
andn2_uncorrected
topics toEngineEvents
.
GarminSDK
- [Breaking Change] Fixed a bug where the ISA nav data field was displaying ISA temperature instead of delta ISA.
- Adjusted
NextGen
map and SVT absolute terrain colors to better match the real units. - Added new
MapWindVectorModule
,MapWindVectorLayer
, andMapWindVectorController
classes. - Added
mapWindVectorShow
toMapUserSettingTypes
. - Added support for the display of the wind vector to
GarminMapBuilder
,NextGenNavMapBuilder
,NextGenNearestMapBuilder
, andNextGenConnextMapBuilder
. - Added new
WeatherRadarAvionicsSystem
class. - Added new
wxrCalibratedGain
andwxrGain
settings toWeatherRadarUserSettingTypes
. TouchSlider
now supports rendering an optional inset child node.- Added new
GarminHeadingSyncManager
class. - Added new
MapGarminAutopilotPropsModule
andMapGarminAutopilotPropsController
classes. - Added new
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).- Added new
NavDataBarFieldConsumerValueModel
andNavDataBarFieldConsumerValueNumberUnitModel
classes. - Deprecated the
NavDataBarFieldConsumerModel
andNavDataBarFieldConsumerNumberUnitModel
classes. - Added new configurable
GarminAutopilot
class. - Added a new NavReference API.
- Added new
TouchList
component. - Added new
ScrollList
component. - Added support for new
onTouched
callback toTouchButton
and related button components. - Added support for a button held state to
TouchButton
and related button components. - Added new
simulatePressed()
method toTouchButton
and related button components. - Added new
DynamicList
class. - Fixed a bug where
TouchButton
would immediately enter the drag-inhibited state when primed ifinhibitOnDrag
was set to true andfocusOnDrag
was set to false. - Added new
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
- [Breaking Change]
NavReferenceSources
is now an interface. Use the newNavReferenceSourceCollection
class ingarminsdk
to access an implementation of the interface. - Added new
panel.xml
weather radar options for min/max user-selectable gain and electrical circuit for power draw when the radar is actively scanning. - Added support for autopilot selected heading sync behavior.
- Added
panel.xml
configuration option for HDG sync mode support. - Added new
GarminTouchList
andGarminTouchListProps
exports to themsfs-wtg3000-gtc
package, which are aliases forTouchList
andTouchListProps
from themsfs-garminsdk
package. - Added
panel.xml
support for configuring GTC default control mode.
MSFS Avionics Framework 0.5.0
SDK
- [Breaking Change]
isFlightDirectorOn
andisFlightDirectorCoPilotOn
are now read-only outsideAPStateManager
. Use thesetFlightDirector()
method instead. - [Breaking Change] Added new
FMS_LOC
member toAPLateralModes
enum and newcreateFmsLocLateralDirector()
method toAPConfig
interface. - [Breaking Change]
NavComInstrument
no longer creates its own instance ofNavComSimVarPublisher
. - [Breaking Change]
NavProcessor
no longer creates its own instance ofNavProcSimVarPublisher
. - [Breaking Change]
APRadioNavInstrument
no longer creates its own instance ofNavProcSimVarPublisher
. - [Breaking Change]
APLvlDirector
now requires anAPValues
object to be passed to its constructor. - [Breaking Change] The
isToGaMode
option forAPLvlDirector
is now specified via an options object. - [Breaking Change] Changed the
ap_master_[engage/disengage]
andap_yd_[engage/disengage]
, and topics toap_master_[on/off]
andap_yd_[on/off]
, respectively. - [Breaking Change]
AbstractAutothrottle
now usesMultiExpSmoother
for smoothing speed and engine power. - [Breaking Change] Added new cross-track error parameter to
APNavDirectorInterceptFunc
. - Added new
getCurrentClimbConstraint()
,getNextDescentConstraintIndex()
,getNextClimbConstraintIndex()
, andgetNextMaprConstraintIndex()
methods toVNavUtils
. - Added new
AuralAlertSystemWarningAdapter
class. - Added new
autoEngageFd
andinitializeStateManagerOnFirstFlightPlanSync
options toAPConfig
. - Added new optional
drivePitch
anddriveBank
properties to thePlaneDirector
interface. - Added new
AutopilotDriver
class. - All autopilot directors now directly consume SimVar values for performance-critical data instead of using the event bus. This ensures that they are using the most up-to-date data accessible from the JS environment.
- Added new
GenericFlcComputer
class. - Added new
ambient_density
topic toAdcEvents
, providing ambient air density in slugs per cubic foot. - Added
SLUG
andKNOT_PER_SEC
units toUnitType
. - Added density and force units to
UnitType
. - Added
asUnit
utility toNumberUnitSubject
for creating a constant conversion to another unit. BasicAvionicsSystem
now supports binding power state to subscribables.- Added new
MathUtils.SQRT3
andMathUtils.SQRT1_3
constants. - Added new
MathUtils.diffAngleDeg()
method. - Fixed a bug in
Vec3Math.setFromSpherical()
where the vector length was not being applied. - Added support for pitch and heading angle scaling factors in
HorizonProjection
. - Added new
projectCameraRelativeAngular()
,invertToCameraRelativeAngles()
,projectRelativeCoordinates()
, andprojectCameraRelativeCoordinates()
methods toHorizonProjection
. - Added additional CSS classes to the digits of
DigitScroller
so that each digit can be selected and styled independently. - Fixed a bug in
ClippedPathStream
where it was sometimes not generating the correct clipped endpoints for lines. - Added
isFinite()
methods to the variousVecMath
classes. - The various
VecSubject
classes now considerNaN
to be equal to itself. - Added new
HPA
,PercentOver100
,MetersPerSecondSquared
, andMillimetersWater
members toSimVarValueType
enum. - Added new
autobrake_switch_pos
andautobrake_active
topics toBrakeEvents
. - Added new
simRate
topic toClockEvents
. - Added JSX support for binding the
class
attribute of native HTML elements to objects containing key-value pairs where the keys are class name strings and the values areboolean
orSubscribable<boolean>
. - Added JSX support for binding the
style
attribute of native HTML elements to objects containing key-value pairs where the keys are style property names and the values arestring
, orSubscribable<string>
. - Added type checking for JSX
ref
,style
, andclass
props on native HTML elements. - Fixed a bug where
AbstractNearestSubscription
would notify removals with the incorrect array index. - Added new
nav_radial_error
topic toNavProcSimVars
. - Fixed a bug where
SmoothingPathCalculator
did not write target altitudes to smoothed flat constraints. - Added new
SubscribableMapFunctions.or()
,SubscribableMapFunctions.and()
, andSubscribableMapFunctions.nor()
methods. - Added new
MathUtils.ceil()
andMathUtils.floor()
methods. - Added new
vectorAnticipationBankRate
anddisableAutoSuspendAtMissedApproachPoint
options toLNavDirectorOptions
. - Added new
verticalAngle
property toFlightPlanLeg
type. - Fixed a bug in
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. - Added option to cache output strings to
DurationFormatter
,DmsFormatter2
, andDateTimeFormatter
. DateTimeFormatter
can now format hour/minute/second fragments to include decimals.DateTimeFormatter
now outputs '12' instead of '0' for 12-hour fragments.- Console warnings are now emitted when invalid fragment syntax is given to
DurationFormatter
,DmsFormatter2
, orDateTimeFormatter
. - Added new
copyFrom()
method toFlightPlan
. - Added new indexed
payload_station_weight
topic toWeightBalanceEvents
. 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.- Added new
getPreviousError()
method toPidController
. PidController
no longer calculates an infinite/NaN derivative term whendt
is 0.NavComSimVarPublisher
now publishes all the topics that are published byNavProcSimVarPublisher
.- Deprecated
NavProcSimVarPublisher
,NavProcSimVars
, and other related types. SimVarPublisher
now supports defining custom valid index ranges and default index for indexed simvars.- Added various new topics to
FuelSystemEvents
. - Added new topics to
GNSSEvents
related to inertial data. Autopilot
now setsAPValues.lateralActive
toAPLateralMode.NONE
andAPValues.verticalActive
toAPVerticalMode.NONE
when the lateral and vertical directors assigned to theNONE
modes are active, respectively.BacklightLevelController
now takes horizon angle into account.- Fixed index out of bounds errors when calling plugin component handlers.
- Added an overload of
FSComponent.bindCssClassSet()
that binds a set to aToggleableClassNameRecord
. - Added new
FSComponent.addCssClassesToRecord()
function. SmoothingPathCalculatorOptions
now has all optional properties.- Fixed an issue where
GNSSPublisher
was publishing incorrect values to thezulu_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.- Added new
HorizonSharedCanvasLayer
component. - Fixed an issue where
FlightPlan.setProcedureDetails()
would sometimes incorrectly update the flight plan's internal procedure details data. LinearServo
'sdrive()
method now takes in optional args to override timestamp and servo rate.- Added new
simRate
property toAPValues
. - All lateral autopilot directors now use
driveBank()
instead ofsetBank()
and support custom bank rates. APHdgDirector
andAPTrkDirector
now support locking turn direction.- Fixed a bug in
ClippedPathStream.arc()
where arc segments were improperly drawn. ClippedPathStream.arc()
now clamps the angular width of arcs to2 * Math.PI
. This brings it in line with the behavior ofCanvasRenderingContext2D
'sarc()
method.- Added new
AiPilotEvents
interface andAiPilotPublisher
class. - Added new
ap_disengage_status
topic toAPEvents
. - Added arbitrary index support to the
ap_heading_selected
,ap_altitude_selected
,ap_vs_selected
,ap_fpa_selected
,ap_ias_selected
, andap_mach_selected
topics inAPEvents
. - The
keyEventManager
property inAPStateManager
is now protected instead of private. - Added new
SubscribableMap
interface andMapSubject
class. - Fixed bugs where
CasRegistrationManager
andAuralAlertRegistrationManager
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).- Fixed a bug where
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.- Improved flight path calculation for CF legs in certain cases involving approach procedures that direct you to fly an outbound VOR radial before turning you back toward the final approach course.
- Added new
FlightPathUtils.getGreatCircleTangentToPath()
andFlightPathUtils.getGreatCircleTangentToVector()
methods. - Fixed
SwitchLabel
so that the caret won't turn green when on the left side. - Added new
lskNotHandledThrowValue
,textInputFieldDisallowedDeleteThrowValue
andtextInputFieldParseFailThrowValue
options toFmcScreenOptions
. - Added new
MultiExpSmoother
class. - Added new
AmbientPublisher
class. - Added new
anti_ice_structural_ice_pct
topic toAntiIceEvents
. - Added new
lnav_is_awaiting_calc
topic toLNavEvents
. - Added new
getNextDescentConstraintIndex()
,getNextClimbConstraintIndex()
, andgetNextMaprConstraintIndex()
methods toVNavUtils
. - Added a pitch limit to
APVNavPathDirector
. - Added new optional
showTerminalWaypoints
parameter toNearestIntersectionSearchSession.setIntersectionFilter()
. - Fixed an issue where `Map...
MSFS Avionics Framework 0.4.0
msfs-sdk
- [Breaking Change]
SortedArray
:get()
,first()
, andlast()
now throw errors if index is out of bounds. - [Breaking Change]
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). - [Breaking Change] The
nav_radial
andadf_bearing
topics were changed to be in units of degrees instead of radians. - [Breaking Change] The
gp_distance
topic was changed to be in units of feet. - [Breaking Change] Added new
getCurrentConstraintDetails()
,getTargetConstraintIndex()
andgetTargetConstraint()
methods toVNavPathCalculator
interface. - [Breaking Change] Added new
planBuilt
property toVNavPathCalculator
interface. - [Breaking Change] Removed the
setCurrentAlongLegDistance()
method from theVNavPathCalculator
interface. - [Breaking Change] Removed the
setCurrentAlongLegDistance()
method fromSmoothingPathCalculator
. - [Breaking Change] Renamed the
flaps_angle
topic toflaps_left_angle
and added newflaps_right_angle
topic. - [Breaking Change] Renamed the
gear_position_index
topic togear_position
. - [Breaking Change] Refactored threat detection logic used by
Tcas
. As a result, the API forTcasSensitivityParameters
andTcasIntruder
have changed. - [Breaking Change] Improved the resolution advisory selection logic for
Tcas
and added support for multi-threat encounters and composite RAs. - [Breaking Change] Changed the type of the
eng_combustion
topic toboolean
. - [Breaking Change] Changed the name of the
eng_starter
topic toeng_starter_on
and changed its type toboolean
. - [Breaking Change] Changed the name of the
eng_manual_ignition
topic toeng_ignition_switch_state
and changed its type to0 | 1 | 2
. - [Breaking Change]
VNavUtils.getConstraintDetails()
now accepts anout
argument to define the object to write the details to instead of always creating a new object with every call. - [Breaking Change]
SmoothingPathCalculator
now takes additional options in the constructor to customize behavior. - [Breaking Change] Changed
UserFacility
to store the ICAOs of references (if any) instead of the facilities themselves. - [Breaking Change]
DurationFormatter
now supports precision. - [Breaking Change] The
gp_available
topic now indicates whether a glidepath is actually available for guidance as opposed to whether the currently loaded approach supports a glidepath. - [Breaking Change] Added a
phase
property to flight planVerticalData
. - [Breaking Change] Changed the sign convention of
VNavUtils.getVerticalSpeedFromFpa()
to match the other vertical speed/FPA/groundspeed conversions. - [Breaking Change]
VNavWaypoint
now supports mutable location and requires an ident string. - [Breaking Change] Renamed
NearestUserFacilitySearchSession
toNearestRepoFacilitySearchSession
. - [Breaking Change] Changed
FacilityWaypoint
to be an interface. The oldFacilityWaypoint
class was renamedBasicFacilityWaypoint
. - [Breaking Change] Moved
LNavDirector.getVectorsForTransitionMode()
intoLNavUtils
. - [Breaking Change]
SmoothingPathCalculator
no longer supports thevnav_set_current_fpa
control event topic. - [Breaking Change]
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. - [Breaking Change] Renamed
VNavUtils.getNextClimbConstraint()
toVNavUtils.getNextClimbTargetConstraint()
. - [Breaking Change] Added an additional argument
globalPluginTargetFunc
to theaddScripts()
method ofPluginSystem
to allow the system to filter global plugins. - [Breaking Change] Added the option for
MapAltitudeArcLayer
to render the arc using SVG instead of canvas. - [Breaking Change] Removed the instrument count constructor parameters from
AdcPublisher
andAhrsPublisher
; these publishers now support all indexes for their indexed topics by default. - [Breaking Change] The old
SoundServer
-relatedplay_sound
,start_sound
, andstop_sound
event bus topics are no longer supported. New topics used to publish commands toSoundServer
can be found in theSoundServerControlEvents
interface. - [Breaking Change]
SoundServer
no longer prevents sounds from being played based on instrument electricity state. - [Breaking Change]
APStateManager
now requires anAPConfig
object to be passed to its constructor. - [Breaking Change]
LNavDirector
,APRollDirector
,APLvlDirector
,APHdgDirector
,APNavDirector
, andAPBackCourseDirector
now accept configuration options via an optional object passed to their constructors. - [Breaking Change] Added new
onSoundEnd()
method to theFsInstrument
interface. - [Breaking Change] Renamed
KeyInterceptManager
toKeyEventManager
and added ability to trigger key events with the newtriggerKey()
method. - Added optional
endIndex
param toFlightPlan.legs()
. - Added new
FlightPlan.tryGetSegment()
method. - Added new
trimStart()
andtrimEnd()
methods toStringUtils
. - Adjusted
LatLonDisplay
component to properly pad the minutes value with a leading zero when the value is less than 10. - Added USER facility support to
NearestContext
. - Added
vc_mouse_leave
andvc_mouse_enter
events toBaseInstrumentPublisher
. - Added optional
type
parameter toICAO.isFacility()
. - Added new
FacilityUtils
class. FacilityRepository
now supports adding/removing multiple facilities at a time.- Fixed a bug in
KdTree
where the tree structure was not reset when clearing the tree. - Fixed a bug in
KdTree
where removing elements would corrupt the tree state. - Fixed a bug in
MapNearestWaypointsLayer
where it would continue to render waypoints for facilities that had been removed from the facility repository. NearestSubscription
: addedawaitStart()
method.NearestSubscription
:start()
andupdate()
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
: addedsetVorFilter()
method.- Fixed a bug where
AdaptiveNearestSubscription
could sometimes provide the incorrect facilities. - Added optional param to
NearestContext.initialize()
to define airplane position. NearestContext.update()
now awaits the update of the context's constituent nearest subscriptions.- Increased the number of cases where
NearestContext.getRegionLetter()
will succeed. - Added new
AdaptiveNearestContext
class. - Added various utility methods to
ArrayUtils
. SortedArray
: addedpeek()
,peekFirst()
,peekLast()
,resort()
andremoveAt()
methods.InstrumentBackplane
now uses theBackplanePublisher
interface instead ofBasePublisher
.- Added new
EventRepublisher
class. - Added new
FlightTimerInstrument
andFlightTimerPublisher
classes. - Added new
nav_dme_lla
andadf_lla
topics toNavProcSimVars
events. - Added new
lnavdata_waypoint_ident
topic toLNavDataEvents
. - Added new
NavComSimVars
event topics for COM radio 3, NAV radios 3/4, and ADF radio 2. - Added
useMinusSign
option toNumberFormatter
. - Added new
gp_service_level
topic toVNavEvents
. - Added new optional parameter
copyCalcs
to thecopyFlightPlan()
method inFlightPlanner
and thecopy()
method inFlightPlan
. NavProcessor
now callssetBrgSrc()
when a radio that is a selected bearing source has a frequency change event.- Added new
VNavConstraintDetails
type. - Added new
vnav_constraint_details
topic toVNavEvents
. - Added
isLegIndexPredicted
toFlightPlanPredictor
. - Added new
Easing
utils class. - Added new
Animator
class. FSComponent.parseCssClassesFromString()
now takes optional filter argument.- Added support for changing NAV/COM radio volume to
NavComInstrument
. - CF leg flight path calculations now respect a leg's lat/lon fields if they are defined.
- Added new
ICAO.getRegionCode()
method. NaN
values are now considered equal for the purposes ofNumberUnit
andGeoPoint
equality checks.GeoPointSubject
now supports custom error tolerance.- Added
toggle()
method toMutableSubscribableSet
. - Added new
zero_lift_aoa
topic toAdcEvents
. - Fixed publishing of
mach_to_kias_factor
topic when IAS is close to 0. - Fixed a bug where the
mach_to_kias_factor
topic could have an infinite value. - Made landing gear-related topics indexed in
ControlSurfacesEvents
. - Added new
gear_is_on_ground
topic toControlSurfacesEvents
. - Added new topics to
NavComSimVars
events that publish COM radio tuned facility name and ident. - Fixed a a bug where
Transform2D.toScale()
was ignoring the z scaling factor. - Added new
ap_selected_speed_is_manual
topic toAPEvents
. - Added new
lnav_along_track_speed
topic toLNavEvents
. BottomTargetPathCalculator
now writes thefirstDescentConstraintLegIndex
andlastDescentConstraintLegIndex
fields in the vertical plan.SmoothingPathCalculator
now writes themissedApproachStartIndex
field in the vertical plan, and theisBeyondFaf
field in the vertical constraint.- Added methods to get first/last climb/descent constraint indexes to
VNavUtils
. - Added new
FlightPathUtils.projectVelocityToCircle()
method. - Added support for subscribable parameters in
withPrecision()
,changedBy()
, andatFrequency()
methods inSubscribableMapFunctions
. - Added new
TemperatureDelta
member toUnitFamily
enum. - Added a new overload of
MappedSubject.create()
that allows you to omit the mapping function. - Deprecated
CombinedSubject
. - Fixed a floating point rounding error bug in
DurationDisplay
. DurationDisplay
now displays negativ...
MSFS Avionics Framework - 0.3.0
Avionics Framework Changelog
SDK changes by directory
autopilot
- [Breaking Change]
AltitudeSelectManager
now publishes selected altitude initialization state toalt_select_is_initialized
topic. AltitudeSelectManager
now supportsinitOnInput
option.- Added
lnavdata_waypoint_ident
event toLNavDataEvents
. - Added configuration parameters for pitch min/max and increment to
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.- Change
getFafIndexReverse
method inVNavUtils
to return the last leg if no FAF exists. - Fix criteria for adding a constraint to the vertical plan in
BottomTargetPathCalculator.buildVerticalPath()
.
components
- Added Altitude Arc layer and module to map system.
onBoundCallback
is now an optional prop onBingComponent
.MapProjection
no longer notifies change listeners when there is no change after callingset()
.
data
- Added new
EventRepublisher
class.
geo
- [Breaking Change]
NavAngleUnit
is now an interface. - [Breaking Change]
NavAngleSubject
was renamed toBasicNavAngleSubject
, and slightly refactored to support the newBasicNavAngleUnit
class. - Added new method
angularWidth()
toGeoCircle
. GeoCircle.angleAlong()
andGeoCircle.distanceAlong()
now support optional equality tolerance arguments.- Added
BasicNavAngleUnit
class, which implementsNavAngleUnit
. - Fixed missing unit conversion when calling
GeoPoint.distance()
withLatLonInterface
arguments.
graphics
- Fixed a bug where
AffineTransformPathStream
was not applying the correct rotation to arcs.
flightplan
- [Breaking Change] Added optional
inclusive
argument toFlightPathUtils.isPointAlongArc()
. - [Breaking Change]
TurnToCourseBuilder
no longer builds a vector if the turn start and end would be equivalent. - Added several new flight path vector flags.
FlightPathCalculator
now supports fallback state.LegCalculations
now has aisFallback
property which is set totrue
when the calculated flight path for the leg ends in a fallback state.- Improved flight path calculations for CF/FD/FC legs.
- Improved fallback case handling for CI/VI/CR/VR/CD/VD legs.
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.- Fixed a bug in
FlightPathUtils.isPointAlongArc()
where tolerances were not being handled correctly. - Fixed a unit conversion error in
CircleInterceptLegCalculator
. - CF leg calc now respects a leg's lat/lon fields if they are defined.
instruments
InstrumentBackplane
now uses theBackplanePublisher
interface instead ofBasePublisher
.- Added
nav_dme_lla
andadf_lla
toNavProcSimVars
events. - ADC publishing now pauses when slew is active
- Added NAV/COM volume support.
- Fixed various issues causing edge case errors for bearing source data and pointers.
navigation
- added
getRegionCode
static method toICAO
. LodBoundary
no longer uses unsimplified vectors for all LODs when grabbing LOD'd vectors from the sim.- Added
FacilityILSFrequency
interface to and updated various runway structures to use it.
sub
- Added
NUMERIC_NAN_EQUALITY
function toSubscribableUtils
. pause()
andresume()
methods onSubscription
andMappedSubscribable
now returnthis
.
Garmin SDK Changelog
These are the changes between the initial public release of the garminsdk and current release version 0.1.0.
AHRS / ADC
- Added
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.- Magnetometer failure no longer causes AHRS to fail, and a functioning magnetometer is no longer required for AHRS alignment.
- Updated horizon display and ASI to fully source data from
AhrsSystem
andAdcSystem
.
Map
- The map now draws all fallback flight path vectors and certain CF leg vectors as roll-heading vectors (arrows).
- Transitions that are part of leg-to-leg turns where one half of the turn joins a roll-heading vector are now fully drawn as roll-heading vectors.
MapOrientationRTRController
and map builder now support mapping orientation modes to subscribable target offsets/range endpoints in addition to static ones.- Maps now render TOD/BOD markers where appropriate.
- Maps now correctly revert to heading-up under the hood when in track-up mode while on the ground.
- Fixed bug where map range compass layer could be missing heading labels after a map resize.
- Tweaked various map builder options to adjust to the new
TrafficSystem
interface.
Traffic
- All Garmin traffic systems now implement the new interface
TrafficSystem
. - Added more styling options to
TrafficMapRangeLayer
. TrafficMapRangeLayer
will now always display ranges in nautical miles.- Fixed a bug where
TrafficMapRangeLayer
would not draw ticks correctly after its parent map was resized. - Fixed traffic offscale indications persisting after alert had been canceled.
Autopilot
- Change default max bank angle in
GarminAPConfig
from 30 to 25. - Instantiate the new
APBackCourseDirector
inGarminAPConfig
.
FMS
- Add vector anticipation protection for invalid legs.
- CF leg calc now respects a leg's lat/lon fields if they are defined.
GarminObsDirector
now always uses the magnetic variation at the OBS fix to compute a true course to track.- Added new
ObsSuspDataProvider
class to handle SUSP mode. - Set
vnavNextLegTargetAltitude
inGarminVNavManager
. GarminVNavManager
no longer requiresnextLeg
.- Send active leg change after segments cleared to reset active leg in
NavDataComputer
. FmaDisplaySlot
renamed toFmaModeSlot
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 toFmaMasterSlot
and changed to handle just one master setting each.- Enhanced
isDuplicateLeg
in FMS to handle when idents match but assciated airport is different. - Moved various FMA components from g1000 to garminsdk.
- Don't show VNAV UNAVAILABLE message when beyond FAF.
- Fixed issue where deduping a CF after an intercept leg alters the flight path significantly.
- Fixed a bug with path rearm due to changes in LNAV sequencing.
- Fixed a bug where
addVisualFacilityFromLeg
would try to add discos to the repo. - Fixed a bug that caused GS GP to not fully deactivate in some cases.
- Fixed issue that could cause direct-to with MANSEQ active to activate the next leg.
Altimeter / Minimums
- Added support for NXi/G3000-style altimeter.
- Added
RadarAltimeterSystem
. - Added
RadarAltimeter
component. RadarAltimeterDataProvider
now smooths the provided radar altitude and provides a data failed state.- Added
MinimumsAlerter
. - Added a standard PFD minimums display component.
Miscellaneous
- Added
WeatherRadar
component andWeatherRadarUserSettingTypes
user setting type definition. - Added support for properly updating flight plan state when using the travel-to feature.
- Added display of bush trip flight plans based on community feedback.
- Moved softkey framework from g1000 project to garminsdk.
- Moved some HSI components to garminsdk.
- Added
CdiScaleFormatter
class to generate text formatters for CDI scaling modes. - Changed
UnitFormatter
output string for inches of mercury to 'IN'. - TAS/TIS now correctly initialize to operating mode if starting flight in air.
- Fixed garmin visual approach legs not showing up in procedure previews
- Fixed various issues related to the display of bearing pointers and related info.
MSFS Avionics Framework - 0.2.0
Working Title Avionics Framework v0.2
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.
SDK Changes by Directory
autopilot
- [Breaking Change] Refactored LNAV events.
- [Breaking Change] Added required param
primaryPlanIndex
toVNAVDirector
constructor. - [Breaking Change] Added required parameter
settingsManager
toAltitudeSelectManager
constructor. - [Breaking Change] Renamed
LNavVars
L-Vars from WT1000_to WTAP_. - [Breaking Change] Renamed
VNavSimVars
L-Vars from WT1000_to WTAP_. - [Breaking Change] Made the following changes to the
VNavConstraint
interface.- Added the
minAltitude
,maxAltitude
properties. - Changed the altitude property to
targetAltitude
. BottomTargetPathCalculator
andVNAVDirector
now use thetargetAltitude
field.
- Added the
- [Breaking Change] Changed
apValues.navToNavLocArm
to be a function that returns the latest value from the nav to nav manager. - [Breaking Change] Removed some protected fields from
AutoPilot
in favor of using the subjects with the same names fromapValues
. The fields removed werelateralActive
,lateralArmed
,verticalActive
,verticalArmed
. - [Breaking Change] Refactored
VNavPathCalculator
interface and implemented classesSmoothingPathCalculator
andBottomTargetPathCalculator
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. - [Breaking Change] Moved and Renamed (from VnavUtils) the static class VNavUtils to it's own file in the SDK.
- [Breaking Change] Moved and refactored a significant number of methods from the calculators to VNavUtils.
- [Breaking Change] Refactored all vnav related events; they now follow the correct snake-case for topic naming. They also now live in these three event classes:
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.
- APPublisher now publishes
yaw_damper
state - Added new interface
ObsDirector
. - Added optional param
obsDirector
toLNAVDirector
constructor. - Added new interface
VnavPathCalculator
. - Added new
GlidePathCalculator
class. - Fixed sync of
GPS WP DISTANCE
in GpsSynchronizer. - Added new interface
VNavControlEvents
. - Added new class
VNavUtils
. FLCDirector
now supports mach hold.AltitudeSelectManager
now supports input acceleration and a variety of other configuration options.- Added 2 new subjects to
AutoPilot
'sapValues
,lateralArmed
andverticalArmed
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 fromLNavEvents
has been removed and replaced withisSuspended
.- Added ability to supply an external
captureAltitude()
method toAPAltCapDirector
for tuning specific aircraft; if supplied this is used, if unsupplied a default method is used. - Fixed bug where
APNavDirector
's localizer tracking would be offset. - Added instances of the iterator on
BottomTargetPathCalculator
andGlidePathCalculator
. - added
firstDescentConstraintLegIndex
,lastDescentConstraintLegIndex
toVerticalFlightPlan
interface. AddedisDirectToTarget
toVNavLeg
interface. - Adjusted
BottomTargetPathCalculator
for changed interfaces. - Updated and added more
VNavUtils
methods. As appropriate - generallyVNavUtils
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. - Changed
VNavVar
VNAVMode
toVNAVState
, changedVNavSimVarEvents
vnav_mode
tovnav_state
, changed enumVNavMode
toVNavState
. - Renamed and refactored the default SDK
VNavDirector
toVNavManager
interface. - Changed
APVerticalModes
enum to includePATH
instead ofVNAV
. - Added new SDK Autopilot Director,
APVNavPathDirector
- Updated
APFLCDirector
allowing it to be armed. - Refactored
Autopilot
in SDK to handle newVNavManager
injection. - Added vertical and lateral wind correction to AP directors.
components
- [Breaking Change] Renamed
MapAbstractWaypointRenderer
toMapWaypointRenderer
. - [Breaking Change] Shortened the names of some flight path renderer classes.
- [Breaking Change] All flight path renderer classes now use the new
GeoProjectionPathStreamStack
class. - [Breaking Change]
AbstractFlightPathLegRenderer.render()
now accepts bitflags to determine which part of the leg to render. - [Breaking Change]
BingComponent
,MapBingLayer
, andSynVisComponent
now require a prop that provides the current game state. - Added new
HardwareUiControl
base class for use when developing GUI menus. - Added support to HardwareUiControl for:
- defining whether a control requires a focused child in order to be focused itself.
- defining desired focus position on scroll.
- defining how to handle focus when a focused control is left without a focused child after a blur operation.
MapWaypointRenderer
now supports injectable render role selection behavior.- Added support for dynamically adding and removing roles to
MapWaypointRenderer
. - Added new
PathStream
classes. - Added new
GeoCirclePathRenderer
class. - Added the
GeoProjectionPathStreamStack
class. - Added new
CustomFlightPathLegRenderer
class. - Added new
FlightPathLegLineRenderer
andFlightPathLegPatternRenderer
classes. MapProjection
now supports setting arbitrary endpoints to define range.- Added additional sim crash protections to
BingComponent
- Added new
MapSystem
map building system API and related components. DurationDisplay
andLatLonDisplay
now acceptSubscribableSet
for theirclass
prop.DurationDisplay
can now accept a static value for itsvalue
prop.
data
- [Breaking Change] Removed
vnav_enabled
event fromControlEvents
. - [Breaking Change] Enforces that event bus topics must be of type
string
in places where it wasn't already. - [Breaking Change]
KeyInterceptManager
now converts key event values to their correct format (signed 32-bit integers) before publishing them on the event bus. - Added new
suspend_sequencing
event toControlEvents
. - Added new
lnav_inhibit_next_sequence
event toControlEvents
. - Added new
activate_missed_approach
event toControlEvents
. - Added new
approach_freq_set
event toControlEvents
. - Added new
approach_available
event toControlEvents
. - Added mach unit to
SimVarValueType
. - Fixed potential handler leaks within filtered Consumers.
- Created an
EventBusMetaEvents
event interface.- Added the existing previously interface-less
event_bus
event to this new interface. - Created an
event_bus_topic_sub
event topic to this new interface thatEventBus
publishes when a topic is subscribed to.
- Added the existing previously interface-less
- Added a
getTopicSubscriberCount()
method toEventBus
. - Changed
SimVarPublisher
to automatically start polling simvars that it gets subscriptions for.- The existing
subscribe()
andunsubscribe()
methods onSimVarPublisher
now do nothing.
- The existing
ConsumerSubject
now allows pausing, resuming, and setting consumer after instantiation.- Added additional sim crash protections to
KeyInterceptManager
- Subscribables, Consumers, EventBus, and SubEvent now return a Subscription object when a handler function is subscribed to them.
- The old method of unsubscribing handlers from Subscribables, Consumers, EventBus, and SubEvent has been deprecated in favor of using Subscription.
- Added new
GameStateProvider
class.
fadec
- Added ThrottleLeverManager class.
- Added JetFadec class.
flightplan
- [Breaking Change] The
HoldLeg
flight path vector flag has been separated intoHoldInboundLeg
andHoldOutboundLeg
. - [Breaking Change] Split the
HoldEntry
flight path vector flag intoHoldDirectEntry
,HoldTeardropEntry
, andHoldParallelEntry
flags. - Instantiating
FlightPlanner
now provides an option for the user to specify a naming method to name legs. The default garmin naming framework remains. - Added new
DirectToPointBuilder
flight path vector builder class. - Added a new method,
FlightPathUtils.isPointAlongArc()
, for checking if a point lies on a geo circle arc. - Added new flight plan leg type:
ThruDiscontinuity
. This is a discontinuity leg that does not trigger LNAV to suspend sequencing. - Added new
FlightPlanLegIterator
class insdk/flightplan
with methods for iterating forward or reverse through the legs of a flight plan.
geo
- Added new static methods to
GeoPoint
for calculating distance and bearing from raw lat/lon values. - Added new
GeoCircleResampler
class. GeoProjection
now supports full 3D pre-rotation.
graphics
- Added new
DurationFormatter
andDateTimeFormatter
classes. - Added new
SvgPathStream
class. - Adjusted the behavior of
PathStream.arc()
when called immediately afterbeginPath()
to match what canvas does.
instruments
- [Breaking Change] The
gps_wp_bearing
event is now published as string instead of number of degrees. - [Br...
MSFS Avionics Framework - 0.1.0
Initial MSFS Avionics Framework release.