F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PolyPortAc.hpp
Go to the documentation of this file.
1 /*
2  * PolyPort.hpp
3  *
4  * Created on: Wednesday, 14 October 2020
5  * Author: mstarch
6  *
7  */
8 #ifndef SVC_POLY_PORT_HPP_
9 #define SVC_POLY_PORT_HPP_
10 
11 #include <cstring>
12 #include <cstdio>
13 #include <FpConfig.hpp>
17 #include <Fw/Types/BasicTypes.hpp>
19 #include <Fw/Types/StringType.hpp>
20 #include <Fw/Types/PolyType.hpp>
21 #include <Fw/Time/Time.hpp>
22 
23 
24 namespace Svc {
25 
26  typedef enum {
27  MEASUREMENT_OK, // Measurement was good
28  MEASUREMENT_FAILURE, // Failure to retrieve measurement
29  MEASUREMENT_STALE, // Measurement is stale
32 
35 
37  public:
38  enum {
40  };
41  typedef void (*CompFuncPtr)(Fw::PassiveComponentBase* callComp, NATIVE_INT_TYPE portNum, U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val);
42 
43  InputPolyPort(void);
44  void init(void);
45  void addCallComp(Fw::PassiveComponentBase* callComp, CompFuncPtr funcPtr);
46  void invoke(U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val);
47  protected:
48  private:
49  CompFuncPtr m_func;
50 #if FW_PORT_SERIALIZATION == 1
51  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase &buffer);
52 #endif
53 };
56 
58  public:
59  OutputPolyPort(void);
60  void init(void);
61  void addCallPort(InputPolyPort* callPort);
62  void invoke(U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val);
63  protected:
64  private:
65  InputPolyPort* m_port;
66  };
67 } // end namespace Svc
68 #endif /* SVC_POLY_PORT_HPP_ */
69 
StringType.hpp
Declares ISF string base class.
InputPortBase.hpp
PassiveComponentBase.hpp
Fw::Time
Definition: Time.hpp:10
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Serializable.hpp
Svc::OutputPolyPort::OutputPolyPort
OutputPolyPort(void)
Definition: PolyPortAc.cpp:102
Svc::OutputPolyPort
Definition: PolyPortAc.hpp:57
Svc::InputPolyPort::invoke
void invoke(U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val)
invoke port interface
Definition: PolyPortAc.cpp:52
Svc::OutputPolyPort::init
void init(void)
Definition: PolyPortAc.cpp:107
Svc::OutputPolyPort::invoke
void invoke(U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val)
Definition: PolyPortAc.cpp:121
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
Svc::InputPolyPort::InputPolyPort
InputPolyPort(void)
constructor
Definition: PolyPortAc.cpp:33
Svc::MeasurementStatus_MAX
@ MeasurementStatus_MAX
Definition: PolyPortAc.hpp:30
Svc::InputPolyPort::CompFuncPtr
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, U32 entry, MeasurementStatus &status, Fw::Time &time, Fw::PolyType &val)
port callback definition
Definition: PolyPortAc.hpp:41
Svc::InputPolyPort::init
void init(void)
initialization function
Definition: PolyPortAc.cpp:38
Fw::InputPortBase
Definition: InputPortBase.hpp:14
Svc::MeasurementStatus
MeasurementStatus
Definition: PolyPortAc.hpp:26
Svc::MEASUREMENT_OK
@ MEASUREMENT_OK
Definition: PolyPortAc.hpp:27
OutputPortBase.hpp
FpConfig.hpp
ISF configuration file.
Fw::PolyType
Definition: PolyType.hpp:12
PolyType.hpp
Fw::OutputPortBase
Definition: OutputPortBase.hpp:13
Svc::InputPolyPort
Definition: PolyPortAc.hpp:36
Svc
Definition: ActiveLoggerComponentAc.cpp:22
Svc::MEASUREMENT_FAILURE
@ MEASUREMENT_FAILURE
Definition: PolyPortAc.hpp:28
BasicTypes.hpp
Declares ISF basic types.
Svc::InputPolyPort::SERIALIZED_SIZE
@ SERIALIZED_SIZE
serialized size of port arguments
Definition: PolyPortAc.hpp:39
Time.hpp
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Svc::MEASUREMENT_STALE
@ MEASUREMENT_STALE
Definition: PolyPortAc.hpp:29
Fw::Time::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Definition: Time.hpp:14
Fw::PolyType::SERIALIZED_SIZE
@ SERIALIZED_SIZE
stored serialized size
Definition: PolyType.hpp:158
Svc::InputPolyPort::addCallComp
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
call to register a component
Definition: PolyPortAc.cpp:42
Svc::OutputPolyPort::addCallPort
void addCallPort(InputPolyPort *callPort)
Definition: PolyPortAc.cpp:111