![]() |
F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
|
#include <Svc/FileDownlink/FileDownlink.hpp>
Public Member Functions | |
FileDownlink (const char *const compName) | |
void | init (const NATIVE_INT_TYPE queueDepth, const NATIVE_INT_TYPE instance) |
void | configure (U32 timeout, U32 cooldown, U32 cycleTime, U32 fileQueueDepth) |
void | preamble () |
~FileDownlink () | |
![]() | |
void | init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance=0) |
Initialize FileDownlinkComponentBase object. | |
Fw::InputCmdPort * | get_cmdIn_InputPort (NATIVE_INT_TYPE portNum) |
Svc::InputSchedPort * | get_Run_InputPort (NATIVE_INT_TYPE portNum) |
Svc::InputSendFileRequestPort * | get_SendFile_InputPort (NATIVE_INT_TYPE portNum) |
Fw::InputBufferSendPort * | get_bufferReturn_InputPort (NATIVE_INT_TYPE portNum) |
Svc::InputPingPort * | get_pingIn_InputPort (NATIVE_INT_TYPE portNum) |
void | set_cmdRegOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port) |
Connect port to cmdRegOut[portNum]. | |
void | set_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port) |
Connect port to cmdResponseOut[portNum]. | |
void | set_eventOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputLogPort *port) |
Connect port to eventOut[portNum]. | |
void | set_timeCaller_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTimePort *port) |
Connect port to timeCaller[portNum]. | |
void | set_tlmOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port) |
Connect port to tlmOut[portNum]. | |
void | set_FileComplete_OutputPort (NATIVE_INT_TYPE portNum, Svc::InputSendFileCompletePort *port) |
Connect port to FileComplete[portNum]. | |
void | set_bufferSendOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputBufferSendPort *port) |
Connect port to bufferSendOut[portNum]. | |
void | set_pingOut_OutputPort (NATIVE_INT_TYPE portNum, Svc::InputPingPort *port) |
Connect port to pingOut[portNum]. | |
void | regCommands () |
Register commands with the Command Dispatcher. | |
![]() | |
void | start (NATIVE_UINT_TYPE priority=Os::Task::TASK_DEFAULT, NATIVE_UINT_TYPE stackSize=Os::Task::TASK_DEFAULT, NATIVE_UINT_TYPE cpuAffinity=Os::Task::TASK_DEFAULT, NATIVE_UINT_TYPE identifier=Os::Task::TASK_DEFAULT) |
called by instantiator when task is to be started | |
DEPRECATED (void start(NATIVE_INT_TYPE identifier, NATIVE_INT_TYPE priority, NATIVE_INT_TYPE stackSize, NATIVE_INT_TYPE cpuAffinity=-1), "Please switch to start(NATIVE_UINT_TYPE priority, NATIVE_UINT_TYPE stackSize, NATIVE_UINT_TYPE cpuAffinity, NATIVE_UINT_TYPE identifier)") | |
called by instantiator when task is to be started | |
void | exit () |
exit task in active component | |
Os::Task::TaskStatus | join (void **value_ptr) |
provide return value of thread if value_ptr is not NULL | |
![]() | |
void | setIdBase (const U32) |
Set the ID base. | |
U32 | getIdBase () const |
Additional Inherited Members | |
![]() | |
enum | { ACTIVE_COMPONENT_EXIT } |
![]() | |
enum | MsgDispatchStatus { MSG_DISPATCH_OK , MSG_DISPATCH_EMPTY , MSG_DISPATCH_ERROR , MSG_DISPATCH_EXIT } |
![]() | |
enum | { NUM_CMDIN_INPUT_PORTS = 1 } |
Enumerations for numbers of special input ports. More... | |
enum | { NUM_RUN_INPUT_PORTS = 1 , NUM_SENDFILE_INPUT_PORTS = 1 , NUM_BUFFERRETURN_INPUT_PORTS = 1 , NUM_PINGIN_INPUT_PORTS = 1 } |
Enumerations for numbers of typed input ports. More... | |
enum | { NUM_CMDREGOUT_OUTPUT_PORTS = 1 , NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1 , NUM_EVENTOUT_OUTPUT_PORTS = 1 , NUM_TEXTEVENTOUT_OUTPUT_PORTS = 1 , NUM_TIMECALLER_OUTPUT_PORTS = 1 , NUM_TLMOUT_OUTPUT_PORTS = 1 } |
Enumerations for numbers of special output ports. More... | |
enum | { NUM_FILECOMPLETE_OUTPUT_PORTS = 1 , NUM_BUFFERSENDOUT_OUTPUT_PORTS = 1 , NUM_PINGOUT_OUTPUT_PORTS = 1 } |
Enumerations for numbers of typed output ports. More... | |
enum | { OPCODE_SENDFILE = 0x0 , OPCODE_CANCEL = 0x1 , OPCODE_SENDPARTIAL = 0x2 } |
Command opcodes. More... | |
enum | { EVENTID_FILEOPENERROR = 0x0 , EVENTID_FILEREADERROR = 0x1 , EVENTID_FILESENT = 0x2 , EVENTID_DOWNLINKCANCELED = 0x3 , EVENTID_DOWNLINKTIMEOUT = 0x4 , EVENTID_DOWNLINKPARTIALWARNING = 0x5 , EVENTID_DOWNLINKPARTIALFAIL = 0x6 , EVENTID_SENDDATAFAIL = 0x7 , EVENTID_SENDSTARTED = 0x8 } |
Event IDs. More... | |
enum | { CHANNELID_FILESSENT = 0x0 , CHANNELID_PACKETSSENT = 0x1 , CHANNELID_WARNINGS = 0x2 } |
Channel IDs. More... | |
![]() | |
FileDownlinkComponentBase (const char *compName="") | |
Construct FileDownlinkComponentBase object. | |
virtual | ~FileDownlinkComponentBase () |
Destroy FileDownlinkComponentBase object. | |
NATIVE_INT_TYPE | getNum_cmdIn_InputPorts () const |
NATIVE_INT_TYPE | getNum_Run_InputPorts () const |
NATIVE_INT_TYPE | getNum_SendFile_InputPorts () const |
NATIVE_INT_TYPE | getNum_bufferReturn_InputPorts () const |
NATIVE_INT_TYPE | getNum_pingIn_InputPorts () const |
NATIVE_INT_TYPE | getNum_cmdRegOut_OutputPorts () const |
NATIVE_INT_TYPE | getNum_cmdResponseOut_OutputPorts () const |
NATIVE_INT_TYPE | getNum_eventOut_OutputPorts () const |
NATIVE_INT_TYPE | getNum_timeCaller_OutputPorts () const |
NATIVE_INT_TYPE | getNum_tlmOut_OutputPorts () const |
NATIVE_INT_TYPE | getNum_FileComplete_OutputPorts () const |
NATIVE_INT_TYPE | getNum_bufferSendOut_OutputPorts () const |
NATIVE_INT_TYPE | getNum_pingOut_OutputPorts () const |
bool | isConnected_cmdRegOut_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_eventOut_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_timeCaller_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_tlmOut_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_FileComplete_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_bufferSendOut_OutputPort (NATIVE_INT_TYPE portNum) |
bool | isConnected_pingOut_OutputPort (NATIVE_INT_TYPE portNum) |
void | Run_handlerBase (NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context) |
Handler base-class function for input port Run. | |
Svc::SendFileResponse | SendFile_handlerBase (NATIVE_INT_TYPE portNum, const Svc::SendFileRequestPortStrings::StringSize100 &sourceFileName, const Svc::SendFileRequestPortStrings::StringSize100 &destFileName, U32 offset, U32 length) |
Handler base-class function for input port SendFile. | |
void | bufferReturn_handlerBase (NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer) |
Handler base-class function for input port bufferReturn. | |
void | pingIn_handlerBase (NATIVE_INT_TYPE portNum, U32 key) |
Handler base-class function for input port pingIn. | |
virtual void | Run_preMsgHook (NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context) |
Pre-message hook for async input port Run. | |
virtual void | bufferReturn_preMsgHook (NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer) |
Pre-message hook for async input port bufferReturn. | |
virtual void | pingIn_preMsgHook (NATIVE_INT_TYPE portNum, U32 key) |
Pre-message hook for async input port pingIn. | |
void | FileComplete_out (NATIVE_INT_TYPE portNum, const Svc::SendFileResponse &resp) |
Invoke output port FileComplete. | |
void | bufferSendOut_out (NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer) |
Invoke output port bufferSendOut. | |
void | pingOut_out (NATIVE_INT_TYPE portNum, U32 key) |
Invoke output port pingOut. | |
void | cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response) |
Emit command response. | |
void | SendFile_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args) |
void | Cancel_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args) |
void | SendPartial_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args) |
virtual void | SendFile_preMsgHook (FwOpcodeType opCode, U32 cmdSeq) |
Pre-message hook for command SendFile. | |
virtual void | Cancel_preMsgHook (FwOpcodeType opCode, U32 cmdSeq) |
Pre-message hook for command Cancel. | |
virtual void | SendPartial_preMsgHook (FwOpcodeType opCode, U32 cmdSeq) |
Pre-message hook for command SendPartial. | |
void | log_WARNING_HI_FileOpenError (const Fw::LogStringArg &fileName) |
void | log_WARNING_HI_FileReadError (const Fw::LogStringArg &fileName, I32 status) |
void | log_ACTIVITY_HI_FileSent (const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName) |
void | log_ACTIVITY_HI_DownlinkCanceled (const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName) |
void | log_WARNING_HI_DownlinkTimeout (const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName) |
void | log_WARNING_LO_DownlinkPartialWarning (U32 startOffset, U32 length, U32 filesize, const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName) |
void | log_WARNING_HI_DownlinkPartialFail (const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName, U32 startOffset, U32 filesize) |
void | log_WARNING_HI_SendDataFail (const Fw::LogStringArg &sourceFileName, U32 byteOffset) |
void | log_ACTIVITY_HI_SendStarted (U32 fileSize, const Fw::LogStringArg &sourceFileName, const Fw::LogStringArg &destFileName) |
void | tlmWrite_FilesSent (U32 arg, Fw::Time _tlmTime=Fw::Time()) |
void | tlmWrite_PacketsSent (U32 arg, Fw::Time _tlmTime=Fw::Time()) |
void | tlmWrite_Warnings (U32 arg, Fw::Time _tlmTime=Fw::Time()) |
Fw::Time | getTime () |
virtual void | lock () |
Lock the guarded mutex. | |
virtual void | unLock () |
Unlock the guarded mutex. | |
![]() | |
ActiveComponentBase (const char *name) | |
Constructor. | |
virtual | ~ActiveComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
initialization code | |
virtual void | loop () |
The function that will loop 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::QueueStatus | createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE 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. | |
![]() | |
Os::Task | m_task |
task object for active component | |
![]() | |
Os::Queue | m_queue |
queue object for active component | |
Definition at line 25 of file FileDownlink.hpp.
Svc::FileDownlink::FileDownlink | ( | const char *const | compName | ) |
Construct object FileDownlink
compName | The component name |
Definition at line 25 of file FileDownlink.cpp.
Svc::FileDownlink::~FileDownlink | ( | ) |
Destroy object FileDownlink
Definition at line 82 of file FileDownlink.cpp.
void Svc::FileDownlink::configure | ( | U32 | timeout, |
U32 | cooldown, | ||
U32 | cycleTime, | ||
U32 | fileQueueDepth ) |
Configure FileDownlink component
timeout | Timeout threshold (milliseconds) while in WAIT state |
cooldown | Cooldown (in ms) between finishing a downlink and starting the next file. |
cycleTime | Rate at which we are running |
fileQueueDepth | Max number of items in file downlink queue |
Definition at line 55 of file FileDownlink.cpp.
void Svc::FileDownlink::init | ( | const NATIVE_INT_TYPE | queueDepth, |
const NATIVE_INT_TYPE | instance ) |
Initialize object FileDownlink
queueDepth | The queue depth |
instance | The instance number |
Definition at line 46 of file FileDownlink.cpp.
|
virtual |
Start FileDownlink component The component must be configured with configure() before starting.
Reimplemented from Fw::ActiveComponentBase.
Definition at line 76 of file FileDownlink.cpp.