F´ Flight Software - C/C++ Documentation
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 "
Fw/Com/ComPacket.hpp
"
14
#include "
Svc/FramingProtocol/DeframingProtocolInterface.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
32
class
DeframingProtocol
{
33
public
:
34
virtual
~DeframingProtocol
() {};
38
enum
DeframingStatus
{
39
DEFRAMING_STATUS_SUCCESS
,
40
DEFRAMING_INVALID_SIZE
,
41
DEFRAMING_INVALID_CHECKSUM
,
42
DEFRAMING_MORE_NEEDED
,
43
DEFRAMING_INVALID_FORMAT
,
44
DEFRAMING_MAX_STATUS
45
};
48
DeframingProtocol
();
49
52
void
setup
(
DeframingProtocolInterface
& interface
53
);
54
57
virtual
DeframingStatus
deframe
(
Types::CircularBuffer
& buffer,
58
U32& needed
59
) = 0;
60
61
protected
:
62
DeframingProtocolInterface
*
m_interface
;
63
};
64
}
// namespace Svc
65
#endif // SVC_DEFRAMING_PROTOCOL_HPP
Svc::DeframingProtocol::DeframingProtocol
DeframingProtocol()
Definition:
DeframingProtocol.cpp:18
Svc::DeframingProtocol::deframe
virtual DeframingStatus deframe(Types::CircularBuffer &buffer, U32 &needed)=0
Svc::DeframingProtocol::m_interface
DeframingProtocolInterface * m_interface
Definition:
DeframingProtocol.hpp:62
Svc::DeframingProtocolInterface
interface supplied to the deframing protocol
Definition:
DeframingProtocolInterface.hpp:28
ComPacket.hpp
Svc::DeframingProtocol::DEFRAMING_MORE_NEEDED
Definition:
DeframingProtocol.hpp:42
Types::CircularBuffer
Definition:
CircularBuffer.hpp:25
Svc::DeframingProtocol::DEFRAMING_MAX_STATUS
Definition:
DeframingProtocol.hpp:44
Svc::DeframingProtocol
Abstract base class representing a deframing protocol.
Definition:
DeframingProtocol.hpp:32
Svc::DeframingProtocol::DEFRAMING_INVALID_CHECKSUM
Definition:
DeframingProtocol.hpp:41
Svc::DeframingProtocol::~DeframingProtocol
virtual ~DeframingProtocol()
Definition:
DeframingProtocol.hpp:34
Svc::DeframingProtocol::DEFRAMING_INVALID_FORMAT
Definition:
DeframingProtocol.hpp:43
Svc::DeframingProtocol::DeframingStatus
DeframingStatus
Status of the deframing call.
Definition:
DeframingProtocol.hpp:38
Svc::DeframingProtocol::DEFRAMING_INVALID_SIZE
Definition:
DeframingProtocol.hpp:40
Svc
RateGroupDivider component implementation.
Definition:
ActiveRateGroupCfg.hpp:18
Svc::DeframingProtocol::DEFRAMING_STATUS_SUCCESS
Definition:
DeframingProtocol.hpp:39
DeframingProtocolInterface.hpp
CircularBuffer.hpp
Svc::DeframingProtocol::setup
void setup(DeframingProtocolInterface &interface)
Definition:
DeframingProtocol.cpp:20
Svc
FramingProtocol
DeframingProtocol.hpp
Generated by
1.8.14