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>
18#include <TlmChanImplCfg.hpp>
19
20namespace Svc {
21
23 public:
24 TlmChan(const char* compName);
25 virtual ~TlmChan();
26
27 PROTECTED:
28 // can be overridden for alternate algorithms
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_ */
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:55
PlatformUIntType NATIVE_UINT_TYPE
Definition BasicTypes.h:56
U32 FwChanIdType
Definition FpConfig.h:95
Configuration file for Telemetry Channel component.
Auto-generated base for TlmChan component.
virtual NATIVE_UINT_TYPE doHash(FwChanIdType id)
Definition TlmChan.cpp:45
virtual ~TlmChan()
Definition TlmChan.cpp:43