F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
GpioWritePortAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title GpioWritePortAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for GpioWrite port
5 // ======================================================================
6 
8 #include "Fw/Types/Assert.hpp"
10 
11 namespace Drv {
12 
13  // ----------------------------------------------------------------------
14  // Input Port Member functions
15  // ----------------------------------------------------------------------
16 
19  Fw::InputPortBase(),
20  m_func(nullptr)
21  {
22 
23  }
24 
26  init()
27  {
29  }
30 
33  Fw::PassiveComponentBase* callComp,
34  CompFuncPtr funcPtr
35  )
36  {
37  FW_ASSERT(callComp != nullptr);
38  FW_ASSERT(funcPtr != nullptr);
39 
40  this->m_comp = callComp;
41  this->m_func = funcPtr;
42  this->m_connObj = callComp;
43  }
44 
46  invoke(const Fw::Logic& state)
47  {
48 #if FW_PORT_TRACING == 1
49  this->trace();
50 #endif
51 
52  FW_ASSERT(this->m_comp != nullptr);
53  FW_ASSERT(this->m_func != nullptr);
54 
55  return this->m_func(this->m_comp, this->m_portNum, state);
56  }
57 
58 #if FW_PORT_SERIALIZATION == 1
59 
60  Fw::SerializeStatus InputGpioWritePort ::
61  invokeSerial(Fw::SerializeBufferBase& _buffer)
62  {
63  // For ports with a return type, invokeSerial is not used
64  (void) _buffer;
65 
66  FW_ASSERT(0);
67  return Fw::FW_SERIALIZE_OK;
68  }
69 
70 #endif
71 
72  // ----------------------------------------------------------------------
73  // Output Port Member functions
74  // ----------------------------------------------------------------------
75 
78  Fw::OutputPortBase(),
79  m_port(nullptr)
80  {
81 
82  }
83 
85  init()
86  {
88  }
89 
92  {
93  FW_ASSERT(callPort != nullptr);
94 
95  this->m_port = callPort;
96  this->m_connObj = callPort;
97 
98 #if FW_PORT_SERIALIZATION == 1
99  this->m_serPort = nullptr;
100 #endif
101  }
102 
104  invoke(const Fw::Logic& state)
105  {
106 #if FW_PORT_TRACING == 1
107  this->trace();
108 #endif
109 
110  FW_ASSERT(this->m_port != nullptr);
111  return this->m_port->invoke(state);
112  }
113 
114 }
#define FW_ASSERT(...)
Definition: Assert.hpp:14
Input GpioWrite port.
void init()
Initialization function.
InputGpioWritePort()
Constructor.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Drv::GpioStatus invoke(const Fw::Logic &state)
Invoke a port interface.
OutputGpioWritePort()
Constructor.
void addCallPort(InputGpioWritePort *callPort)
Register an input port.
void init()
Initialization function.
Drv::GpioStatus invoke(const Fw::Logic &state)
Invoke a port interface.
NATIVE_INT_TYPE m_portNum
virtual void init()
PassiveComponentBase * m_comp
Logic states.
Definition: LogicEnumAc.hpp:19
virtual void init()
Fw::ObjBase * m_connObj
Definition: PortBase.hpp:33
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.