This component implements the CCSDS File Delivery Protocol (CFDP) for F-Prime (F'). It includes both ported code from NASA's Core Flight System (cFS) CFDP application and new F' implementations.
Portions of this code are derived from the NASA Core Flight System (cFS) CFDP (CF) Application:
- Repository: https://github.com/nasa/CF
- Version: 3.0.0
- License: Apache License 2.0
- Copyright: Copyright (c) 2019 United States Government as represented by the Administrator of the National Aeronautics and Space Administration
- NASA Docket: GSC-18,447-1
The following files are ports/adaptations from CF source code and retain the original NASA copyright:
Engine.hpp/.cpp- fromcf_cfdp.c/cf_cfdp.hTransaction.hpp- fromcf_cfdp_r.h/cf_cfdp_s.h/cf_cfdp_dispatch.hTransactionTx.cpp- fromcf_cfdp_s.c/cf_cfdp_dispatch.cTransactionRx.cpp- fromcf_cfdp_r.c/cf_cfdp_dispatch.c
Types/Types.hpp- fromcf_cfdp_types.hUtils.hpp/.cpp- fromcf_utils.h/cf_utils.cChannel.hpp/.cpp- from channel functions incf_cfdp.c/cf_utils.cChunk.hpp/.cpp- fromcf_chunks.h/cf_chunks.cClist.hpp/.cpp- fromcf_clist.h/cf_clist.c
Each of these files includes the full NASA copyright notice and Apache 2.0 license text in its header.
The following files are new implementations for F-Prime and do not contain CF-derived code:
CfdpManager.hpp/.cpp- F-Prime component wrapperTimer.hpp/.cpp- F-Prime timer implementation
All files in the Types/ directory are new F' serializable implementations based on the CFDP Blue Book specification (CCSDS 727.0-B-5):
Types/PduBase.hpp- Base class for all PDU typesTypes/PduHeader.hpp/.cpp- PDU header encoding/decodingTypes/MetadataPdu.hpp/.cpp- Metadata PDUTypes/FileDataPdu.hpp/.cpp- File Data PDUTypes/EofPdu.hpp/.cpp- End of File PDUTypes/FinPdu.hpp/.cpp- Finished PDUTypes/AckPdu.hpp/.cpp- Acknowledge PDUTypes/NakPdu.hpp/.cpp- Negative Acknowledge PDU
These files implement CFDP PDU encoding/decoding based on the specification rather than porting CF's C-style codec.
This component as a whole is licensed under the Apache License 2.0. See the top-level LICENSE.txt for the full license text.
The CF-derived portions retain their original NASA copyright and Apache 2.0 license as documented in their file headers.