F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
DpCompressProcComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title DpCompressProcComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for DpCompressProc component base class
5 // ======================================================================
6 
7 #ifndef Svc_DpCompressProcComponentAc_HPP
8 #define Svc_DpCompressProcComponentAc_HPP
9 
10 #include <atomic>
11 
13 #include "Fw/Cmd/CmdPortAc.hpp"
14 #include "Fw/Cmd/CmdRegPortAc.hpp"
16 #include "Fw/Cmd/CmdString.hpp"
18 #include "Fw/Dp/DpContainer.hpp"
19 #include "Fw/Dp/DpGetPortAc.hpp"
20 #include "Fw/Dp/DpSendPortAc.hpp"
21 #include "Fw/FPrimeBasicTypes.hpp"
22 #include "Fw/Log/LogPortAc.hpp"
23 #include "Fw/Log/LogString.hpp"
24 #include "Fw/Log/LogTextPortAc.hpp"
25 #if !FW_DIRECT_PORT_CALLS
27 #endif
28 #if !FW_DIRECT_PORT_CALLS
30 #endif
31 #include "Fw/Prm/PrmGetPortAc.hpp"
32 #include "Fw/Prm/PrmSetPortAc.hpp"
33 #include "Fw/Prm/PrmString.hpp"
34 #include "Fw/Time/TimePortAc.hpp"
36 #include "Os/Mutex.hpp"
41 
42 namespace Svc {
43 
50  {
51 
52  // ----------------------------------------------------------------------
53  // Friend classes
54  // ----------------------------------------------------------------------
55 
59  friend class DpCompressProcTester;
60 
61  protected:
62 
63  // ----------------------------------------------------------------------
64  // Constants
65  // ----------------------------------------------------------------------
66 
68  enum {
70  };
71 
73  enum {
75  };
76 
78  enum {
88  };
89 
91  enum {
93  };
94 
96  enum {
101  };
102 
104  enum {
107  };
108 
110  enum {
112  };
113 
115  enum {
118  };
119 
122  return sizeof(FwDpIdType) + sizeof(FwSizeStoreType) + arraySize * sizeof(U8);
123  }
124 
125  protected:
126 
127  // ----------------------------------------------------------------------
128  // Types for data products
129  // ----------------------------------------------------------------------
130 
132  struct ContainerId {
133  enum T : FwDpIdType {
134  Dummy = 0,
135  };
136  };
137 
141  Dummy = 0,
142  };
143  };
144 
146  struct RecordId {
147  enum T : FwDpIdType {
149  };
150  };
151 
153  class DpContainer :
154  public Fw::DpContainer
155  {
156 
157  public:
158 
160  DpContainer(
161  FwDpIdType id,
162  const Fw::Buffer& buffer,
163  FwDpIdType baseId
164  );
165 
167  DpContainer();
168 
169  public:
170 
174  const U8* array,
175  FwSizeType size
176  );
177 
178  FwDpIdType getBaseId() const { return this->m_baseId; }
179 
180  void setBaseId(FwDpIdType baseId) { this->m_baseId = baseId; }
181 
182  private:
183 
185  FwDpIdType m_baseId;
186 
187  };
188 
189  public:
190 
191  // ----------------------------------------------------------------------
192  // Component initialization
193  // ----------------------------------------------------------------------
194 
196  void init(
197  FwEnumStoreType instance = 0
198  );
199 
200 #if !FW_DIRECT_PORT_CALLS
201 
202  public:
203 
204  // ----------------------------------------------------------------------
205  // Getters for special input ports
206  // ----------------------------------------------------------------------
207 
212  FwIndexType portNum
213  );
214 
215 #endif
216 
217 #if !FW_DIRECT_PORT_CALLS
218 
219  public:
220 
221  // ----------------------------------------------------------------------
222  // Getters for typed input ports
223  // ----------------------------------------------------------------------
224 
229  FwIndexType portNum
230  );
231 
232 #endif
233 
234 #if !FW_DIRECT_PORT_CALLS
235 
236  public:
237 
238  // ----------------------------------------------------------------------
239  // Connect input ports to special output ports
240  // ----------------------------------------------------------------------
241 
244  FwIndexType portNum,
245  Fw::InputCmdRegPort* port
246  );
247 
250  FwIndexType portNum,
252  );
253 
256  FwIndexType portNum,
257  Fw::InputDpGetPort* port
258  );
259 
262  FwIndexType portNum,
263  Fw::InputDpSendPort* port
264  );
265 
268  FwIndexType portNum,
269  Fw::InputLogPort* port
270  );
271 
272 #if FW_ENABLE_TEXT_LOGGING == 1
273 
275  void set_logTextOut_OutputPort(
276  FwIndexType portNum,
277  Fw::InputLogTextPort* port
278  );
279 
280 #endif
281 
284  FwIndexType portNum,
285  Fw::InputPrmGetPort* port
286  );
287 
290  FwIndexType portNum,
291  Fw::InputPrmSetPort* port
292  );
293 
296  FwIndexType portNum,
297  Fw::InputTimePort* port
298  );
299 
300 #endif
301 
302 #if !FW_DIRECT_PORT_CALLS
303 
304  public:
305 
306  // ----------------------------------------------------------------------
307  // Connect typed input ports to typed output ports
308  // ----------------------------------------------------------------------
309 
312  FwIndexType portNum,
314  );
315 
316 #endif
317 
318 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
319 
320  public:
321 
322  // ----------------------------------------------------------------------
323  // Connect serial input ports to special output ports
324  // ----------------------------------------------------------------------
325 
328  FwIndexType portNum,
329  Fw::InputSerializePort* port
330  );
331 
334  FwIndexType portNum,
335  Fw::InputSerializePort* port
336  );
337 
340  FwIndexType portNum,
341  Fw::InputSerializePort* port
342  );
343 
346  FwIndexType portNum,
347  Fw::InputSerializePort* port
348  );
349 
350 #if FW_ENABLE_TEXT_LOGGING == 1
351 
353  void set_logTextOut_OutputPort(
354  FwIndexType portNum,
355  Fw::InputSerializePort* port
356  );
357 
358 #endif
359 
362  FwIndexType portNum,
363  Fw::InputSerializePort* port
364  );
365 
368  FwIndexType portNum,
369  Fw::InputSerializePort* port
370  );
371 
372 #endif
373 
374  public:
375 
376  // ----------------------------------------------------------------------
377  // Command registration
378  // ----------------------------------------------------------------------
379 
383  void regCommands();
384 
385  public:
386 
387  // ----------------------------------------------------------------------
388  // Parameter loading
389  // ----------------------------------------------------------------------
390 
394  void loadParameters();
395 
396  protected:
397 
398  // ----------------------------------------------------------------------
399  // Component construction and destruction
400  // ----------------------------------------------------------------------
401 
404  const char* compName = ""
405  );
406 
409 
410  protected:
411 
412  // ----------------------------------------------------------------------
413  // Getters for numbers of special input ports
414  // ----------------------------------------------------------------------
415 
420  return NUM_CMDIN_INPUT_PORTS;
421  }
422 
423  protected:
424 
425  // ----------------------------------------------------------------------
426  // Getters for numbers of typed input ports
427  // ----------------------------------------------------------------------
428 
434  }
435 
436  protected:
437 
438  // ----------------------------------------------------------------------
439  // Getters for numbers of special output ports
440  // ----------------------------------------------------------------------
441 
447  }
448 
454  }
455 
460  return NUM_DPGET_OUTPUT_PORTS;
461  }
462 
468  }
469 
475  }
476 
477 #if FW_ENABLE_TEXT_LOGGING == 1
478 
482  static constexpr FwIndexType getNum_logTextOut_OutputPorts() {
484  }
485 
486 #endif
487 
493  }
494 
500  }
501 
507  }
508 
509  protected:
510 
511  // ----------------------------------------------------------------------
512  // Getters for numbers of typed output ports
513  // ----------------------------------------------------------------------
514 
520  }
521 
522  protected:
523 
524  // ----------------------------------------------------------------------
525  // Connection status queries for special output ports
526  // ----------------------------------------------------------------------
527 
532  FwIndexType portNum
533  ) const;
534 
539  FwIndexType portNum
540  ) const;
541 
546  FwIndexType portNum
547  ) const;
548 
553  FwIndexType portNum
554  ) const;
555 
560  FwIndexType portNum
561  ) const;
562 
563 #if FW_ENABLE_TEXT_LOGGING == 1
564 
568  bool isConnected_logTextOut_OutputPort(
569  FwIndexType portNum
570  ) const;
571 
572 #endif
573 
578  FwIndexType portNum
579  ) const;
580 
585  FwIndexType portNum
586  ) const;
587 
592  FwIndexType portNum
593  ) const;
594 
595  protected:
596 
597  // ----------------------------------------------------------------------
598  // Connection status queries for typed output ports
599  // ----------------------------------------------------------------------
600 
605  FwIndexType portNum
606  ) const;
607 
608 #if FW_DIRECT_PORT_CALLS
609  public:
610 #else
611  protected:
612 #endif
613 
614  // ----------------------------------------------------------------------
615  // Port handler base-class functions for special input ports
616  //
617  // Call these functions directly to bypass the corresponding ports
618  // ----------------------------------------------------------------------
619 
621  void cmdIn_handlerBase(
622  FwIndexType portNum,
623  FwOpcodeType opCode,
624  U32 cmdSeq,
625  Fw::CmdArgBuffer& args
626  );
627 
628  protected:
629 
630  // ----------------------------------------------------------------------
631  // Handlers to implement for typed input ports
632  // ----------------------------------------------------------------------
633 
635  virtual void procRequest_handler(
636  FwIndexType portNum,
637  Fw::Buffer& fwBuffer
638  ) = 0;
639 
640 #if FW_DIRECT_PORT_CALLS
641  public:
642 #else
643  protected:
644 #endif
645 
646  // ----------------------------------------------------------------------
647  // Port handler base-class functions for typed input ports
648  //
649  // Call these functions directly to bypass the corresponding ports
650  // ----------------------------------------------------------------------
651 
654  FwIndexType portNum,
655  Fw::Buffer& fwBuffer
656  );
657 
658  protected:
659 
660  // ----------------------------------------------------------------------
661  // Invocation functions for typed output ports
662  // ----------------------------------------------------------------------
663 
666  FwIndexType portNum,
667  Fw::Buffer& buffer,
668  FwSizeType min_compression,
669  FwSizeType write_offset
670  ) const;
671 
672  protected:
673 
674  // ----------------------------------------------------------------------
675  // Command response
676  // ----------------------------------------------------------------------
677 
679  void cmdResponse_out(
680  FwOpcodeType opCode,
681  U32 cmdSeq,
682  Fw::CmdResponse response
683  );
684 
685  protected:
686 
687  // ----------------------------------------------------------------------
688  // Event logging functions
689  // ----------------------------------------------------------------------
690 
693  FwDpIdType dp_id,
694  FwSizeType initial_size,
695  FwSizeType final_size
696  ) const;
697 
700  FwDpIdType dp_id,
701  FwSizeType data_size
702  );
703 
704  protected:
705 
706  // ----------------------------------------------------------------------
707  // Event throttle reset functions
708  // ----------------------------------------------------------------------
709 
712 
713  protected:
714 
715  // ----------------------------------------------------------------------
716  // Parameter hook functions
717  // ----------------------------------------------------------------------
718 
722  virtual void parameterUpdated(
723  FwPrmIdType id
724  );
725 
729  virtual void parametersLoaded();
730 
731  protected:
732 
733  // ----------------------------------------------------------------------
734  // Parameter get functions
735  // ----------------------------------------------------------------------
736 
743  Fw::ParamValid& valid
744  );
745 
752  Fw::ParamValid& valid
753  );
754 
755  protected:
756 
757  // ----------------------------------------------------------------------
758  // Functions for managing data products
759  // ----------------------------------------------------------------------
760 
764  FwSizeType dataSize,
765  DpContainer& container
766  ) {
767  return this->dpGet(
769  dataSize,
771  container
772  );
773  }
774 
776  void dpSend(
777  DpContainer& container,
778  Fw::Time timeTag = Fw::ZERO_TIME
779  );
780 
781  protected:
782 
783  // ----------------------------------------------------------------------
784  // Time
785  // ----------------------------------------------------------------------
786 
790  Fw::Time getTime() const;
791 
792  private:
793 
794  // ----------------------------------------------------------------------
795  // Calls for messages received on special input ports
796  // ----------------------------------------------------------------------
797 
799  static void m_p_cmdIn_in(
800  Fw::PassiveComponentBase* callComp,
801  FwIndexType portNum,
802  FwOpcodeType opCode,
803  U32 cmdSeq,
804  Fw::CmdArgBuffer& args
805  );
806 
807  private:
808 
809  // ----------------------------------------------------------------------
810  // Calls for messages received on typed input ports
811  // ----------------------------------------------------------------------
812 
814  static void m_p_procRequest_in(
815  Fw::PassiveComponentBase* callComp,
816  FwIndexType portNum,
817  Fw::Buffer& fwBuffer
818  );
819 
820  private:
821 
822  // ----------------------------------------------------------------------
823  // Invocation functions for special output ports
824  // ----------------------------------------------------------------------
825 
827  void cmdRegOut_out(
828  FwIndexType portNum,
829  FwOpcodeType opCode
830  ) const;
831 
833  void cmdResponseOut_out(
834  FwIndexType portNum,
835  FwOpcodeType opCode,
836  U32 cmdSeq,
837  const Fw::CmdResponse& response
838  ) const;
839 
841  Fw::Success dpGet_out(
842  FwIndexType portNum,
843  FwDpIdType id,
844  FwSizeType dataSize,
845  Fw::Buffer& buffer
846  ) const;
847 
849  void dpSend_out(
850  FwIndexType portNum,
851  FwDpIdType id,
852  const Fw::Buffer& buffer
853  ) const;
854 
856  void logOut_out(
857  FwIndexType portNum,
858  FwEventIdType id,
859  Fw::Time& timeTag,
860  const Fw::LogSeverity& severity,
861  Fw::LogBuffer& args
862  ) const;
863 
864 #if FW_ENABLE_TEXT_LOGGING
865 
867  void logTextOut_out(
868  FwIndexType portNum,
869  FwEventIdType id,
870  Fw::Time& timeTag,
871  const Fw::LogSeverity& severity,
872  Fw::TextLogString& text
873  ) const;
874 
875 #endif
876 
878  Fw::ParamValid prmGetOut_out(
879  FwIndexType portNum,
880  FwPrmIdType id,
881  Fw::ParamBuffer& val
882  ) const;
884 
886  void prmSetOut_out(
887  FwIndexType portNum,
888  FwPrmIdType id,
889  Fw::ParamBuffer& val
890  ) const;
891 
893  void timeCaller_out(
894  FwIndexType portNum,
895  Fw::Time& time
896  ) const;
897 
898  private:
899 
900  // ----------------------------------------------------------------------
901  // Parameter set functions
902  // ----------------------------------------------------------------------
903 
907  Fw::CmdResponse paramSet_CHUNK_SIZE(
909  );
910 
914  Fw::CmdResponse paramSet_ENABLE(
916  );
917 
918  private:
919 
920  // ----------------------------------------------------------------------
921  // Parameter save functions
922  // ----------------------------------------------------------------------
923 
927  Fw::CmdResponse paramSave_CHUNK_SIZE();
928 
932  Fw::CmdResponse paramSave_ENABLE();
933 
934  private:
935 
936  // ----------------------------------------------------------------------
937  // Private data product handling functions
938  // ----------------------------------------------------------------------
939 
942  Fw::Success::T dpGet(
943  ContainerId::T containerId,
944  FwSizeType dataSize,
945  FwDpPriorityType priority,
946  DpContainer& container
947  );
948 
949 #if !FW_DIRECT_PORT_CALLS
950 
951  private:
952 
953  // ----------------------------------------------------------------------
954  // Special input ports
955  // ----------------------------------------------------------------------
956 
958  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
959 
960 #endif
961 
962 #if !FW_DIRECT_PORT_CALLS
963 
964  private:
965 
966  // ----------------------------------------------------------------------
967  // Typed input ports
968  // ----------------------------------------------------------------------
969 
971  Fw::InputBufferSendPort m_procRequest_InputPort[NUM_PROCREQUEST_INPUT_PORTS];
972 
973 #endif
974 
975 #if !FW_DIRECT_PORT_CALLS
976 
977  private:
978 
979  // ----------------------------------------------------------------------
980  // Special output ports
981  // ----------------------------------------------------------------------
982 
984  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
985 
987  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
988 
990  Fw::OutputDpGetPort m_dpGet_OutputPort[NUM_DPGET_OUTPUT_PORTS];
991 
993  Fw::OutputDpSendPort m_dpSend_OutputPort[NUM_DPSEND_OUTPUT_PORTS];
994 
996  Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS];
997 
998 #if FW_ENABLE_TEXT_LOGGING == 1
999 
1001  Fw::OutputLogTextPort m_logTextOut_OutputPort[NUM_LOGTEXTOUT_OUTPUT_PORTS];
1002 
1003 #endif
1004 
1006  Fw::OutputPrmGetPort m_prmGetOut_OutputPort[NUM_PRMGETOUT_OUTPUT_PORTS];
1007 
1009  Fw::OutputPrmSetPort m_prmSetOut_OutputPort[NUM_PRMSETOUT_OUTPUT_PORTS];
1010 
1012  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
1013 
1014 #endif
1015 
1016 #if !FW_DIRECT_PORT_CALLS
1017 
1018  private:
1019 
1020  // ----------------------------------------------------------------------
1021  // Typed output ports
1022  // ----------------------------------------------------------------------
1023 
1026 
1027 #endif
1028 
1029  private:
1030 
1031  // ----------------------------------------------------------------------
1032  // Counter values for event throttling
1033  // ----------------------------------------------------------------------
1034 
1036  std::atomic<FwIndexType> m_DidNotCompressThrottle;
1037 
1038  private:
1039 
1040  // ----------------------------------------------------------------------
1041  // Parameter validity flags
1042  // ----------------------------------------------------------------------
1043 
1045  Fw::ParamValid m_param_CHUNK_SIZE_valid = Fw::ParamValid::UNINIT;
1046 
1048  Fw::ParamValid m_param_ENABLE_valid = Fw::ParamValid::UNINIT;
1049 
1050  private:
1051 
1052  // ----------------------------------------------------------------------
1053  // Parameter variables
1054  // ----------------------------------------------------------------------
1055 
1059  FwSizeStoreType m_CHUNK_SIZE;
1060 
1064  Fw::Enabled m_ENABLE;
1065 
1066  private:
1067 
1068  // ----------------------------------------------------------------------
1069  // Mutexes
1070  // ----------------------------------------------------------------------
1071 
1073  Os::Mutex m_paramLock;
1074 
1075  };
1076 
1077 }
1078 
1079 #endif
Number of bytes to use in a compression chunk.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
A data product Container.
Definition: DpContainer.hpp:26
static constexpr FwSizeType SIZE_OF_CompressionRecord_RECORD(FwSizeType arraySize)
Record sizes.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_dpSend_OutputPorts()
virtual void parametersLoaded()
Called whenever parameters are loaded.
static constexpr FwIndexType getNum_compressChunk_OutputPorts()
void set_compressChunk_OutputPort(FwIndexType portNum, Svc::InputCompressChunkPort *port)
Connect port to compressChunk[portNum].
friend class DpCompressProcTesterBase
Friend class tester to support autocoded test harness.
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
PlatformSizeType FwSizeType
U32 FwDpPriorityType
The type of a data product priority.
I32 FwEnumStoreType
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
FwIdType FwPrmIdType
The type of a parameter identifier.
Chunk size to use when passing data to the compression backend.
static constexpr FwIndexType getNum_procRequest_InputPorts()
void dpSend(DpContainer &container, Fw::Time timeTag=Fw::ZERO_TIME)
Send a data product.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
const Time ZERO_TIME
Definition: Time.cpp:5
Fw::Success::T dpGet_Dummy(FwSizeType dataSize, DpContainer &container)
Fw::SerializeStatus serializeRecord_CompressionRecord(const U8 *array, FwSizeType size)
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Enum representing a command response.
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
bool isConnected_compressChunk_OutputPort(FwIndexType portNum) const
void init()
Object initializer.
Definition: ObjBase.cpp:24
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
SerializeStatus
forward declaration for string
static constexpr FwIndexType getNum_dpGet_OutputPorts()
void log_ACTIVITY_LO_DidNotCompress(FwDpIdType dp_id, FwSizeType data_size)
Log event DidNotCompress.
U16 FwSizeStoreType
The type used to serialize a size value.
FwIdType FwEventIdType
The type of an event identifier.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
DpCompressProcComponentBase(const char *compName="")
Construct DpCompressProcComponentBase object.
bool isConnected_dpSend_OutputPort(FwIndexType portNum) const
Auto-generated base for DpCompressProc component.
static constexpr FwIndexType getNum_logOut_OutputPorts()
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Fw::InputBufferSendPort * get_procRequest_InputPort(FwIndexType portNum)
Svc::CompressionAlgorithm compressChunk_out(FwIndexType portNum, Fw::Buffer &buffer, FwSizeType min_compression, FwSizeType write_offset) const
Invoke output port compressChunk.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void set_dpGet_OutputPort(FwIndexType portNum, Fw::InputDpGetPort *port)
Connect port to dpGet[portNum].
void procRequest_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port procRequest.
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
Output CompressChunk port.
T
The raw enum type.
void log_DIAGNOSTIC_CompressionComplete(FwDpIdType dp_id, FwSizeType initial_size, FwSizeType final_size) const
Log event CompressionComplete.
friend class DpCompressProcTester
Friend class tester implementation to support white-box testing.
Enum representing event severity.
virtual ~DpCompressProcComponentBase()
Destroy DpCompressProcComponentBase object.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Enabled and disabled states.
void log_ACTIVITY_LO_DidNotCompress_ThrottleClear()
Reset throttle value for DidNotCompress.
DpContainer()
Constructor with default initialization.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:54
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
FwIdType FwDpIdType
The type of a data product identifier.
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
FwSizeStoreType paramGet_CHUNK_SIZE(Fw::ParamValid &valid)
PlatformIndexType FwIndexType
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
RateGroupDivider component implementation.
bool isConnected_dpGet_OutputPort(FwIndexType portNum) const
Enum representing parameter validity.
void set_dpSend_OutputPort(FwIndexType portNum, Fw::InputDpSendPort *port)
Connect port to dpSend[portNum].
Input CompressChunk port.
virtual void procRequest_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port procRequest.
void loadParameters()
Load the parameters from a parameter source.
void regCommands()
Register commands with the Command Dispatcher.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Fw::Enabled paramGet_ENABLE(Fw::ParamValid &valid)
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Success/Failure.