F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
TlmChan.hpp
Go to the documentation of this file.
1
13
#ifndef TELEMCHANIMPL_HPP_
14
#define TELEMCHANIMPL_HPP_
15
16
#include <
Fw/Tlm/TlmPacket.hpp
>
17
#include <
Svc/TlmChan/TlmChanComponentAc.hpp
>
18
#include <
TlmChanImplCfg.hpp
>
19
20
namespace
Svc
{
21
22
class
TlmChan
:
public
TlmChanComponentBase
{
23
public
:
24
TlmChan
(
const
char
* compName);
25
virtual
~TlmChan
();
26
27
PROTECTED:
28
// can be overridden for alternate algorithms
29
virtual
NATIVE_UINT_TYPE
doHash
(
FwChanIdType
id
);
30
31
PRIVATE:
32
// Port functions
33
void
TlmRecv_handler(
NATIVE_INT_TYPE
portNum,
FwChanIdType
id
,
Fw::Time
& timeTag,
Fw::TlmBuffer
& val);
34
void
TlmGet_handler(
NATIVE_INT_TYPE
portNum,
FwChanIdType
id
,
Fw::Time
& timeTag,
Fw::TlmBuffer
& val);
35
void
Run_handler(
NATIVE_INT_TYPE
portNum, U32 context);
38
void
pingIn_handler(
const
NATIVE_INT_TYPE
portNum,
39
U32 key
40
);
41
42
typedef
struct
tlmEntry {
43
FwChanIdType
id;
44
bool
updated;
45
Fw::Time
lastUpdate;
46
Fw::TlmBuffer
buffer;
47
tlmEntry* next;
48
bool
used;
49
NATIVE_UINT_TYPE
bucketNo;
50
} TlmEntry;
51
52
struct
TlmSet {
53
TlmEntry* slots[TLMCHAN_NUM_TLM_HASH_SLOTS];
54
TlmEntry buckets[TLMCHAN_HASH_BUCKETS];
55
NATIVE_INT_TYPE
free;
56
} m_tlmEntries[2];
57
58
U32 m_activeBuffer;
// !< which buffer is active for storing telemetry
59
};
60
61
}
// namespace Svc
62
63
#endif
/* TELEMCHANIMPL_HPP_ */
NATIVE_INT_TYPE
PlatformIntType NATIVE_INT_TYPE
Definition
BasicTypes.h:55
NATIVE_UINT_TYPE
PlatformUIntType NATIVE_UINT_TYPE
Definition
BasicTypes.h:56
FwChanIdType
U32 FwChanIdType
Definition
FpConfig.h:95
TlmChanComponentAc.hpp
TlmChanImplCfg.hpp
Configuration file for Telemetry Channel component.
TlmPacket.hpp
Fw::Time
Definition
Time.hpp:9
Fw::TlmBuffer
Definition
TlmBuffer.hpp:20
Svc::TlmChanComponentBase
Auto-generated base for TlmChan component.
Definition
TlmChanComponentAc.hpp:29
Svc::TlmChan
Definition
TlmChan.hpp:22
Svc::TlmChan::doHash
virtual NATIVE_UINT_TYPE doHash(FwChanIdType id)
Definition
TlmChan.cpp:45
Svc::TlmChan::~TlmChan
virtual ~TlmChan()
Definition
TlmChan.cpp:43
Svc
Definition
ActiveRateGroupCfg.hpp:18
Svc
TlmChan
TlmChan.hpp
Generated by
1.9.8