9 #if FW_ENABLE_TEXT_LOGGING 32 this->m_dataIn_InputPort[port].
init();
37 this->m_dataIn_InputPort[port].
setPortNum(port);
39 #if FW_OBJECT_NAMES == 1 43 this->m_objName.toChar(),
46 this->m_dataIn_InputPort[port].setObjName(portName.
toChar());
56 this->m_dataReturnIn_InputPort[port].
init();
61 this->m_dataReturnIn_InputPort[port].
setPortNum(port);
63 #if FW_OBJECT_NAMES == 1 67 this->m_objName.toChar(),
70 this->m_dataReturnIn_InputPort[port].setObjName(portName.
toChar());
80 this->m_logOut_OutputPort[port].
init();
82 #if FW_OBJECT_NAMES == 1 86 this->m_objName.toChar(),
89 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
93 #if FW_ENABLE_TEXT_LOGGING == 1 97 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
100 this->m_logTextOut_OutputPort[port].
init();
102 #if FW_OBJECT_NAMES == 1 106 this->m_objName.toChar(),
109 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
120 this->m_timeCaller_OutputPort[port].
init();
122 #if FW_OBJECT_NAMES == 1 126 this->m_objName.toChar(),
129 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
139 this->m_bufferAllocate_OutputPort[port].
init();
141 #if FW_OBJECT_NAMES == 1 145 this->m_objName.toChar(),
148 this->m_bufferAllocate_OutputPort[port].setObjName(portName.
toChar());
158 this->m_bufferDeallocate_OutputPort[port].
init();
160 #if FW_OBJECT_NAMES == 1 164 this->m_objName.toChar(),
167 this->m_bufferDeallocate_OutputPort[port].setObjName(portName.
toChar());
177 this->m_dataOut_OutputPort[port].
init();
179 #if FW_OBJECT_NAMES == 1 183 this->m_objName.toChar(),
186 this->m_dataOut_OutputPort[port].setObjName(portName.
toChar());
196 this->m_dataReturnOut_OutputPort[port].
init();
198 #if FW_OBJECT_NAMES == 1 202 this->m_objName.toChar(),
205 this->m_dataReturnOut_OutputPort[port].setObjName(portName.
toChar());
219 static_cast<FwAssertArgType>(portNum)
222 return &this->m_dataIn_InputPort[portNum];
230 static_cast<FwAssertArgType>(portNum)
233 return &this->m_dataReturnIn_InputPort[portNum];
248 static_cast<FwAssertArgType>(portNum)
251 this->m_logOut_OutputPort[portNum].
addCallPort(port);
254 #if FW_ENABLE_TEXT_LOGGING == 1 256 void FrameAccumulatorComponentBase ::
257 set_logTextOut_OutputPort(
263 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
264 static_cast<FwAssertArgType>(portNum)
267 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
280 static_cast<FwAssertArgType>(portNum)
283 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
298 static_cast<FwAssertArgType>(portNum)
301 this->m_bufferAllocate_OutputPort[portNum].
addCallPort(port);
312 static_cast<FwAssertArgType>(portNum)
315 this->m_bufferDeallocate_OutputPort[portNum].
addCallPort(port);
326 static_cast<FwAssertArgType>(portNum)
329 this->m_dataOut_OutputPort[portNum].
addCallPort(port);
340 static_cast<FwAssertArgType>(portNum)
343 this->m_dataReturnOut_OutputPort[portNum].
addCallPort(port);
346 #if FW_PORT_SERIALIZATION 355 Fw::InputSerializePort* port
360 static_cast<FwAssertArgType>(portNum)
363 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
366 #if FW_ENABLE_TEXT_LOGGING == 1 368 void FrameAccumulatorComponentBase ::
369 set_logTextOut_OutputPort(
371 Fw::InputSerializePort* port
375 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
376 static_cast<FwAssertArgType>(portNum)
379 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
387 Fw::InputSerializePort* port
392 static_cast<FwAssertArgType>(portNum)
395 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
400 #if FW_PORT_SERIALIZATION 409 Fw::InputSerializePort* port
414 static_cast<FwAssertArgType>(portNum)
417 this->m_bufferDeallocate_OutputPort[portNum].registerSerialPort(port);
423 Fw::InputSerializePort* port
428 static_cast<FwAssertArgType>(portNum)
431 this->m_dataOut_OutputPort[portNum].registerSerialPort(port);
437 Fw::InputSerializePort* port
442 static_cast<FwAssertArgType>(portNum)
445 this->m_dataReturnOut_OutputPort[portNum].registerSerialPort(port);
456 Fw::PassiveComponentBase(compName)
476 static_cast<FwAssertArgType>(portNum)
479 return this->m_logOut_OutputPort[portNum].
isConnected();
482 #if FW_ENABLE_TEXT_LOGGING == 1 484 bool FrameAccumulatorComponentBase ::
485 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
488 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
489 static_cast<FwAssertArgType>(portNum)
492 return this->m_logTextOut_OutputPort[portNum].isConnected();
502 static_cast<FwAssertArgType>(portNum)
505 return this->m_timeCaller_OutputPort[portNum].
isConnected();
517 static_cast<FwAssertArgType>(portNum)
520 return this->m_bufferAllocate_OutputPort[portNum].
isConnected();
528 static_cast<FwAssertArgType>(portNum)
531 return this->m_bufferDeallocate_OutputPort[portNum].
isConnected();
539 static_cast<FwAssertArgType>(portNum)
542 return this->m_dataOut_OutputPort[portNum].
isConnected();
550 static_cast<FwAssertArgType>(portNum)
553 return this->m_dataReturnOut_OutputPort[portNum].
isConnected();
572 static_cast<FwAssertArgType>(portNum)
599 static_cast<FwAssertArgType>(portNum)
622 static_cast<FwAssertArgType>(portNum)
626 this->m_bufferAllocate_OutputPort[portNum].isConnected(),
627 static_cast<FwAssertArgType>(portNum)
629 return this->m_bufferAllocate_OutputPort[portNum].
invoke(
642 static_cast<FwAssertArgType>(portNum)
646 this->m_bufferDeallocate_OutputPort[portNum].isConnected(),
647 static_cast<FwAssertArgType>(portNum)
649 this->m_bufferDeallocate_OutputPort[portNum].
invoke(
663 static_cast<FwAssertArgType>(portNum)
667 this->m_dataOut_OutputPort[portNum].isConnected(),
668 static_cast<FwAssertArgType>(portNum)
670 this->m_dataOut_OutputPort[portNum].
invoke(
685 static_cast<FwAssertArgType>(portNum)
689 this->m_dataReturnOut_OutputPort[portNum].isConnected(),
690 static_cast<FwAssertArgType>(portNum)
692 this->m_dataReturnOut_OutputPort[portNum].
invoke(
707 if (this->m_timeCaller_OutputPort[0].isConnected()) {
708 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
716 if (this->m_logOut_OutputPort[0].isConnected()) {
719 #if FW_AMPCS_COMPATIBLE 725 static_cast<FwAssertArgType>(_status)
729 this->m_logOut_OutputPort[0].
invoke(
738 #if FW_ENABLE_TEXT_LOGGING 739 if (this->m_logTextOut_OutputPort[0].isConnected()) {
740 #if FW_OBJECT_NAMES == 1 741 const char* _formatString =
742 "(%s) %s: Could not allocate a valid buffer to fit the detected frame";
744 const char* _formatString =
745 "%s: Could not allocate a valid buffer to fit the detected frame";
752 this->m_objName.toChar(),
757 this->m_logTextOut_OutputPort[0].invoke(
772 if (this->m_timeCaller_OutputPort[0].isConnected()) {
773 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
781 if (this->m_logOut_OutputPort[0].isConnected()) {
785 #if FW_AMPCS_COMPATIBLE 790 static_cast<FwAssertArgType>(_status)
794 #if FW_AMPCS_COMPATIBLE 801 static_cast<FwAssertArgType>(_status)
807 static_cast<FwAssertArgType>(_status)
810 this->m_logOut_OutputPort[0].
invoke(
819 #if FW_ENABLE_TEXT_LOGGING 820 if (this->m_logTextOut_OutputPort[0].isConnected()) {
821 #if FW_OBJECT_NAMES == 1 822 const char* _formatString =
823 "(%s) %s: Reported size_out=%" PRIu64
" exceeds accumulation buffer capacity";
825 const char* _formatString =
826 "%s: Reported size_out=%" PRIu64
" exceeds accumulation buffer capacity";
833 this->m_objName.toChar(),
835 "FrameDetectionSizeError ",
839 this->m_logTextOut_OutputPort[0].invoke(
856 if (this->m_timeCaller_OutputPort[0].isConnected()) {
858 this->m_timeCaller_OutputPort[0].
invoke(_time);
876 this->m_guardedPortMutex.
lock();
882 this->m_guardedPortMutex.
unLock();
889 void FrameAccumulatorComponentBase ::
906 void FrameAccumulatorComponentBase ::
916 compPtr->dataReturnIn_handlerBase(
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
virtual void unLock()
Unlock the guarded mutex.
Fw::Buffer bufferAllocate_out(FwIndexType portNum, FwSizeType size)
Invoke output port bufferAllocate.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
bool isConnected_bufferAllocate_OutputPort(FwIndexType portNum)
FwIdType getIdBase() const
PlatformSizeType FwSizeType
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
bool isConnected_dataReturnOut_OutputPort(FwIndexType portNum)
void unLock()
unlock the mutex and assert success
void set_bufferAllocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferAllocate[portNum].
static constexpr FwIndexType getNum_dataIn_InputPorts()
No time base has been established (Required)
void dataReturnOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataReturnOut.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void addCallPort(InputComDataWithContextPort *callPort)
Register an input port.
void init()
Object initializer.
static constexpr FwIndexType getNum_bufferDeallocate_OutputPorts()
SerializeStatus
forward declaration for string
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
FwIdType FwEventIdType
The type of an event identifier.
static constexpr FwIndexType getNum_bufferAllocate_OutputPorts()
void log_WARNING_HI_NoBufferAvailable() const
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataOut.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Time &time) const
Invoke a port interface.
void set_dataReturnOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataReturnOut[portNum].
const char * toChar() const
Convert to a C-style char*.
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataIn.
void invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port interface.
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataIn.
static constexpr FwIndexType getNum_dataOut_OutputPorts()
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
A serious but recoverable event.
void bufferDeallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferDeallocate.
void init()
Initialization function.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
static constexpr FwIndexType getNum_logOut_OutputPorts()
virtual void lock()
Lock the guarded mutex.
Fw::Buffer invoke(FwSizeType size) const
Invoke a port interface.
void init()
Initialization function.
void init()
Initialization function.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void log_WARNING_HI_FrameDetectionSizeError(FwSizeType size_out) const
bool isConnected_logOut_OutputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
void addCallPort(InputLogPort *callPort)
Register an input port.
An error occurred while deserializing a packet.
Type used to pass context info between components during framing/deframing.
Auto-generated base for FrameAccumulator component.
void init()
Initialization function.
RateGroupDivider component implementation.
void set_bufferDeallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferDeallocate[portNum].
FrameAccumulatorComponentBase(const char *compName="")
Construct FrameAccumulatorComponentBase object.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
bool isConnected_dataOut_OutputPort(FwIndexType portNum)
Svc::InputComDataWithContextPort * get_dataIn_InputPort(FwIndexType portNum)
Implementation of malloc based allocator.
virtual ~FrameAccumulatorComponentBase()
Destroy FrameAccumulatorComponentBase object.
static constexpr FwIndexType getNum_dataReturnOut_OutputPorts()
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
void lock()
lock the mutex and assert success
bool isConnected_bufferDeallocate_OutputPort(FwIndexType portNum)