![]() |
F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
|
The Svc::CmdSplitter
splits an uplinked command execution to two separate Svc::CmdDispatcher
components: one "local" and the other "remote". This splitting is done by opcode where local commands are commands whose opcode is less than Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE
and remote commands are those opcodes equal to or larger than that configuration setting. Svc::CmdSplitter
is intended to be used as part of the hub pattern to route command to a command dispatcher in the remote deployment.
The requirements for Svc::CmdSplitter
are as follows:
Requirement | Description | Verification Method |
---|---|---|
SVC-CMD-SPLITTER-001 | The Svc::CmdSplitter component shall accept incoming command buffers. | Unit Test |
SVC-CMD-SPLITTER-002 | The Svc::CmdSplitter component shall route commands under a configured value to the "local" port. | Unit Test |
SVC-CMD-SPLITTER-003 | The Svc::CmdSplitter component shall route commands under a configured value to the "remote" port. | Unit Test |
SVC-CMD-SPLITTER-004 | The Svc::CmdSplitter component shall route commands to the "local" port when an error occurs. | Unit Test |
SVC-CMD-SPLITTER-005 | The Svc::CmdSplitter forward command status responses. | Unit Test |
Name | Type | Kind | Description |
---|---|---|---|
CmdBuff | Fw.Com | sync input | Incoming command buffer. |
seqCmdStatus | Fw.CmdResponse | sync input | Incoming command status from both local and remote dispatchers. |
LocalCmd | Fw.Com | sync input | Outgoing command buffer for local command dispatcher. |
RemoteCmd | Fw.Com | sync input | Outgoing command buffer for remote command dispatcher. |
forwardSeqCmdStatus | Fw.CmdResponse | sync input | Outgoing forwarded command status. |
The Svc::CmdSplitter
routes an incoming command buffer of type Fw::ComBuffer
to a local or remote command dispatcher. This is done by comparing the command's opcode to the Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE
configuration value. All command responses are forwarded through.
Svc::CmdSplitter
has no state machines nor internal state.
Svc::CmdSplitter
has no significant algorithms.
To see unit test coverage run fprime-util check --coverage
in the Svc::CmdSplitter
directory
Date | Description |
---|---|
2023-06-12 | Initial |