![]() |
F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
|
Auto-generated base for BlockDriver component. More...
#include <Drv/BlockDriver/BlockDriverComponentAc.hpp>
Protected Types | |
enum | { NUM_BUFFERIN_INPUT_PORTS = 1, NUM_PINGIN_INPUT_PORTS = 1, NUM_SCHED_INPUT_PORTS = 1 } |
Enumerations for numbers of typed input ports. More... | |
enum | { NUM_TIME_OUTPUT_PORTS = 1, NUM_TLM_OUTPUT_PORTS = 1 } |
Enumerations for numbers of special output ports. More... | |
enum | { NUM_BUFFEROUT_OUTPUT_PORTS = 1, NUM_CYCLEOUT_OUTPUT_PORTS = 1, NUM_PINGOUT_OUTPUT_PORTS = 1 } |
Enumerations for numbers of typed output ports. More... | |
enum | { CHANNELID_BD_CYCLES = 0x0 } |
Channel IDs. More... | |
![]() | |
enum | Lifecycle { CREATED, DISPATCHING, FINALIZING, DONE } |
Tracks the lifecycle of the component. More... | |
Protected Member Functions | |
BlockDriverComponentBase (const char *compName="") | |
Construct BlockDriverComponentBase object. More... | |
virtual | ~BlockDriverComponentBase () |
Destroy BlockDriverComponentBase object. More... | |
FwIndexType | getNum_BufferIn_InputPorts () const |
FwIndexType | getNum_PingIn_InputPorts () const |
FwIndexType | getNum_Sched_InputPorts () const |
FwIndexType | getNum_Time_OutputPorts () const |
FwIndexType | getNum_Tlm_OutputPorts () const |
FwIndexType | getNum_BufferOut_OutputPorts () const |
FwIndexType | getNum_CycleOut_OutputPorts () const |
FwIndexType | getNum_PingOut_OutputPorts () const |
bool | isConnected_Time_OutputPort (FwIndexType portNum) |
bool | isConnected_Tlm_OutputPort (FwIndexType portNum) |
bool | isConnected_BufferOut_OutputPort (FwIndexType portNum) |
bool | isConnected_CycleOut_OutputPort (FwIndexType portNum) |
bool | isConnected_PingOut_OutputPort (FwIndexType portNum) |
virtual void | BufferIn_handler (FwIndexType portNum, Drv::DataBuffer &buff)=0 |
Handler for input port BufferIn. More... | |
virtual void | PingIn_handler (FwIndexType portNum, U32 key)=0 |
Handler for input port PingIn. More... | |
virtual void | Sched_handler (FwIndexType portNum, U32 context)=0 |
Handler for input port Sched. More... | |
void | BufferIn_handlerBase (FwIndexType portNum, Drv::DataBuffer &buff) |
Handler base-class function for input port BufferIn. More... | |
void | PingIn_handlerBase (FwIndexType portNum, U32 key) |
Handler base-class function for input port PingIn. More... | |
void | Sched_handlerBase (FwIndexType portNum, U32 context) |
Handler base-class function for input port Sched. More... | |
virtual void | BufferIn_preMsgHook (FwIndexType portNum, Drv::DataBuffer &buff) |
Pre-message hook for async input port BufferIn. More... | |
virtual void | PingIn_preMsgHook (FwIndexType portNum, U32 key) |
Pre-message hook for async input port PingIn. More... | |
virtual void | Sched_preMsgHook (FwIndexType portNum, U32 context) |
Pre-message hook for async input port Sched. More... | |
void | BufferOut_out (FwIndexType portNum, Drv::DataBuffer &buff) |
Invoke output port BufferOut. More... | |
void | CycleOut_out (FwIndexType portNum, Os::RawTime &cycleStart) |
Invoke output port CycleOut. More... | |
void | PingOut_out (FwIndexType portNum, U32 key) |
Invoke output port PingOut. More... | |
virtual void | InterruptReport_internalInterfaceHandler (U32 interrupt)=0 |
Internal interface handler for InterruptReport. More... | |
void | InterruptReport_internalInterfaceInvoke (U32 interrupt) |
Internal interface base-class function for InterruptReport. More... | |
void | tlmWrite_BD_Cycles (U32 arg, Fw::Time _tlmTime=Fw::Time()) const |
Fw::Time | getTime () |
![]() | |
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... | |
![]() | |
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) |
FwSizeType | getNumMsgsDropped () |
return number of messages dropped More... | |
void | incNumMsgDropped () |
increment the number of messages dropped More... | |
![]() | |
PassiveComponentBase (const char *name) | |
Named constructor. More... | |
virtual | ~PassiveComponentBase () |
Destructor. More... | |
void | init (FwEnumStoreType instance) |
Initialization function. More... | |
FwEnumStoreType | getInstance () const |
![]() | |
ObjBase (const char *name) | |
ObjBase constructor. More... | |
virtual | ~ObjBase () |
Destructor. More... | |
void | init () |
Object initializer. More... | |
Friends | |
class | BlockDriverComponentBaseFriend |
Friend class for white-box testing. More... | |
Additional Inherited Members | |
![]() | |
enum | { ACTIVE_COMPONENT_EXIT } |
![]() | |
enum | MsgDispatchStatus { MSG_DISPATCH_OK, MSG_DISPATCH_EMPTY, MSG_DISPATCH_ERROR, MSG_DISPATCH_EXIT } |
![]() | |
Os::Task | m_task |
task object for active component More... | |
![]() | |
Os::Queue | m_queue |
queue object for active component More... | |
Auto-generated base for BlockDriver component.
An example block driver component with data buffers and interrupts
Definition at line 29 of file BlockDriverComponentAc.hpp.
|
protected |
Enumerations for numbers of typed input ports.
Enumerator | |
---|---|
NUM_BUFFERIN_INPUT_PORTS | |
NUM_PINGIN_INPUT_PORTS | |
NUM_SCHED_INPUT_PORTS |
Definition at line 47 of file BlockDriverComponentAc.hpp.
|
protected |
Enumerations for numbers of special output ports.
Enumerator | |
---|---|
NUM_TIME_OUTPUT_PORTS | |
NUM_TLM_OUTPUT_PORTS |
Definition at line 54 of file BlockDriverComponentAc.hpp.
|
protected |
Enumerations for numbers of typed output ports.
Enumerator | |
---|---|
NUM_BUFFEROUT_OUTPUT_PORTS | |
NUM_CYCLEOUT_OUTPUT_PORTS | |
NUM_PINGOUT_OUTPUT_PORTS |
Definition at line 60 of file BlockDriverComponentAc.hpp.
|
protected |
Channel IDs.
Enumerator | |
---|---|
CHANNELID_BD_CYCLES | Channel ID for BD_Cycles. |
Definition at line 67 of file BlockDriverComponentAc.hpp.
|
protected |
Construct BlockDriverComponentBase object.
compName | The component name |
Definition at line 470 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Destroy BlockDriverComponentBase object.
Definition at line 477 of file BlockDriverComponentAc.cpp.
|
protectedpure virtual |
Handler for input port BufferIn.
portNum | The port number |
buff | A data buffer |
|
protected |
Handler base-class function for input port BufferIn.
portNum | The port number |
buff | A data buffer |
Definition at line 612 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Pre-message hook for async input port BufferIn.
portNum | The port number |
buff | A data buffer |
Definition at line 779 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port BufferOut.
portNum | The port number |
buff | A data buffer |
Definition at line 810 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port CycleOut.
portNum | The port number |
cycleStart | Cycle start timestamp |
Definition at line 830 of file BlockDriverComponentAc.cpp.
Drv::InputDataBufferPort * Drv::BlockDriverComponentBase::get_BufferIn_InputPort | ( | FwIndexType | portNum | ) |
Get typed input port at index
portNum | The port number |
Definition at line 269 of file BlockDriverComponentAc.cpp.
Svc::InputPingPort * Drv::BlockDriverComponentBase::get_PingIn_InputPort | ( | FwIndexType | portNum | ) |
Get typed input port at index
portNum | The port number |
Definition at line 280 of file BlockDriverComponentAc.cpp.
Svc::InputSchedPort * Drv::BlockDriverComponentBase::get_Sched_InputPort | ( | FwIndexType | portNum | ) |
Get typed input port at index
portNum | The port number |
Definition at line 291 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of BufferIn input ports
Definition at line 487 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of BufferOut output ports
Definition at line 525 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of CycleOut output ports
Definition at line 531 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of PingIn input ports
Definition at line 493 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of PingOut output ports
Definition at line 537 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Sched input ports
Definition at line 499 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Time output ports
Definition at line 509 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Tlm output ports
Definition at line 515 of file BlockDriverComponentAc.cpp.
|
protected |
void Drv::BlockDriverComponentBase::init | ( | FwSizeType | queueDepth, |
FwEnumStoreType | instance = 0 |
||
) |
Initialize BlockDriverComponentBase object.
queueDepth | The queue depth |
instance | The instance number |
Definition at line 78 of file BlockDriverComponentAc.cpp.
|
protectedpure virtual |
Internal interface handler for InterruptReport.
interrupt | The interrupt register value |
|
protected |
Internal interface base-class function for InterruptReport.
interrupt | The interrupt register value |
Definition at line 874 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port BufferOut is connected
portNum | The port number |
Definition at line 573 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port CycleOut is connected
portNum | The port number |
Definition at line 584 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port PingOut is connected
portNum | The port number |
Definition at line 595 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port Time is connected
portNum | The port number |
Definition at line 547 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port Tlm is connected
portNum | The port number |
Definition at line 558 of file BlockDriverComponentAc.cpp.
|
protectedpure virtual |
Handler for input port PingIn.
portNum | The port number |
key | Value to return to pinger |
|
protected |
Handler base-class function for input port PingIn.
portNum | The port number |
key | Value to return to pinger |
Definition at line 665 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Pre-message hook for async input port PingIn.
portNum | The port number |
key | Value to return to pinger |
Definition at line 788 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port PingOut.
portNum | The port number |
key | Value to return to pinger |
Definition at line 850 of file BlockDriverComponentAc.cpp.
|
protectedpure virtual |
Handler for input port Sched.
portNum | The port number |
context | The call order |
|
protected |
Handler base-class function for input port Sched.
portNum | The port number |
context | The call order |
Definition at line 718 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Pre-message hook for async input port Sched.
portNum | The port number |
context | The call order |
Definition at line 797 of file BlockDriverComponentAc.cpp.
void Drv::BlockDriverComponentBase::set_BufferOut_OutputPort | ( | FwIndexType | portNum, |
Drv::InputDataBufferPort * | port | ||
) |
Connect port to BufferOut[portNum].
portNum | The port number |
port | The input port |
Definition at line 338 of file BlockDriverComponentAc.cpp.
void Drv::BlockDriverComponentBase::set_CycleOut_OutputPort | ( | FwIndexType | portNum, |
Svc::InputCyclePort * | port | ||
) |
Connect port to CycleOut[portNum].
portNum | The port number |
port | The input port |
Definition at line 352 of file BlockDriverComponentAc.cpp.
void Drv::BlockDriverComponentBase::set_PingOut_OutputPort | ( | FwIndexType | portNum, |
Svc::InputPingPort * | port | ||
) |
Connect port to PingOut[portNum].
portNum | The port number |
port | The input port |
Definition at line 366 of file BlockDriverComponentAc.cpp.
void Drv::BlockDriverComponentBase::set_Time_OutputPort | ( | FwIndexType | portNum, |
Fw::InputTimePort * | port | ||
) |
Connect port to Time[portNum].
portNum | The port number |
port | The input port |
Definition at line 306 of file BlockDriverComponentAc.cpp.
void Drv::BlockDriverComponentBase::set_Tlm_OutputPort | ( | FwIndexType | portNum, |
Fw::InputTlmPort * | port | ||
) |
Connect port to Tlm[portNum].
portNum | The port number |
port | The input port |
Definition at line 320 of file BlockDriverComponentAc.cpp.
|
protected |
Write telemetry channel BD_Cycles
Driver cycle count
arg | The telemetry value |
_tlmTime | Timestamp. Default: unspecified, request from getTime port |
Definition at line 914 of file BlockDriverComponentAc.cpp.
|
friend |
Friend class for white-box testing.
Definition at line 38 of file BlockDriverComponentAc.hpp.