F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Svc::PassiveRateGroup Class Referencefinal

#include <Svc/PassiveRateGroup/PassiveRateGroup.hpp>

Inheritance diagram for Svc::PassiveRateGroup:
Svc::PassiveRateGroupComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Types

using ContextArray = Fw::Array< U32, CONNECTION_COUNT_MAX >
 Array of context values for rate group members, indexed by output port number. More...
 

Public Member Functions

 PassiveRateGroup (const char *compName)
 PassiveRateGroupImpl constructor. More...
 
void configure (const ContextArray &contexts, const Os::RawTimeSource rawTimeSource=Os::RAWTIME_DEFAULT)
 PassiveRateGroupImpl initialization function. More...
 
 DEPRECATED (void configure(const U32 contexts[], const FwIndexType numContexts), "Use configure(const PassiveRateGroup::ContextArray& contexts) instead")
 PassiveRateGroup configuration function. More...
 
 ~PassiveRateGroup ()
 PassiveRateGroupImpl destructor. More...
 
- Public Member Functions inherited from Svc::PassiveRateGroupComponentBase
void init (FwEnumStoreType instance=0)
 Initialize PassiveRateGroupComponentBase object. More...
 
Fw::InputCmdPortget_CmdDisp_InputPort (FwIndexType portNum)
 
Svc::InputCyclePortget_CycleIn_InputPort (FwIndexType portNum)
 
void set_CmdReg_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to CmdReg[portNum]. More...
 
void set_CmdStatus_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to CmdStatus[portNum]. More...
 
void set_Time_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to Time[portNum]. More...
 
void set_Tlm_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to Tlm[portNum]. More...
 
void set_RateGroupMemberOut_OutputPort (FwIndexType portNum, Svc::InputSchedPort *port)
 Connect port to RateGroupMemberOut[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const FwIdType)
 Set the ID base. More...
 
FwIdType getIdBase () const
 
virtual void deinit ()
 Deinitialization function. More...
 

Static Public Attributes

static constexpr FwIndexType CONNECTION_COUNT_MAX = NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS
 

Friends

class PassiveRateGroupTester
 

Additional Inherited Members

- Protected Types inherited from Svc::PassiveRateGroupComponentBase
enum  { NUM_CMDDISP_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  { NUM_CYCLEIN_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  { NUM_CMDREG_OUTPUT_PORTS = 1, NUM_CMDSTATUS_OUTPUT_PORTS = 1, NUM_TIME_OUTPUT_PORTS = 1, NUM_TLM_OUTPUT_PORTS = 1 }
 Enumerations for numbers of special output ports. More...
 
enum  { NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS = 10 }
 Enumerations for numbers of typed output ports. More...
 
enum  { OPCODE_CLEAR_STATISTICS = 0x0 }
 Command opcodes. More...
 
enum  {
  CHANNELID_MAXCYCLETIME = 0x0, CHANNELID_CYCLETIME = 0x1, CHANNELID_CYCLECOUNT = 0x2, CHANNELID_PORTCYCLETIME = 0x3,
  CHANNELID_PORTCYCLETIMEHWM = 0x4
}
 Channel IDs. More...
 
- Protected Member Functions inherited from Svc::PassiveRateGroupComponentBase
 PassiveRateGroupComponentBase (const char *compName="")
 Construct PassiveRateGroupComponentBase object. More...
 
virtual ~PassiveRateGroupComponentBase ()
 Destroy PassiveRateGroupComponentBase object. More...
 
bool isConnected_CmdReg_OutputPort (FwIndexType portNum) const
 
bool isConnected_CmdStatus_OutputPort (FwIndexType portNum) const
 
bool isConnected_Time_OutputPort (FwIndexType portNum) const
 
bool isConnected_Tlm_OutputPort (FwIndexType portNum) const
 
bool isConnected_RateGroupMemberOut_OutputPort (FwIndexType portNum) const
 
void CmdDisp_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 Handler base-class function for input port CmdDisp. More...
 
void CycleIn_handlerBase (FwIndexType portNum, Os::RawTime &cycleStart)
 Handler base-class function for input port CycleIn. More...
 
void RateGroupMemberOut_out (FwIndexType portNum, U32 context) const
 Invoke output port RateGroupMemberOut. More...
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
void CLEAR_STATISTICS_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void tlmWrite (FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_MaxCycleTime (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_CycleTime (U32 arg, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_CycleCount (U32 arg, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_PortCycleTime (const Svc::PassiveRateGroup_CycleTime &arg, Fw::Time _tlmTime=Fw::Time()) const
 Write telemetry channel PortCycleTime. More...
 
void tlmWrite_PortCycleTimeHWM (const Svc::PassiveRateGroup_CycleTime &arg, Fw::Time _tlmTime=Fw::Time())
 
Fw::Time getTime () const
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 Initialization function. More...
 
FwEnumStoreType getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 
- Static Protected Member Functions inherited from Svc::PassiveRateGroupComponentBase
static constexpr FwIndexType getNum_CmdDisp_InputPorts ()
 
static constexpr FwIndexType getNum_CycleIn_InputPorts ()
 
static constexpr FwIndexType getNum_CmdReg_OutputPorts ()
 
static constexpr FwIndexType getNum_CmdStatus_OutputPorts ()
 
static constexpr FwIndexType getNum_Time_OutputPorts ()
 
static constexpr FwIndexType getNum_Tlm_OutputPorts ()
 
static constexpr FwIndexType getNum_RateGroupMemberOut_OutputPorts ()
 

Detailed Description

Definition at line 33 of file PassiveRateGroup.hpp.

Member Typedef Documentation

◆ ContextArray

Array of context values for rate group members, indexed by output port number.

Definition at line 41 of file PassiveRateGroup.hpp.

Constructor & Destructor Documentation

◆ PassiveRateGroup()

Svc::PassiveRateGroup::PassiveRateGroup ( const char *  compName)
explicit

PassiveRateGroupImpl constructor.

The constructor of the class clears all the flags and copies the contents of the context array to private storage.

Parameters
compNameName of the component

Definition at line 22 of file PassiveRateGroup.cpp.

◆ ~PassiveRateGroup()

Svc::PassiveRateGroup::~PassiveRateGroup ( )

PassiveRateGroupImpl destructor.

The destructor of the class is empty

Definition at line 30 of file PassiveRateGroup.cpp.

Member Function Documentation

◆ configure()

void Svc::PassiveRateGroup::configure ( const ContextArray contexts,
const Os::RawTimeSource  rawTimeSource = Os::RAWTIME_DEFAULT 
)

PassiveRateGroupImpl initialization function.

PassiveRateGroup configuration function

The configuration function takes an array of context values to pass to members of the rate group.

Parameters
contextsArray of context values that will be sent to each member component. The index of the array corresponds to the output port number.
rawTimeSourceTimer source for cycle time measurements. WARNING: Only the end timestamp uses this source; the start timestamp comes from the cycle driver (typically RAWTIME_DEFAULT). Non-default values produce incorrect timing unless the cycle driver is modified to use the same source.

Definition at line 36 of file PassiveRateGroup.cpp.

◆ DEPRECATED()

Svc::PassiveRateGroup::DEPRECATED ( void   configureconst U32 contexts[], const FwIndexType numContexts,
"Use configure(const PassiveRateGroup::ContextArray& contexts) instead"   
)

PassiveRateGroup configuration function.

The configuration function takes an array of context values to pass to members of the rate group.

Parameters
contextsArray of integers that contain the context values that will be sent to each member component. The index of the array corresponds to the output port number.
numContextsThe number of elements in the context array.

Friends And Related Function Documentation

◆ PassiveRateGroupTester

friend class PassiveRateGroupTester
friend

Definition at line 35 of file PassiveRateGroup.hpp.

Member Data Documentation

◆ CONNECTION_COUNT_MAX

constexpr FwIndexType Svc::PassiveRateGroup::CONNECTION_COUNT_MAX = NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS
static

Definition at line 38 of file PassiveRateGroup.hpp.


The documentation for this class was generated from the following files: