Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create CFDP Class 1 file packets #2769

Open
Tracked by #2768
chownw opened this issue Jun 10, 2024 · 1 comment
Open
Tracked by #2768

Create CFDP Class 1 file packets #2769

chownw opened this issue Jun 10, 2024 · 1 comment
Assignees
Labels
CCB-approved Call for Comments has been approved for implementation. enhancement

Comments

@chownw
Copy link
Contributor

chownw commented Jun 10, 2024

F´ Version
Affected Component

Feature Description

Implement the CFDP Protocol Data Units (PDU) for Class 1 defined in section 5 of the CFDP Recommended Standard.

Implements the following:
FilePacket
Header
Metadata
EndOfFile
Finished
FileData

Recommended Standard:
https://public.ccsds.org/Pubs/727x0b5.pdf

Rationale

Supports #2768.

@chownw chownw self-assigned this Jun 10, 2024
@chownw chownw changed the title Create CFDP file packets Create CFDP Class 1 file packets Jul 10, 2024
@matt392code
Copy link
Contributor

Proposed implementation of the core CFDP Class 1 packet types as defined in section 5 of the CCSDS File Delivery Protocol specification: cfdp-packets.txt
Here's what's included:

  1. Base PDU Header (section 5.1)

    • Implements all required fields from Table 5-1
    • Handles variable-length entity IDs and sequence numbers
    • Provides serialization/deserialization
  2. Metadata PDU (section 5.2.5)

    • Contains file metadata including size and filenames
    • Supports TLV parameters
  3. File Data PDU (section 5.3)

    • Handles file content segmentation
    • Supports optional segment metadata
    • Implements record continuation state
  4. EOF PDU (section 5.2.2)

    • Includes checksum and file size
    • Contains condition code for completion status
    • Supports fault location TLV
  5. Finished PDU (section 5.2.3)

    • Provides delivery status and condition codes
    • Handles filestore responses and fault location

Key features:

  • Full C++ implementation compatible with F Prime
  • Proper handling of bit fields and alignment
  • Support for both small and large files
  • Serialization/deserialization for network transmission
  • Clean separation of concerns with separate types for each PDU

@LeStarch LeStarch added the CCB-approved Call for Comments has been approved for implementation. label Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB-approved Call for Comments has been approved for implementation. enhancement
Projects
None yet
Development

No branches or pull requests

3 participants