9 #if FW_ENABLE_TEXT_LOGGING 20 VERIFYIN_VERIFYSTATUS,
35 class ComponentIpcSerializableBuffer :
45 MAX_DATA_SIZE =
sizeof(BuffUnion),
47 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
51 return sizeof(m_buff);
58 const U8* getBuffAddr()
const {
64 U8 m_buff[SERIALIZATION_SIZE];
82 #if !FW_DIRECT_PORT_CALLS 89 this->m_cmdIn_InputPort[port].
init();
94 this->m_cmdIn_InputPort[port].
setPortNum(port);
96 #if FW_OBJECT_NAMES == 1 100 this->m_objName.toChar(),
103 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
108 #if !FW_DIRECT_PORT_CALLS 115 this->m_cancelIn_InputPort[port].
init();
120 this->m_cancelIn_InputPort[port].
setPortNum(port);
122 #if FW_OBJECT_NAMES == 1 126 this->m_objName.toChar(),
129 this->m_cancelIn_InputPort[port].setObjName(portName.
toChar());
134 #if !FW_DIRECT_PORT_CALLS 141 this->m_readIn_InputPort[port].
init();
146 this->m_readIn_InputPort[port].
setPortNum(port);
148 #if FW_OBJECT_NAMES == 1 152 this->m_objName.toChar(),
155 this->m_readIn_InputPort[port].setObjName(portName.
toChar());
160 #if !FW_DIRECT_PORT_CALLS 167 this->m_verifyIn_InputPort[port].
init();
172 this->m_verifyIn_InputPort[port].
setPortNum(port);
174 #if FW_OBJECT_NAMES == 1 178 this->m_objName.toChar(),
181 this->m_verifyIn_InputPort[port].setObjName(portName.
toChar());
186 #if !FW_DIRECT_PORT_CALLS 193 this->m_writeIn_InputPort[port].
init();
198 this->m_writeIn_InputPort[port].
setPortNum(port);
200 #if FW_OBJECT_NAMES == 1 204 this->m_objName.toChar(),
207 this->m_writeIn_InputPort[port].setObjName(portName.
toChar());
212 #if !FW_DIRECT_PORT_CALLS 219 this->m_cmdRegOut_OutputPort[port].
init();
221 #if FW_OBJECT_NAMES == 1 225 this->m_objName.toChar(),
228 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
233 #if !FW_DIRECT_PORT_CALLS 240 this->m_cmdResponseOut_OutputPort[port].
init();
242 #if FW_OBJECT_NAMES == 1 246 this->m_objName.toChar(),
249 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
254 #if !FW_DIRECT_PORT_CALLS 261 this->m_logOut_OutputPort[port].
init();
263 #if FW_OBJECT_NAMES == 1 267 this->m_objName.toChar(),
270 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
275 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 279 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
282 this->m_logTextOut_OutputPort[port].
init();
284 #if FW_OBJECT_NAMES == 1 288 this->m_objName.toChar(),
291 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
296 #if !FW_DIRECT_PORT_CALLS 303 this->m_prmGetOut_OutputPort[port].
init();
305 #if FW_OBJECT_NAMES == 1 309 this->m_objName.toChar(),
312 this->m_prmGetOut_OutputPort[port].setObjName(portName.
toChar());
317 #if !FW_DIRECT_PORT_CALLS 324 this->m_prmSetOut_OutputPort[port].
init();
326 #if FW_OBJECT_NAMES == 1 330 this->m_objName.toChar(),
333 this->m_prmSetOut_OutputPort[port].setObjName(portName.
toChar());
338 #if !FW_DIRECT_PORT_CALLS 345 this->m_timeCaller_OutputPort[port].
init();
347 #if FW_OBJECT_NAMES == 1 351 this->m_objName.toChar(),
354 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
359 #if !FW_DIRECT_PORT_CALLS 366 this->m_tlmOut_OutputPort[port].
init();
368 #if FW_OBJECT_NAMES == 1 372 this->m_objName.toChar(),
375 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
380 #if !FW_DIRECT_PORT_CALLS 387 this->m_readDoneOut_OutputPort[port].
init();
389 #if FW_OBJECT_NAMES == 1 393 this->m_objName.toChar(),
396 this->m_readDoneOut_OutputPort[port].setObjName(portName.
toChar());
401 #if !FW_DIRECT_PORT_CALLS 408 this->m_verifyDoneOut_OutputPort[port].
init();
410 #if FW_OBJECT_NAMES == 1 414 this->m_objName.toChar(),
417 this->m_verifyDoneOut_OutputPort[port].setObjName(portName.
toChar());
422 #if !FW_DIRECT_PORT_CALLS 429 this->m_writeDoneOut_OutputPort[port].
init();
431 #if FW_OBJECT_NAMES == 1 435 this->m_objName.toChar(),
438 this->m_writeDoneOut_OutputPort[port].setObjName(portName.
toChar());
446 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
450 static_cast<FwAssertArgType>(qStat)
454 #if !FW_DIRECT_PORT_CALLS 465 static_cast<FwAssertArgType>(portNum)
468 return &this->m_cmdIn_InputPort[portNum];
473 #if !FW_DIRECT_PORT_CALLS 484 static_cast<FwAssertArgType>(portNum)
487 return &this->m_cancelIn_InputPort[portNum];
495 static_cast<FwAssertArgType>(portNum)
498 return &this->m_readIn_InputPort[portNum];
506 static_cast<FwAssertArgType>(portNum)
509 return &this->m_verifyIn_InputPort[portNum];
517 static_cast<FwAssertArgType>(portNum)
520 return &this->m_writeIn_InputPort[portNum];
525 #if !FW_DIRECT_PORT_CALLS 539 static_cast<FwAssertArgType>(portNum)
542 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
553 static_cast<FwAssertArgType>(portNum)
556 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
567 static_cast<FwAssertArgType>(portNum)
570 this->m_logOut_OutputPort[portNum].
addCallPort(port);
573 #if FW_ENABLE_TEXT_LOGGING == 1 575 void FileWorkerComponentBase ::
576 set_logTextOut_OutputPort(
582 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
583 static_cast<FwAssertArgType>(portNum)
586 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
599 static_cast<FwAssertArgType>(portNum)
602 this->m_prmGetOut_OutputPort[portNum].
addCallPort(port);
613 static_cast<FwAssertArgType>(portNum)
616 this->m_prmSetOut_OutputPort[portNum].
addCallPort(port);
627 static_cast<FwAssertArgType>(portNum)
630 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
641 static_cast<FwAssertArgType>(portNum)
644 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
649 #if !FW_DIRECT_PORT_CALLS 663 static_cast<FwAssertArgType>(portNum)
666 this->m_readDoneOut_OutputPort[portNum].
addCallPort(port);
677 static_cast<FwAssertArgType>(portNum)
680 this->m_verifyDoneOut_OutputPort[portNum].
addCallPort(port);
691 static_cast<FwAssertArgType>(portNum)
694 this->m_writeDoneOut_OutputPort[portNum].
addCallPort(port);
699 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 708 Fw::InputSerializePort* port
713 static_cast<FwAssertArgType>(portNum)
716 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
722 Fw::InputSerializePort* port
727 static_cast<FwAssertArgType>(portNum)
730 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
736 Fw::InputSerializePort* port
741 static_cast<FwAssertArgType>(portNum)
744 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
747 #if FW_ENABLE_TEXT_LOGGING == 1 749 void FileWorkerComponentBase ::
750 set_logTextOut_OutputPort(
752 Fw::InputSerializePort* port
756 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
757 static_cast<FwAssertArgType>(portNum)
760 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
768 Fw::InputSerializePort* port
773 static_cast<FwAssertArgType>(portNum)
776 this->m_prmSetOut_OutputPort[portNum].registerSerialPort(port);
782 Fw::InputSerializePort* port
787 static_cast<FwAssertArgType>(portNum)
790 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
796 Fw::InputSerializePort* port
801 static_cast<FwAssertArgType>(portNum)
804 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
809 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 818 Fw::InputSerializePort* port
823 static_cast<FwAssertArgType>(portNum)
826 this->m_readDoneOut_OutputPort[portNum].registerSerialPort(port);
832 Fw::InputSerializePort* port
837 static_cast<FwAssertArgType>(portNum)
840 this->m_verifyDoneOut_OutputPort[portNum].registerSerialPort(port);
846 Fw::InputSerializePort* port
851 static_cast<FwAssertArgType>(portNum)
854 this->m_writeDoneOut_OutputPort[portNum].registerSerialPort(port);
865 Fw::ActiveComponentBase(compName)
867 this->m_NotInIdleThrottle = 0;
868 this->m_CrcFailedThrottle = 0;
869 this->m_ReadFailedFileSizeThrottle = 0;
870 this->m_OpenFileErrorThrottle = 0;
871 this->m_WriteFileErrorThrottle = 0;
872 this->m_WriteValidationOpenErrorThrottle = 0;
873 this->m_WriteValidationReadErrorThrottle = 0;
875 this->m_NotInIdleThrottleTime =
Fw::Time();
876 this->m_CrcFailedThrottleTime =
Fw::Time();
877 this->m_ReadFailedFileSizeThrottleTime =
Fw::Time();
878 this->m_OpenFileErrorThrottleTime =
Fw::Time();
879 this->m_WriteFileErrorThrottleTime =
Fw::Time();
880 this->m_WriteValidationOpenErrorThrottleTime =
Fw::Time();
881 this->m_WriteValidationReadErrorThrottleTime =
Fw::Time();
890 #if !FW_DIRECT_PORT_CALLS 901 static_cast<FwAssertArgType>(portNum)
904 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
912 static_cast<FwAssertArgType>(portNum)
915 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
923 static_cast<FwAssertArgType>(portNum)
926 return this->m_logOut_OutputPort[portNum].
isConnected();
929 #if FW_ENABLE_TEXT_LOGGING == 1 931 bool FileWorkerComponentBase ::
932 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
const 935 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
936 static_cast<FwAssertArgType>(portNum)
939 return this->m_logTextOut_OutputPort[portNum].isConnected();
949 static_cast<FwAssertArgType>(portNum)
952 return this->m_prmGetOut_OutputPort[portNum].
isConnected();
960 static_cast<FwAssertArgType>(portNum)
963 return this->m_prmSetOut_OutputPort[portNum].
isConnected();
971 static_cast<FwAssertArgType>(portNum)
974 return this->m_timeCaller_OutputPort[portNum].
isConnected();
982 static_cast<FwAssertArgType>(portNum)
985 return this->m_tlmOut_OutputPort[portNum].
isConnected();
990 #if !FW_DIRECT_PORT_CALLS 1001 static_cast<FwAssertArgType>(portNum)
1004 return this->m_readDoneOut_OutputPort[portNum].
isConnected();
1012 static_cast<FwAssertArgType>(portNum)
1015 return this->m_verifyDoneOut_OutputPort[portNum].
isConnected();
1023 static_cast<FwAssertArgType>(portNum)
1026 return this->m_writeDoneOut_OutputPort[portNum].
isConnected();
1047 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1050 switch (opCode - idBase) {
1069 static_cast<FwAssertArgType>(portNum)
1092 static_cast<FwAssertArgType>(portNum)
1101 ComponentIpcSerializableBuffer msg;
1105 _status = msg.serializeFrom(
1106 static_cast<FwEnumStoreType>(READIN_FILEREAD)
1110 static_cast<FwAssertArgType>(_status)
1114 _status = msg.serializeFrom(portNum);
1117 static_cast<FwAssertArgType>(_status)
1124 static_cast<FwAssertArgType>(_status)
1128 _status = msg.serializeFrom(buffer);
1131 static_cast<FwAssertArgType>(_status)
1140 static_cast<FwAssertArgType>(qStatus)
1154 static_cast<FwAssertArgType>(portNum)
1163 ComponentIpcSerializableBuffer msg;
1167 _status = msg.serializeFrom(
1168 static_cast<FwEnumStoreType>(VERIFYIN_VERIFYSTATUS)
1172 static_cast<FwAssertArgType>(_status)
1176 _status = msg.serializeFrom(portNum);
1179 static_cast<FwAssertArgType>(_status)
1186 static_cast<FwAssertArgType>(_status)
1190 _status = msg.serializeFrom(crc);
1193 static_cast<FwAssertArgType>(_status)
1202 static_cast<FwAssertArgType>(qStatus)
1218 static_cast<FwAssertArgType>(portNum)
1229 ComponentIpcSerializableBuffer msg;
1233 _status = msg.serializeFrom(
1234 static_cast<FwEnumStoreType>(WRITEIN_FILEWRITE)
1238 static_cast<FwAssertArgType>(_status)
1242 _status = msg.serializeFrom(portNum);
1245 static_cast<FwAssertArgType>(_status)
1252 static_cast<FwAssertArgType>(_status)
1256 _status = msg.serializeFrom(buffer);
1259 static_cast<FwAssertArgType>(_status)
1263 _status = msg.serializeFrom(offsetBytes);
1266 static_cast<FwAssertArgType>(_status)
1270 _status = msg.serializeFrom(append);
1273 static_cast<FwAssertArgType>(_status)
1282 static_cast<FwAssertArgType>(qStatus)
1326 #if !FW_DIRECT_PORT_CALLS 1341 static_cast<FwAssertArgType>(portNum)
1345 this->m_readDoneOut_OutputPort[portNum].isConnected(),
1346 static_cast<FwAssertArgType>(portNum)
1348 this->m_readDoneOut_OutputPort[portNum].
invoke(
1363 static_cast<FwAssertArgType>(portNum)
1367 this->m_verifyDoneOut_OutputPort[portNum].isConnected(),
1368 static_cast<FwAssertArgType>(portNum)
1370 this->m_verifyDoneOut_OutputPort[portNum].
invoke(
1385 static_cast<FwAssertArgType>(portNum)
1389 this->m_writeDoneOut_OutputPort[portNum].isConnected(),
1390 static_cast<FwAssertArgType>(portNum)
1392 this->m_writeDoneOut_OutputPort[portNum].
invoke(
1410 this->timeCaller_out(0, _logTime);
1423 this->m_NotInIdleThrottle = 0;
1431 if (this->m_NotInIdleThrottle == 0) {
1433 this->m_NotInIdleThrottleTime = _logTime;
1437 this->m_NotInIdleThrottle++;
1445 #if FW_AMPCS_COMPATIBLE 1450 static_cast<FwAssertArgType>(_status)
1454 #if FW_AMPCS_COMPATIBLE 1457 static_cast<U8>(
sizeof(U32))
1461 static_cast<FwAssertArgType>(_status)
1467 static_cast<FwAssertArgType>(_status)
1480 #if FW_ENABLE_TEXT_LOGGING 1481 if (this->isConnected_logTextOut_OutputPort(0)) {
1482 #if FW_OBJECT_NAMES == 1 1483 const char* _formatString =
1484 "(%s) %s: Not in IDLE state, currently in state: %" PRIu32
"";
1486 const char* _formatString =
1487 "%s: Not in IDLE state, currently in state: %" PRIu32
"";
1494 this->m_objName.toChar(),
1500 this->logTextOut_out(
1517 this->timeCaller_out(0, _logTime);
1530 this->m_CrcFailedThrottle = 0;
1538 if (this->m_CrcFailedThrottle == 0) {
1540 this->m_CrcFailedThrottleTime = _logTime;
1544 this->m_CrcFailedThrottle++;
1552 #if FW_AMPCS_COMPATIBLE 1557 static_cast<FwAssertArgType>(_status)
1561 #if FW_AMPCS_COMPATIBLE 1564 static_cast<U8>(
sizeof(U32))
1568 static_cast<FwAssertArgType>(_status)
1574 static_cast<FwAssertArgType>(_status)
1587 #if FW_ENABLE_TEXT_LOGGING 1588 if (this->isConnected_logTextOut_OutputPort(0)) {
1589 #if FW_OBJECT_NAMES == 1 1590 const char* _formatString =
1591 "(%s) %s: Failed CRC check with %" PRIu32
" status";
1593 const char* _formatString =
1594 "%s: Failed CRC check with %" PRIu32
" status";
1601 this->m_objName.toChar(),
1607 this->logTextOut_out(
1627 this->timeCaller_out(0, _logTime);
1637 #if FW_AMPCS_COMPATIBLE 1642 static_cast<FwAssertArgType>(_status)
1646 #if FW_AMPCS_COMPATIBLE 1649 static_cast<U8>(
sizeof(U32))
1653 static_cast<FwAssertArgType>(_status)
1659 static_cast<FwAssertArgType>(_status)
1662 #if FW_AMPCS_COMPATIBLE 1665 static_cast<U8>(
sizeof(U32))
1669 static_cast<FwAssertArgType>(_status)
1675 static_cast<FwAssertArgType>(_status)
1688 #if FW_ENABLE_TEXT_LOGGING 1689 if (this->isConnected_logTextOut_OutputPort(0)) {
1690 #if FW_OBJECT_NAMES == 1 1691 const char* _formatString =
1692 "(%s) %s: Failed to verify file. Expected CRC %" PRIu32
". Actual CRC %" PRIu32
"";
1694 const char* _formatString =
1695 "%s: Failed to verify file. Expected CRC %" PRIu32
". Actual CRC %" PRIu32
"";
1702 this->m_objName.toChar(),
1704 "CrcVerificationError ",
1709 this->logTextOut_out(
1726 this->timeCaller_out(0, _logTime);
1739 this->m_ReadFailedFileSizeThrottle = 0;
1747 if (this->m_ReadFailedFileSizeThrottle == 0) {
1749 this->m_ReadFailedFileSizeThrottleTime = _logTime;
1753 this->m_ReadFailedFileSizeThrottle++;
1761 #if FW_AMPCS_COMPATIBLE 1766 static_cast<FwAssertArgType>(_status)
1770 #if FW_AMPCS_COMPATIBLE 1773 static_cast<U8>(
sizeof(U32))
1777 static_cast<FwAssertArgType>(_status)
1783 static_cast<FwAssertArgType>(_status)
1796 #if FW_ENABLE_TEXT_LOGGING 1797 if (this->isConnected_logTextOut_OutputPort(0)) {
1798 #if FW_OBJECT_NAMES == 1 1799 const char* _formatString =
1800 "(%s) %s: Failed to get filesize with stat %" PRIu32
" in read handler";
1802 const char* _formatString =
1803 "%s: Failed to get filesize with stat %" PRIu32
" in read handler";
1810 this->m_objName.toChar(),
1812 "ReadFailedFileSize ",
1816 this->logTextOut_out(
1836 this->timeCaller_out(0, _logTime);
1849 this->m_OpenFileErrorThrottle = 0;
1857 if (this->m_OpenFileErrorThrottle == 0) {
1859 this->m_OpenFileErrorThrottleTime = _logTime;
1863 this->m_OpenFileErrorThrottle++;
1871 #if FW_AMPCS_COMPATIBLE 1876 static_cast<FwAssertArgType>(_status)
1886 static_cast<FwAssertArgType>(_status)
1889 #if FW_AMPCS_COMPATIBLE 1892 static_cast<U8>(
sizeof(U32))
1896 static_cast<FwAssertArgType>(_status)
1902 static_cast<FwAssertArgType>(_status)
1915 #if FW_ENABLE_TEXT_LOGGING 1916 if (this->isConnected_logTextOut_OutputPort(0)) {
1917 #if FW_OBJECT_NAMES == 1 1918 const char* _formatString =
1919 "(%s) %s: Failed to open file %s with stat %" PRIu32
"";
1921 const char* _formatString =
1922 "%s: Failed to open file %s with stat %" PRIu32
"";
1929 this->m_objName.toChar(),
1936 this->logTextOut_out(
1956 this->timeCaller_out(0, _logTime);
1966 #if FW_AMPCS_COMPATIBLE 1971 static_cast<FwAssertArgType>(_status)
1975 #if FW_AMPCS_COMPATIBLE 1982 static_cast<FwAssertArgType>(_status)
1988 static_cast<FwAssertArgType>(_status)
1997 static_cast<FwAssertArgType>(_status)
2010 #if FW_ENABLE_TEXT_LOGGING 2011 if (this->isConnected_logTextOut_OutputPort(0)) {
2012 #if FW_OBJECT_NAMES == 1 2013 const char* _formatString =
2014 "(%s) %s: Reading %" PRIu64
" bytes from %s";
2016 const char* _formatString =
2017 "%s: Reading %" PRIu64
" bytes from %s";
2024 this->m_objName.toChar(),
2031 this->logTextOut_out(
2051 this->timeCaller_out(0, _logTime);
2061 #if FW_AMPCS_COMPATIBLE 2066 static_cast<FwAssertArgType>(_status)
2070 #if FW_AMPCS_COMPATIBLE 2077 static_cast<FwAssertArgType>(_status)
2083 static_cast<FwAssertArgType>(_status)
2092 static_cast<FwAssertArgType>(_status)
2105 #if FW_ENABLE_TEXT_LOGGING 2106 if (this->isConnected_logTextOut_OutputPort(0)) {
2107 #if FW_OBJECT_NAMES == 1 2108 const char* _formatString =
2109 "(%s) %s: Finished reading %" PRIu64
" bytes from %s";
2111 const char* _formatString =
2112 "%s: Finished reading %" PRIu64
" bytes from %s";
2119 this->m_objName.toChar(),
2126 this->logTextOut_out(
2147 this->timeCaller_out(0, _logTime);
2157 #if FW_AMPCS_COMPATIBLE 2162 static_cast<FwAssertArgType>(_status)
2166 #if FW_AMPCS_COMPATIBLE 2173 static_cast<FwAssertArgType>(_status)
2179 static_cast<FwAssertArgType>(_status)
2182 #if FW_AMPCS_COMPATIBLE 2189 static_cast<FwAssertArgType>(_status)
2195 static_cast<FwAssertArgType>(_status)
2204 static_cast<FwAssertArgType>(_status)
2217 #if FW_ENABLE_TEXT_LOGGING 2218 if (this->isConnected_logTextOut_OutputPort(0)) {
2219 #if FW_OBJECT_NAMES == 1 2220 const char* _formatString =
2221 "(%s) %s: Failed after %" PRIu64
" of %" PRIu64
" bytes read to %s";
2223 const char* _formatString =
2224 "%s: Failed after %" PRIu64
" of %" PRIu64
" bytes read to %s";
2231 this->m_objName.toChar(),
2239 this->logTextOut_out(
2260 this->timeCaller_out(0, _logTime);
2270 #if FW_AMPCS_COMPATIBLE 2275 static_cast<FwAssertArgType>(_status)
2279 #if FW_AMPCS_COMPATIBLE 2286 static_cast<FwAssertArgType>(_status)
2292 static_cast<FwAssertArgType>(_status)
2295 #if FW_AMPCS_COMPATIBLE 2302 static_cast<FwAssertArgType>(_status)
2308 static_cast<FwAssertArgType>(_status)
2317 static_cast<FwAssertArgType>(_status)
2330 #if FW_ENABLE_TEXT_LOGGING 2331 if (this->isConnected_logTextOut_OutputPort(0)) {
2332 #if FW_OBJECT_NAMES == 1 2333 const char* _formatString =
2334 "(%s) %s: Aborted after %" PRIu64
" of %" PRIu64
" bytes read to %s";
2336 const char* _formatString =
2337 "%s: Aborted after %" PRIu64
" of %" PRIu64
" bytes read to %s";
2344 this->m_objName.toChar(),
2352 this->logTextOut_out(
2374 this->timeCaller_out(0, _logTime);
2384 #if FW_AMPCS_COMPATIBLE 2389 static_cast<FwAssertArgType>(_status)
2393 #if FW_AMPCS_COMPATIBLE 2400 static_cast<FwAssertArgType>(_status)
2406 static_cast<FwAssertArgType>(_status)
2409 #if FW_AMPCS_COMPATIBLE 2416 static_cast<FwAssertArgType>(_status)
2422 static_cast<FwAssertArgType>(_status)
2431 static_cast<FwAssertArgType>(_status)
2434 #if FW_AMPCS_COMPATIBLE 2437 static_cast<U8>(
sizeof(
U64))
2441 static_cast<FwAssertArgType>(_status)
2447 static_cast<FwAssertArgType>(_status)
2460 #if FW_ENABLE_TEXT_LOGGING 2461 if (this->isConnected_logTextOut_OutputPort(0)) {
2462 #if FW_OBJECT_NAMES == 1 2463 const char* _formatString =
2464 "(%s) %s: Failed after %" PRIu64
" of %" PRIu64
" bytes read to %s after exceeding timeout of %" PRIu64
" microseconds";
2466 const char* _formatString =
2467 "%s: Failed after %" PRIu64
" of %" PRIu64
" bytes read to %s after exceeding timeout of %" PRIu64
" microseconds";
2474 this->m_objName.toChar(),
2483 this->logTextOut_out(
2503 this->timeCaller_out(0, _logTime);
2513 #if FW_AMPCS_COMPATIBLE 2518 static_cast<FwAssertArgType>(_status)
2522 #if FW_AMPCS_COMPATIBLE 2529 static_cast<FwAssertArgType>(_status)
2535 static_cast<FwAssertArgType>(_status)
2544 static_cast<FwAssertArgType>(_status)
2557 #if FW_ENABLE_TEXT_LOGGING 2558 if (this->isConnected_logTextOut_OutputPort(0)) {
2559 #if FW_OBJECT_NAMES == 1 2560 const char* _formatString =
2561 "(%s) %s: Beginning write of size %" PRIu64
" to %s";
2563 const char* _formatString =
2564 "%s: Beginning write of size %" PRIu64
" to %s";
2571 this->m_objName.toChar(),
2578 this->logTextOut_out(
2598 this->timeCaller_out(0, _logTime);
2608 #if FW_AMPCS_COMPATIBLE 2613 static_cast<FwAssertArgType>(_status)
2617 #if FW_AMPCS_COMPATIBLE 2624 static_cast<FwAssertArgType>(_status)
2630 static_cast<FwAssertArgType>(_status)
2639 static_cast<FwAssertArgType>(_status)
2652 #if FW_ENABLE_TEXT_LOGGING 2653 if (this->isConnected_logTextOut_OutputPort(0)) {
2654 #if FW_OBJECT_NAMES == 1 2655 const char* _formatString =
2656 "(%s) %s: Completed write of size %" PRIu64
" to %s";
2658 const char* _formatString =
2659 "%s: Completed write of size %" PRIu64
" to %s";
2666 this->m_objName.toChar(),
2673 this->logTextOut_out(
2695 this->timeCaller_out(0, _logTime);
2708 this->m_WriteFileErrorThrottle = 0;
2716 if (this->m_WriteFileErrorThrottle == 0) {
2718 this->m_WriteFileErrorThrottleTime = _logTime;
2722 this->m_WriteFileErrorThrottle++;
2730 #if FW_AMPCS_COMPATIBLE 2735 static_cast<FwAssertArgType>(_status)
2739 #if FW_AMPCS_COMPATIBLE 2746 static_cast<FwAssertArgType>(_status)
2752 static_cast<FwAssertArgType>(_status)
2755 #if FW_AMPCS_COMPATIBLE 2762 static_cast<FwAssertArgType>(_status)
2768 static_cast<FwAssertArgType>(_status)
2777 static_cast<FwAssertArgType>(_status)
2780 #if FW_AMPCS_COMPATIBLE 2783 static_cast<U8>(
sizeof(I32))
2787 static_cast<FwAssertArgType>(_status)
2793 static_cast<FwAssertArgType>(_status)
2806 #if FW_ENABLE_TEXT_LOGGING 2807 if (this->isConnected_logTextOut_OutputPort(0)) {
2808 #if FW_OBJECT_NAMES == 1 2809 const char* _formatString =
2810 "(%s) %s: Failed after %" PRIu64
" of %" PRIu64
" bytes written to %s with write status %" PRIi32
"";
2812 const char* _formatString =
2813 "%s: Failed after %" PRIu64
" of %" PRIu64
" bytes written to %s with write status %" PRIi32
"";
2820 this->m_objName.toChar(),
2829 this->logTextOut_out(
2849 this->timeCaller_out(0, _logTime);
2862 this->m_WriteValidationOpenErrorThrottle = 0;
2870 if (this->m_WriteValidationOpenErrorThrottle == 0) {
2872 this->m_WriteValidationOpenErrorThrottleTime = _logTime;
2876 this->m_WriteValidationOpenErrorThrottle++;
2884 #if FW_AMPCS_COMPATIBLE 2889 static_cast<FwAssertArgType>(_status)
2899 static_cast<FwAssertArgType>(_status)
2902 #if FW_AMPCS_COMPATIBLE 2905 static_cast<U8>(
sizeof(I32))
2909 static_cast<FwAssertArgType>(_status)
2915 static_cast<FwAssertArgType>(_status)
2928 #if FW_ENABLE_TEXT_LOGGING 2929 if (this->isConnected_logTextOut_OutputPort(0)) {
2930 #if FW_OBJECT_NAMES == 1 2931 const char* _formatString =
2932 "(%s) %s: Failed to open validation file %s with status %" PRIi32
"";
2934 const char* _formatString =
2935 "%s: Failed to open validation file %s with status %" PRIi32
"";
2942 this->m_objName.toChar(),
2944 "WriteValidationOpenError ",
2949 this->logTextOut_out(
2969 this->timeCaller_out(0, _logTime);
2982 this->m_WriteValidationReadErrorThrottle = 0;
2990 if (this->m_WriteValidationReadErrorThrottle == 0) {
2992 this->m_WriteValidationReadErrorThrottleTime = _logTime;
2996 this->m_WriteValidationReadErrorThrottle++;
3004 #if FW_AMPCS_COMPATIBLE 3009 static_cast<FwAssertArgType>(_status)
3019 static_cast<FwAssertArgType>(_status)
3022 #if FW_AMPCS_COMPATIBLE 3025 static_cast<U8>(
sizeof(I32))
3029 static_cast<FwAssertArgType>(_status)
3035 static_cast<FwAssertArgType>(_status)
3048 #if FW_ENABLE_TEXT_LOGGING 3049 if (this->isConnected_logTextOut_OutputPort(0)) {
3050 #if FW_OBJECT_NAMES == 1 3051 const char* _formatString =
3052 "(%s) %s: Failed to read validation file %s with status %" PRIi32
"";
3054 const char* _formatString =
3055 "%s: Failed to read validation file %s with status %" PRIi32
"";
3062 this->m_objName.toChar(),
3064 "WriteValidationReadError ",
3069 this->logTextOut_out(
3090 this->timeCaller_out(0, _logTime);
3100 #if FW_AMPCS_COMPATIBLE 3105 static_cast<FwAssertArgType>(_status)
3115 static_cast<FwAssertArgType>(_status)
3118 #if FW_AMPCS_COMPATIBLE 3125 static_cast<FwAssertArgType>(_status)
3131 static_cast<FwAssertArgType>(_status)
3134 #if FW_AMPCS_COMPATIBLE 3141 static_cast<FwAssertArgType>(_status)
3147 static_cast<FwAssertArgType>(_status)
3160 #if FW_ENABLE_TEXT_LOGGING 3161 if (this->isConnected_logTextOut_OutputPort(0)) {
3162 #if FW_OBJECT_NAMES == 1 3163 const char* _formatString =
3164 "(%s) %s: Failed to create hash file %s. Wrote %" PRIu64
" bytes when expected to write %" PRIu64
" bytes to hash file";
3166 const char* _formatString =
3167 "%s: Failed to create hash file %s. Wrote %" PRIu64
" bytes when expected to write %" PRIu64
" bytes to hash file";
3174 this->m_objName.toChar(),
3176 "WriteValidationError ",
3182 this->logTextOut_out(
3204 this->timeCaller_out(0, _logTime);
3214 #if FW_AMPCS_COMPATIBLE 3219 static_cast<FwAssertArgType>(_status)
3223 #if FW_AMPCS_COMPATIBLE 3230 static_cast<FwAssertArgType>(_status)
3236 static_cast<FwAssertArgType>(_status)
3239 #if FW_AMPCS_COMPATIBLE 3246 static_cast<FwAssertArgType>(_status)
3252 static_cast<FwAssertArgType>(_status)
3261 static_cast<FwAssertArgType>(_status)
3264 #if FW_AMPCS_COMPATIBLE 3267 static_cast<U8>(
sizeof(
U64))
3271 static_cast<FwAssertArgType>(_status)
3277 static_cast<FwAssertArgType>(_status)
3290 #if FW_ENABLE_TEXT_LOGGING 3291 if (this->isConnected_logTextOut_OutputPort(0)) {
3292 #if FW_OBJECT_NAMES == 1 3293 const char* _formatString =
3294 "(%s) %s: Failed after %" PRIu64
" of %" PRIu64
" bytes written to %s after exceeding timeout of %" PRIu64
" microseconds";
3296 const char* _formatString =
3297 "%s: Failed after %" PRIu64
" of %" PRIu64
" bytes written to %s after exceeding timeout of %" PRIu64
" microseconds";
3304 this->m_objName.toChar(),
3313 this->logTextOut_out(
3334 this->timeCaller_out(0, _logTime);
3344 #if FW_AMPCS_COMPATIBLE 3349 static_cast<FwAssertArgType>(_status)
3353 #if FW_AMPCS_COMPATIBLE 3360 static_cast<FwAssertArgType>(_status)
3366 static_cast<FwAssertArgType>(_status)
3369 #if FW_AMPCS_COMPATIBLE 3376 static_cast<FwAssertArgType>(_status)
3382 static_cast<FwAssertArgType>(_status)
3391 static_cast<FwAssertArgType>(_status)
3404 #if FW_ENABLE_TEXT_LOGGING 3405 if (this->isConnected_logTextOut_OutputPort(0)) {
3406 #if FW_OBJECT_NAMES == 1 3407 const char* _formatString =
3408 "(%s) %s: Aborted after %" PRIu64
" of %" PRIu64
" bytes written to %s";
3410 const char* _formatString =
3411 "%s: Aborted after %" PRIu64
" of %" PRIu64
" bytes written to %s";
3418 this->m_objName.toChar(),
3426 this->logTextOut_out(
3448 this->m_NotInIdleThrottle = 0;
3451 this->m_NotInIdleThrottleTime =
Fw::Time(0, 0);
3462 this->m_CrcFailedThrottle = 0;
3465 this->m_CrcFailedThrottleTime =
Fw::Time(0, 0);
3476 this->m_ReadFailedFileSizeThrottle = 0;
3479 this->m_ReadFailedFileSizeThrottleTime =
Fw::Time(0, 0);
3490 this->m_OpenFileErrorThrottle = 0;
3493 this->m_OpenFileErrorThrottleTime =
Fw::Time(0, 0);
3504 this->m_WriteFileErrorThrottle = 0;
3507 this->m_WriteFileErrorThrottleTime =
Fw::Time(0, 0);
3518 this->m_WriteValidationOpenErrorThrottle = 0;
3521 this->m_WriteValidationOpenErrorThrottleTime =
Fw::Time(0, 0);
3532 this->m_WriteValidationReadErrorThrottle = 0;
3535 this->m_WriteValidationReadErrorThrottleTime =
Fw::Time(0, 0);
3548 this->timeCaller_out(0, _time);
3566 this->m_guardedPortMutex.
lock();
3572 this->m_guardedPortMutex.
unLock();
3582 ComponentIpcSerializableBuffer _msg;
3592 static_cast<FwAssertArgType>(_msgStatus)
3602 static_cast<FwAssertArgType>(_deserStatus)
3605 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
3607 if (_msgType == FILEWORKER_COMPONENT_EXIT) {
3612 _deserStatus = _msg.deserializeTo(portNum);
3615 static_cast<FwAssertArgType>(_deserStatus)
3620 case READIN_FILEREAD: {
3624 _deserStatus = _msg.deserializeTo(path);
3627 static_cast<FwAssertArgType>(_deserStatus)
3632 _deserStatus = _msg.deserializeTo(buffer);
3635 static_cast<FwAssertArgType>(_deserStatus)
3648 case VERIFYIN_VERIFYSTATUS: {
3652 _deserStatus = _msg.deserializeTo(path);
3655 static_cast<FwAssertArgType>(_deserStatus)
3660 _deserStatus = _msg.deserializeTo(crc);
3663 static_cast<FwAssertArgType>(_deserStatus)
3676 case WRITEIN_FILEWRITE: {
3680 _deserStatus = _msg.deserializeTo(path);
3683 static_cast<FwAssertArgType>(_deserStatus)
3688 _deserStatus = _msg.deserializeTo(buffer);
3691 static_cast<FwAssertArgType>(_deserStatus)
3696 _deserStatus = _msg.deserializeTo(offsetBytes);
3699 static_cast<FwAssertArgType>(_deserStatus)
3704 _deserStatus = _msg.deserializeTo(append);
3707 static_cast<FwAssertArgType>(_deserStatus)
3732 void FileWorkerComponentBase ::
3743 compPtr->cmdIn_handlerBase(
3755 void FileWorkerComponentBase ::
3763 compPtr->cancelIn_handlerBase(portNum);
3766 void FileWorkerComponentBase ::
3776 compPtr->readIn_handlerBase(
3783 void FileWorkerComponentBase ::
3793 compPtr->verifyIn_handlerBase(
3800 void FileWorkerComponentBase ::
3812 compPtr->writeIn_handlerBase(
3821 #if !FW_DIRECT_PORT_CALLS 3827 void FileWorkerComponentBase ::
3838 static_cast<FwAssertArgType>(portNum)
3842 this->m_logOut_OutputPort[portNum].isConnected(),
3843 static_cast<FwAssertArgType>(portNum)
3845 this->m_logOut_OutputPort[portNum].
invoke(
3853 #if FW_ENABLE_TEXT_LOGGING 3855 void FileWorkerComponentBase ::
3865 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
3866 static_cast<FwAssertArgType>(portNum)
3870 this->m_logTextOut_OutputPort[portNum].isConnected(),
3871 static_cast<FwAssertArgType>(portNum)
3873 this->m_logTextOut_OutputPort[portNum].invoke(
3883 void FileWorkerComponentBase ::
3891 static_cast<FwAssertArgType>(portNum)
3895 this->m_timeCaller_OutputPort[portNum].isConnected(),
3896 static_cast<FwAssertArgType>(portNum)
3898 this->m_timeCaller_OutputPort[portNum].
invoke(
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
static constexpr FwIndexType getNum_verifyIn_InputPorts()
Throttle reset count for WriteValidationReadError.
static constexpr FwSizeType CAPACITY
Throttle reset count for WriteFileError.
void log_WARNING_HI_ReadFailedFileSize(U32 fsStat)
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
FwIdType FwOpcodeType
The type of a command opcode.
void readIn_handlerBase(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer)
Handler base-class function for input port readIn.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
virtual void cancelIn_handler(FwIndexType portNum)=0
Handler for input port cancelIn.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Error encountered while opening validation file.
virtual ~FileWorkerComponentBase()
Destroy FileWorkerComponentBase object.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
Status
status returned from the queue send function
Throttle reset count for NotInIdle.
void verifyIn_handlerBase(FwIndexType portNum, const Fw::StringBase &path, U32 crc)
Handler base-class function for input port verifyIn.
void log_WARNING_HI_WriteValidationReadError_ThrottleClear()
Reset throttle value for WriteValidationReadError.
static constexpr FwIndexType getNum_logOut_OutputPorts()
Svc::InputFileReadPort * get_readIn_InputPort(FwIndexType portNum)
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void set_readDoneOut_OutputPort(FwIndexType portNum, Svc::InputSignalDonePort *port)
Connect port to readDoneOut[portNum].
void log_WARNING_HI_WriteValidationOpenError(const Fw::StringBase &hashFileName, I32 status)
void unLock()
unlock the mutex and assert success
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
void log_WARNING_HI_WriteTimeout(FwSizeType bytesWritten, FwSizeType writeSize, const Fw::StringBase &fileName, U64 timeout) const
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
Error encountered reading to file.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
static constexpr FwSizeType CAPACITY
void log_WARNING_LO_ReadAborted(FwSizeType bytesRead, FwSizeType readSize, const Fw::StringBase &fileName) const
Getting file size failed.
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
void init()
Initialization function.
bool isConnected_readDoneOut_OutputPort(FwIndexType portNum) const
No time base has been established (Required)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void log_ACTIVITY_LO_WriteBegin(FwSizeType writeSize, const Fw::StringBase &fileName) const
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void init()
Initialization function.
static constexpr FwIndexType getNum_readDoneOut_OutputPorts()
Os::Queue m_queue
queue object for active component
void addCallPort(InputTlmPort *callPort)
Register an input port.
Getting file open failed.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void init()
Object initializer.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
SerializeStatus
forward declaration for string
Writing to file was too slow.
Message will block until space is available.
virtual void unLock()
Unlock the guarded mutex.
void log_ACTIVITY_LO_ReadCompleted(FwSizeType fileSize, const Fw::StringBase &fileName) const
void writeDoneOut_out(FwIndexType portNum, U32 status, FwSizeType sizeBytes) const
Invoke output port writeDoneOut.
FwIdType FwEventIdType
The type of an event identifier.
Error encountered while reading validation file.
Svc::InputFileWritePort * get_writeIn_InputPort(FwIndexType portNum)
Received a buffer and initiating write operation.
bool isConnected_verifyDoneOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_verifyDoneOut_OutputPorts()
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Completed the read operation and will return buffer.
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
A less serious but recoverable event.
virtual void writeIn_handler(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer, FwSizeType offsetBytes, bool append)=0
Handler for input port writeIn.
void log_WARNING_HI_OpenFileError(const Fw::StringBase &fileName, U32 fsStat)
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_readIn_InputPorts()
message to exit active component task
static constexpr FwIndexType getNum_writeDoneOut_OutputPorts()
void log_ACTIVITY_LO_WriteCompleted(FwSizeType writeSize, const Fw::StringBase &fileName) const
Inform we are done reading from file.
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
const char * toChar() const
Convert to a C-style char*.
Inform we are reading from file.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
virtual void verifyIn_handler(FwIndexType portNum, const Fw::StringBase &path, U32 crc)=0
Handler for input port verifyIn.
Notify we are not in IDLE state.
Reading to file was too slow.
void log_WARNING_HI_CrcFailed_ThrottleClear()
Reset throttle value for CrcFailed.
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
void verifyDoneOut_out(FwIndexType portNum, U32 status, FwSizeType sizeBytes) const
Invoke output port verifyDoneOut.
A string backed by an external buffer.
A serious but recoverable event.
Completed the write operation and will return buffer.
Svc::InputCancelStatusPort * get_cancelIn_InputPort(FwIndexType portNum)
Errors dispatching messages.
static constexpr FwSizeType CAPACITY
void set_writeDoneOut_OutputPort(FwIndexType portNum, Svc::InputSignalDonePort *port)
Connect port to writeDoneOut[portNum].
virtual void readIn_handler(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer)=0
Handler for input port readIn.
Error encountered while creating validation file.
Enum representing event severity.
Completed the write operation and will return buffer.
void readDoneOut_out(FwIndexType portNum, U32 status, FwSizeType sizeBytes) const
Invoke output port readDoneOut.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
void log_WARNING_HI_WriteFileError(FwSizeType bytesWritten, FwSizeType writeSize, const Fw::StringBase &fileName, I32 status)
virtual void readIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer)
Pre-message hook for async input port readIn.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
uint8_t U8
8-bit unsigned integer
void log_WARNING_HI_NotInIdle(U32 currState)
void log_WARNING_LO_WriteAborted(FwSizeType bytesWritten, FwSizeType writeSize, const Fw::StringBase &fileName) const
void log_ACTIVITY_LO_ReadBegin(FwSizeType fileSize, const Fw::StringBase &fileName) const
void cancelIn_handlerBase(FwIndexType portNum)
Handler base-class function for input port cancelIn.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
void addCallPort(InputSignalDonePort *callPort)
Register an input port.
void log_WARNING_HI_WriteFileError_ThrottleClear()
Reset throttle value for WriteFileError.
void init()
Initialization function.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
virtual void lock()
Lock the guarded mutex.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void log_WARNING_HI_NotInIdle_ThrottleClear()
Reset throttle value for NotInIdle.
void log_WARNING_HI_WriteValidationReadError(const Fw::StringBase &hashFileName, I32 status)
Throttle reset count for ReadFailedFileSize.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
static constexpr FwIndexType getNum_cancelIn_InputPorts()
static constexpr FwSizeType CAPACITY
A message was sent requesting an exit of the loop.
void log_WARNING_HI_CrcFailed(U32 crcStat)
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
locks a mutex within the current scope
void log_WARNING_LO_CrcVerificationError(U32 crcExp, U32 crcCalculated) const
void log_WARNING_HI_WriteValidationOpenError_ThrottleClear()
Reset throttle value for WriteValidationOpenError.
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
Throttle reset count for CrcFailed.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
RateGroupDivider component implementation.
message sent/received okay
Svc::InputVerifyStatusPort * get_verifyIn_InputPort(FwIndexType portNum)
void invoke(U32 status, FwSizeType sizeBytes) const
Invoke a port connection.
void log_WARNING_LO_WriteValidationError(const Fw::StringBase &hashFileName, FwSizeType bytesWritten, FwSizeType hashSize) const
void writeIn_handlerBase(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer, FwSizeType offsetBytes, bool append)
Handler base-class function for input port writeIn.
Throttle reset count for OpenFileError.
Message will return with status when space is unavailable.
static constexpr FwIndexType getNum_writeIn_InputPorts()
Implementation of malloc based allocator.
virtual void writeIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &path, Fw::Buffer &buffer, FwSizeType offsetBytes, bool append)
Pre-message hook for async input port writeIn.
void set_verifyDoneOut_OutputPort(FwIndexType portNum, Svc::InputSignalDonePort *port)
Connect port to verifyDoneOut[portNum].
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
void init()
Initialization function.
void init()
Initialization function.
FileWorkerComponentBase(const char *compName="")
Construct FileWorkerComponentBase object.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
virtual void verifyIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &path, U32 crc)
Pre-message hook for async input port verifyIn.
void log_WARNING_HI_ReadError(FwSizeType bytesRead, FwSizeType readSize, const Fw::StringBase &fileName) const
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_OpenFileError_ThrottleClear()
Reset throttle value for OpenFileError.
void log_WARNING_HI_ReadTimeout(FwSizeType bytesRead, FwSizeType readSize, const Fw::StringBase &fileName, U64 timeout) const
bool isConnected_writeDoneOut_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_ReadFailedFileSize_ThrottleClear()
Reset throttle value for ReadFailedFileSize.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success
Throttle reset count for WriteValidationOpenError.
Error encountered writing to file.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.