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 {
110  };
111 
113  enum {
118  };
119 
121  enum {
124  };
125 
128  return sizeof(FwDpIdType) + sizeof(FwSizeStoreType) + arraySize * sizeof(U8);
129  }
130 
131  protected:
132 
133  // ----------------------------------------------------------------------
134  // Types for data products
135  // ----------------------------------------------------------------------
136 
138  struct ContainerId {
139  enum T : FwDpIdType {
140  Dummy = 0,
141  };
142  };
143 
147  Dummy = 0,
148  };
149  };
150 
152  struct RecordId {
153  enum T : FwDpIdType {
155  };
156  };
157 
159  class DpContainer :
160  public Fw::DpContainer
161  {
162 
163  public:
164 
166  DpContainer(
167  FwDpIdType id,
168  const Fw::Buffer& buffer,
169  FwDpIdType baseId
170  );
171 
173  DpContainer();
174 
175  public:
176 
180  const U8* array,
181  FwSizeType size
182  );
183 
184  FwDpIdType getBaseId() const { return this->m_baseId; }
185 
186  void setBaseId(FwDpIdType baseId) { this->m_baseId = baseId; }
187 
188  private:
189 
191  FwDpIdType m_baseId;
192 
193  };
194 
195  public:
196 
197  // ----------------------------------------------------------------------
198  // Component initialization
199  // ----------------------------------------------------------------------
200 
202  void init(
203  FwEnumStoreType instance = 0
204  );
205 
206 #if !FW_DIRECT_PORT_CALLS
207 
208  public:
209 
210  // ----------------------------------------------------------------------
211  // Getters for special input ports
212  // ----------------------------------------------------------------------
213 
218  FwIndexType portNum
219  );
220 
221 #endif
222 
223 #if !FW_DIRECT_PORT_CALLS
224 
225  public:
226 
227  // ----------------------------------------------------------------------
228  // Getters for typed input ports
229  // ----------------------------------------------------------------------
230 
235  FwIndexType portNum
236  );
237 
238 #endif
239 
240 #if !FW_DIRECT_PORT_CALLS
241 
242  public:
243 
244  // ----------------------------------------------------------------------
245  // Connect input ports to special output ports
246  // ----------------------------------------------------------------------
247 
250  FwIndexType portNum,
251  Fw::InputCmdRegPort* port
252  );
253 
256  FwIndexType portNum,
258  );
259 
262  FwIndexType portNum,
263  Fw::InputDpGetPort* port
264  );
265 
268  FwIndexType portNum,
269  Fw::InputDpSendPort* port
270  );
271 
274  FwIndexType portNum,
275  Fw::InputLogPort* port
276  );
277 
278 #if FW_ENABLE_TEXT_LOGGING == 1
279 
281  void set_logTextOut_OutputPort(
282  FwIndexType portNum,
283  Fw::InputLogTextPort* port
284  );
285 
286 #endif
287 
290  FwIndexType portNum,
291  Fw::InputPrmGetPort* port
292  );
293 
296  FwIndexType portNum,
297  Fw::InputPrmSetPort* port
298  );
299 
302  FwIndexType portNum,
303  Fw::InputTimePort* port
304  );
305 
306 #endif
307 
308 #if !FW_DIRECT_PORT_CALLS
309 
310  public:
311 
312  // ----------------------------------------------------------------------
313  // Connect typed input ports to typed output ports
314  // ----------------------------------------------------------------------
315 
318  FwIndexType portNum,
320  );
321 
322 #endif
323 
324 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
325 
326  public:
327 
328  // ----------------------------------------------------------------------
329  // Connect serial input ports to special output ports
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 
352  FwIndexType portNum,
353  Fw::InputSerializePort* port
354  );
355 
356 #if FW_ENABLE_TEXT_LOGGING == 1
357 
359  void set_logTextOut_OutputPort(
360  FwIndexType portNum,
361  Fw::InputSerializePort* port
362  );
363 
364 #endif
365 
368  FwIndexType portNum,
369  Fw::InputSerializePort* port
370  );
371 
374  FwIndexType portNum,
375  Fw::InputSerializePort* port
376  );
377 
378 #endif
379 
380  public:
381 
382  // ----------------------------------------------------------------------
383  // Command registration
384  // ----------------------------------------------------------------------
385 
389  void regCommands();
390 
391  public:
392 
393  // ----------------------------------------------------------------------
394  // Parameter loading
395  // ----------------------------------------------------------------------
396 
400  void loadParameters();
401 
402  protected:
403 
404  // ----------------------------------------------------------------------
405  // Component construction and destruction
406  // ----------------------------------------------------------------------
407 
410  const char* compName = ""
411  );
412 
415 
416  protected:
417 
418  // ----------------------------------------------------------------------
419  // Getters for numbers of special input ports
420  // ----------------------------------------------------------------------
421 
426  return NUM_CMDIN_INPUT_PORTS;
427  }
428 
429  protected:
430 
431  // ----------------------------------------------------------------------
432  // Getters for numbers of typed input ports
433  // ----------------------------------------------------------------------
434 
440  }
441 
442  protected:
443 
444  // ----------------------------------------------------------------------
445  // Getters for numbers of special output ports
446  // ----------------------------------------------------------------------
447 
453  }
454 
460  }
461 
466  return NUM_DPGET_OUTPUT_PORTS;
467  }
468 
474  }
475 
481  }
482 
483 #if FW_ENABLE_TEXT_LOGGING == 1
484 
488  static constexpr FwIndexType getNum_logTextOut_OutputPorts() {
490  }
491 
492 #endif
493 
499  }
500 
506  }
507 
513  }
514 
515  protected:
516 
517  // ----------------------------------------------------------------------
518  // Getters for numbers of typed output ports
519  // ----------------------------------------------------------------------
520 
526  }
527 
528  protected:
529 
530  // ----------------------------------------------------------------------
531  // Connection status queries for special output ports
532  // ----------------------------------------------------------------------
533 
538  FwIndexType portNum
539  ) const;
540 
545  FwIndexType portNum
546  ) const;
547 
552  FwIndexType portNum
553  ) const;
554 
559  FwIndexType portNum
560  ) const;
561 
566  FwIndexType portNum
567  ) const;
568 
569 #if FW_ENABLE_TEXT_LOGGING == 1
570 
574  bool isConnected_logTextOut_OutputPort(
575  FwIndexType portNum
576  ) const;
577 
578 #endif
579 
584  FwIndexType portNum
585  ) const;
586 
591  FwIndexType portNum
592  ) const;
593 
598  FwIndexType portNum
599  ) const;
600 
601  protected:
602 
603  // ----------------------------------------------------------------------
604  // Connection status queries for typed output ports
605  // ----------------------------------------------------------------------
606 
611  FwIndexType portNum
612  ) const;
613 
614 #if FW_DIRECT_PORT_CALLS
615  public:
616 #else
617  protected:
618 #endif
619 
620  // ----------------------------------------------------------------------
621  // Port handler base-class functions for special input ports
622  //
623  // Call these functions directly to bypass the corresponding ports
624  // ----------------------------------------------------------------------
625 
627  void cmdIn_handlerBase(
628  FwIndexType portNum,
629  FwOpcodeType opCode,
630  U32 cmdSeq,
631  Fw::CmdArgBuffer& args
632  );
633 
634  protected:
635 
636  // ----------------------------------------------------------------------
637  // Handlers to implement for typed input ports
638  // ----------------------------------------------------------------------
639 
641  virtual void procRequest_handler(
642  FwIndexType portNum,
643  Fw::Buffer& fwBuffer
644  ) = 0;
645 
646 #if FW_DIRECT_PORT_CALLS
647  public:
648 #else
649  protected:
650 #endif
651 
652  // ----------------------------------------------------------------------
653  // Port handler base-class functions for typed input ports
654  //
655  // Call these functions directly to bypass the corresponding ports
656  // ----------------------------------------------------------------------
657 
660  FwIndexType portNum,
661  Fw::Buffer& fwBuffer
662  );
663 
664  protected:
665 
666  // ----------------------------------------------------------------------
667  // Invocation functions for typed output ports
668  // ----------------------------------------------------------------------
669 
672  FwIndexType portNum,
673  Fw::Buffer& buffer,
674  FwSizeType min_compression,
675  FwSizeType write_offset
676  ) const;
677 
678  protected:
679 
680  // ----------------------------------------------------------------------
681  // Command response
682  // ----------------------------------------------------------------------
683 
685  void cmdResponse_out(
686  FwOpcodeType opCode,
687  U32 cmdSeq,
688  Fw::CmdResponse response
689  );
690 
691  protected:
692 
693  // ----------------------------------------------------------------------
694  // Event logging functions
695  // ----------------------------------------------------------------------
696 
699  FwDpIdType dp_id,
700  FwSizeType initial_size,
701  FwSizeType final_size
702  ) const;
703 
706  FwDpIdType dp_id,
707  FwSizeType data_size
708  );
709 
714  FwSizeType buffer_size,
715  U32 error_code
716  );
717 
722  FwSizeType buffer_size,
723  FwSizeType min_size
724  );
725 
730  FwDpIdType dp_id,
731  FwSizeType data_size
732  );
733 
734  protected:
735 
736  // ----------------------------------------------------------------------
737  // Event throttle reset functions
738  // ----------------------------------------------------------------------
739 
742 
745 
748 
751 
752  protected:
753 
754  // ----------------------------------------------------------------------
755  // Parameter hook functions
756  // ----------------------------------------------------------------------
757 
761  virtual void parameterUpdated(
762  FwPrmIdType id
763  );
764 
768  virtual void parametersLoaded();
769 
770  protected:
771 
772  // ----------------------------------------------------------------------
773  // Parameter get functions
774  // ----------------------------------------------------------------------
775 
782  Fw::ParamValid& valid
783  );
784 
791  Fw::ParamValid& valid
792  );
793 
794  protected:
795 
796  // ----------------------------------------------------------------------
797  // Functions for managing data products
798  // ----------------------------------------------------------------------
799 
803  FwSizeType dataSize,
804  DpContainer& container
805  ) {
806  return this->dpGet(
808  dataSize,
810  container
811  );
812  }
813 
815  void dpSend(
816  DpContainer& container,
817  Fw::Time timeTag = Fw::ZERO_TIME
818  );
819 
820  protected:
821 
822  // ----------------------------------------------------------------------
823  // Time
824  // ----------------------------------------------------------------------
825 
829  Fw::Time getTime() const;
830 
831  private:
832 
833  // ----------------------------------------------------------------------
834  // Calls for messages received on special input ports
835  // ----------------------------------------------------------------------
836 
838  static void m_p_cmdIn_in(
839  Fw::PassiveComponentBase* callComp,
840  FwIndexType portNum,
841  FwOpcodeType opCode,
842  U32 cmdSeq,
843  Fw::CmdArgBuffer& args
844  );
845 
846  private:
847 
848  // ----------------------------------------------------------------------
849  // Calls for messages received on typed input ports
850  // ----------------------------------------------------------------------
851 
853  static void m_p_procRequest_in(
854  Fw::PassiveComponentBase* callComp,
855  FwIndexType portNum,
856  Fw::Buffer& fwBuffer
857  );
858 
859  private:
860 
861  // ----------------------------------------------------------------------
862  // Invocation functions for special output ports
863  // ----------------------------------------------------------------------
864 
866  void cmdRegOut_out(
867  FwIndexType portNum,
868  FwOpcodeType opCode
869  ) const;
870 
872  void cmdResponseOut_out(
873  FwIndexType portNum,
874  FwOpcodeType opCode,
875  U32 cmdSeq,
876  const Fw::CmdResponse& response
877  ) const;
878 
880  Fw::Success dpGet_out(
881  FwIndexType portNum,
882  FwDpIdType id,
883  FwSizeType dataSize,
884  Fw::Buffer& buffer
885  ) const;
886 
888  void dpSend_out(
889  FwIndexType portNum,
890  FwDpIdType id,
891  const Fw::Buffer& buffer
892  ) const;
893 
895  void logOut_out(
896  FwIndexType portNum,
897  FwEventIdType id,
898  Fw::Time& timeTag,
899  const Fw::LogSeverity& severity,
900  Fw::LogBuffer& args
901  ) const;
902 
903 #if FW_ENABLE_TEXT_LOGGING
904 
906  void logTextOut_out(
907  FwIndexType portNum,
908  FwEventIdType id,
909  Fw::Time& timeTag,
910  const Fw::LogSeverity& severity,
911  Fw::TextLogString& text
912  ) const;
913 
914 #endif
915 
917  Fw::ParamValid prmGetOut_out(
918  FwIndexType portNum,
919  FwPrmIdType id,
920  Fw::ParamBuffer& val
921  ) const;
923 
925  void prmSetOut_out(
926  FwIndexType portNum,
927  FwPrmIdType id,
928  Fw::ParamBuffer& val
929  ) const;
930 
932  void timeCaller_out(
933  FwIndexType portNum,
934  Fw::Time& time
935  ) const;
936 
937  private:
938 
939  // ----------------------------------------------------------------------
940  // Parameter set functions
941  // ----------------------------------------------------------------------
942 
946  Fw::CmdResponse paramSet_CHUNK_SIZE(
948  );
949 
953  Fw::CmdResponse paramSet_ENABLE(
955  );
956 
957  private:
958 
959  // ----------------------------------------------------------------------
960  // Parameter save functions
961  // ----------------------------------------------------------------------
962 
966  Fw::CmdResponse paramSave_CHUNK_SIZE();
967 
971  Fw::CmdResponse paramSave_ENABLE();
972 
973  private:
974 
975  // ----------------------------------------------------------------------
976  // Private data product handling functions
977  // ----------------------------------------------------------------------
978 
981  Fw::Success::T dpGet(
982  ContainerId::T containerId,
983  FwSizeType dataSize,
984  FwDpPriorityType priority,
985  DpContainer& container
986  );
987 
988 #if !FW_DIRECT_PORT_CALLS
989 
990  private:
991 
992  // ----------------------------------------------------------------------
993  // Special input ports
994  // ----------------------------------------------------------------------
995 
997  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
998 
999 #endif
1000 
1001 #if !FW_DIRECT_PORT_CALLS
1002 
1003  private:
1004 
1005  // ----------------------------------------------------------------------
1006  // Typed input ports
1007  // ----------------------------------------------------------------------
1008 
1010  Fw::InputBufferSendPort m_procRequest_InputPort[NUM_PROCREQUEST_INPUT_PORTS];
1011 
1012 #endif
1013 
1014 #if !FW_DIRECT_PORT_CALLS
1015 
1016  private:
1017 
1018  // ----------------------------------------------------------------------
1019  // Special output ports
1020  // ----------------------------------------------------------------------
1021 
1023  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
1024 
1026  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
1027 
1029  Fw::OutputDpGetPort m_dpGet_OutputPort[NUM_DPGET_OUTPUT_PORTS];
1030 
1032  Fw::OutputDpSendPort m_dpSend_OutputPort[NUM_DPSEND_OUTPUT_PORTS];
1033 
1035  Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS];
1036 
1037 #if FW_ENABLE_TEXT_LOGGING == 1
1038 
1040  Fw::OutputLogTextPort m_logTextOut_OutputPort[NUM_LOGTEXTOUT_OUTPUT_PORTS];
1041 
1042 #endif
1043 
1045  Fw::OutputPrmGetPort m_prmGetOut_OutputPort[NUM_PRMGETOUT_OUTPUT_PORTS];
1046 
1048  Fw::OutputPrmSetPort m_prmSetOut_OutputPort[NUM_PRMSETOUT_OUTPUT_PORTS];
1049 
1051  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
1052 
1053 #endif
1054 
1055 #if !FW_DIRECT_PORT_CALLS
1056 
1057  private:
1058 
1059  // ----------------------------------------------------------------------
1060  // Typed output ports
1061  // ----------------------------------------------------------------------
1062 
1065 
1066 #endif
1067 
1068  private:
1069 
1070  // ----------------------------------------------------------------------
1071  // Counter values for event throttling
1072  // ----------------------------------------------------------------------
1073 
1075  std::atomic<FwIndexType> m_DidNotCompressThrottle;
1076 
1078  std::atomic<FwIndexType> m_InvalidHeaderThrottle;
1079 
1081  std::atomic<FwIndexType> m_BufferTooSmallForPacketThrottle;
1082 
1084  std::atomic<FwIndexType> m_ContainerTooLargeThrottle;
1085 
1086  private:
1087 
1088  // ----------------------------------------------------------------------
1089  // Parameter validity flags
1090  // ----------------------------------------------------------------------
1091 
1093  Fw::ParamValid m_param_CHUNK_SIZE_valid = Fw::ParamValid::UNINIT;
1094 
1096  Fw::ParamValid m_param_ENABLE_valid = Fw::ParamValid::UNINIT;
1097 
1098  private:
1099 
1100  // ----------------------------------------------------------------------
1101  // Parameter variables
1102  // ----------------------------------------------------------------------
1103 
1107  FwSizeStoreType m_CHUNK_SIZE;
1108 
1112  Fw::Enabled m_ENABLE;
1113 
1114  private:
1115 
1116  // ----------------------------------------------------------------------
1117  // Mutexes
1118  // ----------------------------------------------------------------------
1119 
1121  Os::Mutex m_paramLock;
1122 
1123  };
1124 
1125 }
1126 
1127 #endif
Error occurred when deserializing the container header.
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
void log_WARNING_HI_BufferTooSmallForPacket(FwSizeType buffer_size, FwSizeType min_size)
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.
void log_WARNING_HI_InvalidHeader(FwSizeType buffer_size, U32 error_code)
I32 FwEnumStoreType
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
FwIdType FwPrmIdType
The type of a parameter identifier.
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
Number of bytes to use in a compression chunk.
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.
Received buffer is too small to hold a data product packet.
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.
void log_WARNING_HI_ContainerTooLarge_ThrottleClear()
Reset throttle value for ContainerTooLarge.
T
The raw enum type.
void log_WARNING_HI_BufferTooSmallForPacket_ThrottleClear()
Reset throttle value for BufferTooSmallForPacket.
void log_DIAGNOSTIC_CompressionComplete(FwDpIdType dp_id, FwSizeType initial_size, FwSizeType final_size) const
Log event CompressionComplete.
Chunk size to use when passing data to the compression backend.
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 log_WARNING_HI_ContainerTooLarge(FwDpIdType dp_id, FwSizeType data_size)
void loadParameters()
Load the parameters from a parameter source.
void regCommands()
Register commands with the Command Dispatcher.
Received container is too large for its size to be stored in a record size field. ...
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void log_WARNING_HI_InvalidHeader_ThrottleClear()
Reset throttle value for InvalidHeader.
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.