F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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