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  void init(
22  NATIVE_INT_TYPE queueDepth,
23  NATIVE_INT_TYPE instance
24  );
25  PROTECTED:
26  PRIVATE:
27  void LogRecv_handler(NATIVE_INT_TYPE portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity& severity, Fw::LogBuffer &args);
28  void loqQueue_internalInterfaceHandler(FwEventIdType id, const Fw::Time &timeTag, const Fw::LogSeverity& severity, const Fw::LogBuffer &args);
29 
30  void SET_EVENT_FILTER_cmdHandler(
31  FwOpcodeType opCode,
32  U32 cmdSeq,
33  ActiveLogger_FilterSeverity filterLevel,
34  ActiveLogger_Enabled filterEnabled);
35 
36  void SET_ID_FILTER_cmdHandler(
37  FwOpcodeType opCode,
38  U32 cmdSeq,
39  U32 ID,
40  ActiveLogger_Enabled idFilterEnabled
41  );
42 
43  void DUMP_FILTER_STATE_cmdHandler(
44  FwOpcodeType opCode,
45  U32 cmdSeq
46  );
47 
50  void pingIn_handler(
51  const NATIVE_INT_TYPE portNum,
52  U32 key
53  );
54 
55  // Filter state
56  struct t_filterState {
57  ActiveLogger_Enabled enabled; //<! filter is enabled
59 
60  // Working members
61  Fw::LogPacket m_logPacket;
62  Fw::ComBuffer m_comBuffer;
63 
64  // array of filtered event IDs.
65  // value of 0 means no entry
66  FwEventIdType m_filteredIDs[TELEM_ID_FILTER_SIZE];
67 
68  };
69 
70 }
71 #endif /* ACTIVELOGGERIMPL_HPP_ */
@ TELEM_ID_FILTER_SIZE
Size of telemetry ID filter.
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:51
U32 FwEventIdType
Definition: FpConfig.h:62
U32 FwOpcodeType
Definition: FpConfig.h:56
Enum representing event severity.
void init()
Object initializer.
Definition: ObjBase.cpp:27
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