F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
TlmPortAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TlmPortAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Tlm port
5 // ======================================================================
6 
7 #ifndef Fw_TlmPortAc_HPP
8 #define Fw_TlmPortAc_HPP
9 
10 #include <cstdio>
11 #include <cstring>
12 
13 #include "FpConfig.hpp"
17 #include "Fw/Time/Time.hpp"
18 #include "Fw/Tlm/TlmBuffer.hpp"
20 #include "Fw/Types/StringType.hpp"
21 
22 namespace Fw {
23 
26  class InputTlmPort :
27  public Fw::InputPortBase
28  {
29 
30  public:
31 
32  // ----------------------------------------------------------------------
33  // Constants
34  // ----------------------------------------------------------------------
35 
36  enum {
39  sizeof(FwChanIdType) +
42  };
43 
44  public:
45 
46  // ----------------------------------------------------------------------
47  // Types
48  // ----------------------------------------------------------------------
49 
51  typedef void (*CompFuncPtr)(
52  Fw::PassiveComponentBase* callComp,
53  FwIndexType portNum,
54  FwChanIdType id,
55  Fw::Time& timeTag,
56  Fw::TlmBuffer& val
57  );
58 
59  public:
60 
61  // ----------------------------------------------------------------------
62  // Input Port Member functions
63  // ----------------------------------------------------------------------
64 
66  InputTlmPort();
67 
69  void init();
70 
72  void addCallComp(
73  Fw::PassiveComponentBase* callComp,
74  CompFuncPtr funcPtr
75  );
76 
78  void invoke(
79  FwChanIdType id,
80  Fw::Time& timeTag,
81  Fw::TlmBuffer& val
82  );
83 
84  private:
85 
86 #if FW_PORT_SERIALIZATION == 1
87 
89  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase& _buffer);
90 
91 #endif
92 
93  private:
94 
95  // ----------------------------------------------------------------------
96  // Member variables
97  // ----------------------------------------------------------------------
98 
100  CompFuncPtr m_func;
101 
102  };
103 
107  public Fw::OutputPortBase
108  {
109 
110  public:
111 
112  // ----------------------------------------------------------------------
113  // Output Port Member functions
114  // ----------------------------------------------------------------------
115 
117  OutputTlmPort();
118 
120  void init();
121 
123  void addCallPort(
124  InputTlmPort* callPort
125  );
126 
128  void invoke(
129  FwChanIdType id,
130  Fw::Time& timeTag,
131  Fw::TlmBuffer& val
132  );
133 
134  private:
135 
136  // ----------------------------------------------------------------------
137  // Member variables
138  // ----------------------------------------------------------------------
139 
141  InputTlmPort* m_port;
142 
143  };
144 
145 }
146 
147 #endif
U32 FwChanIdType
Definition: FpConfig.h:82
PlatformIndexType FwIndexType
Definition: FpConfig.h:20
C++-compatible configuration header for fprime configuration.
@ SERIALIZED_SIZE
The size of the serial representations of the port arguments.
Definition: TlmPortAc.hpp:38
void init()
Initialization function.
Definition: TlmPortAc.cpp:56
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
Definition: TlmPortAc.cpp:76
InputTlmPort()
Constructor.
Definition: TlmPortAc.cpp:48
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Definition: TlmPortAc.cpp:62
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
The port callback function type.
Definition: TlmPortAc.hpp:51
void addCallPort(InputTlmPort *callPort)
Register an input port.
Definition: TlmPortAc.cpp:150
OutputTlmPort()
Constructor.
Definition: TlmPortAc.cpp:136
void init()
Initialization function.
Definition: TlmPortAc.cpp:144
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
Definition: TlmPortAc.cpp:163
Definition: Time.hpp:9
@ SERIALIZED_SIZE
Definition: Time.hpp:13
SerializeStatus
forward declaration for string