10 #if FW_ENABLE_TEXT_LOGGING
19 BUFFERSENDIN_BUFFERSEND,
41 class ComponentIpcSerializableBuffer :
56 return sizeof(m_buff);
63 const U8* getBuffAddr()
const {
69 U8 m_buff[SERIALIZATION_SIZE];
93 this->m_cmdIn_InputPort[port].
init();
98 this->m_cmdIn_InputPort[port].
setPortNum(port);
100 #if FW_OBJECT_NAMES == 1
104 this->m_objName.toChar(),
107 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
117 this->m_bufferSendIn_InputPort[port].
init();
122 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
124 #if FW_OBJECT_NAMES == 1
128 this->m_objName.toChar(),
131 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
141 this->m_comIn_InputPort[port].
init();
146 this->m_comIn_InputPort[port].
setPortNum(port);
148 #if FW_OBJECT_NAMES == 1
152 this->m_objName.toChar(),
155 this->m_comIn_InputPort[port].setObjName(portName.
toChar());
165 this->m_pingIn_InputPort[port].
init();
170 this->m_pingIn_InputPort[port].
setPortNum(port);
172 #if FW_OBJECT_NAMES == 1
176 this->m_objName.toChar(),
179 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
189 this->m_schedIn_InputPort[port].
init();
194 this->m_schedIn_InputPort[port].
setPortNum(port);
196 #if FW_OBJECT_NAMES == 1
200 this->m_objName.toChar(),
203 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
213 this->m_cmdRegOut_OutputPort[port].
init();
215 #if FW_OBJECT_NAMES == 1
219 this->m_objName.toChar(),
222 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
232 this->m_cmdResponseOut_OutputPort[port].
init();
234 #if FW_OBJECT_NAMES == 1
238 this->m_objName.toChar(),
241 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
251 this->m_eventOut_OutputPort[port].
init();
253 #if FW_OBJECT_NAMES == 1
257 this->m_objName.toChar(),
260 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
264 #if FW_ENABLE_TEXT_LOGGING == 1
268 port < static_cast<FwIndexType>(this->getNum_eventOutText_OutputPorts());
271 this->m_eventOutText_OutputPort[port].
init();
273 #if FW_OBJECT_NAMES == 1
277 this->m_objName.toChar(),
280 this->m_eventOutText_OutputPort[port].setObjName(portName.
toChar());
291 this->m_timeCaller_OutputPort[port].
init();
293 #if FW_OBJECT_NAMES == 1
297 this->m_objName.toChar(),
300 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
310 this->m_tlmOut_OutputPort[port].
init();
312 #if FW_OBJECT_NAMES == 1
316 this->m_objName.toChar(),
319 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
329 this->m_bufferSendOut_OutputPort[port].
init();
331 #if FW_OBJECT_NAMES == 1
335 this->m_objName.toChar(),
338 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
348 this->m_pingOut_OutputPort[port].
init();
350 #if FW_OBJECT_NAMES == 1
354 this->m_objName.toChar(),
357 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
363 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
383 return &this->m_cmdIn_InputPort[portNum];
398 return &this->m_bufferSendIn_InputPort[portNum];
409 return &this->m_comIn_InputPort[portNum];
420 return &this->m_pingIn_InputPort[portNum];
431 return &this->m_schedIn_InputPort[portNum];
449 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
463 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
477 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
480 #if FW_ENABLE_TEXT_LOGGING == 1
482 void BufferLoggerComponentBase ::
483 set_eventOutText_OutputPort(
489 portNum < this->getNum_eventOutText_OutputPorts(),
493 this->m_eventOutText_OutputPort[portNum].addCallPort(port);
509 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
523 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
541 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
555 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
558 #if FW_PORT_SERIALIZATION
567 Fw::InputSerializePort* port
575 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
581 Fw::InputSerializePort* port
589 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
595 Fw::InputSerializePort* port
603 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
606 #if FW_ENABLE_TEXT_LOGGING == 1
608 void BufferLoggerComponentBase ::
609 set_eventOutText_OutputPort(
611 Fw::InputSerializePort* port
615 portNum < this->getNum_eventOutText_OutputPorts(),
619 this->m_eventOutText_OutputPort[portNum].registerSerialPort(port);
627 Fw::InputSerializePort* port
635 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
641 Fw::InputSerializePort* port
649 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
654 #if FW_PORT_SERIALIZATION
663 Fw::InputSerializePort* port
671 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
677 Fw::InputSerializePort* port
685 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
697 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
699 this->m_cmdRegOut_OutputPort[0].
invoke(
703 this->m_cmdRegOut_OutputPort[0].
invoke(
707 this->m_cmdRegOut_OutputPort[0].
invoke(
711 this->m_cmdRegOut_OutputPort[0].
invoke(
722 Fw::ActiveComponentBase(compName)
793 #if FW_ENABLE_TEXT_LOGGING == 1
796 getNum_eventOutText_OutputPorts()
const
843 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
854 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
865 return this->m_eventOut_OutputPort[portNum].
isConnected();
868 #if FW_ENABLE_TEXT_LOGGING == 1
870 bool BufferLoggerComponentBase ::
871 isConnected_eventOutText_OutputPort(
FwIndexType portNum)
874 portNum < this->getNum_eventOutText_OutputPorts(),
878 return this->m_eventOutText_OutputPort[portNum].isConnected();
891 return this->m_timeCaller_OutputPort[portNum].
isConnected();
902 return this->m_tlmOut_OutputPort[portNum].
isConnected();
917 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
928 return this->m_pingOut_OutputPort[portNum].
isConnected();
954 ComponentIpcSerializableBuffer msg;
958 _status = msg.serialize(
967 _status = msg.serialize(portNum);
974 _status = msg.serialize(fwBuffer);
1009 ComponentIpcSerializableBuffer msg;
1013 _status = msg.serialize(
1022 _status = msg.serialize(portNum);
1029 _status = msg.serialize(data);
1036 _status = msg.serialize(context);
1069 ComponentIpcSerializableBuffer msg;
1073 _status = msg.serialize(
1082 _status = msg.serialize(portNum);
1089 _status = msg.serialize(key);
1122 ComponentIpcSerializableBuffer msg;
1126 _status = msg.serialize(
1135 _status = msg.serialize(portNum);
1142 _status = msg.serialize(context);
1217 this->m_bufferSendOut_OutputPort[portNum].
invoke(
1232 this->m_pingOut_OutputPort[portNum].
invoke(
1248 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1249 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1270 ComponentIpcSerializableBuffer msg;
1274 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_BL_OPENFILE));
1283 _status = msg.serialize(port);
1289 _status = msg.serialize(opCode);
1295 _status = msg.serialize(cmdSeq);
1301 _status = msg.serialize(args);
1329 ComponentIpcSerializableBuffer msg;
1333 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_BL_CLOSEFILE));
1342 _status = msg.serialize(port);
1348 _status = msg.serialize(opCode);
1354 _status = msg.serialize(cmdSeq);
1360 _status = msg.serialize(args);
1388 ComponentIpcSerializableBuffer msg;
1392 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_BL_SETLOGGING));
1401 _status = msg.serialize(port);
1407 _status = msg.serialize(opCode);
1413 _status = msg.serialize(cmdSeq);
1419 _status = msg.serialize(args);
1447 ComponentIpcSerializableBuffer msg;
1451 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_BL_FLUSHFILE));
1460 _status = msg.serialize(port);
1466 _status = msg.serialize(opCode);
1472 _status = msg.serialize(cmdSeq);
1478 _status = msg.serialize(args);
1555 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1556 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1564 if (this->m_eventOut_OutputPort[0].isConnected()) {
1568 #if FW_AMPCS_COMPATIBLE
1583 this->m_eventOut_OutputPort[0].
invoke(
1592 #if FW_ENABLE_TEXT_LOGGING
1593 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1594 #if FW_OBJECT_NAMES == 1
1595 const char* _formatString =
1596 "(%s) %s: File %s closed";
1598 const char* _formatString =
1599 "%s: File %s closed";
1606 this->m_objName.toChar(),
1608 "BL_LogFileClosed ",
1612 this->m_eventOutText_OutputPort[0].invoke(
1630 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1631 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1639 if (this->m_eventOut_OutputPort[0].isConnected()) {
1643 #if FW_AMPCS_COMPATIBLE
1652 #if FW_AMPCS_COMPATIBLE
1655 static_cast<U8>(
sizeof(U32))
1674 this->m_eventOut_OutputPort[0].
invoke(
1683 #if FW_ENABLE_TEXT_LOGGING
1684 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1685 #if FW_OBJECT_NAMES == 1
1686 const char* _formatString =
1687 "(%s) %s: Error %" PRIu32
" opening file %s";
1689 const char* _formatString =
1690 "%s: Error %" PRIu32
" opening file %s";
1697 this->m_objName.toChar(),
1699 "BL_LogFileOpenError ",
1704 this->m_eventOutText_OutputPort[0].invoke(
1722 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1723 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1731 if (this->m_eventOut_OutputPort[0].isConnected()) {
1735 #if FW_AMPCS_COMPATIBLE
1750 #if FW_AMPCS_COMPATIBLE
1753 static_cast<U8>(
sizeof(U32))
1766 this->m_eventOut_OutputPort[0].
invoke(
1775 #if FW_ENABLE_TEXT_LOGGING
1776 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1777 #if FW_OBJECT_NAMES == 1
1778 const char* _formatString =
1779 "(%s) %s: Failed creating validation file %s with status %" PRIu32
"";
1781 const char* _formatString =
1782 "%s: Failed creating validation file %s with status %" PRIu32
"";
1789 this->m_objName.toChar(),
1791 "BL_LogFileValidationError ",
1796 this->m_eventOutText_OutputPort[0].invoke(
1816 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1817 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1825 if (this->m_eventOut_OutputPort[0].isConnected()) {
1829 #if FW_AMPCS_COMPATIBLE
1838 #if FW_AMPCS_COMPATIBLE
1841 static_cast<U8>(
sizeof(U32))
1854 #if FW_AMPCS_COMPATIBLE
1857 static_cast<U8>(
sizeof(U32))
1864 _status = _logBuff.
serialize(bytesWritten);
1870 #if FW_AMPCS_COMPATIBLE
1873 static_cast<U8>(
sizeof(U32))
1880 _status = _logBuff.
serialize(bytesToWrite);
1892 this->m_eventOut_OutputPort[0].
invoke(
1901 #if FW_ENABLE_TEXT_LOGGING
1902 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1903 #if FW_OBJECT_NAMES == 1
1904 const char* _formatString =
1905 "(%s) %s: Error %" PRIu32
" while writing %" PRIu32
" of %" PRIu32
" bytes to %s";
1907 const char* _formatString =
1908 "%s: Error %" PRIu32
" while writing %" PRIu32
" of %" PRIu32
" bytes to %s";
1915 this->m_objName.toChar(),
1917 "BL_LogFileWriteError ",
1924 this->m_eventOutText_OutputPort[0].invoke(
1939 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1940 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1948 if (this->m_eventOut_OutputPort[0].isConnected()) {
1951 #if FW_AMPCS_COMPATIBLE
1961 this->m_eventOut_OutputPort[0].
invoke(
1970 #if FW_ENABLE_TEXT_LOGGING
1971 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1972 #if FW_OBJECT_NAMES == 1
1973 const char* _formatString =
1974 "(%s) %s: Buffer logger was activated";
1976 const char* _formatString =
1977 "%s: Buffer logger was activated";
1984 this->m_objName.toChar(),
1989 this->m_eventOutText_OutputPort[0].invoke(
2004 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2005 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2013 if (this->m_eventOut_OutputPort[0].isConnected()) {
2016 #if FW_AMPCS_COMPATIBLE
2026 this->m_eventOut_OutputPort[0].
invoke(
2035 #if FW_ENABLE_TEXT_LOGGING
2036 if (this->m_eventOutText_OutputPort[0].isConnected()) {
2037 #if FW_OBJECT_NAMES == 1
2038 const char* _formatString =
2039 "(%s) %s: Buffer logger was deactivated";
2041 const char* _formatString =
2042 "%s: Buffer logger was deactivated";
2049 this->m_objName.toChar(),
2054 this->m_eventOutText_OutputPort[0].invoke(
2069 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2070 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2078 if (this->m_eventOut_OutputPort[0].isConnected()) {
2081 #if FW_AMPCS_COMPATIBLE
2091 this->m_eventOut_OutputPort[0].
invoke(
2100 #if FW_ENABLE_TEXT_LOGGING
2101 if (this->m_eventOutText_OutputPort[0].isConnected()) {
2102 #if FW_OBJECT_NAMES == 1
2103 const char* _formatString =
2104 "(%s) %s: No log file open command";
2106 const char* _formatString =
2107 "%s: No log file open command";
2114 this->m_objName.toChar(),
2116 "BL_NoLogFileOpenInitError "
2119 this->m_eventOutText_OutputPort[0].invoke(
2139 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2141 this->m_timeCaller_OutputPort[0].isConnected() &&
2144 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
2158 this->m_tlmOut_OutputPort[0].
invoke(
2173 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2175 this->m_timeCaller_OutputPort[0].
invoke(_time);
2190 ComponentIpcSerializableBuffer msg;
2213 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
2215 if (msgType == BUFFERLOGGER_COMPONENT_EXIT) {
2220 deserStatus = msg.deserialize(portNum);
2228 case BUFFERSENDIN_BUFFERSEND: {
2257 deserStatus = msg.deserialize(context);
2276 deserStatus = msg.deserialize(key);
2291 case SCHEDIN_SCHED: {
2294 deserStatus = msg.deserialize(context);
2309 case CMD_BL_OPENFILE: {
2312 deserStatus = msg.deserialize(opCode);
2320 deserStatus = msg.deserialize(cmdSeq);
2341 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2354 #if FW_CMD_CHECK_RESIDUAL
2356 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2374 case CMD_BL_CLOSEFILE: {
2377 deserStatus = msg.deserialize(opCode);
2385 deserStatus = msg.deserialize(cmdSeq);
2404 #if FW_CMD_CHECK_RESIDUAL
2406 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2421 case CMD_BL_SETLOGGING: {
2424 deserStatus = msg.deserialize(opCode);
2432 deserStatus = msg.deserialize(cmdSeq);
2453 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2466 #if FW_CMD_CHECK_RESIDUAL
2468 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2486 case CMD_BL_FLUSHFILE: {
2489 deserStatus = msg.deserialize(opCode);
2497 deserStatus = msg.deserialize(cmdSeq);
2516 #if FW_CMD_CHECK_RESIDUAL
2518 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2543 void BufferLoggerComponentBase ::
2555 const U32 idBase = callComp->
getIdBase();
2559 switch (opCode - idBase) {
2561 compPtr->BL_OpenFile_cmdHandlerBase(
2570 compPtr->BL_CloseFile_cmdHandlerBase(
2579 compPtr->BL_SetLogging_cmdHandlerBase(
2588 compPtr->BL_FlushFile_cmdHandlerBase(
2602 void BufferLoggerComponentBase ::
2603 m_p_bufferSendIn_in(
2611 compPtr->bufferSendIn_handlerBase(
2617 void BufferLoggerComponentBase ::
2627 compPtr->comIn_handlerBase(
2634 void BufferLoggerComponentBase ::
2643 compPtr->pingIn_handlerBase(
2649 void BufferLoggerComponentBase ::
2658 compPtr->schedIn_handlerBase(
#define FW_MIN(a, b)
MIN macro.
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
PlatformSizeType FwSizeType
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
PlatformQueuePriorityType FwQueuePriorityType
PlatformIndexType FwIndexType
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Enum representing a command response.
@ FORMAT_ERROR
Command failed to deserialize.
@ WARNING_HI
A serious but recoverable event.
@ DIAGNOSTIC
Software diagnostic events.
@ ACTIVITY_LO
Less important informational events.
void init()
Object initializer.
const char * toChar() const
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Buffer &fwBuffer)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode)
Invoke a port interface.
void init()
Initialization function.
void init()
Initialization function.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke a port interface.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Invoke a port interface.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::Time &time)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Initialization function.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Os::Queue m_queue
queue object for active component
@ MSG_DISPATCH_OK
Dispatch was normal.
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
NATIVE_UINT_TYPE SizeType
void resetDeser()
reset deserialization to beginning
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
virtual const CHAR * toChar() const =0
void format(const CHAR *formatString,...)
write formatted string to buffer
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
@ BLOCKING
Message will block until space is available.
@ NONBLOCKING
Message will return with status when space is unavailable.
Status
status returned from the queue send function
@ OP_OK
message sent/received okay
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_cmdIn_InputPorts() const
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
Fw::InputComPort * get_comIn_InputPort(FwIndexType portNum)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
@ EVENTID_BL_ACTIVATED
Buffer logger was activated.
@ EVENTID_BL_LOGFILEWRITEERROR
The Buffer Logger encountered an error writing to a log file.
@ EVENTID_BL_LOGFILEVALIDATIONERROR
The Buffer Logger encountered an error writing a validation file.
@ EVENTID_BL_DEACTIVATED
Buffer logger was deactivated.
@ EVENTID_BL_LOGFILECLOSED
The Buffer Logger closed a log file.
@ EVENTID_BL_LOGFILEOPENERROR
The Buffer Logger encountered an error opening a log file.
@ EVENTID_BL_NOLOGFILEOPENINITERROR
No log file open command was received by BufferLogger.
FwIndexType getNum_pingOut_OutputPorts() const
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual void BL_OpenFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &file)=0
virtual void BL_OpenFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_OpenFile.
virtual void comIn_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port comIn.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void log_DIAGNOSTIC_BL_LogFileClosed(const Fw::StringBase &file)
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_tlmOut_OutputPorts() const
FwIndexType getNum_comIn_InputPorts() const
@ OPCODE_BL_FLUSHFILE
Flushes the current open log file to disk; a no-op with fprime's unbuffered file I/O,...
@ OPCODE_BL_SETLOGGING
Sets the volatile logging state.
@ OPCODE_BL_OPENFILE
Open a new log file with specified name; also resets unique file counter to 0.
@ OPCODE_BL_CLOSEFILE
Close the currently open log file, if any.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void comIn_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port comIn.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
FwIndexType getNum_schedIn_InputPorts() const
virtual void BL_SetLogging_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferLogger_LogState state)=0
FwIndexType getNum_eventOut_OutputPorts() const
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
virtual void BL_SetLogging_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_SetLogging.
virtual void BL_FlushFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_FlushFile.
void log_WARNING_HI_BL_LogFileOpenError(U32 errornum, const Fw::StringBase &file)
void BL_FlushFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void BL_CloseFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_CloseFile.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
FwIndexType getNum_pingIn_InputPorts() const
virtual ~BufferLoggerComponentBase()
Destroy BufferLoggerComponentBase object.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
virtual void BL_CloseFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void log_WARNING_HI_BL_LogFileWriteError(U32 errornum, U32 bytesWritten, U32 bytesToWrite, const Fw::StringBase &file)
virtual void BL_FlushFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void log_WARNING_HI_BL_LogFileValidationError(const Fw::StringBase &validationFile, U32 status)
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void regCommands()
Register commands with the Command Dispatcher.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
FwIndexType getNum_timeCaller_OutputPorts() const
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
FwIndexType getNum_bufferSendOut_OutputPorts() const
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void BL_OpenFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_BL_NoLogFileOpenInitError()
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
@ CHANNELID_BUFFERLOGGER_NUMLOGGEDBUFFERS
Channel ID for BufferLogger_NumLoggedBuffers.
void BL_SetLogging_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void tlmWrite_BufferLogger_NumLoggedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time())
void BL_CloseFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
BufferLoggerComponentBase(const char *compName="")
Construct BufferLoggerComponentBase object.
virtual void comIn_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port comIn.
void log_ACTIVITY_LO_BL_Deactivated()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
FwIndexType getNum_cmdRegOut_OutputPorts() const
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
FwIndexType getNum_bufferSendIn_InputPorts() const
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void log_ACTIVITY_LO_BL_Activated()
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
void invoke(U32 key)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputPingPort *callPort)
Register an input port.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
@ OP_OK
Operation succeeded.