9 #if FW_ENABLE_TEXT_LOGGING 54 if ((this->m_dataBuffer.getSize() + sizeDelta) <= this->m_dataBuffer.getCapacity()) {
56 status = this->m_dataBuffer.serializeFrom(
id);
58 status = this->m_dataBuffer.serializeSize(size);
62 this->m_dataSize += sizeDelta;
80 #if !FW_DIRECT_PORT_CALLS 87 this->m_cmdIn_InputPort[port].
init();
92 this->m_cmdIn_InputPort[port].
setPortNum(port);
94 #if FW_OBJECT_NAMES == 1 98 this->m_objName.toChar(),
101 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
106 #if !FW_DIRECT_PORT_CALLS 113 this->m_procRequest_InputPort[port].
init();
118 this->m_procRequest_InputPort[port].
setPortNum(port);
120 #if FW_OBJECT_NAMES == 1 124 this->m_objName.toChar(),
127 this->m_procRequest_InputPort[port].setObjName(portName.
toChar());
132 #if !FW_DIRECT_PORT_CALLS 139 this->m_cmdRegOut_OutputPort[port].
init();
141 #if FW_OBJECT_NAMES == 1 145 this->m_objName.toChar(),
148 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
153 #if !FW_DIRECT_PORT_CALLS 160 this->m_cmdResponseOut_OutputPort[port].
init();
162 #if FW_OBJECT_NAMES == 1 166 this->m_objName.toChar(),
169 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
174 #if !FW_DIRECT_PORT_CALLS 181 this->m_dpGet_OutputPort[port].
init();
183 #if FW_OBJECT_NAMES == 1 187 this->m_objName.toChar(),
190 this->m_dpGet_OutputPort[port].setObjName(portName.
toChar());
195 #if !FW_DIRECT_PORT_CALLS 202 this->m_dpSend_OutputPort[port].
init();
204 #if FW_OBJECT_NAMES == 1 208 this->m_objName.toChar(),
211 this->m_dpSend_OutputPort[port].setObjName(portName.
toChar());
216 #if !FW_DIRECT_PORT_CALLS 223 this->m_logOut_OutputPort[port].
init();
225 #if FW_OBJECT_NAMES == 1 229 this->m_objName.toChar(),
232 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
237 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 241 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
244 this->m_logTextOut_OutputPort[port].
init();
246 #if FW_OBJECT_NAMES == 1 250 this->m_objName.toChar(),
253 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
258 #if !FW_DIRECT_PORT_CALLS 265 this->m_prmGetOut_OutputPort[port].
init();
267 #if FW_OBJECT_NAMES == 1 271 this->m_objName.toChar(),
274 this->m_prmGetOut_OutputPort[port].setObjName(portName.
toChar());
279 #if !FW_DIRECT_PORT_CALLS 286 this->m_prmSetOut_OutputPort[port].
init();
288 #if FW_OBJECT_NAMES == 1 292 this->m_objName.toChar(),
295 this->m_prmSetOut_OutputPort[port].setObjName(portName.
toChar());
300 #if !FW_DIRECT_PORT_CALLS 307 this->m_timeCaller_OutputPort[port].
init();
309 #if FW_OBJECT_NAMES == 1 313 this->m_objName.toChar(),
316 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
321 #if !FW_DIRECT_PORT_CALLS 328 this->m_compressChunk_OutputPort[port].
init();
330 #if FW_OBJECT_NAMES == 1 334 this->m_objName.toChar(),
337 this->m_compressChunk_OutputPort[port].setObjName(portName.
toChar());
343 #if !FW_DIRECT_PORT_CALLS 354 static_cast<FwAssertArgType>(portNum)
357 return &this->m_cmdIn_InputPort[portNum];
362 #if !FW_DIRECT_PORT_CALLS 373 static_cast<FwAssertArgType>(portNum)
376 return &this->m_procRequest_InputPort[portNum];
381 #if !FW_DIRECT_PORT_CALLS 395 static_cast<FwAssertArgType>(portNum)
398 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
409 static_cast<FwAssertArgType>(portNum)
412 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
423 static_cast<FwAssertArgType>(portNum)
426 this->m_dpGet_OutputPort[portNum].
addCallPort(port);
437 static_cast<FwAssertArgType>(portNum)
440 this->m_dpSend_OutputPort[portNum].
addCallPort(port);
451 static_cast<FwAssertArgType>(portNum)
454 this->m_logOut_OutputPort[portNum].
addCallPort(port);
457 #if FW_ENABLE_TEXT_LOGGING == 1 459 void DpCompressProcComponentBase ::
460 set_logTextOut_OutputPort(
466 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
467 static_cast<FwAssertArgType>(portNum)
470 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
483 static_cast<FwAssertArgType>(portNum)
486 this->m_prmGetOut_OutputPort[portNum].
addCallPort(port);
497 static_cast<FwAssertArgType>(portNum)
500 this->m_prmSetOut_OutputPort[portNum].
addCallPort(port);
511 static_cast<FwAssertArgType>(portNum)
514 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
519 #if !FW_DIRECT_PORT_CALLS 533 static_cast<FwAssertArgType>(portNum)
536 this->m_compressChunk_OutputPort[portNum].
addCallPort(port);
541 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 550 Fw::InputSerializePort* port
555 static_cast<FwAssertArgType>(portNum)
558 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
564 Fw::InputSerializePort* port
569 static_cast<FwAssertArgType>(portNum)
572 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
578 Fw::InputSerializePort* port
583 static_cast<FwAssertArgType>(portNum)
586 this->m_dpSend_OutputPort[portNum].registerSerialPort(port);
592 Fw::InputSerializePort* port
597 static_cast<FwAssertArgType>(portNum)
600 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
603 #if FW_ENABLE_TEXT_LOGGING == 1 605 void DpCompressProcComponentBase ::
606 set_logTextOut_OutputPort(
608 Fw::InputSerializePort* port
612 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
613 static_cast<FwAssertArgType>(portNum)
616 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
624 Fw::InputSerializePort* port
629 static_cast<FwAssertArgType>(portNum)
632 this->m_prmSetOut_OutputPort[portNum].registerSerialPort(port);
638 Fw::InputSerializePort* port
643 static_cast<FwAssertArgType>(portNum)
646 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
698 this->m_param_CHUNK_SIZE_valid = this->prmGetOut_out(
704 this->m_paramLock.
lock();
717 this->m_CHUNK_SIZE = 32768;
720 this->m_paramLock.
unlock();
725 this->m_param_ENABLE_valid = this->prmGetOut_out(
731 this->m_paramLock.
lock();
747 this->m_paramLock.
unlock();
761 this->m_DidNotCompressThrottle = 0;
762 this->m_InvalidHeaderThrottle = 0;
763 this->m_BufferTooSmallForPacketThrottle = 0;
764 this->m_ContainerTooLargeThrottle = 0;
773 #if !FW_DIRECT_PORT_CALLS 784 static_cast<FwAssertArgType>(portNum)
787 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
795 static_cast<FwAssertArgType>(portNum)
798 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
806 static_cast<FwAssertArgType>(portNum)
809 return this->m_dpGet_OutputPort[portNum].
isConnected();
817 static_cast<FwAssertArgType>(portNum)
820 return this->m_dpSend_OutputPort[portNum].
isConnected();
828 static_cast<FwAssertArgType>(portNum)
831 return this->m_logOut_OutputPort[portNum].
isConnected();
834 #if FW_ENABLE_TEXT_LOGGING == 1 836 bool DpCompressProcComponentBase ::
837 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
const 840 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
841 static_cast<FwAssertArgType>(portNum)
844 return this->m_logTextOut_OutputPort[portNum].isConnected();
854 static_cast<FwAssertArgType>(portNum)
857 return this->m_prmGetOut_OutputPort[portNum].
isConnected();
865 static_cast<FwAssertArgType>(portNum)
868 return this->m_prmSetOut_OutputPort[portNum].
isConnected();
876 static_cast<FwAssertArgType>(portNum)
879 return this->m_timeCaller_OutputPort[portNum].
isConnected();
884 #if !FW_DIRECT_PORT_CALLS 895 static_cast<FwAssertArgType>(portNum)
898 return this->m_compressChunk_OutputPort[portNum].
isConnected();
919 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
922 switch (opCode - idBase) {
983 static_cast<FwAssertArgType>(portNum)
993 #if !FW_DIRECT_PORT_CALLS 1009 static_cast<FwAssertArgType>(portNum)
1013 this->m_compressChunk_OutputPort[portNum].isConnected(),
1014 static_cast<FwAssertArgType>(portNum)
1016 return this->m_compressChunk_OutputPort[portNum].
invoke(
1037 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
1054 this->timeCaller_out(0, _logTime);
1064 #if FW_AMPCS_COMPATIBLE 1069 static_cast<FwAssertArgType>(_status)
1073 #if FW_AMPCS_COMPATIBLE 1080 static_cast<FwAssertArgType>(_status)
1086 static_cast<FwAssertArgType>(_status)
1089 #if FW_AMPCS_COMPATIBLE 1096 static_cast<FwAssertArgType>(_status)
1102 static_cast<FwAssertArgType>(_status)
1105 #if FW_AMPCS_COMPATIBLE 1112 static_cast<FwAssertArgType>(_status)
1118 static_cast<FwAssertArgType>(_status)
1131 #if FW_ENABLE_TEXT_LOGGING 1132 if (this->isConnected_logTextOut_OutputPort(0)) {
1133 #if FW_OBJECT_NAMES == 1 1134 const char* _formatString =
1135 "(%s) %s: Compressed Data Product %" PRIu32
" from %" PRIu64
" to %" PRIu64
" bytes";
1137 const char* _formatString =
1138 "%s: Compressed Data Product %" PRIu32
" from %" PRIu64
" to %" PRIu64
" bytes";
1142 (void) _logString.
format(
1145 this->m_objName.toChar(),
1147 "CompressionComplete ",
1153 this->logTextOut_out(
1175 this->m_DidNotCompressThrottle++;
1181 this->timeCaller_out(0, _logTime);
1191 #if FW_AMPCS_COMPATIBLE 1196 static_cast<FwAssertArgType>(_status)
1200 #if FW_AMPCS_COMPATIBLE 1207 static_cast<FwAssertArgType>(_status)
1213 static_cast<FwAssertArgType>(_status)
1216 #if FW_AMPCS_COMPATIBLE 1223 static_cast<FwAssertArgType>(_status)
1229 static_cast<FwAssertArgType>(_status)
1242 #if FW_ENABLE_TEXT_LOGGING 1243 if (this->isConnected_logTextOut_OutputPort(0)) {
1244 #if FW_OBJECT_NAMES == 1 1245 const char* _formatString =
1246 "(%s) %s: Unable to reduce size of Data Product %" PRIu32
". Uncompressed size %" PRIu64
"";
1248 const char* _formatString =
1249 "%s: Unable to reduce size of Data Product %" PRIu32
". Uncompressed size %" PRIu64
"";
1253 (void) _logString.
format(
1256 this->m_objName.toChar(),
1263 this->logTextOut_out(
1285 this->m_InvalidHeaderThrottle++;
1291 this->timeCaller_out(0, _logTime);
1301 #if FW_AMPCS_COMPATIBLE 1306 static_cast<FwAssertArgType>(_status)
1310 #if FW_AMPCS_COMPATIBLE 1317 static_cast<FwAssertArgType>(_status)
1323 static_cast<FwAssertArgType>(_status)
1326 #if FW_AMPCS_COMPATIBLE 1329 static_cast<U8>(
sizeof(U32))
1333 static_cast<FwAssertArgType>(_status)
1339 static_cast<FwAssertArgType>(_status)
1352 #if FW_ENABLE_TEXT_LOGGING 1353 if (this->isConnected_logTextOut_OutputPort(0)) {
1354 #if FW_OBJECT_NAMES == 1 1355 const char* _formatString =
1356 "(%s) %s: Received buffer of size %" PRIu64
"; deserialization of container header failed with error code %" PRIu32
"";
1358 const char* _formatString =
1359 "%s: Received buffer of size %" PRIu64
"; deserialization of container header failed with error code %" PRIu32
"";
1363 (void) _logString.
format(
1366 this->m_objName.toChar(),
1373 this->logTextOut_out(
1395 this->m_BufferTooSmallForPacketThrottle++;
1401 this->timeCaller_out(0, _logTime);
1411 #if FW_AMPCS_COMPATIBLE 1416 static_cast<FwAssertArgType>(_status)
1420 #if FW_AMPCS_COMPATIBLE 1427 static_cast<FwAssertArgType>(_status)
1433 static_cast<FwAssertArgType>(_status)
1436 #if FW_AMPCS_COMPATIBLE 1443 static_cast<FwAssertArgType>(_status)
1449 static_cast<FwAssertArgType>(_status)
1462 #if FW_ENABLE_TEXT_LOGGING 1463 if (this->isConnected_logTextOut_OutputPort(0)) {
1464 #if FW_OBJECT_NAMES == 1 1465 const char* _formatString =
1466 "(%s) %s: Received buffer has size %" PRIu64
"; minimum required size is %" PRIu64
"";
1468 const char* _formatString =
1469 "%s: Received buffer has size %" PRIu64
"; minimum required size is %" PRIu64
"";
1473 (void) _logString.
format(
1476 this->m_objName.toChar(),
1478 "BufferTooSmallForPacket ",
1483 this->logTextOut_out(
1505 this->m_ContainerTooLargeThrottle++;
1511 this->timeCaller_out(0, _logTime);
1521 #if FW_AMPCS_COMPATIBLE 1526 static_cast<FwAssertArgType>(_status)
1530 #if FW_AMPCS_COMPATIBLE 1537 static_cast<FwAssertArgType>(_status)
1543 static_cast<FwAssertArgType>(_status)
1546 #if FW_AMPCS_COMPATIBLE 1553 static_cast<FwAssertArgType>(_status)
1559 static_cast<FwAssertArgType>(_status)
1572 #if FW_ENABLE_TEXT_LOGGING 1573 if (this->isConnected_logTextOut_OutputPort(0)) {
1574 #if FW_OBJECT_NAMES == 1 1575 const char* _formatString =
1576 "(%s) %s: Data Product %" PRIu32
" has data size %" PRIu64
", too large for a record size field";
1578 const char* _formatString =
1579 "%s: Data Product %" PRIu32
" has data size %" PRIu64
", too large for a record size field";
1583 (void) _logString.
format(
1586 this->m_objName.toChar(),
1588 "ContainerTooLarge ",
1593 this->logTextOut_out(
1612 this->m_DidNotCompressThrottle = 0;
1619 this->m_InvalidHeaderThrottle = 0;
1626 this->m_BufferTooSmallForPacketThrottle = 0;
1633 this->m_ContainerTooLargeThrottle = 0;
1660 this->m_paramLock.
lock();
1661 valid = this->m_param_CHUNK_SIZE_valid;
1663 _local = this->m_CHUNK_SIZE;
1665 this->m_paramLock.
unlock();
1673 this->m_paramLock.
lock();
1674 valid = this->m_param_ENABLE_valid;
1676 _local = this->m_ENABLE;
1678 this->m_paramLock.
unlock();
1704 static_cast<FwAssertArgType>(buffer.
getSize()));
1705 buffer.
setSize(static_cast<U32>(packetSize));
1709 this->dpSend_out(0, container.
getId(), buffer);
1721 this->timeCaller_out(0, _time);
1733 void DpCompressProcComponentBase ::
1756 void DpCompressProcComponentBase ::
1765 compPtr->procRequest_handlerBase(
1771 #if !FW_DIRECT_PORT_CALLS 1777 void DpCompressProcComponentBase ::
1785 static_cast<FwAssertArgType>(portNum)
1789 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
1790 static_cast<FwAssertArgType>(portNum)
1792 this->m_cmdRegOut_OutputPort[portNum].
invoke(
1797 void DpCompressProcComponentBase ::
1807 static_cast<FwAssertArgType>(portNum)
1811 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
1812 static_cast<FwAssertArgType>(portNum)
1814 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
1831 static_cast<FwAssertArgType>(portNum)
1835 this->m_dpGet_OutputPort[portNum].isConnected(),
1836 static_cast<FwAssertArgType>(portNum)
1838 return this->m_dpGet_OutputPort[portNum].
invoke(
1845 void DpCompressProcComponentBase ::
1854 static_cast<FwAssertArgType>(portNum)
1858 this->m_dpSend_OutputPort[portNum].isConnected(),
1859 static_cast<FwAssertArgType>(portNum)
1861 this->m_dpSend_OutputPort[portNum].
invoke(
1867 void DpCompressProcComponentBase ::
1878 static_cast<FwAssertArgType>(portNum)
1882 this->m_logOut_OutputPort[portNum].isConnected(),
1883 static_cast<FwAssertArgType>(portNum)
1885 this->m_logOut_OutputPort[portNum].
invoke(
1893 #if FW_ENABLE_TEXT_LOGGING 1895 void DpCompressProcComponentBase ::
1905 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1906 static_cast<FwAssertArgType>(portNum)
1910 this->m_logTextOut_OutputPort[portNum].isConnected(),
1911 static_cast<FwAssertArgType>(portNum)
1913 this->m_logTextOut_OutputPort[portNum].invoke(
1932 static_cast<FwAssertArgType>(portNum)
1936 this->m_prmGetOut_OutputPort[portNum].isConnected(),
1937 static_cast<FwAssertArgType>(portNum)
1939 return this->m_prmGetOut_OutputPort[portNum].
invoke(
1945 void DpCompressProcComponentBase ::
1954 static_cast<FwAssertArgType>(portNum)
1958 this->m_prmSetOut_OutputPort[portNum].isConnected(),
1959 static_cast<FwAssertArgType>(portNum)
1961 this->m_prmSetOut_OutputPort[portNum].
invoke(
1967 void DpCompressProcComponentBase ::
1975 static_cast<FwAssertArgType>(portNum)
1979 this->m_timeCaller_OutputPort[portNum].isConnected(),
1980 static_cast<FwAssertArgType>(portNum)
1982 this->m_timeCaller_OutputPort[portNum].
invoke(
2003 this->m_paramLock.
lock();
2004 this->m_CHUNK_SIZE = _localVal;
2006 this->m_paramLock.
unlock();
2023 this->m_paramLock.
lock();
2024 this->m_ENABLE = _localVal;
2026 this->m_paramLock.
unlock();
2038 paramSave_CHUNK_SIZE()
2047 this->m_paramLock.
lock();
2051 this->m_paramLock.
unlock();
2056 this->prmSetOut_out(
2075 this->m_paramLock.
lock();
2079 this->m_paramLock.
unlock();
2084 this->prmSetOut_out(
2099 ContainerId::T containerId,
2102 DpContainer& container
2106 const FwDpIdType globalId = baseId + containerId;
2109 const Fw::Success::T status = this->dpGet_out(0, globalId, size, buffer);
2113 container = DpContainer(globalId, buffer, baseId);
2114 container.setPriority(priority);
Opcode to save parameter CHUNK_SIZE.
Serialization/Deserialization operation was successful.
Error occurred when deserializing the container header.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
void addCallPort(InputTimePort *callPort)
Register an input port.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_BufferTooSmallForPacket(FwSizeType buffer_size, FwSizeType min_size)
void setTimeTag(Fw::Time timeTag)
Set the time tag.
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].
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
void init()
Initialization function.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
U32 FwDpPriorityType
The type of a data product priority.
void log_WARNING_HI_InvalidHeader(FwSizeType buffer_size, U32 error_code)
void addCallPort(InputDpSendPort *callPort)
Register an input port.
void setSize(FwSizeType size)
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
FwIdType FwPrmIdType
The type of a parameter identifier.
Throttle reset count for InvalidHeader.
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
static constexpr FwIndexType getNum_procRequest_InputPorts()
No room left in the buffer to serialize data.
void dpSend(DpContainer &container, Fw::Time timeTag=Fw::ZERO_TIME)
Send a data product.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
Number of bytes to use in a compression chunk.
Fw::SerializeStatus serializeRecord_CompressionRecord(const U8 *array, FwSizeType size)
PassiveComponentBase(const char *name)
Named constructor.
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].
No time base has been established (Required)
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
bool isConnected_compressChunk_OutputPort(FwIndexType portNum) const
void init()
Initialization function.
Software diagnostic events.
Opcode to set parameter CHUNK_SIZE.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
A data product container.
Throttle reset count for BufferTooSmallForPacket.
void init()
Object initializer.
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
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_dpGet_OutputPorts()
void addCallPort(InputCompressChunkPort *callPort)
Register an input port.
void unlock()
alias for unLock to meet BasicLockable requirements
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
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
Auto-generated base for DpCompressProc component.
void init()
Initialization function.
Data was the wrong format (e.g. wrong packet type)
static constexpr FwIndexType getNum_logOut_OutputPorts()
Less important informational events.
Fw::ParamValid invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Omit length from serialization.
Throttle reset count for DidNotCompress.
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.
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
void log_WARNING_HI_ContainerTooLarge_ThrottleClear()
Reset throttle value for ContainerTooLarge.
void invalidateBuffer()
Invalidate the packet buffer.
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.
A serious but recoverable event.
Opcode to set parameter ENABLE.
static constexpr FwSizeType getPacketSizeForDataSize(FwSizeType dataSize)
Get the packet size for a given data size.
const char * toChar() const
Convert to a C-style char*.
Enum representing event severity.
virtual ~DpCompressProcComponentBase()
Destroy DpCompressProcComponentBase object.
FwSizeType getPacketSize() const
Get the packet size corresponding to the data size.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Fw::Buffer getBuffer() const
Enabled and disabled states.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Command successfully executed.
void log_ACTIVITY_LO_DidNotCompress_ThrottleClear()
Reset throttle value for DidNotCompress.
DpContainer()
Constructor with default initialization.
Throttle reset count for ContainerTooLarge.
uint8_t U8
8-bit unsigned integer
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void init()
Initialization function.
FwSizeType getSize() const
Svc::CompressionAlgorithm invoke(Fw::Buffer &buffer, FwSizeType min_compression, FwSizeType write_offset) const
Command had execution error.
FwIdType FwDpIdType
The type of a data product identifier.
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
FwSizeStoreType paramGet_CHUNK_SIZE(Fw::ParamValid &valid)
Opcode to save parameter ENABLE.
Fw::Success invoke(FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer) const
PlatformIndexType FwIndexType
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void addCallPort(InputDpGetPort *callPort)
Register an input port.
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
Command failed validation.
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].
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port connection.
virtual void procRequest_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port procRequest.
Implementation of malloc based allocator.
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 init()
Initialization function.
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].
void init()
Initialization function.
void invoke(FwDpIdType id, const Fw::Buffer &buffer) const
Invoke a port connection.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void init()
Initialization function.
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success