![]() |
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>
Public Member Functions | |
void | init (FwSizeType queueDepth, FwEnumStoreType instance=0) |
Initialize BlockDriverComponentBase object. | |
Drv::InputDataBufferPort * | get_BufferIn_InputPort (FwIndexType portNum) |
Svc::InputPingPort * | get_PingIn_InputPort (FwIndexType portNum) |
Svc::InputSchedPort * | get_Sched_InputPort (FwIndexType portNum) |
void | set_Time_OutputPort (FwIndexType portNum, Fw::InputTimePort *port) |
Connect port to Time[portNum]. | |
void | set_Tlm_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port) |
Connect port to Tlm[portNum]. | |
void | set_BufferOut_OutputPort (FwIndexType portNum, Drv::InputDataBufferPort *port) |
Connect port to BufferOut[portNum]. | |
void | set_CycleOut_OutputPort (FwIndexType portNum, Svc::InputCyclePort *port) |
Connect port to CycleOut[portNum]. | |
void | set_PingOut_OutputPort (FwIndexType portNum, Svc::InputPingPort *port) |
Connect port to PingOut[portNum]. | |
![]() | |
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 | |
void | exit () |
exit task in active component | |
Os::Task::Status | join () |
Join the thread. | |
DEPRECATED (Os::Task::Status join(void **value_ptr), "Switch to .join()") | |
Join to thread with discarded value_ptr. | |
![]() | |
void | setIdBase (const U32) |
Set the ID base. | |
U32 | getIdBase () const |
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. | |
virtual | ~BlockDriverComponentBase () |
Destroy BlockDriverComponentBase object. | |
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. | |
virtual void | PingIn_handler (FwIndexType portNum, U32 key)=0 |
Handler for input port PingIn. | |
virtual void | Sched_handler (FwIndexType portNum, U32 context)=0 |
Handler for input port Sched. | |
void | BufferIn_handlerBase (FwIndexType portNum, Drv::DataBuffer &buff) |
Handler base-class function for input port BufferIn. | |
void | PingIn_handlerBase (FwIndexType portNum, U32 key) |
Handler base-class function for input port PingIn. | |
void | Sched_handlerBase (FwIndexType portNum, U32 context) |
Handler base-class function for input port Sched. | |
virtual void | BufferIn_preMsgHook (FwIndexType portNum, Drv::DataBuffer &buff) |
Pre-message hook for async input port BufferIn. | |
virtual void | PingIn_preMsgHook (FwIndexType portNum, U32 key) |
Pre-message hook for async input port PingIn. | |
virtual void | Sched_preMsgHook (FwIndexType portNum, U32 context) |
Pre-message hook for async input port Sched. | |
void | BufferOut_out (FwIndexType portNum, Drv::DataBuffer &buff) |
Invoke output port BufferOut. | |
void | CycleOut_out (FwIndexType portNum, Os::RawTime &cycleStart) |
Invoke output port CycleOut. | |
void | PingOut_out (FwIndexType portNum, U32 key) |
Invoke output port PingOut. | |
virtual void | InterruptReport_internalInterfaceHandler (U32 interrupt)=0 |
Internal interface handler for InterruptReport. | |
void | InterruptReport_internalInterfaceInvoke (U32 interrupt) |
Internal interface base-class function for InterruptReport. | |
void | tlmWrite_BD_Cycles (U32 arg, Fw::Time _tlmTime=Fw::Time()) const |
Fw::Time | getTime () |
![]() | |
ActiveComponentBase (const char *name) | |
Constructor. | |
virtual | ~ActiveComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
initialization code | |
virtual void | preamble () |
A function that will be called before the event loop is entered. | |
MsgDispatchStatus | dispatch () |
The function that will dispatching messages. | |
virtual void | finalizer () |
A function that will be called after exiting the loop. | |
![]() | |
QueuedComponentBase (const char *name) | |
Constructor. | |
virtual | ~QueuedComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
initialization function | |
Os::Queue::Status | createQueue (FwSizeType depth, FwSizeType msgSize) |
NATIVE_INT_TYPE | getNumMsgsDropped () |
return number of messages dropped | |
void | incNumMsgDropped () |
increment the number of messages dropped | |
![]() | |
PassiveComponentBase (const char *name) | |
Named constructor. | |
virtual | ~PassiveComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
Initialization function. | |
NATIVE_INT_TYPE | getInstance () const |
![]() | |
ObjBase (const char *name) | |
ObjBase constructor. | |
virtual | ~ObjBase () |
Destructor. | |
void | init () |
Object initializer. | |
Friends | |
class | BlockDriverComponentBaseFriend |
Friend class for white-box testing. | |
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 | |
![]() | |
Os::Queue | m_queue |
queue object for active component | |
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 469 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Destroy BlockDriverComponentBase object.
Definition at line 476 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 611 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Pre-message hook for async input port BufferIn.
portNum | The port number |
buff | A data buffer |
Definition at line 778 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port BufferOut.
portNum | The port number |
buff | A data buffer |
Definition at line 809 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port CycleOut.
portNum | The port number |
cycleStart | Cycle start timestamp |
Definition at line 824 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 268 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 279 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 290 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of BufferIn input ports
Definition at line 486 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of BufferOut output ports
Definition at line 524 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of CycleOut output ports
Definition at line 530 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of PingIn input ports
Definition at line 492 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of PingOut output ports
Definition at line 536 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Sched input ports
Definition at line 498 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Time output ports
Definition at line 508 of file BlockDriverComponentAc.cpp.
|
protected |
Get the number of Tlm output ports
Definition at line 514 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 77 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 858 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port BufferOut is connected
portNum | The port number |
Definition at line 572 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port CycleOut is connected
portNum | The port number |
Definition at line 583 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port PingOut is connected
portNum | The port number |
Definition at line 594 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port Time is connected
portNum | The port number |
Definition at line 546 of file BlockDriverComponentAc.cpp.
|
protected |
Check whether port Tlm is connected
portNum | The port number |
Definition at line 557 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 664 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 787 of file BlockDriverComponentAc.cpp.
|
protected |
Invoke output port PingOut.
portNum | The port number |
key | Value to return to pinger |
Definition at line 839 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 717 of file BlockDriverComponentAc.cpp.
|
protectedvirtual |
Pre-message hook for async input port Sched.
portNum | The port number |
context | The call order |
Definition at line 796 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 337 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 351 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 365 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 305 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 319 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 898 of file BlockDriverComponentAc.cpp.
|
friend |
Friend class for white-box testing.
Definition at line 38 of file BlockDriverComponentAc.hpp.