F´ Flight Software - C/C++ Documentation
NASA-v1.5.0
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
c
f
h
i
l
m
n
o
p
s
t
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
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
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
c
t
u
w
Enumerations
b
c
d
e
f
g
h
i
m
o
p
q
s
t
w
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
w
Related Functions
a
b
c
f
g
h
l
p
r
s
t
Files
File List
File Members
All
_
a
b
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
w
Functions
f
i
m
s
u
Variables
_
c
f
i
l
p
t
Typedefs
Enumerations
Enumerator
a
c
d
f
i
m
p
r
s
t
w
Macros
a
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
TlmChanImpl.hpp
Go to the documentation of this file.
1
13
#ifndef TELEMCHANIMPL_HPP_
14
#define TELEMCHANIMPL_HPP_
15
16
#include <
Svc/TlmChan/TlmChanComponentAc.hpp
>
17
#include <
TlmChanImplCfg.hpp
>
18
#include <
Os/Mutex.hpp
>
19
#include <
Fw/Tlm/TlmPacket.hpp
>
20
21
namespace
Svc
{
22
23
class
TlmChanImpl
:
public
TlmChanComponentBase
{
24
public
:
25
friend
class
TlmChanImplTester
;
26
TlmChanImpl
(
const
char
* compName);
27
virtual
~TlmChanImpl
();
28
void
init
(
29
NATIVE_INT_TYPE
queueDepth,
30
NATIVE_INT_TYPE
instance
31
);
32
PROTECTED
:
33
34
// can be overridden for alternate algorithms
35
virtual
NATIVE_UINT_TYPE
doHash(
FwChanIdType
id
);
36
37
PRIVATE
:
38
39
// Port functions
40
void
TlmRecv_handler(
NATIVE_INT_TYPE
portNum
,
FwChanIdType
id
,
Fw::Time
&
timeTag
,
Fw::TlmBuffer
&
val
);
41
void
TlmGet_handler
(
NATIVE_INT_TYPE
portNum
,
FwChanIdType
id
,
Fw::Time
&
timeTag
,
Fw::TlmBuffer
&
val
);
42
void
Run_handler
(
NATIVE_INT_TYPE
portNum
,
NATIVE_UINT_TYPE
context
);
45
void
pingIn_handler
(
46
const
NATIVE_INT_TYPE
portNum
,
47
U32 key
48
);
49
50
typedef
struct
tlmEntry
{
51
FwChanIdType
id
;
52
bool
updated
;
53
Fw::Time
lastUpdate
;
54
Fw::TlmBuffer
buffer
;
55
tlmEntry
*
next
;
56
bool
used
;
57
NATIVE_UINT_TYPE
bucketNo
;
58
}
TlmEntry
;
59
60
struct
TlmSet
{
61
TlmEntry
*
slots
[TLMCHAN_NUM_TLM_HASH_SLOTS];
62
TlmEntry
buckets
[TLMCHAN_HASH_BUCKETS];
63
NATIVE_INT_TYPE
free
;
64
}
m_tlmEntries
[2];
65
66
U32
m_activeBuffer
;
// !< which buffer is active for storing telemetry
67
68
// work variables
69
Fw::ComBuffer
m_comBuffer
;
70
Fw::TlmPacket
m_tlmPacket
;
71
72
};
73
74
}
75
76
#endif
/* TELEMCHANIMPL_HPP_ */
PRIVATE
#define PRIVATE
overridable private for unit testing
Definition:
BasicTypes.hpp:118
Fw::Time
Definition:
Time.hpp:10
Svc::TlmChanImpl::tlmEntry::lastUpdate
Fw::Time lastUpdate
last updated time
Definition:
TlmChanImpl.hpp:53
Svc::TlmChanImpl::TlmEntry
struct Svc::TlmChanImpl::tlmEntry TlmEntry
Fw::TlmBuffer
Definition:
TlmBuffer.hpp:21
FwChanIdType
#define FwChanIdType
Type representation for a channel id.
Definition:
FpConfig.hpp:66
Svc::TlmChanImpl::tlmEntry::updated
bool updated
set whenever a value has been written. Used to skip if writing out values for downlinking
Definition:
TlmChanImpl.hpp:52
Svc::TlmChanImpl::TlmSet::free
NATIVE_INT_TYPE free
next free bucket
Definition:
TlmChanImpl.hpp:63
PROTECTED
#define PROTECTED
overridable protected for unit testing
Definition:
BasicTypes.hpp:114
Svc::TlmChanImpl::m_activeBuffer
U32 m_activeBuffer
Definition:
TlmChanImpl.hpp:66
Svc::TlmChanComponentBase::portNum
PRIVATE NATIVE_INT_TYPE portNum
Definition:
TlmChanComponentAc.hpp:438
Svc::TlmChanComponentBase::context
PROTECTED NATIVE_UINT_TYPE context
Definition:
TlmChanComponentAc.hpp:267
Svc::TlmChanImpl::TlmSet::slots
TlmEntry * slots[TLMCHAN_NUM_TLM_HASH_SLOTS]
set of hash slots in hash table
Definition:
TlmChanImpl.hpp:61
Svc::TlmChanImpl
Definition:
TlmChanImpl.hpp:23
Svc::TlmChanImpl::tlmEntry::used
bool used
if entry has been used
Definition:
TlmChanImpl.hpp:56
Fw::ObjBase::init
void init(void)
Object initializer.
Definition:
ObjBase.cpp:26
Svc::TlmChanImpl::tlmEntry::bucketNo
NATIVE_UINT_TYPE bucketNo
for testing
Definition:
TlmChanImpl.hpp:57
Svc::TlmChanImpl::tlmEntry
Definition:
TlmChanImpl.hpp:50
TlmChanImplCfg.hpp
Configuration file for Telemetry Channel component.
Svc::TlmChanImpl::TlmChanImplTester
friend class TlmChanImplTester
Definition:
TlmChanImpl.hpp:25
Svc::TlmChanImpl::val
PRIVATE FwChanIdType Fw::Time Fw::TlmBuffer & val
Definition:
TlmChanImpl.hpp:40
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition:
BasicTypes.hpp:30
Svc::TlmChanImpl::TlmSet
Definition:
TlmChanImpl.hpp:60
Svc::TlmChanImpl::TlmGet_handler
void TlmGet_handler(NATIVE_INT_TYPE portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Handler for input port TlmGet.
Definition:
TlmChanImplGet.cpp:17
Svc::TlmChanImpl::m_comBuffer
Fw::ComBuffer m_comBuffer
Definition:
TlmChanImpl.hpp:69
Svc::TlmChanComponentBase
Auto-generated base for TlmChan component.
Definition:
TlmChanComponentAc.hpp:36
Svc::TlmChanImpl::tlmEntry::id
FwChanIdType id
telemetry id stored in slot
Definition:
TlmChanImpl.hpp:51
TlmPacket.hpp
Svc::TlmChanImpl::m_tlmPacket
Fw::TlmPacket m_tlmPacket
Definition:
TlmChanImpl.hpp:70
Svc::TlmChanImpl::pingIn_handler
void pingIn_handler(const NATIVE_INT_TYPE portNum, U32 key)
Definition:
TlmChanImpl.cpp:65
Svc::TlmChanImpl::tlmEntry::buffer
Fw::TlmBuffer buffer
buffer to store serialized telemetry
Definition:
TlmChanImpl.hpp:54
Svc::TlmChanImpl::TlmChanImpl
TlmChanImpl(const char *compName)
Definition:
TlmChanImpl.cpp:22
Svc
Definition:
ActiveLoggerComponentAc.cpp:22
Fw::TlmPacket
Definition:
TlmPacket.hpp:17
Svc::TlmChanImpl::tlmEntry::next
tlmEntry * next
pointer to next bucket in table
Definition:
TlmChanImpl.hpp:55
Svc::TlmChanImpl::~TlmChanImpl
virtual ~TlmChanImpl()
Definition:
TlmChanImpl.cpp:51
Svc::TlmChanImpl::Run_handler
void Run_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
Handler for input port Run.
Definition:
TlmChanImplTask.cpp:24
Svc::TlmChanImpl::TlmSet::buckets
TlmEntry buckets[TLMCHAN_HASH_BUCKETS]
set of buckets used in hash table
Definition:
TlmChanImpl.hpp:62
Mutex.hpp
Svc::TlmChanImpl::m_tlmEntries
struct Svc::TlmChanImpl::TlmSet m_tlmEntries[2]
TlmChanComponentAc.hpp
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition:
BasicTypes.hpp:29
Svc::TlmChanImpl::timeTag
PRIVATE FwChanIdType Fw::Time & timeTag
Definition:
TlmChanImpl.hpp:40
Fw::ComBuffer
Definition:
ComBuffer.hpp:21
Svc
TlmChan
TlmChanImpl.hpp
Generated by
1.8.19