F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
CyclePortAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title CyclePortAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Cycle port
5 // ======================================================================
6 
7 #ifndef Svc_CyclePortAc_HPP
8 #define Svc_CyclePortAc_HPP
9 
10 #include <cstdio>
11 #include <cstring>
12 
13 #include "FpConfig.hpp"
18 #include "Fw/Types/StringType.hpp"
19 #include "Svc/Cycle/TimerVal.hpp"
20 
21 namespace Svc {
22 
26  public Fw::InputPortBase
27  {
28 
29  public:
30 
31  // ----------------------------------------------------------------------
32  // Constants
33  // ----------------------------------------------------------------------
34 
35  enum {
39  };
40 
41  public:
42 
43  // ----------------------------------------------------------------------
44  // Types
45  // ----------------------------------------------------------------------
46 
48  typedef void (*CompFuncPtr)(
49  Fw::PassiveComponentBase* callComp,
50  FwIndexType portNum,
51  Svc::TimerVal& cycleStart
52  );
53 
54  public:
55 
56  // ----------------------------------------------------------------------
57  // Input Port Member functions
58  // ----------------------------------------------------------------------
59 
62 
64  void init();
65 
67  void addCallComp(
68  Fw::PassiveComponentBase* callComp,
69  CompFuncPtr funcPtr
70  );
71 
73  void invoke(
74  Svc::TimerVal& cycleStart
75  );
76 
77  private:
78 
79 #if FW_PORT_SERIALIZATION == 1
80 
82  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase& _buffer);
83 
84 #endif
85 
86  private:
87 
88  // ----------------------------------------------------------------------
89  // Member variables
90  // ----------------------------------------------------------------------
91 
93  CompFuncPtr m_func;
94 
95  };
96 
100  public Fw::OutputPortBase
101  {
102 
103  public:
104 
105  // ----------------------------------------------------------------------
106  // Output Port Member functions
107  // ----------------------------------------------------------------------
108 
110  OutputCyclePort();
111 
113  void init();
114 
116  void addCallPort(
117  InputCyclePort* callPort
118  );
119 
121  void invoke(
122  Svc::TimerVal& cycleStart
123  );
124 
125  private:
126 
127  // ----------------------------------------------------------------------
128  // Member variables
129  // ----------------------------------------------------------------------
130 
132  InputCyclePort* m_port;
133 
134  };
135 
136 }
137 
138 #endif
PlatformIndexType FwIndexType
Definition: FpConfig.h:20
C++-compatible configuration header for fprime configuration.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Definition: CyclePortAc.cpp:62
void init()
Initialization function.
Definition: CyclePortAc.cpp:56
@ SERIALIZED_SIZE
The size of the serial representations of the port arguments.
Definition: CyclePortAc.hpp:37
InputCyclePort()
Constructor.
Definition: CyclePortAc.cpp:48
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, FwIndexType portNum, Svc::TimerVal &cycleStart)
The port callback function type.
Definition: CyclePortAc.hpp:48
void invoke(Svc::TimerVal &cycleStart)
Invoke a port interface.
Definition: CyclePortAc.cpp:76
void init()
Initialization function.
OutputCyclePort()
Constructor.
void addCallPort(InputCyclePort *callPort)
Register an input port.
void invoke(Svc::TimerVal &cycleStart)
Invoke a port interface.
Serializable class for carrying timer values.
Definition: TimerVal.hpp:22
@ SERIALIZED_SIZE
size of TimerVal private members
Definition: TimerVal.hpp:26
SerializeStatus
forward declaration for string