11 #include <Fw/Types/Assert.hpp>
20 ActiveLoggerComponentBase(name)
23 this->m_filterState[FilterSeverity::WARNING_HI].enabled =
25 this->m_filterState[FilterSeverity::WARNING_LO].enabled =
27 this->m_filterState[FilterSeverity::COMMAND].enabled =
29 this->m_filterState[FilterSeverity::ACTIVITY_HI].enabled =
31 this->m_filterState[FilterSeverity::ACTIVITY_LO].enabled =
33 this->m_filterState[FilterSeverity::DIAGNOSTIC].enabled =
36 memset(m_filteredIDs,0,
sizeof(m_filteredIDs));
47 ActiveLoggerComponentBase::init(queueDepth,instance);
56 case Fw::LogSeverity::FATAL:
58 case Fw::LogSeverity::WARNING_HI:
59 if (this->m_filterState[FilterSeverity::WARNING_HI].enabled == Enabled::DISABLED) {
63 case Fw::LogSeverity::WARNING_LO:
64 if (this->m_filterState[FilterSeverity::WARNING_LO].enabled == Enabled::DISABLED) {
68 case Fw::LogSeverity::COMMAND:
69 if (this->m_filterState[FilterSeverity::COMMAND].enabled == Enabled::DISABLED) {
73 case Fw::LogSeverity::ACTIVITY_HI:
74 if (this->m_filterState[FilterSeverity::ACTIVITY_HI].enabled == Enabled::DISABLED) {
78 case Fw::LogSeverity::ACTIVITY_LO:
79 if (this->m_filterState[FilterSeverity::ACTIVITY_LO].enabled == Enabled::DISABLED) {
83 case Fw::LogSeverity::DIAGNOSTIC:
84 if (this->m_filterState[FilterSeverity::DIAGNOSTIC].enabled == Enabled::DISABLED) {
96 (m_filteredIDs[entry] ==
id) &&
97 (severity != Fw::LogSeverity::FATAL)
104 this->loqQueue_internalInterfaceInvoke(
id,timeTag,severity,args);
107 if (Fw::LogSeverity::FATAL == severity.e) {
108 if (this->isConnected_FatalAnnounce_OutputPort(0)) {
109 this->FatalAnnounce_out(0,
id);
117 this->m_logPacket.
setId(
id);
124 if (this->isConnected_PktSend_OutputPort(0)) {
125 this->PktSend_out(0, this->m_comBuffer,0);
130 if ( (filterLevel.e > FilterSeverity::DIAGNOSTIC) or
131 (filterLevel.e < FilterSeverity::WARNING_HI) or
132 (filterEnable.e < Enabled::ENABLED) or
133 (filterEnable.e > Enabled::DISABLED)) {
134 this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::VALIDATION_ERROR);
137 this->m_filterState[filterLevel.e].enabled = filterEnable;
141 void ActiveLoggerImpl::SET_ID_FILTER_cmdHandler(
149 switch (idEnabled.e) {
150 case Enabled::ENABLED:
151 case Enabled::DISABLED:
154 this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::VALIDATION_ERROR);
158 if (Enabled::ENABLED == idEnabled.e) {
161 if (this->m_filteredIDs[entry] == ID) {
163 this->log_ACTIVITY_HI_ID_FILTER_ENABLED(ID);
169 if (this->m_filteredIDs[entry] == 0) {
170 this->m_filteredIDs[entry] = ID;
172 this->log_ACTIVITY_HI_ID_FILTER_ENABLED(ID);
177 this->log_WARNING_LO_ID_FILTER_LIST_FULL(ID);
178 this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::EXECUTION_ERROR);
182 if (this->m_filteredIDs[entry] == ID) {
183 this->m_filteredIDs[entry] = 0;
185 this->log_ACTIVITY_HI_ID_FILTER_REMOVED(ID);
190 this->log_WARNING_LO_ID_FILTER_NOT_FOUND(ID);
191 this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::EXECUTION_ERROR);
196 void ActiveLoggerImpl::DUMP_FILTER_STATE_cmdHandler(
202 for (
NATIVE_UINT_TYPE filter = 0; filter < FilterSeverity::NUM_CONSTANTS; filter++) {
203 FilterSeverity filterState(
static_cast<FilterSeverity::t
>(filter));
204 this->log_ACTIVITY_LO_SEVERITY_FILTER_STATE(
206 Enabled::ENABLED == this->m_filterState[filter].enabled.e
212 if (this->m_filteredIDs[entry] != 0) {
213 this->log_ACTIVITY_HI_ID_FILTER_ENABLED(this->m_filteredIDs[entry]);
220 void ActiveLoggerImpl::pingIn_handler(
226 this->pingOut_out(0,key);