Skip to content

Commit

Permalink
SUMMARY: update with various fixes for stakeholders
Browse files Browse the repository at this point in the history
This summary commit includes a number of minor updates/fixes from
initial users/stakeholders of the CF-3.0.0 release candidate.
  • Loading branch information
ejtimmon authored and jphickey committed Nov 19, 2021
1 parent 2ca7f97 commit 2a292d0
Show file tree
Hide file tree
Showing 36 changed files with 4,870 additions and 4,533 deletions.
6 changes: 0 additions & 6 deletions .gitattributes

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.swp

1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@ add_definitions("-D_DEFAULT_SOURCE")
add_definitions(-D_DEFAULT_SOURCE=1)
add_definitions(-D_EL -DENDIAN=_EL -DSOFTWARE_BIG_BIT_ORDER)
if (ENABLE_UNIT_TESTS)
set(CMAKE_C_FLAGS "-O0")
add_subdirectory(unit-test)
endif (ENABLE_UNIT_TESTS)
53 changes: 44 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,52 @@
# CCSDS File Delivery Protocol
core Flight System (cFS) CFDP Application (CF)
======================================================

NASA core Flight System File Transfer Application
Open Source Release Readme
==========================

## Description
CF Release 3.0.0

The CCSDS File Delivery Protocol (CFDP) application (CF) is a core Flight System (cFS) application that is a plug in to the Core Flight Executive (cFE) component of the cFS.
Date: 09/28/2021

The cFS is a platform and project independent reusable software framework and set of reusable applications developed by NASA Goddard Space Flight Center. This framework is used as the basis for the flight software for satellite data systems and instruments, but can be used on other embedded systems. More information on the cFS can be found at [http://cfs.gsfc.nasa.gov](http://cfs.gsfc.nasa.gov)
Introduction
-------------
The CFDP application (CF) is a core Flight System (cFS) application
that is a plug in to the Core Flight Executive (cFE) component of the cFS.

The CF application is used for transmitting and receiving files. To transfer files using CFDP, the CF application must communicate with a CFDP compliant peer.
CF 3.0 is a cFS application for providing CFDP (CCSDS File Delivery Protocol)
services. Its primary function is to provide file receive and transmit
functionality to this protocol. It works by mapping CFDP PDUs on and off cFS's
software bus.

CF sends and receives file information and file-data in Protocol Data Units (PDUs) that are compliant with the CFDP standard protocol defined in the CCSDS 727.0-B-4 Blue Book. The PDUs are transferred to and from the CF application via CCSDS packets on the cFE's software bus middleware.
The CF application is written in C and depends on the cFS Operating System
Abstraction Layer (OSAL) and cFE components. There is additional CF application
specific configuration information contained in the application user's guide.

Developer's guide information can be generated using Doxygen:
doxygen cf_doxygen_config.txt

## License

This software is licensed under the NASA Open Source Agreement. http://ti.arc.nasa.gov/opensource/nosa
Software Included
------------------

CFDP application (CF) 3.0.0


Software Required
------------------

cFS Caelum

Note: An integrated bundle including the cFE, OSAL, and PSP can
be obtained at https://github.com/nasa/cfs

About cFS
----------
The cFS is a platform and project independent reusable software framework and
set of reusable applications developed by NASA Goddard Space Flight Center.
This framework is used as the basis for the flight software for satellite data
systems and instruments, but can be used on other embedded systems. More
information on the cFS can be found at http://cfs.gsfc.nasa.gov

EOF
223 changes: 223 additions & 0 deletions cosmos/big_endian/CF/cf_cmd.txt

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions cosmos/big_endian/CF/cf_tlm.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
TELEMETRY CF HK_TLM_PKT BIG_ENDIAN "CFDP housekeeping Packet"
APPEND_ID_ITEM CCSDS_STREAMID 16 UINT 0x08B0 "CCSDS Packet Identification" BIG_ENDIAN
APPEND_ITEM CCSDS_SEQUENCE 16 UINT "CCSDS Packet Sequence Control" BIG_ENDIAN
APPEND_ITEM CCSDS_LENGTH 16 UINT "CCSDS Packet Data Length" BIG_ENDIAN
APPEND_ITEM CCSDS_SECONDS 32 UINT "CCSDS Telemetry Secondary Header (seconds)"
APPEND_ITEM CCSDS_SUBSECS 16 UINT "CCSDS Telemetry Secondary Header (subseconds)"
APPEND_ITEM CMD_VALID_COUNT 16 UINT "Count of valid commands received."
APPEND_ITEM CMD_ERROR_COUNT 16 UINT "Count of invalid commands received."
APPEND_ITEM SENT_FD0 64 UINT "File data bytes sent"
APPEND_ITEM SENT_PDU0 32 UINT "Count of PDUs sent"
APPEND_ITEM SENT_NAK_SR0 32 UINT "Count of sent segment requests"
APPEND_ITEM RECV_FD0 64 UINT "File data bytes received"
APPEND_ITEM RECV_PDU0 32 UINT "Count of PDUs received"
APPEND_ITEM RECV_PDU_ERROR0 32 UINT "Count of invalid PDUs received"
APPEND_ITEM RECV_PDU_SPURIOUS0 16 UINT "Count of spurious PDUs received"
APPEND_ITEM RECV_PDU_DROPPED0 16 UINT "Count of dropped PDUs received"
APPEND_ITEM RECV_NAK_SR0 32 UINT "Count of received segment requests"
APPEND_ITEM FAULT_FILE_OPEN0 16 UINT "Count of file open errors"
APPEND_ITEM FAULT_FILE_READ0 16 UINT "Count of file read errors"
APPEND_ITEM FAULT_FILE_SEEK0 16 UINT "Count of file seek errors"
APPEND_ITEM FAULT_FILE_WRITE0 16 UINT "Count of file write errors"
APPEND_ITEM FAULT_FILE_RENAME0 16 UINT "Count of file rename errors"
APPEND_ITEM FAULT_FILE_DIR_READ0 16 UINT "Count of dir read errors"
APPEND_ITEM FAULT_FILE_CRC_MISMATCH0 16 UINT "Count of file crc mismatch errors"
APPEND_ITEM FAULT_FILE_FILE_SIZE_MISMATCH0 16 UINT "Count of file size mismatch errors"
APPEND_ITEM NAK_LIMIT0 16 UINT "Number of times nak limit reached for transaction"
APPEND_ITEM ACK_LIMIT0 16 UINT "Number of times ack limit reached for transaction"
APPEND_ITEM INACTIVITY_TIMER0 16 UINT "Number of times inactivity timer timed out for transaction"
APPEND_ITEM SPARE0 16 UINT "Number of times inactivity timer timed out for transaction"
APPEND_ITEM QPEND0 16 UINT "Count of transactions on pending queue (ch0)"
APPEND_ITEM QTXA0 16 UINT "Count of active TX transactions (ch0)"
APPEND_ITEM QTXW0 16 UINT "Count of TX transactions waiting for ACK/NAK (ch0)"
APPEND_ITEM QRX0 16 UINT "Number of active RX transactions (ch0)"
APPEND_ITEM QHIST0 16 UINT "Number of active history items (ch0)"
APPEND_ITEM QHISTFREE0 16 UINT "Number of free history items (ch0)"
APPEND_ITEM QFREE0 16 UINT "Count of free transactions available for the channel (ch0)"
APPEND_ITEM POLL_COUNT0 8 UINT "Count of number of active polling directories on channel"
APPEND_ITEM PLAYBACK_DIR_COUNT0 8 UINT "Count of number of active playback directories on channel"
APPEND_ITEM FLAGS0 8 UINT "If 1, the channel is frozen"
APPEND_ITEM SPARE30 16 UINT ""
APPEND_ITEM SPARE40 8 UINT ""
APPEND_ITEM SENT_FD1 64 UINT "File data bytes sent"
APPEND_ITEM SENT_PDU1 32 UINT "Count of PDUs sent"
APPEND_ITEM SENT_NAK_SR1 32 UINT "Count of sent segment requests"
APPEND_ITEM RECV_FD1 64 UINT "File data bytes received"
APPEND_ITEM RECV_PDU1 32 UINT "Count of PDUs received"
APPEND_ITEM RECV_PDU_ERROR1 32 UINT "Count of invalid PDUs received"
APPEND_ITEM RECV_PDU_SPURIOUS1 16 UINT "Count of spurious PDUs received"
APPEND_ITEM RECV_PDU_DROPPED1 16 UINT "Count of dropped PDUs received"
APPEND_ITEM RECV_NAK_SR1 32 UINT "Count of received segment requests"
APPEND_ITEM FAULT_FILE_OPEN1 16 UINT "Count of file open errors"
APPEND_ITEM FAULT_FILE_READ1 16 UINT "Count of file read errors"
APPEND_ITEM FAULT_FILE_SEEK1 16 UINT "Count of file seek errors"
APPEND_ITEM FAULT_FILE_WRITE1 16 UINT "Count of file write errors"
APPEND_ITEM FAULT_FILE_RENAME1 16 UINT "Count of file rename errors"
APPEND_ITEM FAULT_FILE_DIR_READ1 16 UINT "Count of dir read errors"
APPEND_ITEM FAULT_FILE_CRC_MISMATCH1 16 UINT "Count of file crc mismatch errors"
APPEND_ITEM FAULT_FILE_FILE_SIZE_MISMATCH1 16 UINT "Count of file size mismatch errors"
APPEND_ITEM NAK_LIMIT1 16 UINT "Number of times nak limit reached for transaction"
APPEND_ITEM ACK_LIMIT1 16 UINT "Number of times ack limit reached for transaction"
APPEND_ITEM INACTIVITY_TIMER1 16 UINT "Number of times inactivity timer timed out for transaction"
APPEND_ITEM SPARE1 16 UINT "Number of times inactivity timer timed out for transaction"
APPEND_ITEM QPEND1 16 UINT "Count of transactions on pending queue (ch1)"
APPEND_ITEM QTXA1 16 UINT "Count of active TX transactions (ch1)"
APPEND_ITEM QTXW1 16 UINT "Count of TX transactions waiting for ACK/NAK (ch1)"
APPEND_ITEM QRX1 16 UINT "Number of active RX transactions (ch1)"
APPEND_ITEM QHIST1 16 UINT "Number of active history items (ch1)"
APPEND_ITEM QHISTFREE1 16 UINT "Number of free history items (ch1)"
APPEND_ITEM QFREE1 16 UINT "Count of free transactions available for the channel (ch1)"
APPEND_ITEM POLL_COUNT1 8 UINT "Count of number of active polling directories on channel"
APPEND_ITEM PLAYBACK_DIR_COUNT1 8 UINT "Count of number of active playback directories on channel"
APPEND_ITEM FLAGS1 8 UINT "If 1, the channel is frozen"
APPEND_ITEM SPARE31 16 UINT ""
APPEND_ITEM SPARE41 8 UINT ""

TELEMETRY CF CFG_TLM_PKT BIG_ENDIAN "CF config parameters"
APPEND_ID_ITEM CCSDS_STREAMID 16 UINT 0x08B2 "CCSDS Packet Identification" BIG_ENDIAN
APPEND_ITEM CCSDS_SEQUENCE 16 UINT "CCSDS Packet Sequence Control" BIG_ENDIAN
APPEND_ITEM CCSDS_LENGTH 16 UINT "CCSDS Packet Data Length" BIG_ENDIAN
APPEND_ITEM CCSDS_SECONDS 32 UINT "CCSDS Telemetry Secondary Header (seconds)"
APPEND_ITEM CCSDS_SUBSECS 16 UINT "CCSDS Telemetry Secondary Header (subseconds)"
APPEND_ITEM TICKS_PER_SECOND 32 UINT "Number of ticks (SCH wakeup messages) per second"
APPEND_ITEM R2_CRC_BYTES_PER_WAKEUP 32 UINT "Number of bytes of CRC to calculate for each R2 transaction per wakeup"
APPEND_ITEM ACK_TIMER_S 32 UINT "Number of seconds for ack timer"
APPEND_ITEM NAK_TIMER_S 32 UINT "Number of seconds for nak timer"
APPEND_ITEM INACTIVITY_TIMER_S 32 UINT "Number of seconds for inactivity timer"
APPEND_ITEM OUTGOING_FILE_CHUNK_SIZE 16 UINT "Max amount of file data per outgoing PDU"
APPEND_ITEM ACK_LIMIT 8 UINT "Number of times to retry ack"
APPEND_ITEM NAK_LIMIT 8 UINT "Number of times to retry nak"
APPEND_ITEM LOCAL_EID 8 UINT "The local entity ID"
Loading

0 comments on commit 2a292d0

Please sign in to comment.