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.