9 #if FW_ENABLE_TEXT_LOGGING 26 #if !FW_DIRECT_PORT_CALLS 33 this->m_CmdDisp_InputPort[port].
init();
38 this->m_CmdDisp_InputPort[port].
setPortNum(port);
40 #if FW_OBJECT_NAMES == 1 44 this->m_objName.toChar(),
47 this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
52 #if !FW_DIRECT_PORT_CALLS 59 this->m_CycleIn_InputPort[port].
init();
64 this->m_CycleIn_InputPort[port].
setPortNum(port);
66 #if FW_OBJECT_NAMES == 1 70 this->m_objName.toChar(),
73 this->m_CycleIn_InputPort[port].setObjName(portName.
toChar());
78 #if !FW_DIRECT_PORT_CALLS 85 this->m_CmdReg_OutputPort[port].
init();
87 #if FW_OBJECT_NAMES == 1 91 this->m_objName.toChar(),
94 this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
99 #if !FW_DIRECT_PORT_CALLS 106 this->m_CmdStatus_OutputPort[port].
init();
108 #if FW_OBJECT_NAMES == 1 112 this->m_objName.toChar(),
115 this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
120 #if !FW_DIRECT_PORT_CALLS 127 this->m_Time_OutputPort[port].
init();
129 #if FW_OBJECT_NAMES == 1 133 this->m_objName.toChar(),
136 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
141 #if !FW_DIRECT_PORT_CALLS 148 this->m_Tlm_OutputPort[port].
init();
150 #if FW_OBJECT_NAMES == 1 154 this->m_objName.toChar(),
157 this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
162 #if !FW_DIRECT_PORT_CALLS 169 this->m_RateGroupMemberOut_OutputPort[port].
init();
171 #if FW_OBJECT_NAMES == 1 175 this->m_objName.toChar(),
178 this->m_RateGroupMemberOut_OutputPort[port].setObjName(portName.
toChar());
184 #if !FW_DIRECT_PORT_CALLS 195 static_cast<FwAssertArgType>(portNum)
198 return &this->m_CmdDisp_InputPort[portNum];
203 #if !FW_DIRECT_PORT_CALLS 214 static_cast<FwAssertArgType>(portNum)
217 return &this->m_CycleIn_InputPort[portNum];
222 #if !FW_DIRECT_PORT_CALLS 236 static_cast<FwAssertArgType>(portNum)
239 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
250 static_cast<FwAssertArgType>(portNum)
253 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
264 static_cast<FwAssertArgType>(portNum)
267 this->m_Time_OutputPort[portNum].
addCallPort(port);
278 static_cast<FwAssertArgType>(portNum)
286 #if !FW_DIRECT_PORT_CALLS 300 static_cast<FwAssertArgType>(portNum)
303 this->m_RateGroupMemberOut_OutputPort[portNum].
addCallPort(port);
308 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 317 Fw::InputSerializePort* port
322 static_cast<FwAssertArgType>(portNum)
325 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
331 Fw::InputSerializePort* port
336 static_cast<FwAssertArgType>(portNum)
339 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
345 Fw::InputSerializePort* port
350 static_cast<FwAssertArgType>(portNum)
353 this->m_Time_OutputPort[portNum].registerSerialPort(port);
359 Fw::InputSerializePort* port
364 static_cast<FwAssertArgType>(portNum)
367 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
372 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 381 Fw::InputSerializePort* port
386 static_cast<FwAssertArgType>(portNum)
389 this->m_RateGroupMemberOut_OutputPort[portNum].registerSerialPort(port);
415 Fw::PassiveComponentBase(compName)
426 #if !FW_DIRECT_PORT_CALLS 437 static_cast<FwAssertArgType>(portNum)
440 return this->m_CmdReg_OutputPort[portNum].
isConnected();
448 static_cast<FwAssertArgType>(portNum)
451 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
459 static_cast<FwAssertArgType>(portNum)
462 return this->m_Time_OutputPort[portNum].
isConnected();
470 static_cast<FwAssertArgType>(portNum)
473 return this->m_Tlm_OutputPort[portNum].
isConnected();
478 #if !FW_DIRECT_PORT_CALLS 489 static_cast<FwAssertArgType>(portNum)
492 return this->m_RateGroupMemberOut_OutputPort[portNum].
isConnected();
513 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
516 switch (opCode - idBase) {
546 static_cast<FwAssertArgType>(portNum)
556 #if !FW_DIRECT_PORT_CALLS 570 static_cast<FwAssertArgType>(portNum)
574 this->m_RateGroupMemberOut_OutputPort[portNum].isConnected(),
575 static_cast<FwAssertArgType>(portNum)
577 this->m_RateGroupMemberOut_OutputPort[portNum].
invoke(
596 this->CmdStatus_out(0, opCode, cmdSeq, response);
612 #if FW_CMD_CHECK_RESIDUAL 647 this->Time_out(0, _tlmTime);
673 if (not this->m_first_update_MaxCycleTime) {
675 if (arg == this->m_last_MaxCycleTime) {
679 this->m_last_MaxCycleTime = arg;
683 this->m_first_update_MaxCycleTime =
false;
684 this->m_last_MaxCycleTime = arg;
692 static_cast<FwAssertArgType>(_stat)
714 static_cast<FwAssertArgType>(_stat)
736 static_cast<FwAssertArgType>(_stat)
758 static_cast<FwAssertArgType>(_stat)
776 if (not this->m_first_update_PortCycleTimeHWM) {
778 if (arg == this->m_last_PortCycleTimeHWM) {
782 this->m_last_PortCycleTimeHWM = arg;
786 this->m_first_update_PortCycleTimeHWM =
false;
787 this->m_last_PortCycleTimeHWM = arg;
795 static_cast<FwAssertArgType>(_stat)
815 this->Time_out(0, _time);
827 void PassiveRateGroupComponentBase ::
850 void PassiveRateGroupComponentBase ::
859 compPtr->CycleIn_handlerBase(
865 #if !FW_DIRECT_PORT_CALLS 871 void PassiveRateGroupComponentBase ::
879 static_cast<FwAssertArgType>(portNum)
883 this->m_CmdReg_OutputPort[portNum].isConnected(),
884 static_cast<FwAssertArgType>(portNum)
886 this->m_CmdReg_OutputPort[portNum].
invoke(
891 void PassiveRateGroupComponentBase ::
901 static_cast<FwAssertArgType>(portNum)
905 this->m_CmdStatus_OutputPort[portNum].isConnected(),
906 static_cast<FwAssertArgType>(portNum)
908 this->m_CmdStatus_OutputPort[portNum].
invoke(
915 void PassiveRateGroupComponentBase ::
923 static_cast<FwAssertArgType>(portNum)
927 this->m_Time_OutputPort[portNum].isConnected(),
928 static_cast<FwAssertArgType>(portNum)
930 this->m_Time_OutputPort[portNum].
invoke(
935 void PassiveRateGroupComponentBase ::
945 static_cast<FwAssertArgType>(portNum)
949 this->m_Tlm_OutputPort[portNum].isConnected(),
950 static_cast<FwAssertArgType>(portNum)
952 this->m_Tlm_OutputPort[portNum].
invoke(
void CLEAR_STATISTICS_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
FwIdType FwOpcodeType
The type of a command opcode.
FwIdType getIdBase() const
bool isConnected_RateGroupMemberOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_RateGroupMemberOut_OutputPorts()
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum) const
void init()
Initialization function.
Enum representing a command response.
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(InputCmdRegPort *callPort)
Register an input port.
Channel ID for CycleTime.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void RateGroupMemberOut_out(FwIndexType portNum, U32 context) const
Invoke output port RateGroupMemberOut.
void init()
Object initializer.
SerializeStatus
forward declaration for string
bool isConnected_Time_OutputPort(FwIndexType portNum) const
bool isConnected_CmdReg_OutputPort(FwIndexType portNum) const
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
void init()
Initialization function.
void invoke(U32 context) const
Invoke a port connection.
Channel ID for PortCycleTimeHWM.
void invoke(Fw::Time &time) const
Invoke a port connection.
void tlmWrite_CycleTime(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Channel ID for PortCycleTime.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
virtual void CLEAR_STATISTICS_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
virtual ~PassiveRateGroupComponentBase()
Destroy PassiveRateGroupComponentBase object.
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*.
Auto-generated base for PassiveRateGroup component.
PassiveRateGroupComponentBase(const char *compName="")
Construct PassiveRateGroupComponentBase object.
Clear max cycle time and port cycle time high water marks (cycle count is not cleared) ...
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void tlmWrite_MaxCycleTime(U32 arg, Fw::Time _tlmTime=Fw::Time())
static constexpr FwIndexType getNum_Time_OutputPorts()
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
Command failed to deserialize.
void tlmWrite_PortCycleTimeHWM(const Svc::PassiveRateGroup_CycleTime &arg, Fw::Time _tlmTime=Fw::Time())
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void tlmWrite_CycleCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Channel ID for MaxCycleTime.
PlatformIndexType FwIndexType
void init()
Initialization function.
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
void init()
Initialization function.
void set_RateGroupMemberOut_OutputPort(FwIndexType portNum, Svc::InputSchedPort *port)
Connect port to RateGroupMemberOut[portNum].
virtual void CycleIn_handler(FwIndexType portNum, Os::RawTime &cycleStart)=0
Handler for input port CycleIn.
void CmdDisp_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port CmdDisp.
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_Tlm_OutputPorts()
void CycleIn_handlerBase(FwIndexType portNum, Os::RawTime &cycleStart)
Handler base-class function for input port CycleIn.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void tlmWrite_PortCycleTime(const Svc::PassiveRateGroup_CycleTime &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel PortCycleTime.
static constexpr FwIndexType getNum_CycleIn_InputPorts()
Implementation of malloc based allocator.
Svc::InputCyclePort * get_CycleIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
void regCommands()
Register commands with the Command Dispatcher.
Channel ID for CycleCount.
void addCallPort(InputSchedPort *callPort)
Register an input port.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.