17 namespace FrameDetectors {
23 return Status::MORE_DATA_NEEDED;
31 return Status::NO_FRAME_DETECTED;
43 return Status::NO_FRAME_DETECTED;
50 size_out = expected_frame_length;
51 return Status::MORE_DATA_NEEDED;
57 for (
FwSizeType i = 0; i < data_to_crc_length; ++i) {
59 status = data.
peek(byte, i);
68 return Status::NO_FRAME_DETECTED;
77 U16 transmitted_fecf = trailer.
getfecf();
78 if (transmitted_fecf != computed_fecf) {
80 return Status::NO_FRAME_DETECTED;
83 size_out = expected_frame_length;
84 return Status::FRAME_DETECTED;
Serialization/Deserialization operation was successful.
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Deserialization.
PlatformSizeType FwSizeType
CRC16 CCITT implementation.
U16 finalize()
finalize and return CRC value
SerializeStatus
forward declaration for string
Describes the frame trailer format for a Telecommand (TC) Transfer Frame.
Status detect(const Types::CircularBuffer &data, FwSizeType &size_out) const override
detect if a frame is available within the circular buffer
Status
status returned from the detection step
const U16 m_expectedFlagsAndScIdToken
expected flags and spacecraft ID token for a valid CCSDS TC frame
External serialize buffer with no copy semantics.
The size of the serial representation.
FwSizeType get_allocated_size() const
uint8_t U8
8-bit unsigned integer
U16 getfecf() const
Get member fecf.
Fw::SerializeStatus peek(char &value, FwSizeType offset=0) const
void update(U8 new_byte)
update CRC with one new byte
RateGroupDivider component implementation.
SerializeStatus setBuffLen(Serializable::SizeType length)
sets buffer length manually after filling with data