Release Notes for FreeFlyer 7.4

Top  Previous  Next

New Features in FreeFlyer 7.4


FreeFlyer Visualizations on Linux

Mission Plans executed on Linux either through the command line or the runtime API can now generate output visualizations

ViewWindow (Including all Viewpoint types), GridWindow, ConsoleWindow, DataTableWindow, and WatchWindow output objects are all supported in this initial implementation of output support on Linux

PlotWindow output is not supported on Linux at this time

 

New Features in FreeFlyer Scripting

FreeFlyer script now allows users to define Structs, which are collections of related FreeFlyer objects of any type

FreeFlyer Structs are designed to allow users to easily import and export JSON-formatted data

The number of elements in a List or Formation can now be increased or decreased at any time, and objects can now be removed from Lists (this was not possible in older versions)

FreeFlyer script now provides a reference assignment operator (:=)

Behind the scenes, FreeFlyer now has a garbage collector for cleaning up memory for objects that no longer being used

Added support for a literal matrix operator to be used with CoordinateSystems via the [CoordinateSystem] syntax

The "step" keyword is no longer necessary in the syntax for For loops, and when used in this fashion a default "step" increment of 1 is assumed

The "then" keyword is no longer necessary in the syntax for If statements

Whitespace is now allowed before description comment slashes (///)

 

New Features for Interplanetary Analysis

FreeFlyer now supports writing of SPICE ephemerides (SPK files in the .bsp format)
 

Users can now easily change the propagator and orbital elements of CelestialObjects

oThe CelestialObject.SetPropagatorType() method can be used to set the propagator to TwoBody, SpiceEphemeris, or reset to the default DE propagator

oThe CelestialObject.SetCartesianState() and CelestialObject.SetKeplerianState() methods can be used to easily set a planet or moon's orbital state in any of FreeFlyer's built-in reference frames

oThis allows users to "downgrade" the fidelity of the FreeFlyer solar system model, making it much easier to model idealized trajectories for early mission design (e.g. Hohmann transfers, CRTBP dynamics)
 

Added new reference frames for analysis beyond Earth orbit

oMoon Frames

Added support for velocity vector conversions in the Moon Fixed (Principal Axis Rotating, or PA) frame

Moon PA - Inertial at J2000 frame

Moon PA - Inertial at Epoch frame

Moon Mean Earth Rotating (or Moon ME) frame

Moon ME - Inertial at J2000 frame

Moon ME - Inertial at Epoch frame

oGeneric CelestialObject Frames

Body Fixed frame

Inertial Equatorial J2000 frame

Inertial Equatorial At Epoch frame

oThese new frames are supported by the PositionConvert, VelocityConvert, and PositionVelocityConvert functions, as well as methods like Spacecraft.SetKeplerianState() and CelestialObject.GetCartesianStateAtEpoch()
 

Added new Spacecraft properties

oC3 (characteristic energy)

oHyperbolic Excess Velocity

 

DSN / 3-Way Doppler Tracking Data Support

Added support for processing 3-way ground based tracking data where the transmitting and receiving stations are different

Improved and added additional support for processing Deep Space Network (DSN) data, including native processing of Trk 2-34 formatted data files, frequency ramping management, and range disambiguation

 

Runtime API Improvements

The timing precision mode of FreeFlyer script provided to a RuntimeApiEngine class can now be specified in its LoadFreeFlyerScript methods

TimeSpan objects are now a natively supported expression type that can be moved between an instance of FreeFlyer and an external application using the runtime API

 

Miscellaneous Improvements

The play and pause buttons on the main FreeFlyer GUI have been combined for ease of use

The UserInterface, FileInterface, FileProperties, and StringTokenizer objects are all now available in the Engineer license tier

90 minutes of introductory FreeFlyer Fundamentals Training now available on YouTube

 

Useful new properties and methods:

oAdded methods to easily set or get a Spacecraft's Keplerian or Cartesian state in any built-in reference frame (e.g. Spacecraft.SetKeplerianState(), Spacecraft.GetCartesianState())

oAdded GroundStation.InShadow() method and Spacecraft.SubSatellitePointInShadow() method

oAdded Sensor.AttitudeMatrix and Sensor.ObscurationAttitudeMatrix properties to access the direction cosine matrix representing the sensor's orientation

oThe SetAprioriCovariance method has been added to all OD estimators to support assigning the full covariance directly

oAll OD estimators now have a RegisteredTrackingDataFiles[] array property to allow users to query the tracking data files that have been registered

 

Visualization enhancements:

oThe ViewWindow.MouseInteractionEnabled property has been added to disable Viewpoint manipulation for a particular ViewWindow

oAdded properties for PointGroup.PointOpacity and PointGroup.PointSize to control the display of PointGroups

oAdded GraphicsOverlay.Shapes[i].PointWidth property to control the display of GraphicsOverlay points

 

Added method versions of various commands:

oObject.Save() can now be used in place of the Save command

oObject.Restore() can now be used in place of the Restore command

oEphemeris.GenerateEphemeris() and Ephemeris.AddVectorData() can now be used in place of the Put command

oConsole.Write() method can now be used in place of the Report command

 

 

Migrating to FreeFlyer 7.4


While we always strive to maintain 100% backwards compatibility in our new releases, our efforts to make FreeFlyer more flexible and consistent in FreeFlyer 7.4 and higher have necessitated a few changes which may require user intervention when migrating your existing Mission Plans. These changes are outlined below.

 

The default Spacecraft epoch has been changed from Jan 01 2010 to Jan 01 2020. This will only affect the output of Mission Plans that do not manually assign a Spacecraft's epoch.

 

The FreeFlyer Mission Plan format has been updated to optimize the performance and readability of the saved XML. All Mission Plans created in earlier versions of FreeFlyer are still completely supported in FreeFlyer 7.4. If you inspect the XML contents of any Mission Plans that you load and resave in FreeFlyer 7.4, you will notice the following changes:

oThe LastModifiedDate entry in the XML has been removed to prevent it from always being flagged as a change in version control systems. This information can still be retrieved from your operating system's file properties for the Mission Plan file.

oFreeForm Script blocks in the XML now use single character data (CDATA) blocks to improve readability of the raw Mission Plan file, and to prevent the need to escape characters like < and >, which improves testability of these sections.

oUnused attributes such as notes about whether objects are enabled or disabled have been removed from the XML.

 

The default timing precision mode for the runtime API's RuntimeApiEngine class is now nanosecond instead of millisecond timing precision mode. To change back to millisecond timing precision, either load a Mission Plan that is in millisecond timing precision or utilize the method that loads script with the added timing mode argument.

 

A ViewWindow will now automatically display the updated label for an object if the object's DisplayName property is changed. This contrasts to previous behavior where the DisplayName could be modified and the ViewWindow would not reflect the change.

 

As a result of new features supporting proper ingesting of Trk-2-34 tracking data formats in FreeFlyer's orbit determination system, the legacy means by which DSN 60-byte data could be written out via the DSN60ByteObservationFile object are no longer supported.

 

All FreeFlyer-provided data files have been updated with this new release. As a result, there will be expected low order of magnitude differences in propagation and timing precision.

 

Various Objects, Properties, Methods, and Functions have been deprecated

oDeprecated Objects, Properties, Methods, and Functions are elements of FreeFlyer which are no longer recommended for use. The description of each deprecated element indicates the new recommended way to achieve the functionality of that element. The complete list of affected elements is given on the Deprecated Objects, Properties, Methods, and Functions page.

 

 

See Also


Release History