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

#include <Svc/SeqDispatcher/SeqDispatcher.hpp>

Inheritance diagram for Svc::SeqDispatcher:
Svc::SeqDispatcherComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Member Functions

 SeqDispatcher (const char *const compName)
 
 ~SeqDispatcher ()
 
- Public Member Functions inherited from Svc::SeqDispatcherComponentBase
void init (FwSizeType queueDepth, FwEnumStoreType instance=0)
 Initialize SeqDispatcherComponentBase object. More...
 
Fw::InputCmdPortget_cmdIn_InputPort (FwIndexType portNum)
 
Fw::InputCmdResponsePortget_seqDoneIn_InputPort (FwIndexType portNum)
 
Svc::InputCmdSeqInPortget_seqRunIn_InputPort (FwIndexType portNum)
 
Svc::InputCmdSeqInPortget_seqStartIn_InputPort (FwIndexType portNum)
 
void set_cmdRegOut_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to cmdRegOut[portNum]. More...
 
void set_cmdResponseOut_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to cmdResponseOut[portNum]. More...
 
void set_logOut_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to logOut[portNum]. More...
 
void set_timeCaller_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to timeCaller[portNum]. More...
 
void set_tlmOut_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to tlmOut[portNum]. More...
 
void set_seqRunOut_OutputPort (FwIndexType portNum, Svc::InputCmdSeqInPort *port)
 Connect port to seqRunOut[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (Os::Task::ParamType priority=Os::Task::TASK_DEFAULT, Os::Task::ParamType stackSize=Os::Task::TASK_DEFAULT, Os::Task::ParamType cpuAffinity=Os::Task::TASK_DEFAULT, Os::Task::ParamType identifier=Os::Task::TASK_DEFAULT)
 called by instantiator when task is to be started More...
 
void exit ()
 exit task in active component More...
 
Os::Task::Status join ()
 Join the thread. More...
 
 DEPRECATED (Os::Task::Status join(void **value_ptr), "Switch to .join()")
 Join to thread with discarded value_ptr. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase () const
 

Protected Member Functions

void seqDoneIn_handler (NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Handler for input port seqDoneIn. More...
 
void seqStartIn_handler (NATIVE_INT_TYPE portNum, const Fw::StringBase &fileName)
 Handler for input port seqStartIn. More...
 
void seqRunIn_handler (NATIVE_INT_TYPE portNum, const Fw::StringBase &fileName)
 Handler for input port seqRunIn. More...
 
- Protected Member Functions inherited from Svc::SeqDispatcherComponentBase
 SeqDispatcherComponentBase (const char *compName="")
 Construct SeqDispatcherComponentBase object. More...
 
virtual ~SeqDispatcherComponentBase ()
 Destroy SeqDispatcherComponentBase object. More...
 
FwIndexType getNum_cmdIn_InputPorts () const
 
FwIndexType getNum_seqDoneIn_InputPorts () const
 
FwIndexType getNum_seqRunIn_InputPorts () const
 
FwIndexType getNum_seqStartIn_InputPorts () const
 
FwIndexType getNum_cmdRegOut_OutputPorts () const
 
FwIndexType getNum_cmdResponseOut_OutputPorts () const
 
FwIndexType getNum_logOut_OutputPorts () const
 
FwIndexType getNum_timeCaller_OutputPorts () const
 
FwIndexType getNum_tlmOut_OutputPorts () const
 
FwIndexType getNum_seqRunOut_OutputPorts () const
 
bool isConnected_cmdRegOut_OutputPort (FwIndexType portNum)
 
bool isConnected_cmdResponseOut_OutputPort (FwIndexType portNum)
 
bool isConnected_logOut_OutputPort (FwIndexType portNum)
 
bool isConnected_timeCaller_OutputPort (FwIndexType portNum)
 
bool isConnected_tlmOut_OutputPort (FwIndexType portNum)
 
bool isConnected_seqRunOut_OutputPort (FwIndexType portNum)
 
void seqDoneIn_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Handler base-class function for input port seqDoneIn. More...
 
void seqRunIn_handlerBase (FwIndexType portNum, const Fw::StringBase &filename)
 Handler base-class function for input port seqRunIn. More...
 
void seqStartIn_handlerBase (FwIndexType portNum, const Fw::StringBase &filename)
 Handler base-class function for input port seqStartIn. More...
 
virtual void seqDoneIn_preMsgHook (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Pre-message hook for async input port seqDoneIn. More...
 
virtual void seqRunIn_preMsgHook (FwIndexType portNum, const Fw::StringBase &filename)
 Pre-message hook for async input port seqRunIn. More...
 
virtual void seqStartIn_preMsgHook (FwIndexType portNum, const Fw::StringBase &filename)
 Pre-message hook for async input port seqStartIn. More...
 
void seqRunOut_out (FwIndexType portNum, const Fw::StringBase &filename)
 Invoke output port seqRunOut. More...
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
void RUN_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void LOG_STATUS_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
virtual void RUN_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command RUN. More...
 
virtual void LOG_STATUS_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command LOG_STATUS. More...
 
void log_WARNING_HI_InvalidSequencer (U16 idx)
 Log event InvalidSequencer. More...
 
void log_WARNING_HI_NoAvailableSequencers ()
 Log event NoAvailableSequencers. More...
 
void log_WARNING_LO_UnknownSequenceFinished (U16 idx)
 Log event UnknownSequenceFinished. More...
 
void log_WARNING_HI_ConflictingSequenceStarted (U16 idx, const Fw::StringBase &newSequence, const Fw::StringBase &sequenceInInternalState)
 Log event ConflictingSequenceStarted. More...
 
void log_WARNING_LO_UnexpectedSequenceStarted (U16 idx, const Fw::StringBase &newSequence)
 Log event UnexpectedSequenceStarted. More...
 
void log_ACTIVITY_LO_LogSequencerStatus (U16 idx, Svc::SeqDispatcher_CmdSequencerState state, const Fw::StringBase &filename)
 Log event LogSequencerStatus. More...
 
void tlmWrite_dispatchedCount (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_errorCount (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_sequencersAvailable (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
Fw::Time getTime ()
 
- Protected Member Functions inherited from Fw::ActiveComponentBase
 ActiveComponentBase (const char *name)
 Constructor. More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble ()
 A function that will be called before the event loop is entered. More...
 
MsgDispatchStatus dispatch ()
 The function that will dispatching messages. More...
 
virtual void finalizer ()
 A function that will be called after exiting the loop. More...
 
- Protected Member Functions inherited from Fw::QueuedComponentBase
 QueuedComponentBase (const char *name)
 Constructor. More...
 
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::Status createQueue (FwSizeType depth, FwSizeType msgSize)
 
NATIVE_INT_TYPE getNumMsgsDropped ()
 return number of messages dropped More...
 
void incNumMsgDropped ()
 increment the number of messages dropped More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE 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...
 

Additional Inherited Members

- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK , MSG_DISPATCH_EMPTY , MSG_DISPATCH_ERROR , MSG_DISPATCH_EXIT }
 
- Protected Types inherited from Svc::SeqDispatcherComponentBase
enum  { NUM_CMDIN_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  { NUM_SEQDONEIN_INPUT_PORTS = 2 , NUM_SEQRUNIN_INPUT_PORTS = 1 , NUM_SEQSTARTIN_INPUT_PORTS = 2 }
 Enumerations for numbers of typed input ports. More...
 
enum  {
  NUM_CMDREGOUT_OUTPUT_PORTS = 1 , NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1 , NUM_LOGOUT_OUTPUT_PORTS = 1 , NUM_LOGTEXTOUT_OUTPUT_PORTS = 1 ,
  NUM_TIMECALLER_OUTPUT_PORTS = 1 , NUM_TLMOUT_OUTPUT_PORTS = 1
}
 Enumerations for numbers of special output ports. More...
 
enum  { NUM_SEQRUNOUT_OUTPUT_PORTS = 2 }
 Enumerations for numbers of typed output ports. More...
 
enum  { OPCODE_RUN = 0x0 , OPCODE_LOG_STATUS = 0x1 }
 Command opcodes. More...
 
enum  {
  EVENTID_INVALIDSEQUENCER = 0x0 , EVENTID_NOAVAILABLESEQUENCERS = 0x1 , EVENTID_UNKNOWNSEQUENCEFINISHED = 0x2 , EVENTID_CONFLICTINGSEQUENCESTARTED = 0x3 ,
  EVENTID_UNEXPECTEDSEQUENCESTARTED = 0x4 , EVENTID_LOGSEQUENCERSTATUS = 0x5
}
 Event IDs. More...
 
enum  { CHANNELID_DISPATCHEDCOUNT = 0x0 , CHANNELID_ERRORCOUNT = 0x1 , CHANNELID_SEQUENCERSAVAILABLE = 0x2 }
 Channel IDs. More...
 
- Protected Types inherited from Fw::ActiveComponentBase
enum  Lifecycle { CREATED , DISPATCHING , FINALIZING , DONE }
 Tracks the lifecycle of the component. More...
 
- Protected Attributes inherited from Fw::ActiveComponentBase
Os::Task m_task
 task object for active component More...
 
- Protected Attributes inherited from Fw::QueuedComponentBase
Os::Queue m_queue
 queue object for active component More...
 

Detailed Description

Definition at line 18 of file SeqDispatcher.hpp.

Constructor & Destructor Documentation

◆ SeqDispatcher()

Svc::SeqDispatcher::SeqDispatcher ( const char *const  compName)

Construct object SeqDispatcher

Parameters
compNameThe component name

Definition at line 15 of file SeqDispatcher.cpp.

◆ ~SeqDispatcher()

Svc::SeqDispatcher::~SeqDispatcher ( )

Destroy object SeqDispatcher

Definition at line 18 of file SeqDispatcher.cpp.

Member Function Documentation

◆ seqDoneIn_handler()

void Svc::SeqDispatcher::seqDoneIn_handler ( NATIVE_INT_TYPE  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdResponse response 
)
protectedvirtual

Handler for input port seqDoneIn.

Parameters
portNumThe port number
opCodeCommand Op Code
cmdSeqCommand Sequence
responseThe command response argument

Implements Svc::SeqDispatcherComponentBase.

Definition at line 93 of file SeqDispatcher.cpp.

◆ seqRunIn_handler()

void Svc::SeqDispatcher::seqRunIn_handler ( NATIVE_INT_TYPE  portNum,
const Fw::StringBase fileName 
)
protectedvirtual

Handler for input port seqRunIn.

Parameters
portNumThe port number
fileNameThe sequence file

Implements Svc::SeqDispatcherComponentBase.

Definition at line 139 of file SeqDispatcher.cpp.

◆ seqStartIn_handler()

void Svc::SeqDispatcher::seqStartIn_handler ( NATIVE_INT_TYPE  portNum,
const Fw::StringBase fileName 
)
protectedvirtual

Handler for input port seqStartIn.

Parameters
portNumThe port number
fileNameThe sequence file

Implements Svc::SeqDispatcherComponentBase.

Definition at line 60 of file SeqDispatcher.cpp.


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