Svc::ComSplitter
1. Introduction
The ComSplitter component duplicates a stream of Fw::Com buffers to multiple consumers. Each Com buffer received on its input port is copied and forwarded to every connected output port. A typical use is fanning a single downlink stream out to several sinks, for example a radio path and an on-board logger such as Svc::ComLogger.
2. Requirements
| Name | Description | Validation |
|---|---|---|
| SVC-COMSPLITTER-001 | The ComSplitter component shall forward each Com buffer received on comIn to every connected comOut port |
unit test |
| SVC-COMSPLITTER-002 | The ComSplitter component shall pass a copy of the buffer to each output so that consumers cannot affect one another | unit test |
3. Design
The ComSplitter is a passive component. The comIn handler executes synchronously on the caller's thread: it iterates over the comOut output port array (5 ports) and, for each connected port, invokes it with a copy of the incoming Fw::ComBuffer. The context value forwarded to consumers is always 0. At least one output port must be connected; the handler asserts otherwise.
3.1 Port Description
| Port | Kind | Type | Description |
|---|---|---|---|
comIn |
sync input | Fw.Com |
Com buffer stream to split |
comOut |
output (array of 5) | Fw.Com |
Duplicated Com buffer stream |
The component has no commands, events, telemetry, or parameters.
4. Usage
- Instantiate the component in the topology.
- Connect the source Com stream to
comIn. - Connect up to 5 consumers to elements of
comOut; unconnected elements are skipped.
5. Change Log
| Date | Description |
|---|---|
| 2026-08-10 | Initial SDD |