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
Throttle reset count for ReadError.
PlatformSizeType FwSizeType
Drv::ByteStreamStatus send_handlerBase(FwIndexType portNum, Fw::Buffer &sendBuffer)
Handler base-class function for input port send.
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.
Throttle reset count for NoBuffers.
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.
Channel ID for BytesSent.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
Throttle reset count for WriteError.
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.
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.
const char * toChar() const
Convert to a C-style char*.
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()
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.
Channel ID for BytesRecv.
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
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()