9 #if FW_ENABLE_TEXT_LOGGING 28 #if !FW_DIRECT_PORT_CALLS 35 this->m_comStatusIn_InputPort[port].
init();
40 this->m_comStatusIn_InputPort[port].
setPortNum(port);
42 #if FW_OBJECT_NAMES == 1 46 this->m_objName.toChar(),
49 this->m_comStatusIn_InputPort[port].setObjName(portName.
toChar());
54 #if !FW_DIRECT_PORT_CALLS 61 this->m_dataIn_InputPort[port].
init();
66 this->m_dataIn_InputPort[port].
setPortNum(port);
68 #if FW_OBJECT_NAMES == 1 72 this->m_objName.toChar(),
75 this->m_dataIn_InputPort[port].setObjName(portName.
toChar());
80 #if !FW_DIRECT_PORT_CALLS 87 this->m_dataReturnIn_InputPort[port].
init();
92 this->m_dataReturnIn_InputPort[port].
setPortNum(port);
94 #if FW_OBJECT_NAMES == 1 98 this->m_objName.toChar(),
101 this->m_dataReturnIn_InputPort[port].setObjName(portName.
toChar());
106 #if !FW_DIRECT_PORT_CALLS 113 this->m_logOut_OutputPort[port].
init();
115 #if FW_OBJECT_NAMES == 1 119 this->m_objName.toChar(),
122 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
127 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 131 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
134 this->m_logTextOut_OutputPort[port].
init();
136 #if FW_OBJECT_NAMES == 1 140 this->m_objName.toChar(),
143 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
148 #if !FW_DIRECT_PORT_CALLS 155 this->m_prmGetOut_OutputPort[port].
init();
157 #if FW_OBJECT_NAMES == 1 161 this->m_objName.toChar(),
164 this->m_prmGetOut_OutputPort[port].setObjName(portName.
toChar());
169 #if !FW_DIRECT_PORT_CALLS 176 this->m_prmSetOut_OutputPort[port].
init();
178 #if FW_OBJECT_NAMES == 1 182 this->m_objName.toChar(),
185 this->m_prmSetOut_OutputPort[port].setObjName(portName.
toChar());
190 #if !FW_DIRECT_PORT_CALLS 197 this->m_timeCaller_OutputPort[port].
init();
199 #if FW_OBJECT_NAMES == 1 203 this->m_objName.toChar(),
206 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
211 #if !FW_DIRECT_PORT_CALLS 218 this->m_tlmOut_OutputPort[port].
init();
220 #if FW_OBJECT_NAMES == 1 224 this->m_objName.toChar(),
227 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
232 #if !FW_DIRECT_PORT_CALLS 239 this->m_bufferAllocate_OutputPort[port].
init();
241 #if FW_OBJECT_NAMES == 1 245 this->m_objName.toChar(),
248 this->m_bufferAllocate_OutputPort[port].setObjName(portName.
toChar());
253 #if !FW_DIRECT_PORT_CALLS 260 this->m_bufferDeallocate_OutputPort[port].
init();
262 #if FW_OBJECT_NAMES == 1 266 this->m_objName.toChar(),
269 this->m_bufferDeallocate_OutputPort[port].setObjName(portName.
toChar());
274 #if !FW_DIRECT_PORT_CALLS 281 this->m_comStatusOut_OutputPort[port].
init();
283 #if FW_OBJECT_NAMES == 1 287 this->m_objName.toChar(),
290 this->m_comStatusOut_OutputPort[port].setObjName(portName.
toChar());
295 #if !FW_DIRECT_PORT_CALLS 302 this->m_dataOut_OutputPort[port].
init();
304 #if FW_OBJECT_NAMES == 1 308 this->m_objName.toChar(),
311 this->m_dataOut_OutputPort[port].setObjName(portName.
toChar());
316 #if !FW_DIRECT_PORT_CALLS 323 this->m_dataReturnOut_OutputPort[port].
init();
325 #if FW_OBJECT_NAMES == 1 329 this->m_objName.toChar(),
332 this->m_dataReturnOut_OutputPort[port].setObjName(portName.
toChar());
337 #if !FW_DIRECT_PORT_CALLS 344 this->m_getApidSeqCount_OutputPort[port].
init();
346 #if FW_OBJECT_NAMES == 1 350 this->m_objName.toChar(),
353 this->m_getApidSeqCount_OutputPort[port].setObjName(portName.
toChar());
359 #if !FW_DIRECT_PORT_CALLS 370 static_cast<FwAssertArgType>(portNum)
373 return &this->m_comStatusIn_InputPort[portNum];
381 static_cast<FwAssertArgType>(portNum)
384 return &this->m_dataIn_InputPort[portNum];
392 static_cast<FwAssertArgType>(portNum)
395 return &this->m_dataReturnIn_InputPort[portNum];
400 #if !FW_DIRECT_PORT_CALLS 414 static_cast<FwAssertArgType>(portNum)
417 this->m_logOut_OutputPort[portNum].
addCallPort(port);
420 #if FW_ENABLE_TEXT_LOGGING == 1 422 void SpacePacketFramerComponentBase ::
423 set_logTextOut_OutputPort(
429 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
430 static_cast<FwAssertArgType>(portNum)
433 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
446 static_cast<FwAssertArgType>(portNum)
449 this->m_prmGetOut_OutputPort[portNum].
addCallPort(port);
460 static_cast<FwAssertArgType>(portNum)
463 this->m_prmSetOut_OutputPort[portNum].
addCallPort(port);
474 static_cast<FwAssertArgType>(portNum)
477 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
488 static_cast<FwAssertArgType>(portNum)
491 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
496 #if !FW_DIRECT_PORT_CALLS 510 static_cast<FwAssertArgType>(portNum)
513 this->m_bufferAllocate_OutputPort[portNum].
addCallPort(port);
524 static_cast<FwAssertArgType>(portNum)
527 this->m_bufferDeallocate_OutputPort[portNum].
addCallPort(port);
538 static_cast<FwAssertArgType>(portNum)
541 this->m_comStatusOut_OutputPort[portNum].
addCallPort(port);
552 static_cast<FwAssertArgType>(portNum)
555 this->m_dataOut_OutputPort[portNum].
addCallPort(port);
566 static_cast<FwAssertArgType>(portNum)
569 this->m_dataReturnOut_OutputPort[portNum].
addCallPort(port);
580 static_cast<FwAssertArgType>(portNum)
583 this->m_getApidSeqCount_OutputPort[portNum].
addCallPort(port);
588 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 597 Fw::InputSerializePort* port
602 static_cast<FwAssertArgType>(portNum)
605 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
608 #if FW_ENABLE_TEXT_LOGGING == 1 610 void SpacePacketFramerComponentBase ::
611 set_logTextOut_OutputPort(
613 Fw::InputSerializePort* port
617 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
618 static_cast<FwAssertArgType>(portNum)
621 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
629 Fw::InputSerializePort* port
634 static_cast<FwAssertArgType>(portNum)
637 this->m_prmSetOut_OutputPort[portNum].registerSerialPort(port);
643 Fw::InputSerializePort* port
648 static_cast<FwAssertArgType>(portNum)
651 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
657 Fw::InputSerializePort* port
662 static_cast<FwAssertArgType>(portNum)
665 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
670 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 679 Fw::InputSerializePort* port
684 static_cast<FwAssertArgType>(portNum)
687 this->m_bufferDeallocate_OutputPort[portNum].registerSerialPort(port);
693 Fw::InputSerializePort* port
698 static_cast<FwAssertArgType>(portNum)
701 this->m_comStatusOut_OutputPort[portNum].registerSerialPort(port);
707 Fw::InputSerializePort* port
712 static_cast<FwAssertArgType>(portNum)
715 this->m_dataOut_OutputPort[portNum].registerSerialPort(port);
721 Fw::InputSerializePort* port
726 static_cast<FwAssertArgType>(portNum)
729 this->m_dataReturnOut_OutputPort[portNum].registerSerialPort(port);
740 Fw::PassiveComponentBase(compName)
742 this->m_NoBufferAvailableThrottle = 0;
751 #if !FW_DIRECT_PORT_CALLS 762 static_cast<FwAssertArgType>(portNum)
765 return this->m_logOut_OutputPort[portNum].
isConnected();
768 #if FW_ENABLE_TEXT_LOGGING == 1 770 bool SpacePacketFramerComponentBase ::
771 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
const 774 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
775 static_cast<FwAssertArgType>(portNum)
778 return this->m_logTextOut_OutputPort[portNum].isConnected();
788 static_cast<FwAssertArgType>(portNum)
791 return this->m_prmGetOut_OutputPort[portNum].
isConnected();
799 static_cast<FwAssertArgType>(portNum)
802 return this->m_prmSetOut_OutputPort[portNum].
isConnected();
810 static_cast<FwAssertArgType>(portNum)
813 return this->m_timeCaller_OutputPort[portNum].
isConnected();
821 static_cast<FwAssertArgType>(portNum)
824 return this->m_tlmOut_OutputPort[portNum].
isConnected();
829 #if !FW_DIRECT_PORT_CALLS 840 static_cast<FwAssertArgType>(portNum)
843 return this->m_bufferAllocate_OutputPort[portNum].
isConnected();
851 static_cast<FwAssertArgType>(portNum)
854 return this->m_bufferDeallocate_OutputPort[portNum].
isConnected();
862 static_cast<FwAssertArgType>(portNum)
865 return this->m_comStatusOut_OutputPort[portNum].
isConnected();
873 static_cast<FwAssertArgType>(portNum)
876 return this->m_dataOut_OutputPort[portNum].
isConnected();
884 static_cast<FwAssertArgType>(portNum)
887 return this->m_dataReturnOut_OutputPort[portNum].
isConnected();
895 static_cast<FwAssertArgType>(portNum)
898 return this->m_getApidSeqCount_OutputPort[portNum].
isConnected();
918 static_cast<FwAssertArgType>(portNum)
938 static_cast<FwAssertArgType>(portNum)
959 static_cast<FwAssertArgType>(portNum)
970 #if !FW_DIRECT_PORT_CALLS 984 static_cast<FwAssertArgType>(portNum)
988 this->m_bufferAllocate_OutputPort[portNum].isConnected(),
989 static_cast<FwAssertArgType>(portNum)
991 return this->m_bufferAllocate_OutputPort[portNum].
invoke(
1004 static_cast<FwAssertArgType>(portNum)
1008 this->m_bufferDeallocate_OutputPort[portNum].isConnected(),
1009 static_cast<FwAssertArgType>(portNum)
1011 this->m_bufferDeallocate_OutputPort[portNum].
invoke(
1024 static_cast<FwAssertArgType>(portNum)
1028 this->m_comStatusOut_OutputPort[portNum].isConnected(),
1029 static_cast<FwAssertArgType>(portNum)
1031 this->m_comStatusOut_OutputPort[portNum].
invoke(
1045 static_cast<FwAssertArgType>(portNum)
1049 this->m_dataOut_OutputPort[portNum].isConnected(),
1050 static_cast<FwAssertArgType>(portNum)
1052 this->m_dataOut_OutputPort[portNum].
invoke(
1067 static_cast<FwAssertArgType>(portNum)
1071 this->m_dataReturnOut_OutputPort[portNum].isConnected(),
1072 static_cast<FwAssertArgType>(portNum)
1074 this->m_dataReturnOut_OutputPort[portNum].
invoke(
1089 static_cast<FwAssertArgType>(portNum)
1093 this->m_getApidSeqCount_OutputPort[portNum].isConnected(),
1094 static_cast<FwAssertArgType>(portNum)
1096 return this->m_getApidSeqCount_OutputPort[portNum].
invoke(
1116 this->m_NoBufferAvailableThrottle++;
1122 this->timeCaller_out(0, _logTime);
1131 #if FW_AMPCS_COMPATIBLE 1137 static_cast<FwAssertArgType>(_status)
1151 #if FW_ENABLE_TEXT_LOGGING 1152 if (this->isConnected_logTextOut_OutputPort(0)) {
1153 #if FW_OBJECT_NAMES == 1 1154 const char* _formatString =
1155 "(%s) %s: Failed to allocate a packet buffer: packet dropped";
1157 const char* _formatString =
1158 "%s: Failed to allocate a packet buffer: packet dropped";
1162 (void) _logString.
format(
1165 this->m_objName.toChar(),
1167 "NoBufferAvailable " 1170 this->logTextOut_out(
1189 this->m_NoBufferAvailableThrottle = 0;
1201 this->timeCaller_out(0, _time);
1213 void SpacePacketFramerComponentBase ::
1228 void SpacePacketFramerComponentBase ::
1238 compPtr->dataIn_handlerBase(
1245 void SpacePacketFramerComponentBase ::
1246 m_p_dataReturnIn_in(
1255 compPtr->dataReturnIn_handlerBase(
1262 #if !FW_DIRECT_PORT_CALLS 1268 void SpacePacketFramerComponentBase ::
1279 static_cast<FwAssertArgType>(portNum)
1283 this->m_logOut_OutputPort[portNum].isConnected(),
1284 static_cast<FwAssertArgType>(portNum)
1286 this->m_logOut_OutputPort[portNum].
invoke(
1294 #if FW_ENABLE_TEXT_LOGGING 1296 void SpacePacketFramerComponentBase ::
1306 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1307 static_cast<FwAssertArgType>(portNum)
1311 this->m_logTextOut_OutputPort[portNum].isConnected(),
1312 static_cast<FwAssertArgType>(portNum)
1314 this->m_logTextOut_OutputPort[portNum].invoke(
1324 void SpacePacketFramerComponentBase ::
1332 static_cast<FwAssertArgType>(portNum)
1336 this->m_timeCaller_OutputPort[portNum].isConnected(),
1337 static_cast<FwAssertArgType>(portNum)
1339 this->m_timeCaller_OutputPort[portNum].
invoke(
Serialization/Deserialization operation was successful.
Throttle reset count for NoBufferAvailable.
void addCallPort(InputTimePort *callPort)
Register an input port.
SpacePacketFramerComponentBase(const char *compName="")
Construct SpacePacketFramerComponentBase object.
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
FwIdType getIdBase() const
PlatformSizeType FwSizeType
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
void dataReturnOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke output port dataReturnOut.
Svc::InputComDataWithContextPort * get_dataIn_InputPort(FwIndexType portNum)
bool isConnected_bufferAllocate_OutputPort(FwIndexType portNum) const
bool isConnected_dataReturnOut_OutputPort(FwIndexType portNum) const
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_dataReturnOut_OutputPorts()
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
static constexpr FwIndexType getNum_comStatusIn_InputPorts()
bool isConnected_dataOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_dataIn_InputPorts()
void init()
Initialization function.
void set_bufferAllocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferAllocate[portNum].
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void init()
Initialization function.
No time base has been established (Required)
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void addCallPort(InputSuccessConditionPort *callPort)
Register an input port.
static constexpr FwIndexType getNum_getApidSeqCount_OutputPorts()
void comStatusIn_handlerBase(FwIndexType portNum, Fw::Success &condition)
Handler base-class function for input port comStatusIn.
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.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
Fw::InputSuccessConditionPort * get_comStatusIn_InputPort(FwIndexType portNum)
void init()
Object initializer.
SerializeStatus
forward declaration for string
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
FwIdType FwEventIdType
The type of an event identifier.
void log_WARNING_HI_NoBufferAvailable_ThrottleClear()
Reset throttle value for NoBufferAvailable.
void bufferDeallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferDeallocate.
void comStatusOut_out(FwIndexType portNum, Fw::Success &condition) const
Invoke output port comStatusOut.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
static constexpr FwIndexType getNum_comStatusOut_OutputPorts()
bool isConnected_comStatusOut_OutputPort(FwIndexType portNum) const
void set_getApidSeqCount_OutputPort(FwIndexType portNum, Svc::Ccsds::InputApidSequenceCountPort *port)
Connect port to getApidSeqCount[portNum].
#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 set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataIn.
static constexpr FwIndexType getNum_bufferAllocate_OutputPorts()
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_logOut_OutputPorts()
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void invoke(Fw::Success &condition) const
Invoke a port connection.
void invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port connection.
void set_dataReturnOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataReturnOut[portNum].
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataIn.
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
void log_WARNING_HI_NoBufferAvailable()
A serious but recoverable event.
void init()
Initialization function.
const char * toChar() const
Convert to a C-style char*.
Enum representing event severity.
static constexpr FwIndexType getNum_bufferDeallocate_OutputPorts()
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Fw::Buffer bufferAllocate_out(FwIndexType portNum, FwSizeType size) const
Invoke output port bufferAllocate.
Auto-generated base for SpacePacketFramer component.
virtual void comStatusIn_handler(FwIndexType portNum, Fw::Success &condition)=0
Handler for input port comStatusIn.
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
bool isConnected_getApidSeqCount_OutputPort(FwIndexType portNum) const
Fw::Buffer invoke(FwSizeType size) const
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
void init()
Initialization function.
U16 getApidSeqCount_out(FwIndexType portNum, const ComCfg::Apid &apid, U16 sequenceCount) const
Invoke output port getApidSeqCount.
void init()
Initialization function.
bool isConnected_bufferDeallocate_OutputPort(FwIndexType portNum) const
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
U16 invoke(const ComCfg::Apid &apid, U16 sequenceCount) const
void addCallPort(InputLogPort *callPort)
Register an input port.
Type used to pass context info between components during framing/deframing.
void init()
Initialization function.
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke output port dataOut.
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_dataOut_OutputPorts()
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
Implementation of malloc based allocator.
virtual ~SpacePacketFramerComponentBase()
Destroy SpacePacketFramerComponentBase object.
void init()
Initialization function.
void set_comStatusOut_OutputPort(FwIndexType portNum, Fw::InputSuccessConditionPort *port)
Connect port to comStatusOut[portNum].
void init()
Initialization function.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
No buffer was available to hold the packet, which was dropped.
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
void set_bufferDeallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferDeallocate[portNum].
void addCallPort(InputApidSequenceCountPort *callPort)
Register an input port.