11 #if FW_ENABLE_TEXT_LOGGING
33 this->m_SpiReadWrite_InputPort[port].
init();
38 this->m_SpiReadWrite_InputPort[port].
setPortNum(port);
40 #if FW_OBJECT_NAMES == 1
55 this->m_SpiReadWrite_InputPort[port].setObjName(portName);
65 this->m_Log_OutputPort[port].
init();
67 #if FW_OBJECT_NAMES == 1
82 this->m_Log_OutputPort[port].setObjName(portName);
86 #if FW_ENABLE_TEXT_LOGGING == 1
90 port < static_cast<PlatformIntType>(this->getNum_LogText_OutputPorts());
93 this->m_LogText_OutputPort[port].
init();
95 #if FW_OBJECT_NAMES == 1
110 this->m_LogText_OutputPort[port].setObjName(portName);
121 this->m_Time_OutputPort[port].
init();
123 #if FW_OBJECT_NAMES == 1
138 this->m_Time_OutputPort[port].setObjName(portName);
148 this->m_Tlm_OutputPort[port].
init();
150 #if FW_OBJECT_NAMES == 1
165 this->m_Tlm_OutputPort[port].setObjName(portName);
182 return &this->m_SpiReadWrite_InputPort[portNum];
203 #if FW_ENABLE_TEXT_LOGGING == 1
205 void LinuxSpiDriverComponentBase ::
206 set_LogText_OutputPort(
212 portNum < this->getNum_LogText_OutputPorts(),
216 this->m_LogText_OutputPort[portNum].addCallPort(port);
232 this->m_Time_OutputPort[portNum].
addCallPort(port);
249 #if FW_PORT_SERIALIZATION
258 Fw::InputSerializePort* port
266 this->m_Log_OutputPort[portNum].registerSerialPort(port);
269 #if FW_ENABLE_TEXT_LOGGING == 1
271 void LinuxSpiDriverComponentBase ::
272 set_LogText_OutputPort(
274 Fw::InputSerializePort* port
278 portNum < this->getNum_LogText_OutputPorts(),
282 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
290 Fw::InputSerializePort* port
298 this->m_Time_OutputPort[portNum].registerSerialPort(port);
304 Fw::InputSerializePort* port
312 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
323 Fw::PassiveComponentBase(compName)
325 this->m_SPI_WriteErrorThrottle = 0;
354 #if FW_ENABLE_TEXT_LOGGING == 1
357 getNum_LogText_OutputPorts()
const
388 return this->m_Log_OutputPort[portNum].
isConnected();
391 #if FW_ENABLE_TEXT_LOGGING == 1
393 bool LinuxSpiDriverComponentBase ::
397 portNum < this->getNum_LogText_OutputPorts(),
401 return this->m_LogText_OutputPort[portNum].isConnected();
414 return this->m_Time_OutputPort[portNum].
isConnected();
425 return this->m_Tlm_OutputPort[portNum].
isConnected();
468 if (this->m_Time_OutputPort[0].isConnected()) {
469 this->m_Time_OutputPort[0].
invoke(_logTime);
477 if (this->m_Log_OutputPort[0].isConnected()) {
481 #if FW_AMPCS_COMPATIBLE
490 #if FW_AMPCS_COMPATIBLE
493 static_cast<U8>(
sizeof(I32))
506 #if FW_AMPCS_COMPATIBLE
509 static_cast<U8>(
sizeof(I32))
522 #if FW_AMPCS_COMPATIBLE
525 static_cast<U8>(
sizeof(I32))
538 this->m_Log_OutputPort[0].
invoke(
547 #if FW_ENABLE_TEXT_LOGGING
548 if (this->m_LogText_OutputPort[0].isConnected()) {
549 #if FW_OBJECT_NAMES == 1
550 const char* _formatString =
551 "(%s) %s: Error opening SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
553 const char* _formatString =
554 "%s: Error opening SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
575 this->m_LogText_OutputPort[0].invoke(
594 if (this->m_Time_OutputPort[0].isConnected()) {
595 this->m_Time_OutputPort[0].
invoke(_logTime);
603 if (this->m_Log_OutputPort[0].isConnected()) {
607 #if FW_AMPCS_COMPATIBLE
616 #if FW_AMPCS_COMPATIBLE
619 static_cast<U8>(
sizeof(I32))
632 #if FW_AMPCS_COMPATIBLE
635 static_cast<U8>(
sizeof(I32))
648 #if FW_AMPCS_COMPATIBLE
651 static_cast<U8>(
sizeof(I32))
664 this->m_Log_OutputPort[0].
invoke(
673 #if FW_ENABLE_TEXT_LOGGING
674 if (this->m_LogText_OutputPort[0].isConnected()) {
675 #if FW_OBJECT_NAMES == 1
676 const char* _formatString =
677 "(%s) %s: Error configuring SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
679 const char* _formatString =
680 "%s: Error configuring SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
701 this->m_LogText_OutputPort[0].invoke(
723 this->m_SPI_WriteErrorThrottle++;
728 if (this->m_Time_OutputPort[0].isConnected()) {
729 this->m_Time_OutputPort[0].
invoke(_logTime);
737 if (this->m_Log_OutputPort[0].isConnected()) {
741 #if FW_AMPCS_COMPATIBLE
750 #if FW_AMPCS_COMPATIBLE
753 static_cast<U8>(
sizeof(I32))
766 #if FW_AMPCS_COMPATIBLE
769 static_cast<U8>(
sizeof(I32))
782 #if FW_AMPCS_COMPATIBLE
785 static_cast<U8>(
sizeof(I32))
798 this->m_Log_OutputPort[0].
invoke(
807 #if FW_ENABLE_TEXT_LOGGING
808 if (this->m_LogText_OutputPort[0].isConnected()) {
809 #if FW_OBJECT_NAMES == 1
810 const char* _formatString =
811 "(%s) %s: Error writing/reading SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
813 const char* _formatString =
814 "%s: Error writing/reading SPI device %" PRIi32
".%" PRIi32
": %" PRIi32
"";
835 this->m_LogText_OutputPort[0].invoke(
853 if (this->m_Time_OutputPort[0].isConnected()) {
854 this->m_Time_OutputPort[0].
invoke(_logTime);
862 if (this->m_Log_OutputPort[0].isConnected()) {
866 #if FW_AMPCS_COMPATIBLE
875 #if FW_AMPCS_COMPATIBLE
878 static_cast<U8>(
sizeof(I32))
891 #if FW_AMPCS_COMPATIBLE
894 static_cast<U8>(
sizeof(I32))
907 this->m_Log_OutputPort[0].
invoke(
916 #if FW_ENABLE_TEXT_LOGGING
917 if (this->m_LogText_OutputPort[0].isConnected()) {
918 #if FW_OBJECT_NAMES == 1
919 const char* _formatString =
920 "(%s) %s: SPI Device %" PRIi32
".%" PRIi32
" configured";
922 const char* _formatString =
923 "%s: SPI Device %" PRIi32
".%" PRIi32
" configured";
943 this->m_LogText_OutputPort[0].invoke(
961 this->m_SPI_WriteErrorThrottle = 0;
974 if (this->m_Tlm_OutputPort[0].isConnected()) {
976 this->m_Time_OutputPort[0].isConnected() &&
979 this->m_Time_OutputPort[0].
invoke(_tlmTime);
993 this->m_Tlm_OutputPort[0].
invoke(
1008 if (this->m_Time_OutputPort[0].isConnected()) {
1010 this->m_Time_OutputPort[0].
invoke(_time);
1022 void LinuxSpiDriverComponentBase ::
1023 m_p_SpiReadWrite_in(
PlatformIntType NATIVE_INT_TYPE
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
int PlatformIntType
DefaultTypes.hpp provides fallback defaults for the platform types.
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
#define FW_LOG_TEXT_BUFFER_SIZE
Max size of string for text log message.
#define FW_OBJ_NAME_MAX_SIZE
Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
Auto-generated base for LinuxSpiDriver component.
void log_WARNING_HI_SPI_WriteError(I32 device, I32 select, I32 error)
NATIVE_INT_TYPE getNum_Time_OutputPorts() const
NATIVE_INT_TYPE getNum_Tlm_OutputPorts() const
LinuxSpiDriverComponentBase(const char *compName="")
Construct LinuxSpiDriverComponentBase object.
virtual void SpiReadWrite_handler(NATIVE_INT_TYPE portNum, Fw::Buffer &writeBuffer, Fw::Buffer &readBuffer)=0
Handler for input port SpiReadWrite.
void tlmWrite_SPI_Bytes(U32 arg, Fw::Time _tlmTime=Fw::Time())
@ CHANNELID_SPI_BYTES
Channel ID for SPI_Bytes.
void log_WARNING_HI_SPI_WriteError_ThrottleClear()
Reset throttle value for SPI_WriteError.
bool isConnected_Tlm_OutputPort(NATIVE_INT_TYPE portNum)
void log_WARNING_HI_SPI_ConfigError(I32 device, I32 select, I32 error)
bool isConnected_Time_OutputPort(NATIVE_INT_TYPE portNum)
void set_Log_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
@ EVENTID_SPI_WRITEERROR_THROTTLE
Throttle reset count for SPI_WriteError.
NATIVE_INT_TYPE getNum_SpiReadWrite_InputPorts() const
@ EVENTID_SPI_OPENERROR
SPI open error.
@ EVENTID_SPI_CONFIGERROR
SPI config error.
@ EVENTID_SPI_WRITEERROR
SPI write error.
@ EVENTID_SPI_PORTOPENED
SPI open notification.
bool isConnected_Log_OutputPort(NATIVE_INT_TYPE portNum)
void log_ACTIVITY_HI_SPI_PortOpened(I32 device, I32 select)
void set_Time_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
void SpiReadWrite_handlerBase(NATIVE_INT_TYPE portNum, Fw::Buffer &writeBuffer, Fw::Buffer &readBuffer)
Handler base-class function for input port SpiReadWrite.
virtual ~LinuxSpiDriverComponentBase()
Destroy LinuxSpiDriverComponentBase object.
Drv::InputSpiReadWritePort * get_SpiReadWrite_InputPort(NATIVE_INT_TYPE portNum)
NATIVE_INT_TYPE getNum_Log_OutputPorts() const
void set_Tlm_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
void log_WARNING_HI_SPI_OpenError(I32 device, I32 select, I32 error)
@ WARNING_HI
A serious but recoverable event.
@ ACTIVITY_HI
Important informational events.
void init()
Object initializer.
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.
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.