![]() |
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 |