11#ifndef _CCSDS_TRANSFERFRAME_H_
12#define _CCSDS_TRANSFERFRAME_H_
30#include "configCCSDS.h"
33#ifdef configTF_USE_OCF
34#define TF_USE_FECF configTF_USE_FECF
59 const static uint8_t SyncSize = TF_SYNC_SIZE;
60 const static uint8_t FecfSize = 2;
61 const static bool UseFECF = (TF_USE_FECF)?
true:
false;
64 uint16_t mu16_FrameLength;
66 uint16_t mu16_SyncErrorCount;
67 uint16_t mu16_ChecksumErrorCount;
68 uint16_t mu16_OverflowErrorCount;
72 int32_t
process(
const uint8_t *pu8_Data,
const uint16_t u16_DataSize);
81 static uint16_t calcCRC(
const uint8_t *pu8_Buffer,
const uint16_t u16_BufferSize);
84 virtual uint16_t _getMaxTfSize(
void) = 0;
85 virtual uint8_t *_getTfBufferAddr(
void) = 0;
86 virtual uint16_t _getPrimaryHeaderSize(
void) = 0;
87 virtual void _getFrameLength(
void) = 0;
88 virtual int32_t _processFrame(
void) = 0;
Base Class for handling Transfer Frames as described in CCSDS 131.0-B-3, CCSDS 132....
Definition: ccsds_transferframe.h:57
void setSync(void)
Sets the sync flag for the transfer frame processing.
Definition: ccsds_transferframe.cpp:69
Transferframe(void)
Construct a new Transferframe object.
Definition: ccsds_transferframe.cpp:49
uint16_t getChecksumErrorCount(void)
Returns the number of checksum errors.
Definition: ccsds_transferframe.cpp:203
uint16_t getSyncErrorCount(void)
Returns the number of sync errors.
Definition: ccsds_transferframe.cpp:189
int32_t process(const uint8_t *pu8_Data, const uint16_t u16_DataSize)
The given data stream is parsed for Transfer Frames.
Definition: ccsds_transferframe.cpp:95
void clearErrorCounters(void)
Clears all error counters (Sync Error, Overflow Error and Checksum Error)
Definition: ccsds_transferframe.cpp:230
uint16_t getOverflowErrorCount(void)
Returns the number of overflow errors.
Definition: ccsds_transferframe.cpp:221