F´ Flight Software - C/C++ Documentation
NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Functions
a
b
c
d
g
h
i
m
r
s
t
v
w
Variables
Typedefs
Enumerations
Enumerator
a
b
f
h
i
n
o
p
s
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
b
d
e
f
g
h
i
l
m
n
p
q
s
t
u
v
w
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
l
m
n
o
p
q
r
s
t
w
Related Functions
Files
File List
File Members
All
_
a
b
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
Functions
f
i
m
s
u
Variables
Typedefs
Enumerations
Enumerator
c
d
f
m
p
r
s
t
Macros
a
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
►
F´ Flight Software - C/C++ Documentation
•
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
13
#include <
Svc/FramingProtocol/FramingProtocol.hpp
>
14
#include <
Svc/FramingProtocol/DeframingProtocol.hpp
>
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
{
25
class
FprimeFraming
:
public
FramingProtocol
{
26
public
:
27
static
const
FP_FRAME_TOKEN_TYPE
START_WORD
;
28
FprimeFraming
();
29
30
void
frame
(
const
U8
*
const
data,
const
U32 size,
Fw::ComPacket::ComPacketType
packet_type);
31
};
32
33
class
FprimeDeframing
:
public
DeframingProtocol
{
34
public
:
35
FprimeDeframing
();
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
Svc
FramingProtocol
FprimeProtocol.hpp
Generated by
1.8.17