F´ Flight Software - C/C++ Documentation
devel
A framework for building embedded system applications to NASA flight quality standards.
DeframingProtocol.hpp
Go to the documentation of this file.
1
// ======================================================================
2
// \title DeframingProtocol.hpp
3
// \author mstarch
4
// \brief hpp file for DeframingProtocol class
5
//
6
// \copyright
7
// Copyright 2009-2022, by the California Institute of Technology.
8
// ALL RIGHTS RESERVED. United States Government Sponsorship
9
// acknowledged.
10
//
11
// ======================================================================
12
13
#include "
Svc/FramingProtocol/DeframingProtocolInterface.hpp
"
14
#include "
Fw/Com/ComPacket.hpp
"
15
#include "
Utils/Types/CircularBuffer.hpp
"
16
17
#ifndef SVC_DEFRAMING_PROTOCOL_HPP
18
#define SVC_DEFRAMING_PROTOCOL_HPP
19
20
namespace
Svc
{
21
22
33
class
DeframingProtocol
{
34
public
:
35
virtual
~DeframingProtocol
(){};
39
enum
DeframingStatus
{
40
DEFRAMING_STATUS_SUCCESS
,
41
DEFRAMING_INVALID_SIZE
,
42
DEFRAMING_INVALID_CHECKSUM
,
43
DEFRAMING_MORE_NEEDED
,
44
DEFRAMING_INVALID_FORMAT
,
45
DEFRAMING_MAX_STATUS
46
};
49
DeframingProtocol
();
50
53
void
setup
(
DeframingProtocolInterface
& interface
54
);
55
58
virtual
DeframingStatus
deframe
(
Types::CircularBuffer
& buffer,
59
U32& needed
60
) = 0;
61
62
PROTECTED:
63
DeframingProtocolInterface
*
m_interface
;
64
};
65
}
66
#endif
// SVC_DEFRAMING_PROTOCOL_HPP
CircularBuffer.hpp
ComPacket.hpp
DeframingProtocolInterface.hpp
Svc::DeframingProtocol
Abstract base class representing a deframing protocol.
Definition:
DeframingProtocol.hpp:33
Svc::DeframingProtocol::DeframingProtocol
DeframingProtocol()
Definition:
DeframingProtocol.cpp:19
Svc::DeframingProtocol::deframe
virtual DeframingStatus deframe(Types::CircularBuffer &buffer, U32 &needed)=0
Svc::DeframingProtocol::m_interface
DeframingProtocolInterface * m_interface
Definition:
DeframingProtocol.hpp:63
Svc::DeframingProtocol::DeframingStatus
DeframingStatus
Status of the deframing call.
Definition:
DeframingProtocol.hpp:39
Svc::DeframingProtocol::DEFRAMING_MAX_STATUS
@ DEFRAMING_MAX_STATUS
Definition:
DeframingProtocol.hpp:45
Svc::DeframingProtocol::DEFRAMING_STATUS_SUCCESS
@ DEFRAMING_STATUS_SUCCESS
Definition:
DeframingProtocol.hpp:40
Svc::DeframingProtocol::DEFRAMING_MORE_NEEDED
@ DEFRAMING_MORE_NEEDED
Definition:
DeframingProtocol.hpp:43
Svc::DeframingProtocol::DEFRAMING_INVALID_FORMAT
@ DEFRAMING_INVALID_FORMAT
Definition:
DeframingProtocol.hpp:44
Svc::DeframingProtocol::DEFRAMING_INVALID_SIZE
@ DEFRAMING_INVALID_SIZE
Definition:
DeframingProtocol.hpp:41
Svc::DeframingProtocol::DEFRAMING_INVALID_CHECKSUM
@ DEFRAMING_INVALID_CHECKSUM
Definition:
DeframingProtocol.hpp:42
Svc::DeframingProtocol::~DeframingProtocol
virtual ~DeframingProtocol()
Definition:
DeframingProtocol.hpp:35
Svc::DeframingProtocol::setup
void setup(DeframingProtocolInterface &interface)
Definition:
DeframingProtocol.cpp:21
Svc::DeframingProtocolInterface
interface supplied to the deframing protocol
Definition:
DeframingProtocolInterface.hpp:29
Types::CircularBuffer
Definition:
CircularBuffer.hpp:27
Svc
Definition:
ActiveRateGroupCfg.hpp:18
Svc
FramingProtocol
DeframingProtocol.hpp
Generated by
1.9.1