Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Ref/Top/instances.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,19 +169,19 @@ module Ref {

instance tcDeframer: Svc.CCSDS.TcDeframer base id 0x4C00

instance spacePacketDeframer: Svc.CCSDS.SpacePacketDeframer base id 0x5000
instance spacePacketDeframer: Svc.CCSDS.SpacePacketDeframer base id 0x4D00

instance tmFramer: Svc.CCSDS.TmFramer base id 0x5100
instance tmFramer: Svc.CCSDS.TmFramer base id 0x4E00

instance spacePacketFramer: Svc.CCSDS.SpacePacketFramer base id 0x5200
instance spacePacketFramer: Svc.CCSDS.SpacePacketFramer base id 0x4F00

instance fprimeRouter: Svc.FprimeRouter base id 0x4D00
instance fprimeRouter: Svc.FprimeRouter base id 0x5000

instance apidManager: Svc.CCSDS.ApidManager base id 0x4E00
instance apidManager: Svc.CCSDS.ApidManager base id 0x5100

instance comStub: Svc.ComStub base id 0x4F00
instance comStub: Svc.ComStub base id 0x5200

instance linuxTimer: Svc.LinuxTimer base id 0x5000
instance linuxTimer: Svc.LinuxTimer base id 0x5300

}

1 change: 1 addition & 0 deletions Svc/CCSDS/SpacePacketFramer/SpacePacketFramer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ void SpacePacketFramer ::dataIn_handler(FwIndexType portNum, Fw::Buffer& data, c
Fw::SerializeStatus status;
FwSizeType frameSize = SpacePacketHeader::SERIALIZED_SIZE + data.getSize();
FW_ASSERT(data.getSize() <= std::numeric_limits<Fw::Buffer::SizeType>::max() - SpacePacketHeader::SERIALIZED_SIZE, static_cast<FwAssertArgType>(data.getSize()));
FW_ASSERT(data.getSize() > 0, static_cast<FwAssertArgType>(data.getSize())); // Protocol specifies at least 1 byte of data for a valid packet

// Allocate frame buffer
Fw::Buffer frameBuffer = this->bufferAllocate_out(0, static_cast<Fw::Buffer::SizeType>(frameSize));
Expand Down
2 changes: 1 addition & 1 deletion Svc/CCSDS/TcDeframer/docs/sdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The `Svc::CCSDS::TcDeframer` is an implementation of the [DeframerInterface](../

It receives payload data (such as a Space Packet or a VCA_SDU) on input and produces a TC frame on its output port as a result. Please refer to the CCSDS [TC specification (CCSDS 232.0-B-4)](https://ccsds.org/Pubs/232x0b4e1c1.pdf) for details on the frame format and protocol.

The `Svc::CCSDS::TcDeframer` is designed to work in the common F Prime telemetry stack, receiving data from an upstream [`Svc::ComQueue`](../../../ComQueue/docs/sdd.md) and passing frames to a [Communications Adapter](../../../Interfaces/docs/sdd.md), such as a Radio manager component or [`Svc::ComStub`](../../../ComStub/docs/sdd.md), for transmission on the wire. It is commonly coupled with the [`Svc::CCSDS::SpacePacketFramer`](../../SpacePacketFramer/docs/sdd.md) to wrap CCSDS Space Packets into TM frames.
The `Svc::CCSDS::TcDeframer` is designed to work in the common F Prime telemetry stack, receiving data from a [Communications Adapter](../../../Interfaces/docs/sdd.md) or the `Svc::FrameAccumulator`, for deframing and transmission to the rest of the system. It is commonly coupled with the [`Svc::CCSDS::SpacePacketDeframer`](../../SpacePacketFramer/docs/sdd.md) to unwrap CCSDS Space Packets from TC frames.

The TcDeframer currently functions only in the "Expedited Service" mode, for Type-B Frames. This means that should Type-A frames be received, no FARM checks would be performed on board.

Expand Down
Loading