CCSDS
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
TmTcClient Class Reference

Class which implements a Frame Acceptance and Reporting Mechanism (FARM) on the spacecraft. More...

#include <tmtc_client.h>

Public Member Functions

 TmTcClient (const uint16_t *pu16_SCIDs, const uint8_t u8_NumberOfSCIDs, void *p_TfTmContext=NULL, TTfTmCallback *p_TfTmCallback=NULL, void *p_VC0SpContext=NULL, SpacePacket::TSpCallback *p_VC0SpCallback=NULL)
 
int32_t setTmCallback (void *p_TfTmContext, TTfTmCallback *p_TfTmCallback)
 
int32_t setTcCallback (const uint8_t u8_VirtualChannelID, void *p_SpContext, SpacePacket::TSpCallback *p_SpCallback)
 
uint16_t getScIdErrorCount (void)
 
uint16_t getVirtualChannelErrorCount (void)
 
uint16_t getRetransmitErrorCount (void)
 
uint16_t getLockoutErrorCount (void)
 
void clearErrorCounters (void)
 
void setSync (void)
 
void processTfTc (const uint8_t *pu8_Data, const uint16_t u16_DataSize)
 
int32_t sendTm (const uint8_t u8_VirtualChannelID, const uint16_t u16_APID, const uint16_t u16_ApidSeqNr, const uint8_t *pu8_Data, const uint16_t u16_DataSize)
 
int32_t sendIdle (void)
 

Static Public Member Functions

static void TfTcCallback (void *p_Context, const bool b_BypassFlag, const bool b_CtrlCmdFlag, const uint16_t u16_SpacecraftID, const uint8_t u8_VirtualChannelID, const uint8_t u8_FrameSeqNumber, const uint8_t *pu8_Data, const uint16_t u16_DataSize)
 

Static Public Attributes

static const uint8_t MaxTcChannels = TMTC_MAX_TC_CHANNELS
 
static const uint8_t MaxTmChannels = TMTC_MAX_TM_CHANNELS
 

Detailed Description

Class which implements a Frame Acceptance and Reporting Mechanism (FARM) on the spacecraft.

The purpose of this class is to integrate the CCSDS protocol classes and allow an easy usage of it.

This class integrates the transferframe tc and tm classes, handles the frame counters on the downlink side and implements the frame acceptance and reporting mechanism (FARM) to ensure a reliable uplink connection to the spacecraft.

For a simple example how to use this class, see the Arduino example tmtc_client_standalone.


The documentation for this class was generated from the following files: