17 namespace FrameDetectors {
22 return Status::MORE_DATA_NEEDED;
30 return Status::NO_FRAME_DETECTED;
42 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.
get_fecf();
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.
PlatformSizeType FwSizeType
The size of the serial representation.
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
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
Status
status returned from the detection step
const U16 m_expectedFlagsAndScIdToken
expected flags and spacecraft ID token for a valid CCSDS TC frame
U16 get_fecf() const
Get member fecf.
External serialize buffer with no copy semantics.
FwSizeType get_allocated_size() const
uint8_t U8
8-bit unsigned integer
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) override
Set buffer length manually.