F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
ComSplitter.cpp
Go to the documentation of this file.
1// ----------------------------------------------------------------------
2//
3// ComSplitter.cpp
4//
5// ----------------------------------------------------------------------
6
8#include <FpConfig.hpp>
9
10namespace Svc {
11
12 // ----------------------------------------------------------------------
13 // Construction, initialization, and destruction
14 // ----------------------------------------------------------------------
15
16 ComSplitter ::
17 ComSplitter(const char* compName) :
18 ComSplitterComponentBase(compName)
19 {
20
21 }
22
23 ComSplitter ::
24 ~ComSplitter()
25 {
26
27 }
28
29 void ComSplitter ::
30 init(NATIVE_INT_TYPE instance)
31 {
32 ComSplitterComponentBase::init(instance);
33 }
34
35 // ----------------------------------------------------------------------
36 // Handler implementations
37 // ----------------------------------------------------------------------
38
39 void ComSplitter ::
40 comIn_handler(
41 NATIVE_INT_TYPE portNum,
42 Fw::ComBuffer &data,
43 U32 context
44 )
45 {
46 FW_ASSERT(portNum == 0);
47
48 NATIVE_INT_TYPE numPorts = getNum_comOut_OutputPorts();
49 FW_ASSERT(numPorts > 0);
50
51 for(NATIVE_INT_TYPE i = 0; i < numPorts; i++) {
52 if( isConnected_comOut_OutputPort(i) ) {
53 // Need to make a copy because we are passing by reference!:
54 Fw::ComBuffer dataToSend = data;
55 comOut_out(i, dataToSend, 0);
56 }
57 }
58 }
59
60};
#define FW_ASSERT(...)
Definition Assert.hpp:7
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
C++-compatible configuration header for fprime configuration.