F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
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"
20
21namespace Svc {
22
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)(
50 NATIVE_INT_TYPE 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
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
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
C++-compatible configuration header for fprime configuration.
Declares ISF string base class.
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, Svc::TimerVal &cycleStart)
The port callback function type.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
void init()
Initialization function.
InputCyclePort()
Constructor.
@ SERIALIZED_SIZE
The size of the serial representations of the port arguments.
void invoke(Svc::TimerVal &cycleStart)
Invoke a port interface.
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