F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
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:39
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