F´ Release v2.0.0
Release 2.0: Release and Migration Notes
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:
- New ground interface change improves stability and flexibility
Svc::Framer
andSvc::Deframer
components may be used in place ofSvc::GroundInterface
Svc::Framer
andSvc::Deframer
delegate to a user instantiated framing class allowing use of non-fprime framing protocols
Drv::ByteStreamDriverModel
allows implementing drivers reading/writing streams of bytes using a single model- New IPv4 drivers implement
Drv::ByteStreamDriverModel
allowing choice or combination of uplink and downlink communicationsDrv::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 pattern- Bug fixes and stability improvements
Migration considerations:
- F´ tooling (fprime-util and fprime-gds) should be installed using
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 infalse
as the final argument to override.- Revise uses of
Fw::Buffer
to correct usage of member functions using camel case. E.g.Fw::Buffer::getsize
is nowFw::Buffer::getSize
- The ground interface chain has been refactored. Projects may switch to using
Svc::Framer
,Svc::Deframer
, and any implementor ofDrv::ByteStreamDriverModel
to supply the data. To continue using the old interface with the GDS runfprime-gds --comm-checksum-type fixed
. Svc::BufferManager
has been reworked to remove errors. When instantiating it please supply a memory allocator as shown inRef
.- Dictionaries, binaries, and other build outputs now are written to a deployments
build_artifacts
folder.
Deprecated Functionality: The following features are or will be deprecated soon and may be removed in future releases.
Svc::GroundInterface
andDrv::SocketIpDriver
should be replaced by the new ground system components.- Inline enumerations (enumerations defined inside the definition of a command/event/channel) should be replaced by EnumAi.xml implementations
fprime-util generate --ut -DFPRIME_ENABLE_FRAMEWORK_UTS=OFF
will be removed in favor of futurefprime-util check
variantsAutocoders/MagicDrawCompPlugin
will be removed in a near-term release