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

#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 (FwTaskPriorityType priority=Os::Task::TASK_PRIORITY_DEFAULT, FwSizeType stackSize=Os::Task::TASK_DEFAULT, FwSizeType cpuAffinity=Os::Task::TASK_DEFAULT, FwTaskIdType identifier=static_cast< FwTaskIdType >(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::QueuedComponentBase
void deinit () override
 Allows de-initialization on teardown. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const FwIdType)
 Set the ID base. More...
 
FwIdType getIdBase () const
 

Protected Member Functions

void seqDoneIn_handler (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Handler for input port seqDoneIn. More...
 
void seqStartIn_handler (FwIndexType portNum, const Fw::StringBase &fileName)
 Handler for input port seqStartIn. More...
 
void seqRunIn_handler (FwIndexType 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...
 
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) const
 Log event InvalidSequencer. More...
 
void log_WARNING_HI_NoAvailableSequencers () const
 Log event NoAvailableSequencers. More...
 
void log_WARNING_LO_UnknownSequenceFinished (U16 idx) const
 Log event UnknownSequenceFinished. More...
 
void log_WARNING_HI_ConflictingSequenceStarted (U16 idx, const Fw::StringBase &newSequence, const Fw::StringBase &sequenceInInternalState) const
 Log event ConflictingSequenceStarted. More...
 
void log_WARNING_LO_UnexpectedSequenceStarted (U16 idx, const Fw::StringBase &newSequence) const
 Log event UnexpectedSequenceStarted. More...
 
void log_ACTIVITY_LO_LogSequencerStatus (U16 idx, Svc::SeqDispatcher_CmdSequencerState state, const Fw::StringBase &filename) const
 Log event LogSequencerStatus. More...
 
void tlmWrite_dispatchedCount (U32 arg, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_errorCount (U32 arg, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_sequencersAvailable (U32 arg, Fw::Time _tlmTime=Fw::Time()) const
 
Fw::Time getTime () const
 
- Protected Member Functions inherited from Fw::ActiveComponentBase
 ActiveComponentBase (const char *name)
 Constructor. More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType 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 (FwEnumStoreType instance)
 initialization function More...
 
Os::Queue::Status createQueue (FwSizeType depth, FwSizeType msgSize)
 
MsgDispatchStatus dispatchAvailableMessages ()
 dispatches all messages currently in the queue, returning status of the dispatch More...
 
FwSizeType 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 (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...
 

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...
 
- Static Protected Member Functions inherited from Svc::SeqDispatcherComponentBase
static constexpr FwIndexType getNum_cmdIn_InputPorts ()
 
static constexpr FwIndexType getNum_seqDoneIn_InputPorts ()
 
static constexpr FwIndexType getNum_seqRunIn_InputPorts ()
 
static constexpr FwIndexType getNum_seqStartIn_InputPorts ()
 
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts ()
 
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts ()
 
static constexpr FwIndexType getNum_logOut_OutputPorts ()
 
static constexpr FwIndexType getNum_timeCaller_OutputPorts ()
 
static constexpr FwIndexType getNum_tlmOut_OutputPorts ()
 
static constexpr FwIndexType getNum_seqRunOut_OutputPorts ()
 
- 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 17 of file SeqDispatcher.cpp.

Member Function Documentation

◆ seqDoneIn_handler()

void Svc::SeqDispatcher::seqDoneIn_handler ( FwIndexType  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 83 of file SeqDispatcher.cpp.

◆ seqRunIn_handler()

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

Handler for input port seqRunIn.

Parameters
portNumThe port number
fileNameThe sequence file

Implements Svc::SeqDispatcherComponentBase.

Definition at line 124 of file SeqDispatcher.cpp.

◆ seqStartIn_handler()

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

Handler for input port seqStartIn.

Parameters
portNumThe port number
fileNameThe sequence file

Implements Svc::SeqDispatcherComponentBase.

Definition at line 53 of file SeqDispatcher.cpp.


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