12#ifndef _CCSDS_TRANSFERFRAME_TM_H_
13#define _CCSDS_TRANSFERFRAME_TM_H_
31#include "configCCSDS.h"
33#ifdef configTM_TF_TOTAL_SIZE
34#define TM_TF_TOTAL_SIZE configTM_TF_TOTAL_SIZE
36#define TM_TF_TOTAL_SIZE 508
39#ifdef configTF_USE_OCF
40#define TF_USE_OCF configTF_USE_OCF
106 typedef void (
TTmCallback)(
void *p_Context,
const uint16_t u16_SpacecraftID,
const uint8_t u8_VirtualChannelID,
107 const uint8_t u8_MasterChannelFrameCount,
const uint8_t u8_VirtualChannelFrameCount,
108 const bool b_TFSecHdrFlag,
const uint16_t u16_FirstHdrPtr,
109 const uint8_t *pu8_Data,
const uint16_t u16_DataSize,
110 const uint32_t u32_OCF);
114 static const int TmTfVersionNumber = 0;
115 const static uint8_t PrimaryHdrSize = 6;
116 const static uint8_t OcfSize = 4;
117 const static uint16_t TfSize = TM_TF_TOTAL_SIZE;
118 uint8_t mau8_Buffer[TfSize];
120 const static bool UseOCF = (TF_USE_OCF)?
true:
false;
132 static uint32_t
create(uint8_t *pu8_Buffer,
const uint32_t u32_BufferSize,
133 const uint16_t u16_SpacecraftID,
const uint8_t u8_VirtualChannelID,
134 const uint8_t u8_MasterChannelFrameCount,
const uint8_t u8_VirtualChannelFrameCount,
135 const uint16_t u16_FirstHdrPtr,
136 const uint8_t *pu8_Data,
const uint16_t u16_DataSize,
137 const uint32_t u32_OCF = 0);
139 static uint32_t
createIdle(uint8_t *pu8_Buffer,
const uint32_t u32_BufferSize,
140 const uint16_t u16_SpacecraftID,
const uint8_t u8_VirtualChannelID,
141 const uint8_t u8_MasterChannelFrameCount,
const uint8_t u8_VirtualChannelFrameCount,
142 const uint32_t u32_OCF = 0);
145 static int32_t _createPrimaryHeader(uint8_t *pu8_Buffer,
146 const uint16_t u16_SpacecraftID,
const uint8_t u8_VirtualChannelID,
const bool b_OcfFlag,
147 const uint8_t u8_MasterChannelFrameCount,
const uint8_t u8_VirtualChannelFrameCount,
148 const bool b_TFSecHdrFlag,
const bool b_SyncFlag,
const bool b_PacketOrderFlag,
149 const uint8_t u8_SegLengthID,
const uint16_t u16_FirstHdrPtr);
151 int32_t _processFrame(
void);
154 inline uint16_t _getMaxTfSize(
void);
155 inline uint8_t *_getTfBufferAddr(
void);
156 inline uint16_t _getPrimaryHeaderSize(
void);
157 inline void _getFrameLength(
void);
Include file of the Transferframe (TF) class.
Base Class for handling Transfer Frames as described in CCSDS 131.0-B-3, CCSDS 132....
Definition: ccsds_transferframe.h:57
Class for handling the Transfer Frames for Telemetry as described in CCSDS 132.0-B-2.
Definition: ccsds_transferframe_tm.h:83
TransferframeTm(void *p_TmContext=NULL, TTmCallback *mp_TmCallback=NULL)
Construct a new TransferframeTm object.
Definition: ccsds_transferframe_tm.cpp:38
static uint32_t createIdle(uint8_t *pu8_Buffer, const uint32_t u32_BufferSize, const uint16_t u16_SpacecraftID, const uint8_t u8_VirtualChannelID, const uint8_t u8_MasterChannelFrameCount, const uint8_t u8_VirtualChannelFrameCount, const uint32_t u32_OCF=0)
Creates an Idle Telemetry Transfer Frame and writes it into the given buffer.
Definition: ccsds_transferframe_tm.cpp:143
static uint32_t create(uint8_t *pu8_Buffer, const uint32_t u32_BufferSize, const uint16_t u16_SpacecraftID, const uint8_t u8_VirtualChannelID, const uint8_t u8_MasterChannelFrameCount, const uint8_t u8_VirtualChannelFrameCount, const uint16_t u16_FirstHdrPtr, const uint8_t *pu8_Data, const uint16_t u16_DataSize, const uint32_t u32_OCF=0)
Creates a Telemetry Transfer Frame and writes it into the given buffer.
Definition: ccsds_transferframe_tm.cpp:77
void() TTmCallback(void *p_Context, const uint16_t u16_SpacecraftID, const uint8_t u8_VirtualChannelID, const uint8_t u8_MasterChannelFrameCount, const uint8_t u8_VirtualChannelFrameCount, const bool b_TFSecHdrFlag, const uint16_t u16_FirstHdrPtr, const uint8_t *pu8_Data, const uint16_t u16_DataSize, const uint32_t u32_OCF)
Declaration of the callback which shall be called if a complete telemetry transfer frame was received...
Definition: ccsds_transferframe_tm.h:106
void setCallback(void *p_TmContext, TTmCallback *mp_TmCallback)
Overwrites the context pointer and callback which were set using the constructor.
Definition: ccsds_transferframe_tm.cpp:51