9 #if FW_ENABLE_TEXT_LOGGING 34 this->m_dataIn_InputPort[port].
init();
39 this->m_dataIn_InputPort[port].
setPortNum(port);
41 #if FW_OBJECT_NAMES == 1 45 this->m_objName.toChar(),
48 this->m_dataIn_InputPort[port].setObjName(portName.
toChar());
58 this->m_dataReturnIn_InputPort[port].
init();
63 this->m_dataReturnIn_InputPort[port].
setPortNum(port);
65 #if FW_OBJECT_NAMES == 1 69 this->m_objName.toChar(),
72 this->m_dataReturnIn_InputPort[port].setObjName(portName.
toChar());
82 this->m_logOut_OutputPort[port].
init();
84 #if FW_OBJECT_NAMES == 1 88 this->m_objName.toChar(),
91 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
95 #if FW_ENABLE_TEXT_LOGGING == 1 99 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
102 this->m_logTextOut_OutputPort[port].
init();
104 #if FW_OBJECT_NAMES == 1 108 this->m_objName.toChar(),
111 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
122 this->m_prmGetOut_OutputPort[port].
init();
124 #if FW_OBJECT_NAMES == 1 128 this->m_objName.toChar(),
131 this->m_prmGetOut_OutputPort[port].setObjName(portName.
toChar());
141 this->m_prmSetOut_OutputPort[port].
init();
143 #if FW_OBJECT_NAMES == 1 147 this->m_objName.toChar(),
150 this->m_prmSetOut_OutputPort[port].setObjName(portName.
toChar());
160 this->m_timeCaller_OutputPort[port].
init();
162 #if FW_OBJECT_NAMES == 1 166 this->m_objName.toChar(),
169 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
179 this->m_tlmOut_OutputPort[port].
init();
181 #if FW_OBJECT_NAMES == 1 185 this->m_objName.toChar(),
188 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
198 this->m_dataOut_OutputPort[port].
init();
200 #if FW_OBJECT_NAMES == 1 204 this->m_objName.toChar(),
207 this->m_dataOut_OutputPort[port].setObjName(portName.
toChar());
217 this->m_dataReturnOut_OutputPort[port].
init();
219 #if FW_OBJECT_NAMES == 1 223 this->m_objName.toChar(),
226 this->m_dataReturnOut_OutputPort[port].setObjName(portName.
toChar());
236 this->m_validateApidSeqCount_OutputPort[port].
init();
238 #if FW_OBJECT_NAMES == 1 242 this->m_objName.toChar(),
245 this->m_validateApidSeqCount_OutputPort[port].setObjName(portName.
toChar());
259 static_cast<FwAssertArgType>(portNum)
262 return &this->m_dataIn_InputPort[portNum];
270 static_cast<FwAssertArgType>(portNum)
273 return &this->m_dataReturnIn_InputPort[portNum];
288 static_cast<FwAssertArgType>(portNum)
291 this->m_logOut_OutputPort[portNum].
addCallPort(port);
294 #if FW_ENABLE_TEXT_LOGGING == 1 296 void SpacePacketDeframerComponentBase ::
297 set_logTextOut_OutputPort(
303 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
304 static_cast<FwAssertArgType>(portNum)
307 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
320 static_cast<FwAssertArgType>(portNum)
323 this->m_prmGetOut_OutputPort[portNum].
addCallPort(port);
334 static_cast<FwAssertArgType>(portNum)
337 this->m_prmSetOut_OutputPort[portNum].
addCallPort(port);
348 static_cast<FwAssertArgType>(portNum)
351 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
362 static_cast<FwAssertArgType>(portNum)
365 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
380 static_cast<FwAssertArgType>(portNum)
383 this->m_dataOut_OutputPort[portNum].
addCallPort(port);
394 static_cast<FwAssertArgType>(portNum)
397 this->m_dataReturnOut_OutputPort[portNum].
addCallPort(port);
408 static_cast<FwAssertArgType>(portNum)
411 this->m_validateApidSeqCount_OutputPort[portNum].
addCallPort(port);
414 #if FW_PORT_SERIALIZATION 423 Fw::InputSerializePort* port
428 static_cast<FwAssertArgType>(portNum)
431 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
434 #if FW_ENABLE_TEXT_LOGGING == 1 436 void SpacePacketDeframerComponentBase ::
437 set_logTextOut_OutputPort(
439 Fw::InputSerializePort* port
443 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
444 static_cast<FwAssertArgType>(portNum)
447 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
455 Fw::InputSerializePort* port
460 static_cast<FwAssertArgType>(portNum)
463 this->m_prmSetOut_OutputPort[portNum].registerSerialPort(port);
469 Fw::InputSerializePort* port
474 static_cast<FwAssertArgType>(portNum)
477 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
483 Fw::InputSerializePort* port
488 static_cast<FwAssertArgType>(portNum)
491 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
496 #if FW_PORT_SERIALIZATION 505 Fw::InputSerializePort* port
510 static_cast<FwAssertArgType>(portNum)
513 this->m_dataOut_OutputPort[portNum].registerSerialPort(port);
519 Fw::InputSerializePort* port
524 static_cast<FwAssertArgType>(portNum)
527 this->m_dataReturnOut_OutputPort[portNum].registerSerialPort(port);
538 Fw::PassiveComponentBase(compName)
575 #if FW_ENABLE_TEXT_LOGGING == 1 578 getNum_logTextOut_OutputPorts()
const 640 static_cast<FwAssertArgType>(portNum)
643 return this->m_logOut_OutputPort[portNum].
isConnected();
646 #if FW_ENABLE_TEXT_LOGGING == 1 648 bool SpacePacketDeframerComponentBase ::
649 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
652 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
653 static_cast<FwAssertArgType>(portNum)
656 return this->m_logTextOut_OutputPort[portNum].isConnected();
666 static_cast<FwAssertArgType>(portNum)
669 return this->m_prmGetOut_OutputPort[portNum].
isConnected();
677 static_cast<FwAssertArgType>(portNum)
680 return this->m_prmSetOut_OutputPort[portNum].
isConnected();
688 static_cast<FwAssertArgType>(portNum)
691 return this->m_timeCaller_OutputPort[portNum].
isConnected();
699 static_cast<FwAssertArgType>(portNum)
702 return this->m_tlmOut_OutputPort[portNum].
isConnected();
714 static_cast<FwAssertArgType>(portNum)
717 return this->m_dataOut_OutputPort[portNum].
isConnected();
725 static_cast<FwAssertArgType>(portNum)
728 return this->m_dataReturnOut_OutputPort[portNum].
isConnected();
736 static_cast<FwAssertArgType>(portNum)
739 return this->m_validateApidSeqCount_OutputPort[portNum].
isConnected();
758 static_cast<FwAssertArgType>(portNum)
785 static_cast<FwAssertArgType>(portNum)
809 static_cast<FwAssertArgType>(portNum)
813 this->m_dataOut_OutputPort[portNum].isConnected(),
814 static_cast<FwAssertArgType>(portNum)
816 this->m_dataOut_OutputPort[portNum].
invoke(
831 static_cast<FwAssertArgType>(portNum)
835 this->m_dataReturnOut_OutputPort[portNum].isConnected(),
836 static_cast<FwAssertArgType>(portNum)
838 this->m_dataReturnOut_OutputPort[portNum].
invoke(
853 static_cast<FwAssertArgType>(portNum)
857 this->m_validateApidSeqCount_OutputPort[portNum].isConnected(),
858 static_cast<FwAssertArgType>(portNum)
860 return this->m_validateApidSeqCount_OutputPort[portNum].
invoke(
878 if (this->m_timeCaller_OutputPort[0].isConnected()) {
879 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
887 if (this->m_logOut_OutputPort[0].isConnected()) {
891 #if FW_AMPCS_COMPATIBLE 893 _status = _logBuff.
serialize(static_cast<U8>(2));
896 static_cast<FwAssertArgType>(_status)
900 #if FW_AMPCS_COMPATIBLE 903 static_cast<U8>(
sizeof(U16))
907 static_cast<FwAssertArgType>(_status)
910 _status = _logBuff.
serialize(transmitted);
913 static_cast<FwAssertArgType>(_status)
916 #if FW_AMPCS_COMPATIBLE 919 static_cast<U8>(
sizeof(U32))
923 static_cast<FwAssertArgType>(_status)
929 static_cast<FwAssertArgType>(_status)
932 this->m_logOut_OutputPort[0].
invoke(
941 #if FW_ENABLE_TEXT_LOGGING 942 if (this->m_logTextOut_OutputPort[0].isConnected()) {
943 #if FW_OBJECT_NAMES == 1 944 const char* _formatString =
945 "(%s) %s: Invalid length received. Header specified packet byte size of %" PRIu16
" | Actual received data length: %" PRIu32
"";
947 const char* _formatString =
948 "%s: Invalid length received. Header specified packet byte size of %" PRIu16
" | Actual received data length: %" PRIu32
"";
955 this->m_objName.toChar(),
962 this->m_logTextOut_OutputPort[0].invoke(
979 if (this->m_timeCaller_OutputPort[0].isConnected()) {
981 this->m_timeCaller_OutputPort[0].
invoke(_time);
999 this->m_guardedPortMutex.
lock();
1005 this->m_guardedPortMutex.
unLock();
1012 void SpacePacketDeframerComponentBase ::
1029 void SpacePacketDeframerComponentBase ::
1030 m_p_dataReturnIn_in(
1039 compPtr->dataReturnIn_handlerBase(
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataIn.
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
U16 invoke(const ComCfg::APID &apid, U16 sequenceCount) const
Invoke a port interface.
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
void set_dataReturnOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataReturnOut[portNum].
FwIdType getIdBase() const
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum)
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
Auto-generated base for SpacePacketDeframer component.
Svc::InputComDataWithContextPort * get_dataIn_InputPort(FwIndexType portNum)
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void unLock()
unlock the mutex and assert success
bool isConnected_dataOut_OutputPort(FwIndexType portNum)
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
FwIndexType getNum_tlmOut_OutputPorts() const
virtual void lock()
Lock the guarded mutex.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
bool isConnected_validateApidSeqCount_OutputPort(FwIndexType portNum)
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
void init()
Initialization function.
void addCallPort(InputComDataWithContextPort *callPort)
Register an input port.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
void init()
Object initializer.
U16 validateApidSeqCount_out(FwIndexType portNum, const ComCfg::APID &apid, U16 sequenceCount)
Invoke output port validateApidSeqCount.
SerializeStatus
forward declaration for string
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_prmGetOut_OutputPorts() const
FwIdType FwEventIdType
The type of an event identifier.
FwIndexType getNum_timeCaller_OutputPorts() const
FwIndexType getNum_validateApidSeqCount_OutputPorts() 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 set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void log_WARNING_HI_InvalidLength(U16 transmitted, U32 actual) const
void init()
Initialization function.
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
bool isConnected_dataReturnOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_prmSetOut_OutputPorts() const
void invoke(Fw::Time &time) const
Invoke a port interface.
virtual void unLock()
Unlock the guarded mutex.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
const char * toChar() const
void invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port interface.
void addCallPort(InputApidSequenceCountPort *callPort)
Register an input port.
A serious but recoverable event.
void init()
Initialization function.
void dataReturnOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataReturnOut.
FwIndexType getNum_dataReturnOut_OutputPorts() const
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
FwIndexType getNum_dataOut_OutputPorts() const
Deframing received an invalid frame length.
void init()
Initialization function.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
FwIndexType getNum_dataIn_InputPorts() const
No time base has been established.
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataOut.
SpacePacketDeframerComponentBase(const char *compName="")
Construct SpacePacketDeframerComponentBase object.
PlatformIndexType FwIndexType
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
virtual ~SpacePacketDeframerComponentBase()
Destroy SpacePacketDeframerComponentBase object.
void addCallPort(InputLogPort *callPort)
Register an input port.
Type used to pass context info between components during framing/deframing.
RateGroupDivider component implementation.
void set_validateApidSeqCount_OutputPort(FwIndexType portNum, Svc::CCSDS::InputApidSequenceCountPort *port)
Connect port to validateApidSeqCount[portNum].
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
bool isConnected_logOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
FwIndexType getNum_dataReturnIn_InputPorts() const
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataIn.
FwIndexType getNum_logOut_OutputPorts() const
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void lock()
lock the mutex and assert success