21 : PassiveRateGroupComponentBase(compName), m_cycles(0), m_maxTime(0), m_numContexts(0) {
28 FW_ASSERT(numContexts == this->getNum_RateGroupMemberOut_OutputPorts(),numContexts,this->getNum_RateGroupMemberOut_OutputPorts());
31 this->getNum_RateGroupMemberOut_OutputPorts());
33 this->m_numContexts = numContexts;
36 this->m_contexts[entry] = contexts[entry];
46 for (
NATIVE_INT_TYPE port = 0; port < this->getNum_RateGroupMemberOut_OutputPorts(); port++) {
47 if (this->isConnected_RateGroupMemberOut_OutputPort(port)) {
48 this->RateGroupMemberOut_out(port, this->m_contexts[port]);
56 U32 cycle_time = end.
diffUSec(cycleStart);
59 if (cycle_time > this->m_maxTime) {
60 this->m_maxTime = cycle_time;
62 this->tlmWrite_MaxCycleTime(this->m_maxTime);
63 this->tlmWrite_CycleTime(cycle_time);
64 this->tlmWrite_CycleCount(++this->m_cycles);
PlatformIntType NATIVE_INT_TYPE
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
C++-compatible configuration header for fprime configuration.
~PassiveRateGroup()
PassiveRateGroupImpl destructor.
void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts)
PassiveRateGroupImpl initialization function.
PassiveRateGroup(const char *compName)
PassiveRateGroupImpl constructor.
Serializable class for carrying timer values.
void take()
Function to store a timer value.
U32 diffUSec(const TimerVal &time)
Compute difference function.