10 #if FW_ENABLE_TEXT_LOGGING
26 BYTE TextQueueIntIfSize[
33 class ComponentIpcSerializableBuffer :
48 return sizeof(m_buff);
55 const U8* getBuffAddr()
const {
61 U8 m_buff[SERIALIZATION_SIZE];
85 this->m_TextLogger_InputPort[port].
init();
90 this->m_TextLogger_InputPort[port].
setPortNum(port);
92 #if FW_OBJECT_NAMES == 1
96 this->m_objName.toChar(),
99 this->m_TextLogger_InputPort[port].setObjName(portName.
toChar());
105 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
125 return &this->m_TextLogger_InputPort[portNum];
134 Fw::ActiveComponentBase(compName)
193 ComponentIpcSerializableBuffer msg;
197 _status = msg.serialize(
static_cast<FwEnumStoreType>(INT_IF_TEXTQUEUE));
204 _status = msg.serialize(
static_cast<FwIndexType>(0));
210 _status = msg.serialize(text);
220 if (qStatus == Os::Queue::Status::FULL) {
238 ComponentIpcSerializableBuffer msg;
261 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
263 if (msgType == ACTIVETEXTLOGGER_COMPONENT_EXIT) {
268 deserStatus = msg.deserialize(portNum);
276 case INT_IF_TEXTQUEUE: {
289 msg.getBuffLeft() == 0,
312 void ActiveTextLoggerComponentBase ::
324 compPtr->TextLogger_handlerBase(
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
#define PRI_PlatformIntType
PlatformAssertArgType FwAssertArgType
PlatformSizeType FwSizeType
PlatformQueuePriorityType FwQueuePriorityType
PlatformIndexType FwIndexType
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
void init()
Initialization function.
Enum representing event severity.
void init()
Object initializer.
const char * toChar() const
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Os::Queue m_queue
queue object for active component
void incNumMsgDropped()
increment the number of messages dropped
@ 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
virtual SerializeStatus deserialize(SerializeBufferBase &buffer)
deserialization function
void format(const CHAR *formatString,...)
write formatted string to buffer
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
ActiveTextLoggerComponentBase(const char *compName="")
Construct ActiveTextLoggerComponentBase object.
Fw::InputLogTextPort * get_TextLogger_InputPort(FwIndexType portNum)
void TextQueue_internalInterfaceInvoke(const Fw::InternalInterfaceString &text)
Internal interface base-class function for TextQueue.
virtual void TextLogger_handler(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::TextLogString &text)=0
Handler for input port TextLogger.
FwIndexType getNum_TextLogger_InputPorts() const
virtual ~ActiveTextLoggerComponentBase()
Destroy ActiveTextLoggerComponentBase object.
void TextLogger_handlerBase(FwIndexType portNum, FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::TextLogString &text)
Handler base-class function for input port TextLogger.
virtual void TextQueue_internalInterfaceHandler(const Fw::InternalInterfaceString &text)=0
Internal interface handler for TextQueue.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
@ OP_OK
Operation succeeded.