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
TlmPortAc.hpp
Go to the documentation of this file.
1 /*
2  * TlmPort.hpp
3  *
4  * Created on: Wednesday, 14 October 2020
5  * Author: mstarch
6  *
7  */
8 #ifndef FW_TLM_PORT_HPP_
9 #define FW_TLM_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/Tlm/TlmBuffer.hpp>
21 #include <Fw/Time/Time.hpp>
22 
23 
24 namespace Fw {
25 
28 
30  public:
31  enum {
33  };
34  typedef void (*CompFuncPtr)(Fw::PassiveComponentBase* callComp, NATIVE_INT_TYPE portNum, FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val);
35 
36  InputTlmPort(void);
37  void init(void);
38  void addCallComp(Fw::PassiveComponentBase* callComp, CompFuncPtr funcPtr);
39  void invoke(FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val);
40  protected:
41  private:
42  CompFuncPtr m_func;
43 #if FW_PORT_SERIALIZATION == 1
44  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase &buffer);
45 #endif
46 };
49 
51  public:
52  OutputTlmPort(void);
53  void init(void);
54  void addCallPort(InputTlmPort* callPort);
55  void invoke(FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val);
56  protected:
57  private:
58  InputTlmPort* m_port;
59  };
60 } // end namespace Fw
61 #endif /* FW_TLM_PORT_HPP_ */
62 
StringType.hpp
Declares ISF string base class.
InputPortBase.hpp
PassiveComponentBase.hpp
Fw::InputTlmPort
Definition: TlmPortAc.hpp:29
Fw::InputTlmPort::addCallComp
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
call to register a component
Definition: TlmPortAc.cpp:42
Fw::Time
Definition: Time.hpp:10
Fw::OutputTlmPort
Definition: TlmPortAc.hpp:50
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Fw::TlmBuffer
Definition: TlmBuffer.hpp:21
FwChanIdType
#define FwChanIdType
Type representation for a channel id.
Definition: FpConfig.hpp:66
Serializable.hpp
Fw::InputTlmPort::init
void init(void)
initialization function
Definition: TlmPortAc.cpp:38
Fw::InputTlmPort::SERIALIZED_SIZE
@ SERIALIZED_SIZE
serialized size of port arguments
Definition: TlmPortAc.hpp:32
Fw::InputTlmPort::InputTlmPort
InputTlmPort(void)
constructor
Definition: TlmPortAc.cpp:33
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
Fw::OutputTlmPort::addCallPort
void addCallPort(InputTlmPort *callPort)
Definition: TlmPortAc.cpp:105
Fw::InputPortBase
Definition: InputPortBase.hpp:14
TlmBuffer.hpp
Fw::OutputTlmPort::invoke
void invoke(FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val)
Definition: TlmPortAc.cpp:115
Fw::OutputTlmPort::OutputTlmPort
OutputTlmPort(void)
Definition: TlmPortAc.cpp:96
OutputPortBase.hpp
Fw::TlmBuffer::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Definition: TlmBuffer.hpp:26
Fw::OutputTlmPort::init
void init(void)
Definition: TlmPortAc.cpp:101
FpConfig.hpp
ISF configuration file.
Fw::OutputPortBase
Definition: OutputPortBase.hpp:13
Fw::InputTlmPort::invoke
void invoke(FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val)
invoke port interface
Definition: TlmPortAc.cpp:52
Fw::InputTlmPort::CompFuncPtr
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val)
port callback definition
Definition: TlmPortAc.hpp:34
BasicTypes.hpp
Declares ISF basic types.
Time.hpp
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Fw::Time::SERIALIZED_SIZE
@ SERIALIZED_SIZE
Definition: Time.hpp:14
Fw
Definition: BufferGetPortAc.cpp:6