F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
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