F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
FrameAccumulatorComponentAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title FrameAccumulatorComponentAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for FrameAccumulator component base class
5 // ======================================================================
6 
8 #include "Fw/Types/Assert.hpp"
10 #if FW_ENABLE_TEXT_LOGGING
11 #include "Fw/Types/String.hpp"
12 #endif
13 
14 namespace Svc {
15 
16  // ----------------------------------------------------------------------
17  // Component initialization
18  // ----------------------------------------------------------------------
19 
22  {
23  // Initialize base class
25 
26  // Connect input port dataIn
27  for (
28  FwIndexType port = 0;
29  port < static_cast<FwIndexType>(this->getNum_dataIn_InputPorts());
30  port++
31  ) {
32  this->m_dataIn_InputPort[port].init();
33  this->m_dataIn_InputPort[port].addCallComp(
34  this,
35  m_p_dataIn_in
36  );
37  this->m_dataIn_InputPort[port].setPortNum(port);
38 
39 #if FW_OBJECT_NAMES == 1
40  Fw::ObjectName portName;
41  portName.format(
42  "%s_dataIn_InputPort[%" PRI_FwIndexType "]",
43  this->m_objName.toChar(),
44  port
45  );
46  this->m_dataIn_InputPort[port].setObjName(portName.toChar());
47 #endif
48  }
49 
50  // Connect output port logOut
51  for (
52  FwIndexType port = 0;
53  port < static_cast<FwIndexType>(this->getNum_logOut_OutputPorts());
54  port++
55  ) {
56  this->m_logOut_OutputPort[port].init();
57 
58 #if FW_OBJECT_NAMES == 1
59  Fw::ObjectName portName;
60  portName.format(
61  "%s_logOut_OutputPort[%" PRI_FwIndexType "]",
62  this->m_objName.toChar(),
63  port
64  );
65  this->m_logOut_OutputPort[port].setObjName(portName.toChar());
66 #endif
67  }
68 
69 #if FW_ENABLE_TEXT_LOGGING == 1
70  // Connect output port logTextOut
71  for (
72  FwIndexType port = 0;
73  port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
74  port++
75  ) {
76  this->m_logTextOut_OutputPort[port].init();
77 
78 #if FW_OBJECT_NAMES == 1
79  Fw::ObjectName portName;
80  portName.format(
81  "%s_logTextOut_OutputPort[%" PRI_FwIndexType "]",
82  this->m_objName.toChar(),
83  port
84  );
85  this->m_logTextOut_OutputPort[port].setObjName(portName.toChar());
86 #endif
87  }
88 #endif
89 
90  // Connect output port timeCaller
91  for (
92  FwIndexType port = 0;
93  port < static_cast<FwIndexType>(this->getNum_timeCaller_OutputPorts());
94  port++
95  ) {
96  this->m_timeCaller_OutputPort[port].init();
97 
98 #if FW_OBJECT_NAMES == 1
99  Fw::ObjectName portName;
100  portName.format(
101  "%s_timeCaller_OutputPort[%" PRI_FwIndexType "]",
102  this->m_objName.toChar(),
103  port
104  );
105  this->m_timeCaller_OutputPort[port].setObjName(portName.toChar());
106 #endif
107  }
108 
109  // Connect output port bufferAllocate
110  for (
111  FwIndexType port = 0;
112  port < static_cast<FwIndexType>(this->getNum_bufferAllocate_OutputPorts());
113  port++
114  ) {
115  this->m_bufferAllocate_OutputPort[port].init();
116 
117 #if FW_OBJECT_NAMES == 1
118  Fw::ObjectName portName;
119  portName.format(
120  "%s_bufferAllocate_OutputPort[%" PRI_FwIndexType "]",
121  this->m_objName.toChar(),
122  port
123  );
124  this->m_bufferAllocate_OutputPort[port].setObjName(portName.toChar());
125 #endif
126  }
127 
128  // Connect output port bufferDeallocate
129  for (
130  FwIndexType port = 0;
131  port < static_cast<FwIndexType>(this->getNum_bufferDeallocate_OutputPorts());
132  port++
133  ) {
134  this->m_bufferDeallocate_OutputPort[port].init();
135 
136 #if FW_OBJECT_NAMES == 1
137  Fw::ObjectName portName;
138  portName.format(
139  "%s_bufferDeallocate_OutputPort[%" PRI_FwIndexType "]",
140  this->m_objName.toChar(),
141  port
142  );
143  this->m_bufferDeallocate_OutputPort[port].setObjName(portName.toChar());
144 #endif
145  }
146 
147  // Connect output port frameOut
148  for (
149  FwIndexType port = 0;
150  port < static_cast<FwIndexType>(this->getNum_frameOut_OutputPorts());
151  port++
152  ) {
153  this->m_frameOut_OutputPort[port].init();
154 
155 #if FW_OBJECT_NAMES == 1
156  Fw::ObjectName portName;
157  portName.format(
158  "%s_frameOut_OutputPort[%" PRI_FwIndexType "]",
159  this->m_objName.toChar(),
160  port
161  );
162  this->m_frameOut_OutputPort[port].setObjName(portName.toChar());
163 #endif
164  }
165  }
166 
167  // ----------------------------------------------------------------------
168  // Getters for typed input ports
169  // ----------------------------------------------------------------------
170 
173  {
174  FW_ASSERT(
175  (0 <= portNum) && (portNum < this->getNum_dataIn_InputPorts()),
176  static_cast<FwAssertArgType>(portNum)
177  );
178 
179  return &this->m_dataIn_InputPort[portNum];
180  }
181 
182  // ----------------------------------------------------------------------
183  // Connect input ports to special output ports
184  // ----------------------------------------------------------------------
185 
188  FwIndexType portNum,
189  Fw::InputLogPort* port
190  )
191  {
192  FW_ASSERT(
193  (0 <= portNum) && (portNum < this->getNum_logOut_OutputPorts()),
194  static_cast<FwAssertArgType>(portNum)
195  );
196 
197  this->m_logOut_OutputPort[portNum].addCallPort(port);
198  }
199 
200 #if FW_ENABLE_TEXT_LOGGING == 1
201 
202  void FrameAccumulatorComponentBase ::
203  set_logTextOut_OutputPort(
204  FwIndexType portNum,
206  )
207  {
208  FW_ASSERT(
209  (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
210  static_cast<FwAssertArgType>(portNum)
211  );
212 
213  this->m_logTextOut_OutputPort[portNum].addCallPort(port);
214  }
215 
216 #endif
217 
220  FwIndexType portNum,
221  Fw::InputTimePort* port
222  )
223  {
224  FW_ASSERT(
225  (0 <= portNum) && (portNum < this->getNum_timeCaller_OutputPorts()),
226  static_cast<FwAssertArgType>(portNum)
227  );
228 
229  this->m_timeCaller_OutputPort[portNum].addCallPort(port);
230  }
231 
232  // ----------------------------------------------------------------------
233  // Connect typed input ports to typed output ports
234  // ----------------------------------------------------------------------
235 
238  FwIndexType portNum,
240  )
241  {
242  FW_ASSERT(
243  (0 <= portNum) && (portNum < this->getNum_bufferAllocate_OutputPorts()),
244  static_cast<FwAssertArgType>(portNum)
245  );
246 
247  this->m_bufferAllocate_OutputPort[portNum].addCallPort(port);
248  }
249 
252  FwIndexType portNum,
254  )
255  {
256  FW_ASSERT(
257  (0 <= portNum) && (portNum < this->getNum_bufferDeallocate_OutputPorts()),
258  static_cast<FwAssertArgType>(portNum)
259  );
260 
261  this->m_bufferDeallocate_OutputPort[portNum].addCallPort(port);
262  }
263 
266  FwIndexType portNum,
268  )
269  {
270  FW_ASSERT(
271  (0 <= portNum) && (portNum < this->getNum_frameOut_OutputPorts()),
272  static_cast<FwAssertArgType>(portNum)
273  );
274 
275  this->m_frameOut_OutputPort[portNum].addCallPort(port);
276  }
277 
278 #if FW_PORT_SERIALIZATION
279 
280  // ----------------------------------------------------------------------
281  // Connect serial input ports to special output ports
282  // ----------------------------------------------------------------------
283 
286  FwIndexType portNum,
287  Fw::InputSerializePort* port
288  )
289  {
290  FW_ASSERT(
291  (0 <= portNum) && (portNum < this->getNum_logOut_OutputPorts()),
292  static_cast<FwAssertArgType>(portNum)
293  );
294 
295  this->m_logOut_OutputPort[portNum].registerSerialPort(port);
296  }
297 
298 #if FW_ENABLE_TEXT_LOGGING == 1
299 
300  void FrameAccumulatorComponentBase ::
301  set_logTextOut_OutputPort(
302  FwIndexType portNum,
303  Fw::InputSerializePort* port
304  )
305  {
306  FW_ASSERT(
307  (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
308  static_cast<FwAssertArgType>(portNum)
309  );
310 
311  this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
312  }
313 
314 #endif
315 
318  FwIndexType portNum,
319  Fw::InputSerializePort* port
320  )
321  {
322  FW_ASSERT(
323  (0 <= portNum) && (portNum < this->getNum_timeCaller_OutputPorts()),
324  static_cast<FwAssertArgType>(portNum)
325  );
326 
327  this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
328  }
329 
330 #endif
331 
332 #if FW_PORT_SERIALIZATION
333 
334  // ----------------------------------------------------------------------
335  // Connect serial input ports to typed output ports
336  // ----------------------------------------------------------------------
337 
340  FwIndexType portNum,
341  Fw::InputSerializePort* port
342  )
343  {
344  FW_ASSERT(
345  (0 <= portNum) && (portNum < this->getNum_bufferDeallocate_OutputPorts()),
346  static_cast<FwAssertArgType>(portNum)
347  );
348 
349  this->m_bufferDeallocate_OutputPort[portNum].registerSerialPort(port);
350  }
351 
354  FwIndexType portNum,
355  Fw::InputSerializePort* port
356  )
357  {
358  FW_ASSERT(
359  (0 <= portNum) && (portNum < this->getNum_frameOut_OutputPorts()),
360  static_cast<FwAssertArgType>(portNum)
361  );
362 
363  this->m_frameOut_OutputPort[portNum].registerSerialPort(port);
364  }
365 
366 #endif
367 
368  // ----------------------------------------------------------------------
369  // Component construction and destruction
370  // ----------------------------------------------------------------------
371 
373  FrameAccumulatorComponentBase(const char* compName) :
374  Fw::PassiveComponentBase(compName)
375  {
376 
377  }
378 
381  {
382 
383  }
384 
385  // ----------------------------------------------------------------------
386  // Getters for numbers of typed input ports
387  // ----------------------------------------------------------------------
388 
391  {
392  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_dataIn_InputPort));
393  }
394 
395  // ----------------------------------------------------------------------
396  // Getters for numbers of special output ports
397  // ----------------------------------------------------------------------
398 
401  {
402  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_logOut_OutputPort));
403  }
404 
405 #if FW_ENABLE_TEXT_LOGGING == 1
406 
407  FwIndexType FrameAccumulatorComponentBase ::
408  getNum_logTextOut_OutputPorts() const
409  {
410  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_logTextOut_OutputPort));
411  }
412 
413 #endif
414 
417  {
418  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_timeCaller_OutputPort));
419  }
420 
421  // ----------------------------------------------------------------------
422  // Getters for numbers of typed output ports
423  // ----------------------------------------------------------------------
424 
427  {
428  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_bufferAllocate_OutputPort));
429  }
430 
433  {
434  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_bufferDeallocate_OutputPort));
435  }
436 
439  {
440  return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_frameOut_OutputPort));
441  }
442 
443  // ----------------------------------------------------------------------
444  // Connection status queries for special output ports
445  // ----------------------------------------------------------------------
446 
449  {
450  FW_ASSERT(
451  (0 <= portNum) && (portNum < this->getNum_logOut_OutputPorts()),
452  static_cast<FwAssertArgType>(portNum)
453  );
454 
455  return this->m_logOut_OutputPort[portNum].isConnected();
456  }
457 
458 #if FW_ENABLE_TEXT_LOGGING == 1
459 
460  bool FrameAccumulatorComponentBase ::
461  isConnected_logTextOut_OutputPort(FwIndexType portNum)
462  {
463  FW_ASSERT(
464  (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
465  static_cast<FwAssertArgType>(portNum)
466  );
467 
468  return this->m_logTextOut_OutputPort[portNum].isConnected();
469  }
470 
471 #endif
472 
475  {
476  FW_ASSERT(
477  (0 <= portNum) && (portNum < this->getNum_timeCaller_OutputPorts()),
478  static_cast<FwAssertArgType>(portNum)
479  );
480 
481  return this->m_timeCaller_OutputPort[portNum].isConnected();
482  }
483 
484  // ----------------------------------------------------------------------
485  // Connection status queries for typed output ports
486  // ----------------------------------------------------------------------
487 
490  {
491  FW_ASSERT(
492  (0 <= portNum) && (portNum < this->getNum_bufferAllocate_OutputPorts()),
493  static_cast<FwAssertArgType>(portNum)
494  );
495 
496  return this->m_bufferAllocate_OutputPort[portNum].isConnected();
497  }
498 
501  {
502  FW_ASSERT(
503  (0 <= portNum) && (portNum < this->getNum_bufferDeallocate_OutputPorts()),
504  static_cast<FwAssertArgType>(portNum)
505  );
506 
507  return this->m_bufferDeallocate_OutputPort[portNum].isConnected();
508  }
509 
512  {
513  FW_ASSERT(
514  (0 <= portNum) && (portNum < this->getNum_frameOut_OutputPorts()),
515  static_cast<FwAssertArgType>(portNum)
516  );
517 
518  return this->m_frameOut_OutputPort[portNum].isConnected();
519  }
520 
521  // ----------------------------------------------------------------------
522  // Port handler base-class functions for typed input ports
523  //
524  // Call these functions directly to bypass the corresponding ports
525  // ----------------------------------------------------------------------
526 
529  FwIndexType portNum,
530  Fw::Buffer& fwBuffer
531  )
532  {
533  // Make sure port number is valid
534  FW_ASSERT(
535  (0 <= portNum) && (portNum < this->getNum_dataIn_InputPorts()),
536  static_cast<FwAssertArgType>(portNum)
537  );
538 
539  // Lock guard mutex before calling
540  this->lock();
541 
542  // Call handler function
543  this->dataIn_handler(
544  portNum,
545  fwBuffer
546  );
547 
548  // Unlock guard mutex
549  this->unLock();
550  }
551 
552  // ----------------------------------------------------------------------
553  // Invocation functions for typed output ports
554  // ----------------------------------------------------------------------
555 
558  FwIndexType portNum,
559  U32 size
560  )
561  {
562  FW_ASSERT(
563  (0 <= portNum) && (portNum < this->getNum_bufferAllocate_OutputPorts()),
564  static_cast<FwAssertArgType>(portNum)
565  );
566 
567  FW_ASSERT(
568  this->m_bufferAllocate_OutputPort[portNum].isConnected(),
569  static_cast<FwAssertArgType>(portNum)
570  );
571  return this->m_bufferAllocate_OutputPort[portNum].invoke(
572  size
573  );
574  }
575 
578  FwIndexType portNum,
579  Fw::Buffer& fwBuffer
580  )
581  {
582  FW_ASSERT(
583  (0 <= portNum) && (portNum < this->getNum_bufferDeallocate_OutputPorts()),
584  static_cast<FwAssertArgType>(portNum)
585  );
586 
587  FW_ASSERT(
588  this->m_bufferDeallocate_OutputPort[portNum].isConnected(),
589  static_cast<FwAssertArgType>(portNum)
590  );
591  this->m_bufferDeallocate_OutputPort[portNum].invoke(
592  fwBuffer
593  );
594  }
595 
598  FwIndexType portNum,
599  Fw::Buffer& data,
600  const ComCfg::FrameContext& context
601  )
602  {
603  FW_ASSERT(
604  (0 <= portNum) && (portNum < this->getNum_frameOut_OutputPorts()),
605  static_cast<FwAssertArgType>(portNum)
606  );
607 
608  FW_ASSERT(
609  this->m_frameOut_OutputPort[portNum].isConnected(),
610  static_cast<FwAssertArgType>(portNum)
611  );
612  this->m_frameOut_OutputPort[portNum].invoke(
613  data,
614  context
615  );
616  }
617 
618  // ----------------------------------------------------------------------
619  // Event logging functions
620  // ----------------------------------------------------------------------
621 
624  {
625  // Get the time
626  Fw::Time _logTime;
627  if (this->m_timeCaller_OutputPort[0].isConnected()) {
628  this->m_timeCaller_OutputPort[0].invoke(_logTime);
629  }
630 
631  FwEventIdType _id = static_cast<FwEventIdType>(0);
632 
633  _id = this->getIdBase() + EVENTID_NOBUFFERAVAILABLE;
634 
635  // Emit the event on the log port
636  if (this->m_logOut_OutputPort[0].isConnected()) {
637  Fw::LogBuffer _logBuff;
638 
639 #if FW_AMPCS_COMPATIBLE
641  // Serialize the number of arguments
642  _status = _logBuff.serialize(static_cast<U8>(0));
643  FW_ASSERT(
644  _status == Fw::FW_SERIALIZE_OK,
645  static_cast<FwAssertArgType>(_status)
646  );
647 #endif
648 
649  this->m_logOut_OutputPort[0].invoke(
650  _id,
651  _logTime,
653  _logBuff
654  );
655  }
656 
657  // Emit the event on the text log port
658 #if FW_ENABLE_TEXT_LOGGING
659  if (this->m_logTextOut_OutputPort[0].isConnected()) {
660 #if FW_OBJECT_NAMES == 1
661  const char* _formatString =
662  "(%s) %s: Could not allocate a valid buffer to fit the detected frame";
663 #else
664  const char* _formatString =
665  "%s: Could not allocate a valid buffer to fit the detected frame";
666 #endif
667 
668  Fw::TextLogString _logString;
669  _logString.format(
670  _formatString,
671 #if FW_OBJECT_NAMES == 1
672  this->m_objName.toChar(),
673 #endif
674  "NoBufferAvailable "
675  );
676 
677  this->m_logTextOut_OutputPort[0].invoke(
678  _id,
679  _logTime,
681  _logString
682  );
683  }
684 #endif
685  }
686 
687  // ----------------------------------------------------------------------
688  // Time
689  // ----------------------------------------------------------------------
690 
692  getTime() const
693  {
694  if (this->m_timeCaller_OutputPort[0].isConnected()) {
695  Fw::Time _time;
696  this->m_timeCaller_OutputPort[0].invoke(_time);
697  return _time;
698  }
699  else {
700  return Fw::Time(TB_NONE, 0, 0);
701  }
702  }
703 
704  // ----------------------------------------------------------------------
705  // Mutex operations for guarded ports
706  //
707  // You can override these operations to provide more sophisticated
708  // synchronization
709  // ----------------------------------------------------------------------
710 
713  {
714  this->m_guardedPortMutex.lock();
715  }
716 
719  {
720  this->m_guardedPortMutex.unLock();
721  }
722 
723  // ----------------------------------------------------------------------
724  // Calls for messages received on typed input ports
725  // ----------------------------------------------------------------------
726 
727  void FrameAccumulatorComponentBase ::
728  m_p_dataIn_in(
729  Fw::PassiveComponentBase* callComp,
730  FwIndexType portNum,
731  Fw::Buffer& fwBuffer
732  )
733  {
734  FW_ASSERT(callComp);
735  FrameAccumulatorComponentBase* compPtr = static_cast<FrameAccumulatorComponentBase*>(callComp);
736  compPtr->dataIn_handlerBase(
737  portNum,
738  fwBuffer
739  );
740  }
741 
742 }
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
Definition: TimePortAc.cpp:134
virtual void unLock()
Unlock the guarded mutex.
Definition: Time.hpp:9
Fw::Buffer bufferAllocate_out(FwIndexType portNum, U32 size)
Invoke output port bufferAllocate.
bool isConnected_bufferAllocate_OutputPort(FwIndexType portNum)
I32 FwEnumStoreType
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void frameOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port frameOut.
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Fw::Buffer invoke(U32 size) const
Invoke a port interface.
void unLock()
unlock the mutex and assert success
Definition: Mutex.cpp:40
void set_bufferAllocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferAllocate[portNum].
Fw::InputBufferSendPort * get_dataIn_InputPort(FwIndexType portNum)
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void set_frameOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to frameOut[portNum].
void addCallPort(InputComDataWithContextPort *callPort)
Register an input port.
void init()
Object initializer.
Definition: ObjBase.cpp:26
U32 FwEventIdType
The type of an event identifier.
SerializeStatus
forward declaration for string
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port dataIn.
void init()
Initialization function.
Definition: TimePortAc.cpp:128
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
bool isConnected_frameOut_OutputPort(FwIndexType portNum)
void invoke(Fw::Time &time) const
Invoke a port interface.
Definition: TimePortAc.cpp:147
const char * toChar() const
Definition: ObjectName.hpp:50
No time base has been established.
Definition: FpConfig.h:30
void invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port interface.
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port dataIn.
A serious but recoverable event.
void bufferDeallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferDeallocate.
void init()
Initialization function.
bool isConnected() const
Definition: PortBase.cpp:42
#define PRI_FwIndexType
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
void init()
Initialization function.
Definition: LogPortAc.cpp:151
void setPortNum(FwIndexType portNum)
virtual void lock()
Lock the guarded mutex.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
Definition: LogPortAc.cpp:170
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
bool isConnected_logOut_OutputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
Definition: BasicTypes.h:93
void addCallPort(InputLogPort *callPort)
Register an input port.
Definition: LogPortAc.cpp:157
Type used to pass context info between components during framing/deframing.
Auto-generated base for FrameAccumulator component.
void init()
Initialization function.
RateGroupDivider component implementation.
void set_bufferDeallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferDeallocate[portNum].
FrameAccumulatorComponentBase(const char *compName="")
Construct FrameAccumulatorComponentBase object.
virtual ~FrameAccumulatorComponentBase()
Destroy FrameAccumulatorComponentBase object.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
Definition: FpConfig.h:53
#define FW_ASSERT(...)
Definition: Assert.hpp:14
void lock()
lock the mutex and assert success
Definition: Mutex.cpp:34
bool isConnected_bufferDeallocate_OutputPort(FwIndexType portNum)