F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
ActiveLoggerImpl.hpp
Go to the documentation of this file.
1 /*
2  * ActiveLoggerImpl.hpp
3  *
4  * Created on: Mar 28, 2014
5  * Author: tcanham
6  */
7 
8 #ifndef ACTIVELOGGERIMPL_HPP_
9 #define ACTIVELOGGERIMPL_HPP_
10 
12 #include <Fw/Log/LogPacket.hpp>
13 #include <ActiveLoggerImplCfg.hpp>
14 
15 namespace Svc {
16 
18  public:
19  ActiveLoggerImpl(const char* compName);
20  virtual ~ActiveLoggerImpl();
21  PROTECTED:
22  PRIVATE:
23  void LogRecv_handler(NATIVE_INT_TYPE portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity& severity, Fw::LogBuffer &args);
24  void loqQueue_internalInterfaceHandler(FwEventIdType id, const Fw::Time &timeTag, const Fw::LogSeverity& severity, const Fw::LogBuffer &args);
25 
26  void SET_EVENT_FILTER_cmdHandler(
27  FwOpcodeType opCode,
28  U32 cmdSeq,
29  ActiveLogger_FilterSeverity filterLevel,
30  ActiveLogger_Enabled filterEnabled);
31 
32  void SET_ID_FILTER_cmdHandler(
33  FwOpcodeType opCode,
34  U32 cmdSeq,
35  U32 ID,
36  ActiveLogger_Enabled idFilterEnabled
37  );
38 
39  void DUMP_FILTER_STATE_cmdHandler(
40  FwOpcodeType opCode,
41  U32 cmdSeq
42  );
43 
46  void pingIn_handler(
47  const NATIVE_INT_TYPE portNum,
48  U32 key
49  );
50 
51  // Filter state
52  struct t_filterState {
53  ActiveLogger_Enabled enabled; //<! filter is enabled
55 
56  // Working members
57  Fw::LogPacket m_logPacket;
58  Fw::ComBuffer m_comBuffer;
59 
60  // array of filtered event IDs.
61  // value of 0 means no entry
62  FwEventIdType m_filteredIDs[TELEM_ID_FILTER_SIZE];
63 
64  };
65 
66 }
67 #endif /* ACTIVELOGGERIMPL_HPP_ */
@ TELEM_ID_FILTER_SIZE
Size of telemetry ID filter.
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:55
U32 FwEventIdType
Definition: FpConfig.h:103
U32 FwOpcodeType
Definition: FpConfig.h:91
Enum representing event severity.
Definition: Time.hpp:9
Enabled and disabled state.
@ NUM_CONSTANTS
The number of enumerated constants.
Auto-generated base for ActiveLogger component.
ActiveLoggerImpl(const char *compName)
constructor
virtual ~ActiveLoggerImpl()
destructor