Version 3.0.0 of F´ comes with several major enhancements to the framework. This release contains an update to use the FPP modeling language and the C++ standard has been updated to C++11. These are fairly substantial changes and users should consult the version 3 migration guide when adopting F´ version 3.
This is the final release of the F´ version 2 releases. This should be the chosen release for projects unable to upgrade to C++11 and/or adopt FPP.
This is a point release that repaired some compilation issues with VxWorks 6. This will be the last release supporting VxWorks 6.
Version 2.0.0 of F´ represents major improvements across the F´ framework. As such, some work may be required to migrate from other versions of F´ to the new functionality. This section will offer recommendations to migrate to version 2.0.0 of F´.
Features and Functionality:
Svc::Framer
and Svc::Deframer
components may be used in place of Svc::GroundInterface
Svc::Framer
and Svc::Deframer
delegate to a user instantiated framing class allowing use of non-fprime framing protocolsDrv::ByteStreamDriverModel
allows implementing drivers reading/writing streams of bytes using a single modelDrv::ByteStreamDriverModel
allowing choice or combination of uplink and downlink communications
Drv::TcpClient
is a tcp client that connects to a remote serverDrv::TcpServer
is a tcp server that allows connections from remote clientsDrv::Udp
allows UDP communicationsDrv::SocketIpDriver
may be replaced using a choice of an above component.Svc::FileDownlink
now supports a queue of files to downlink and a port to trigger file downlinksSvc::FileDownlink
may now be configured to turn off certain errorsSvc/GenericHub
is a basic instantiation of the hub patternMigration considerations:
pip install fprime-tools fprime-gds
Os::File::open
with the mode CREATE will now properly respect O_EXCL and error if the file exists. Pass in false
as the final argument to override.Fw::Buffer
to correct usage of member functions using camel case. E.g. Fw::Buffer::getsize
is now Fw::Buffer::getSize
Svc::Framer
, Svc::Deframer
, and any implementor of Drv::ByteStreamDriverModel
to supply the data. To continue using the old interface with the GDS run fprime-gds --comm-checksum-type fixed
.Svc::BufferManager
has been reworked to remove errors. When instantiating it please supply a memory allocator as shown in Ref
.build_artifacts
folder.Deprecated Functionality: The following features are or will be deprecated soon and may be removed in future releases.
Svc::GroundInterface
and Drv::SocketIpDriver
should be replaced by the new ground system components.fprime-util generate --ut -DFPRIME_ENABLE_FRAMEWORK_UTS=OFF
will be removed in favor of future fprime-util check
variantsAutocoders/MagicDrawCompPlugin
will be removed in a near-term releasesettings.ini
Introducedfprime-util
info
command