7 #ifndef Svc_ActiveRateGroupComponentAc_HPP 8 #define Svc_ActiveRateGroupComponentAc_HPP 17 #if !FW_DIRECT_PORT_CALLS 20 #if !FW_DIRECT_PORT_CALLS 106 #if !FW_DIRECT_PORT_CALLS 130 #if !FW_DIRECT_PORT_CALLS 144 #if FW_ENABLE_TEXT_LOGGING == 1 147 void set_LogText_OutputPort(
168 #if !FW_DIRECT_PORT_CALLS 190 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 201 Fw::InputSerializePort* port
204 #if FW_ENABLE_TEXT_LOGGING == 1 207 void set_LogText_OutputPort(
209 Fw::InputSerializePort* port
217 Fw::InputSerializePort* port
223 Fw::InputSerializePort* port
228 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 239 Fw::InputSerializePort* port
245 Fw::InputSerializePort* port
258 const char* compName =
"" 297 #if FW_ENABLE_TEXT_LOGGING == 1 302 static constexpr
FwIndexType getNum_LogText_OutputPorts() {
355 #if FW_ENABLE_TEXT_LOGGING == 1 360 bool isConnected_LogText_OutputPort(
418 #if FW_DIRECT_PORT_CALLS 581 static void m_p_CycleIn_in(
588 static void m_p_PingIn_in(
609 #if FW_ENABLE_TEXT_LOGGING 636 #if !FW_DIRECT_PORT_CALLS 652 #if !FW_DIRECT_PORT_CALLS 663 #if FW_ENABLE_TEXT_LOGGING == 1 678 #if !FW_DIRECT_PORT_CALLS 701 std::atomic<FwIndexType> m_RateGroupTimeGetErrorThrottle;
710 bool m_first_update_RgMaxTime =
true;
713 bool m_first_update_RgCycleSlips =
true;
722 U32 m_last_RgMaxTime = {};
725 U32 m_last_RgCycleSlips = {};
void set_PingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to PingOut[portNum].
void tlmWrite_RgCycleSlips(U32 arg, Fw::Time _tlmTime=Fw::Time())
Warning event that rate group has had a cycle slip.
friend class ActiveRateGroupTesterBase
Friend class tester to support autocoded test harness.
FPP shadow-enum representing Os::RawTime::Status.
PlatformSizeType FwSizeType
static constexpr FwIndexType getNum_PingIn_InputPorts()
static constexpr FwIndexType getNum_RateGroupMemberOut_OutputPorts()
void CycleIn_handlerBase(FwIndexType portNum, Os::RawTime &cycleStart)
Handler base-class function for input port CycleIn.
static constexpr FwIndexType getNum_Log_OutputPorts()
void log_WARNING_HI_RateGroupTimeGetError(const Os::RawTimeStatus &status)
void PingOut_out(FwIndexType portNum, U32 key) const
Invoke output port PingOut.
Warning event that reading the cycle end time failed.
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_Time_OutputPorts()
Informational event that rate group has started.
virtual void PingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port PingIn.
virtual ~ActiveRateGroupComponentBase()
Destroy ActiveRateGroupComponentBase object.
virtual void CycleIn_preMsgHook(FwIndexType portNum, Os::RawTime &cycleStart)
Pre-message hook for async input port CycleIn.
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
Channel ID for RgMaxTime.
void init()
Object initializer.
ActiveRateGroupComponentBase(const char *compName="")
Construct ActiveRateGroupComponentBase object.
Throttle reset count for RateGroupTimeGetError.
bool isConnected_Time_OutputPort(FwIndexType portNum) const
void set_RateGroupMemberOut_OutputPort(FwIndexType portNum, Svc::InputSchedPort *port)
Connect port to RateGroupMemberOut[portNum].
FwIdType FwEventIdType
The type of an event identifier.
bool isConnected_PingOut_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_RateGroupTimeGetError_ThrottleClear()
Reset throttle value for RateGroupTimeGetError.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
static constexpr FwIndexType getNum_PingOut_OutputPorts()
void log_DIAGNOSTIC_RateGroupStarted() const
void tlmWrite_RgMaxTime(U32 arg, Fw::Time _tlmTime=Fw::Time())
Enum representing event severity.
Channel ID for RgCycleSlips.
bool isConnected_Log_OutputPort(FwIndexType portNum) const
void RateGroupMemberOut_out(FwIndexType portNum, U32 context) const
Invoke output port RateGroupMemberOut.
void log_WARNING_HI_RateGroupCycleSlip(U32 cycle) const
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
virtual void CycleIn_handler(FwIndexType portNum, Os::RawTime &cycleStart)=0
Handler for input port CycleIn.
Auto-generated base for ActiveRateGroup component.
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_Tlm_OutputPorts()
static constexpr FwIndexType getNum_CycleIn_InputPorts()
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
Svc::InputPingPort * get_PingIn_InputPort(FwIndexType portNum)
RateGroupDivider component implementation.
virtual void PingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port PingIn.
friend class ActiveRateGroupTester
Friend class tester implementation to support white-box testing.
bool isConnected_RateGroupMemberOut_OutputPort(FwIndexType portNum) const
Svc::InputCyclePort * get_CycleIn_InputPort(FwIndexType portNum)
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
void PingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port PingIn.