10 #if FW_ENABLE_TEXT_LOGGING 26 #if !FW_DIRECT_PORT_CALLS 33 this->m_recvReturnIn_InputPort[port].
init();
38 this->m_recvReturnIn_InputPort[port].
setPortNum(port);
40 #if FW_OBJECT_NAMES == 1 44 this->m_objName.toChar(),
47 this->m_recvReturnIn_InputPort[port].setObjName(portName.
toChar());
52 #if !FW_DIRECT_PORT_CALLS 59 this->m_run_InputPort[port].
init();
66 #if FW_OBJECT_NAMES == 1 70 this->m_objName.toChar(),
73 this->m_run_InputPort[port].setObjName(portName.
toChar());
78 #if !FW_DIRECT_PORT_CALLS 85 this->m_send_InputPort[port].
init();
92 #if FW_OBJECT_NAMES == 1 96 this->m_objName.toChar(),
99 this->m_send_InputPort[port].setObjName(portName.
toChar());
104 #if !FW_DIRECT_PORT_CALLS 111 this->m_Log_OutputPort[port].
init();
113 #if FW_OBJECT_NAMES == 1 117 this->m_objName.toChar(),
120 this->m_Log_OutputPort[port].setObjName(portName.
toChar());
125 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 129 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
132 this->m_LogText_OutputPort[port].
init();
134 #if FW_OBJECT_NAMES == 1 138 this->m_objName.toChar(),
141 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
146 #if !FW_DIRECT_PORT_CALLS 153 this->m_Time_OutputPort[port].
init();
155 #if FW_OBJECT_NAMES == 1 159 this->m_objName.toChar(),
162 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
167 #if !FW_DIRECT_PORT_CALLS 174 this->m_Tlm_OutputPort[port].
init();
176 #if FW_OBJECT_NAMES == 1 180 this->m_objName.toChar(),
183 this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
188 #if !FW_DIRECT_PORT_CALLS 195 this->m_allocate_OutputPort[port].
init();
197 #if FW_OBJECT_NAMES == 1 201 this->m_objName.toChar(),
204 this->m_allocate_OutputPort[port].setObjName(portName.
toChar());
209 #if !FW_DIRECT_PORT_CALLS 216 this->m_deallocate_OutputPort[port].
init();
218 #if FW_OBJECT_NAMES == 1 222 this->m_objName.toChar(),
225 this->m_deallocate_OutputPort[port].setObjName(portName.
toChar());
230 #if !FW_DIRECT_PORT_CALLS 237 this->m_ready_OutputPort[port].
init();
239 #if FW_OBJECT_NAMES == 1 243 this->m_objName.toChar(),
246 this->m_ready_OutputPort[port].setObjName(portName.
toChar());
251 #if !FW_DIRECT_PORT_CALLS 258 this->m_recv_OutputPort[port].
init();
260 #if FW_OBJECT_NAMES == 1 264 this->m_objName.toChar(),
267 this->m_recv_OutputPort[port].setObjName(portName.
toChar());
273 #if !FW_DIRECT_PORT_CALLS 284 static_cast<FwAssertArgType>(portNum)
287 return &this->m_recvReturnIn_InputPort[portNum];
295 static_cast<FwAssertArgType>(portNum)
298 return &this->m_run_InputPort[portNum];
306 static_cast<FwAssertArgType>(portNum)
309 return &this->m_send_InputPort[portNum];
314 #if !FW_DIRECT_PORT_CALLS 328 static_cast<FwAssertArgType>(portNum)
334 #if FW_ENABLE_TEXT_LOGGING == 1 336 void LinuxUartDriverComponentBase ::
337 set_LogText_OutputPort(
343 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
344 static_cast<FwAssertArgType>(portNum)
347 this->m_LogText_OutputPort[portNum].addCallPort(port);
360 static_cast<FwAssertArgType>(portNum)
363 this->m_Time_OutputPort[portNum].
addCallPort(port);
374 static_cast<FwAssertArgType>(portNum)
382 #if !FW_DIRECT_PORT_CALLS 396 static_cast<FwAssertArgType>(portNum)
399 this->m_allocate_OutputPort[portNum].
addCallPort(port);
410 static_cast<FwAssertArgType>(portNum)
413 this->m_deallocate_OutputPort[portNum].
addCallPort(port);
424 static_cast<FwAssertArgType>(portNum)
427 this->m_ready_OutputPort[portNum].
addCallPort(port);
438 static_cast<FwAssertArgType>(portNum)
441 this->m_recv_OutputPort[portNum].
addCallPort(port);
446 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 455 Fw::InputSerializePort* port
460 static_cast<FwAssertArgType>(portNum)
463 this->m_Log_OutputPort[portNum].registerSerialPort(port);
466 #if FW_ENABLE_TEXT_LOGGING == 1 468 void LinuxUartDriverComponentBase ::
469 set_LogText_OutputPort(
471 Fw::InputSerializePort* port
475 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
476 static_cast<FwAssertArgType>(portNum)
479 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
487 Fw::InputSerializePort* port
492 static_cast<FwAssertArgType>(portNum)
495 this->m_Time_OutputPort[portNum].registerSerialPort(port);
501 Fw::InputSerializePort* port
506 static_cast<FwAssertArgType>(portNum)
509 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
514 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 523 Fw::InputSerializePort* port
528 static_cast<FwAssertArgType>(portNum)
531 this->m_deallocate_OutputPort[portNum].registerSerialPort(port);
537 Fw::InputSerializePort* port
542 static_cast<FwAssertArgType>(portNum)
545 this->m_ready_OutputPort[portNum].registerSerialPort(port);
551 Fw::InputSerializePort* port
556 static_cast<FwAssertArgType>(portNum)
559 this->m_recv_OutputPort[portNum].registerSerialPort(port);
570 Fw::PassiveComponentBase(compName)
572 this->m_WriteErrorThrottle = 0;
573 this->m_ReadErrorThrottle = 0;
574 this->m_NoBuffersThrottle = 0;
583 #if !FW_DIRECT_PORT_CALLS 594 static_cast<FwAssertArgType>(portNum)
597 return this->m_Log_OutputPort[portNum].
isConnected();
600 #if FW_ENABLE_TEXT_LOGGING == 1 602 bool LinuxUartDriverComponentBase ::
603 isConnected_LogText_OutputPort(
FwIndexType portNum)
const 606 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
607 static_cast<FwAssertArgType>(portNum)
610 return this->m_LogText_OutputPort[portNum].isConnected();
620 static_cast<FwAssertArgType>(portNum)
623 return this->m_Time_OutputPort[portNum].
isConnected();
631 static_cast<FwAssertArgType>(portNum)
634 return this->m_Tlm_OutputPort[portNum].
isConnected();
639 #if !FW_DIRECT_PORT_CALLS 650 static_cast<FwAssertArgType>(portNum)
653 return this->m_allocate_OutputPort[portNum].
isConnected();
661 static_cast<FwAssertArgType>(portNum)
664 return this->m_deallocate_OutputPort[portNum].
isConnected();
672 static_cast<FwAssertArgType>(portNum)
675 return this->m_ready_OutputPort[portNum].
isConnected();
683 static_cast<FwAssertArgType>(portNum)
686 return this->m_recv_OutputPort[portNum].
isConnected();
706 static_cast<FwAssertArgType>(portNum)
731 static_cast<FwAssertArgType>(portNum)
750 static_cast<FwAssertArgType>(portNum)
770 #if !FW_DIRECT_PORT_CALLS 784 static_cast<FwAssertArgType>(portNum)
788 this->m_allocate_OutputPort[portNum].isConnected(),
789 static_cast<FwAssertArgType>(portNum)
791 return this->m_allocate_OutputPort[portNum].
invoke(
804 static_cast<FwAssertArgType>(portNum)
808 this->m_deallocate_OutputPort[portNum].isConnected(),
809 static_cast<FwAssertArgType>(portNum)
811 this->m_deallocate_OutputPort[portNum].
invoke(
821 static_cast<FwAssertArgType>(portNum)
825 this->m_ready_OutputPort[portNum].isConnected(),
826 static_cast<FwAssertArgType>(portNum)
828 this->m_ready_OutputPort[portNum].
invoke();
840 static_cast<FwAssertArgType>(portNum)
844 this->m_recv_OutputPort[portNum].isConnected(),
845 static_cast<FwAssertArgType>(portNum)
847 this->m_recv_OutputPort[portNum].
invoke(
869 this->Time_out(0, _logTime);
879 #if FW_AMPCS_COMPATIBLE 884 static_cast<FwAssertArgType>(_status)
894 static_cast<FwAssertArgType>(_status)
897 #if FW_AMPCS_COMPATIBLE 900 static_cast<U8>(
sizeof(I32))
904 static_cast<FwAssertArgType>(_status)
910 static_cast<FwAssertArgType>(_status)
919 static_cast<FwAssertArgType>(_status)
932 #if FW_ENABLE_TEXT_LOGGING 933 if (this->isConnected_LogText_OutputPort(0)) {
934 #if FW_OBJECT_NAMES == 1 935 const char* _formatString =
936 "(%s) %s: Error opening UART device %s: %" PRIi32
" %s";
938 const char* _formatString =
939 "%s: Error opening UART device %s: %" PRIi32
" %s";
946 this->m_objName.toChar(),
974 this->Time_out(0, _logTime);
984 #if FW_AMPCS_COMPATIBLE 989 static_cast<FwAssertArgType>(_status)
999 static_cast<FwAssertArgType>(_status)
1002 #if FW_AMPCS_COMPATIBLE 1005 static_cast<U8>(
sizeof(I32))
1009 static_cast<FwAssertArgType>(_status)
1015 static_cast<FwAssertArgType>(_status)
1028 #if FW_ENABLE_TEXT_LOGGING 1029 if (this->isConnected_LogText_OutputPort(0)) {
1030 #if FW_OBJECT_NAMES == 1 1031 const char* _formatString =
1032 "(%s) %s: Error configuring UART device %s: %" PRIi32
"";
1034 const char* _formatString =
1035 "%s: Error configuring UART device %s: %" PRIi32
"";
1042 this->m_objName.toChar(),
1071 this->m_WriteErrorThrottle++;
1077 this->Time_out(0, _logTime);
1087 #if FW_AMPCS_COMPATIBLE 1092 static_cast<FwAssertArgType>(_status)
1102 static_cast<FwAssertArgType>(_status)
1105 #if FW_AMPCS_COMPATIBLE 1108 static_cast<U8>(
sizeof(I32))
1112 static_cast<FwAssertArgType>(_status)
1118 static_cast<FwAssertArgType>(_status)
1131 #if FW_ENABLE_TEXT_LOGGING 1132 if (this->isConnected_LogText_OutputPort(0)) {
1133 #if FW_OBJECT_NAMES == 1 1134 const char* _formatString =
1135 "(%s) %s: Error writing UART device %s: %" PRIi32
"";
1137 const char* _formatString =
1138 "%s: Error writing UART device %s: %" PRIi32
"";
1145 this->m_objName.toChar(),
1174 this->m_ReadErrorThrottle++;
1180 this->Time_out(0, _logTime);
1190 #if FW_AMPCS_COMPATIBLE 1195 static_cast<FwAssertArgType>(_status)
1205 static_cast<FwAssertArgType>(_status)
1208 #if FW_AMPCS_COMPATIBLE 1211 static_cast<U8>(
sizeof(I32))
1215 static_cast<FwAssertArgType>(_status)
1221 static_cast<FwAssertArgType>(_status)
1234 #if FW_ENABLE_TEXT_LOGGING 1235 if (this->isConnected_LogText_OutputPort(0)) {
1236 #if FW_OBJECT_NAMES == 1 1237 const char* _formatString =
1238 "(%s) %s: Error reading UART device %s: %" PRIi32
"";
1240 const char* _formatString =
1241 "%s: Error reading UART device %s: %" PRIi32
"";
1248 this->m_objName.toChar(),
1272 this->Time_out(0, _logTime);
1282 #if FW_AMPCS_COMPATIBLE 1287 static_cast<FwAssertArgType>(_status)
1297 static_cast<FwAssertArgType>(_status)
1310 #if FW_ENABLE_TEXT_LOGGING 1311 if (this->isConnected_LogText_OutputPort(0)) {
1312 #if FW_OBJECT_NAMES == 1 1313 const char* _formatString =
1314 "(%s) %s: UART Device %s configured";
1316 const char* _formatString =
1317 "%s: UART Device %s configured";
1324 this->m_objName.toChar(),
1349 this->m_NoBuffersThrottle++;
1355 this->Time_out(0, _logTime);
1365 #if FW_AMPCS_COMPATIBLE 1370 static_cast<FwAssertArgType>(_status)
1380 static_cast<FwAssertArgType>(_status)
1393 #if FW_ENABLE_TEXT_LOGGING 1394 if (this->isConnected_LogText_OutputPort(0)) {
1395 #if FW_OBJECT_NAMES == 1 1396 const char* _formatString =
1397 "(%s) %s: UART Device %s ran out of buffers";
1399 const char* _formatString =
1400 "%s: UART Device %s ran out of buffers";
1407 this->m_objName.toChar(),
1434 this->Time_out(0, _logTime);
1444 #if FW_AMPCS_COMPATIBLE 1449 static_cast<FwAssertArgType>(_status)
1459 static_cast<FwAssertArgType>(_status)
1462 #if FW_AMPCS_COMPATIBLE 1465 static_cast<U8>(
sizeof(U32))
1469 static_cast<FwAssertArgType>(_status)
1475 static_cast<FwAssertArgType>(_status)
1478 #if FW_AMPCS_COMPATIBLE 1481 static_cast<U8>(
sizeof(U32))
1485 static_cast<FwAssertArgType>(_status)
1491 static_cast<FwAssertArgType>(_status)
1504 #if FW_ENABLE_TEXT_LOGGING 1505 if (this->isConnected_LogText_OutputPort(0)) {
1506 #if FW_OBJECT_NAMES == 1 1507 const char* _formatString =
1508 "(%s) %s: UART Device %s target buffer too small. Size: %" PRIu32
" Needs: %" PRIu32
"";
1510 const char* _formatString =
1511 "%s: UART Device %s target buffer too small. Size: %" PRIu32
" Needs: %" PRIu32
"";
1518 this->m_objName.toChar(),
1545 this->m_WriteErrorThrottle = 0;
1552 this->m_ReadErrorThrottle = 0;
1559 this->m_NoBuffersThrottle = 0;
1578 this->Time_out(0, _tlmTime);
1608 static_cast<FwAssertArgType>(_stat)
1630 static_cast<FwAssertArgType>(_stat)
1650 this->Time_out(0, _time);
1668 this->m_guardedPortMutex.
lock();
1674 this->m_guardedPortMutex.
unLock();
1681 void LinuxUartDriverComponentBase ::
1682 m_p_recvReturnIn_in(
1696 void LinuxUartDriverComponentBase ::
1705 compPtr->run_handlerBase(
1720 return compPtr->send_handlerBase(
1726 #if !FW_DIRECT_PORT_CALLS 1732 void LinuxUartDriverComponentBase ::
1743 static_cast<FwAssertArgType>(portNum)
1747 this->m_Log_OutputPort[portNum].isConnected(),
1748 static_cast<FwAssertArgType>(portNum)
1750 this->m_Log_OutputPort[portNum].
invoke(
1758 #if FW_ENABLE_TEXT_LOGGING 1760 void LinuxUartDriverComponentBase ::
1770 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
1771 static_cast<FwAssertArgType>(portNum)
1775 this->m_LogText_OutputPort[portNum].isConnected(),
1776 static_cast<FwAssertArgType>(portNum)
1778 this->m_LogText_OutputPort[portNum].invoke(
1788 void LinuxUartDriverComponentBase ::
1796 static_cast<FwAssertArgType>(portNum)
1800 this->m_Time_OutputPort[portNum].isConnected(),
1801 static_cast<FwAssertArgType>(portNum)
1803 this->m_Time_OutputPort[portNum].
invoke(
1808 void LinuxUartDriverComponentBase ::
1818 static_cast<FwAssertArgType>(portNum)
1822 this->m_Tlm_OutputPort[portNum].isConnected(),
1823 static_cast<FwAssertArgType>(portNum)
1825 this->m_Tlm_OutputPort[portNum].
invoke(
virtual void lock()
Lock the guarded mutex.
Serialization/Deserialization operation was successful.
virtual void unLock()
Unlock the guarded mutex.
void ready_out(FwIndexType portNum) const
Invoke output port ready.
void addCallPort(InputTimePort *callPort)
Register an input port.
void addCallPort(InputByteStreamReadyPort *callPort)
Register an input port.
void log_WARNING_HI_BufferTooSmall(const Fw::StringBase &device, U32 size, U32 needed) const
static constexpr FwIndexType getNum_deallocate_OutputPorts()
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void recvReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port recvReturnIn.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Drv::ByteStreamStatus send_handlerBase(FwIndexType portNum, Fw::Buffer &sendBuffer)
Handler base-class function for input port send.
Throttle reset count for WriteError.
Drv::InputByteStreamSendPort * get_send_InputPort(FwIndexType portNum)
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
virtual void recvReturnIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port recvReturnIn.
static constexpr FwIndexType getNum_recv_OutputPorts()
void unLock()
unlock the mutex and assert success
void tlmWrite_BytesRecv(FwSizeType arg, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_ready_OutputPort(FwIndexType portNum) const
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
void recv_out(FwIndexType portNum, Fw::Buffer &buffer, const Drv::ByteStreamStatus &status) const
Invoke output port recv.
bool isConnected_Log_OutputPort(FwIndexType portNum) const
LinuxUartDriverComponentBase(const char *compName="")
Construct LinuxUartDriverComponentBase object.
bool isConnected_allocate_OutputPort(FwIndexType portNum) const
void init()
Initialization function.
Auto-generated base for LinuxUartDriver component.
No time base has been established (Required)
static constexpr FwIndexType getNum_Log_OutputPorts()
void log_WARNING_HI_WriteError(const Fw::StringBase &device, I32 error)
void addCallPort(InputTlmPort *callPort)
Register an input port.
void set_ready_OutputPort(FwIndexType portNum, Drv::InputByteStreamReadyPort *port)
Connect port to ready[portNum].
void init()
Object initializer.
void log_WARNING_HI_ReadError(const Fw::StringBase &device, I32 error)
SerializeStatus
forward declaration for string
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
void addCallPort(InputByteStreamDataPort *callPort)
Register an input port.
Fw::InputBufferSendPort * get_recvReturnIn_InputPort(FwIndexType portNum)
FwIdType FwEventIdType
The type of an event identifier.
void deallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port deallocate.
Status returned by the send call.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
static constexpr FwIndexType getNum_ready_OutputPorts()
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
void invoke(Fw::Buffer &buffer, const Drv::ByteStreamStatus &status) const
Invoke a port connection.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
Throttle reset count for NoBuffers.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
Channel ID for BytesSent.
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_recvReturnIn_InputPorts()
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
void log_WARNING_HI_WriteError_ThrottleClear()
Reset throttle value for WriteError.
const char * toChar() const
Convert to a C-style char*.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void log_WARNING_HI_OpenError(const Fw::StringBase &device, I32 error, const Fw::StringBase &name) const
static constexpr FwIndexType getNum_run_InputPorts()
virtual Drv::ByteStreamStatus send_handler(FwIndexType portNum, Fw::Buffer &sendBuffer)=0
Handler for input port send.
A serious but recoverable event.
void log_ACTIVITY_HI_PortOpened(const Fw::StringBase &device) const
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port connection.
Enum representing event severity.
void set_allocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to allocate[portNum].
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
void log_WARNING_HI_NoBuffers(const Fw::StringBase &device)
bool isConnected_deallocate_OutputPort(FwIndexType portNum) const
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
static constexpr FwIndexType getNum_allocate_OutputPorts()
static constexpr FwIndexType getNum_Time_OutputPorts()
Fw::Buffer invoke(FwSizeType size) const
static constexpr FwIndexType getNum_Tlm_OutputPorts()
Channel ID for BytesRecv.
virtual void run_handler(FwIndexType portNum, U32 context)=0
Handler for input port run.
Important informational events.
Svc::InputSchedPort * get_run_InputPort(FwIndexType portNum)
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
void run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port run.
bool isConnected_Time_OutputPort(FwIndexType portNum) const
void init()
Initialization function.
void set_deallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to deallocate[portNum].
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
PlatformIndexType FwIndexType
void invoke() const
Invoke a port connection.
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
virtual ~LinuxUartDriverComponentBase()
Destroy LinuxUartDriverComponentBase object.
void log_WARNING_HI_NoBuffers_ThrottleClear()
Reset throttle value for NoBuffers.
Implementation of malloc based allocator.
void set_recv_OutputPort(FwIndexType portNum, Drv::InputByteStreamDataPort *port)
Connect port to recv[portNum].
void tlmWrite_BytesSent(FwSizeType arg, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_recv_OutputPort(FwIndexType portNum) const
Throttle reset count for ReadError.
void init()
Initialization function.
Fw::Buffer allocate_out(FwIndexType portNum, FwSizeType size) const
Invoke output port allocate.
void lock()
lock the mutex and assert success
void log_WARNING_HI_ReadError_ThrottleClear()
Reset throttle value for ReadError.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void log_WARNING_HI_ConfigError(const Fw::StringBase &device, I32 error) const
static constexpr FwIndexType getNum_send_InputPorts()