F´ Flight Software - C/C++ Documentation
NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
o
p
r
s
t
u
v
w
Variables
b
c
f
g
k
l
m
o
p
r
s
t
u
w
z
Typedefs
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
f
h
i
k
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
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
e
f
i
m
r
s
t
w
Enumerations
b
c
d
f
g
h
m
o
q
r
s
t
u
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Related Symbols
:
a
b
c
d
f
g
h
l
p
q
r
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Functions
f
g
i
m
p
r
s
t
u
Variables
_
b
c
f
g
i
l
p
r
s
w
Typedefs
a
b
c
e
f
i
n
p
s
t
u
Enumerations
Enumerator
a
b
c
f
g
h
p
r
s
t
Macros
_
a
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
►
F´ Flight Software - C/C++ Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
GroundInterface.hpp
Go to the documentation of this file.
1
// ======================================================================
2
// \title GroundInterfaceImpl.hpp
3
// \author lestarch
4
// \brief hpp file for GroundInterface component implementation class
5
// ======================================================================
6
#include <
Fw/Types/Serializable.hpp
>
7
#include "
Svc/GroundInterface/GroundInterfaceComponentAc.hpp
"
8
#include "
Utils/Types/CircularBuffer.hpp
"
9
#ifndef GroundInterface_HPP
10
#define GroundInterface_HPP
11
12
#define GND_BUFFER_SIZE 1024
13
#define TOKEN_TYPE U32
14
#define HEADER_SIZE (2 * sizeof(TOKEN_TYPE))
15
16
namespace
Svc
{
17
18
class
GroundInterfaceComponentImpl
:
19
public
GroundInterfaceComponentBase
20
{
21
public
:
22
static
const
U32
MAX_DATA_SIZE
;
23
static
const
TOKEN_TYPE
START_WORD
;
24
static
const
U32
END_WORD
;
25
// ----------------------------------------------------------------------
26
// Construction, initialization, and destruction
27
// ----------------------------------------------------------------------
28
31
GroundInterfaceComponentImpl
(
32
const
char
*
const
compName
33
);
34
37
void
init
(
38
const
NATIVE_INT_TYPE
instance = 0
39
);
40
43
~GroundInterfaceComponentImpl
();
44
45
PRIVATE:
46
47
// ----------------------------------------------------------------------
48
// Handler implementations for user-defined typed input ports
49
// ----------------------------------------------------------------------
50
53
void
downlinkPort_handler(
54
const
NATIVE_INT_TYPE
portNum,
55
Fw::ComBuffer
&data,
56
U32 context
57
);
58
61
void
fileDownlinkBufferSendIn_handler(
62
const
NATIVE_INT_TYPE
portNum,
63
Fw::Buffer
&fwBuffer
64
);
65
68
void
readCallback_handler(
69
const
NATIVE_INT_TYPE
portNum,
70
Fw::Buffer
&fwBuffer
71
);
72
75
void
schedIn_handler(
76
const
NATIVE_INT_TYPE
portNum,
77
NATIVE_UINT_TYPE
context
78
);
81
void
frame_send(
82
U8
* data,
83
TOKEN_TYPE
size,
84
TOKEN_TYPE
packet_type =
Fw::ComPacket::FW_PACKET_UNKNOWN
85
);
86
88
void
routeComData();
89
91
void
processRing();
92
94
void
processBuffer(
Fw::Buffer
& data );
95
96
// Basic data movement variables
97
Fw::Buffer
m_ext_buffer;
98
U8
m_buffer[
GND_BUFFER_SIZE
];
99
// Input variables
100
TOKEN_TYPE
m_data_size;
101
U8
m_in_buffer[
GND_BUFFER_SIZE
];
102
Types::CircularBuffer
m_in_ring;
103
};
18
class
GroundInterfaceComponentImpl
: {
…
};
104
105
}
// end namespace Svc
106
107
#endif
NATIVE_INT_TYPE
PlatformIntType NATIVE_INT_TYPE
Definition
BasicTypes.h:51
U8
uint8_t U8
8-bit unsigned integer
Definition
BasicTypes.h:26
NATIVE_UINT_TYPE
PlatformUIntType NATIVE_UINT_TYPE
Definition
BasicTypes.h:52
CircularBuffer.hpp
TOKEN_TYPE
#define TOKEN_TYPE
Definition
GroundInterface.hpp:13
GND_BUFFER_SIZE
#define GND_BUFFER_SIZE
Definition
GroundInterface.hpp:12
GroundInterfaceComponentAc.hpp
Serializable.hpp
Fw::Buffer
Definition
Buffer.hpp:43
Fw::ComBuffer
Definition
ComBuffer.hpp:20
Fw::ComPacket::FW_PACKET_UNKNOWN
@ FW_PACKET_UNKNOWN
Definition
ComPacket.hpp:28
Fw::ObjBase::init
void init()
Object initializer.
Definition
ObjBase.cpp:27
Svc::GroundInterfaceComponentBase
Auto-generated base for GroundInterface component.
Definition
GroundInterfaceComponentAc.hpp:34
Svc::GroundInterfaceComponentImpl
Definition
GroundInterface.hpp:20
Svc::GroundInterfaceComponentImpl::GroundInterfaceComponentImpl
GroundInterfaceComponentImpl(const char *const compName)
Definition
GroundInterface.cpp:23
Svc::GroundInterfaceComponentImpl::END_WORD
static const U32 END_WORD
Definition
GroundInterface.hpp:24
Svc::GroundInterfaceComponentImpl::~GroundInterfaceComponentImpl
~GroundInterfaceComponentImpl()
Definition
GroundInterface.cpp:42
Svc::GroundInterfaceComponentImpl::MAX_DATA_SIZE
static const U32 MAX_DATA_SIZE
Definition
GroundInterface.hpp:22
Svc::GroundInterfaceComponentImpl::START_WORD
static const TOKEN_TYPE START_WORD
Definition
GroundInterface.hpp:23
Types::CircularBuffer
Definition
CircularBuffer.hpp:27
Svc
Definition
ActiveRateGroupCfg.hpp:18
Svc
GroundInterface
GroundInterface.hpp
Generated by
1.10.0