F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FprimeProtocol.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title FprimeProtocol.hpp
3 // \author mstarch
4 // \brief hpp file for FprimeProtocol class
5 //
6 // \copyright
7 // Copyright 2009-2021, by the California Institute of Technology.
8 // ALL RIGHTS RESERVED. United States Government Sponsorship
9 // acknowledged.
10 //
11 // ======================================================================
12 
15 #ifndef FPRIMEPROTOCOL_HPP
16 #define FPRIMEPROTOCOL_HPP
17 
18 #define FP_FRAME_TOKEN_TYPE U32
19 #define FP_FRAME_HEADER_SIZE (sizeof(FP_FRAME_TOKEN_TYPE) * 2)
20 
21 namespace Svc {
26  public:
28  FprimeFraming();
29 
30  void frame(const U8* const data, const U32 size, Fw::ComPacket::ComPacketType packet_type);
31 };
32 
34  public:
36 
37  bool validate(Types::CircularBuffer& buffer, U32 size);
38 
39  DeframingStatus deframe(Types::CircularBuffer& buffer, U32& needed);
40 };
41 };
42 #endif // FPRIMEPROTOCOL_HPP
Svc::FprimeFraming
class implementing the fprime serialization protocol
Definition: FprimeProtocol.hpp:25
Svc::FprimeDeframing::FprimeDeframing
FprimeDeframing()
Definition: FprimeProtocol.cpp:22
U8
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.hpp:76
DeframingProtocol.hpp
Svc::FprimeDeframing::deframe
DeframingStatus deframe(Types::CircularBuffer &buffer, U32 &needed)
Definition: FprimeProtocol.cpp:84
Svc::FprimeFraming::START_WORD
static const FP_FRAME_TOKEN_TYPE START_WORD
Definition: FprimeProtocol.hpp:27
Svc::DeframingProtocol::DeframingStatus
DeframingStatus
Status of the deframing call.
Definition: DeframingProtocol.hpp:38
Svc::FprimeFraming::FprimeFraming
FprimeFraming()
Definition: FprimeProtocol.cpp:20
Svc::FramingProtocol
abstract class representing a framing protocol
Definition: FramingProtocol.hpp:31
Svc
Definition: ActiveRateGroupImplCfg.hpp:18
Svc::DeframingProtocol
Abstract base class representing a deframing protocol.
Definition: DeframingProtocol.hpp:33
Svc::FprimeFraming::frame
void frame(const U8 *const data, const U32 size, Fw::ComPacket::ComPacketType packet_type)
frame a given set of bytes
Definition: FprimeProtocol.cpp:24
FP_FRAME_TOKEN_TYPE
#define FP_FRAME_TOKEN_TYPE
Definition: FprimeProtocol.hpp:18
Fw::ComPacket::ComPacketType
ComPacketType
Definition: ComPacket.hpp:21
Svc::FprimeDeframing::validate
bool validate(Types::CircularBuffer &buffer, U32 size)
Definition: FprimeProtocol.cpp:61
Types::CircularBuffer
Definition: CircularBuffer.hpp:31
FramingProtocol.hpp
Svc::FprimeDeframing
Definition: FprimeProtocol.hpp:33