9 #if FW_ENABLE_TEXT_LOGGING 19 BUFFERSENDIN_BUFFERSEND,
41 class ComponentIpcSerializableBuffer :
51 MAX_DATA_SIZE =
sizeof(BuffUnion),
53 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
57 return sizeof(m_buff);
64 const U8* getBuffAddr()
const {
70 U8 m_buff[SERIALIZATION_SIZE];
94 this->m_cmdIn_InputPort[port].
init();
99 this->m_cmdIn_InputPort[port].
setPortNum(port);
101 #if FW_OBJECT_NAMES == 1 105 this->m_objName.toChar(),
108 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
118 this->m_bufferSendIn_InputPort[port].
init();
123 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
125 #if FW_OBJECT_NAMES == 1 129 this->m_objName.toChar(),
132 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
142 this->m_comIn_InputPort[port].
init();
147 this->m_comIn_InputPort[port].
setPortNum(port);
149 #if FW_OBJECT_NAMES == 1 153 this->m_objName.toChar(),
156 this->m_comIn_InputPort[port].setObjName(portName.
toChar());
166 this->m_pingIn_InputPort[port].
init();
171 this->m_pingIn_InputPort[port].
setPortNum(port);
173 #if FW_OBJECT_NAMES == 1 177 this->m_objName.toChar(),
180 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
190 this->m_schedIn_InputPort[port].
init();
195 this->m_schedIn_InputPort[port].
setPortNum(port);
197 #if FW_OBJECT_NAMES == 1 201 this->m_objName.toChar(),
204 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
214 this->m_cmdRegOut_OutputPort[port].
init();
216 #if FW_OBJECT_NAMES == 1 220 this->m_objName.toChar(),
223 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
233 this->m_cmdResponseOut_OutputPort[port].
init();
235 #if FW_OBJECT_NAMES == 1 239 this->m_objName.toChar(),
242 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
252 this->m_eventOut_OutputPort[port].
init();
254 #if FW_OBJECT_NAMES == 1 258 this->m_objName.toChar(),
261 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
265 #if FW_ENABLE_TEXT_LOGGING == 1 269 port < static_cast<FwIndexType>(this->getNum_eventOutText_OutputPorts());
272 this->m_eventOutText_OutputPort[port].
init();
274 #if FW_OBJECT_NAMES == 1 278 this->m_objName.toChar(),
281 this->m_eventOutText_OutputPort[port].setObjName(portName.
toChar());
292 this->m_timeCaller_OutputPort[port].
init();
294 #if FW_OBJECT_NAMES == 1 298 this->m_objName.toChar(),
301 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
311 this->m_tlmOut_OutputPort[port].
init();
313 #if FW_OBJECT_NAMES == 1 317 this->m_objName.toChar(),
320 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
330 this->m_bufferSendOut_OutputPort[port].
init();
332 #if FW_OBJECT_NAMES == 1 336 this->m_objName.toChar(),
339 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
349 this->m_pingOut_OutputPort[port].
init();
351 #if FW_OBJECT_NAMES == 1 355 this->m_objName.toChar(),
358 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
365 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
369 static_cast<FwAssertArgType>(qStat)
382 static_cast<FwAssertArgType>(portNum)
385 return &this->m_cmdIn_InputPort[portNum];
397 static_cast<FwAssertArgType>(portNum)
400 return &this->m_bufferSendIn_InputPort[portNum];
408 static_cast<FwAssertArgType>(portNum)
411 return &this->m_comIn_InputPort[portNum];
419 static_cast<FwAssertArgType>(portNum)
422 return &this->m_pingIn_InputPort[portNum];
430 static_cast<FwAssertArgType>(portNum)
433 return &this->m_schedIn_InputPort[portNum];
448 static_cast<FwAssertArgType>(portNum)
451 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
462 static_cast<FwAssertArgType>(portNum)
465 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
476 static_cast<FwAssertArgType>(portNum)
479 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
482 #if FW_ENABLE_TEXT_LOGGING == 1 484 void BufferLoggerComponentBase ::
485 set_eventOutText_OutputPort(
491 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
492 static_cast<FwAssertArgType>(portNum)
495 this->m_eventOutText_OutputPort[portNum].addCallPort(port);
508 static_cast<FwAssertArgType>(portNum)
511 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
522 static_cast<FwAssertArgType>(portNum)
525 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
540 static_cast<FwAssertArgType>(portNum)
543 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
554 static_cast<FwAssertArgType>(portNum)
557 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
560 #if FW_PORT_SERIALIZATION 569 Fw::InputSerializePort* port
574 static_cast<FwAssertArgType>(portNum)
577 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
583 Fw::InputSerializePort* port
588 static_cast<FwAssertArgType>(portNum)
591 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
597 Fw::InputSerializePort* port
602 static_cast<FwAssertArgType>(portNum)
605 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
608 #if FW_ENABLE_TEXT_LOGGING == 1 610 void BufferLoggerComponentBase ::
611 set_eventOutText_OutputPort(
613 Fw::InputSerializePort* port
617 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
618 static_cast<FwAssertArgType>(portNum)
621 this->m_eventOutText_OutputPort[portNum].registerSerialPort(port);
629 Fw::InputSerializePort* port
634 static_cast<FwAssertArgType>(portNum)
637 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
643 Fw::InputSerializePort* port
648 static_cast<FwAssertArgType>(portNum)
651 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
656 #if FW_PORT_SERIALIZATION 665 Fw::InputSerializePort* port
670 static_cast<FwAssertArgType>(portNum)
673 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
679 Fw::InputSerializePort* port
684 static_cast<FwAssertArgType>(portNum)
687 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
699 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
701 this->m_cmdRegOut_OutputPort[0].
invoke(
705 this->m_cmdRegOut_OutputPort[0].
invoke(
709 this->m_cmdRegOut_OutputPort[0].
invoke(
713 this->m_cmdRegOut_OutputPort[0].
invoke(
724 Fw::ActiveComponentBase(compName)
744 static_cast<FwAssertArgType>(portNum)
747 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
755 static_cast<FwAssertArgType>(portNum)
758 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
766 static_cast<FwAssertArgType>(portNum)
769 return this->m_eventOut_OutputPort[portNum].
isConnected();
772 #if FW_ENABLE_TEXT_LOGGING == 1 774 bool BufferLoggerComponentBase ::
775 isConnected_eventOutText_OutputPort(
FwIndexType portNum)
778 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
779 static_cast<FwAssertArgType>(portNum)
782 return this->m_eventOutText_OutputPort[portNum].isConnected();
792 static_cast<FwAssertArgType>(portNum)
795 return this->m_timeCaller_OutputPort[portNum].
isConnected();
803 static_cast<FwAssertArgType>(portNum)
806 return this->m_tlmOut_OutputPort[portNum].
isConnected();
818 static_cast<FwAssertArgType>(portNum)
821 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
829 static_cast<FwAssertArgType>(portNum)
832 return this->m_pingOut_OutputPort[portNum].
isConnected();
850 static_cast<FwAssertArgType>(portNum)
858 ComponentIpcSerializableBuffer msg;
862 _status = msg.serializeFrom(
863 static_cast<FwEnumStoreType>(BUFFERSENDIN_BUFFERSEND)
867 static_cast<FwAssertArgType>(_status)
871 _status = msg.serializeFrom(portNum);
874 static_cast<FwAssertArgType>(_status)
878 _status = msg.serializeFrom(fwBuffer);
881 static_cast<FwAssertArgType>(_status)
890 static_cast<FwAssertArgType>(qStatus)
904 static_cast<FwAssertArgType>(portNum)
913 ComponentIpcSerializableBuffer msg;
917 _status = msg.serializeFrom(
918 static_cast<FwEnumStoreType>(COMIN_COM)
922 static_cast<FwAssertArgType>(_status)
926 _status = msg.serializeFrom(portNum);
929 static_cast<FwAssertArgType>(_status)
933 _status = msg.serializeFrom(data);
936 static_cast<FwAssertArgType>(_status)
940 _status = msg.serializeFrom(context);
943 static_cast<FwAssertArgType>(_status)
952 static_cast<FwAssertArgType>(qStatus)
965 static_cast<FwAssertArgType>(portNum)
973 ComponentIpcSerializableBuffer msg;
977 _status = msg.serializeFrom(
978 static_cast<FwEnumStoreType>(PINGIN_PING)
982 static_cast<FwAssertArgType>(_status)
986 _status = msg.serializeFrom(portNum);
989 static_cast<FwAssertArgType>(_status)
993 _status = msg.serializeFrom(key);
996 static_cast<FwAssertArgType>(_status)
1005 static_cast<FwAssertArgType>(qStatus)
1018 static_cast<FwAssertArgType>(portNum)
1026 ComponentIpcSerializableBuffer msg;
1030 _status = msg.serializeFrom(
1031 static_cast<FwEnumStoreType>(SCHEDIN_SCHED)
1035 static_cast<FwAssertArgType>(_status)
1039 _status = msg.serializeFrom(portNum);
1042 static_cast<FwAssertArgType>(_status)
1046 _status = msg.serializeFrom(context);
1049 static_cast<FwAssertArgType>(_status)
1058 static_cast<FwAssertArgType>(qStatus)
1119 static_cast<FwAssertArgType>(portNum)
1123 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
1124 static_cast<FwAssertArgType>(portNum)
1126 this->m_bufferSendOut_OutputPort[portNum].
invoke(
1139 static_cast<FwAssertArgType>(portNum)
1143 this->m_pingOut_OutputPort[portNum].isConnected(),
1144 static_cast<FwAssertArgType>(portNum)
1146 this->m_pingOut_OutputPort[portNum].
invoke(
1162 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1163 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1184 ComponentIpcSerializableBuffer msg;
1188 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BL_OPENFILE));
1191 static_cast<FwAssertArgType>(_status)
1197 _status = msg.serializeFrom(port);
1200 static_cast<FwAssertArgType>(_status)
1203 _status = msg.serializeFrom(opCode);
1206 static_cast<FwAssertArgType>(_status)
1209 _status = msg.serializeFrom(cmdSeq);
1212 static_cast<FwAssertArgType>(_status)
1215 _status = msg.serializeFrom(args);
1218 static_cast<FwAssertArgType>(_status)
1227 static_cast<FwAssertArgType>(qStatus)
1243 ComponentIpcSerializableBuffer msg;
1247 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BL_CLOSEFILE));
1250 static_cast<FwAssertArgType>(_status)
1256 _status = msg.serializeFrom(port);
1259 static_cast<FwAssertArgType>(_status)
1262 _status = msg.serializeFrom(opCode);
1265 static_cast<FwAssertArgType>(_status)
1268 _status = msg.serializeFrom(cmdSeq);
1271 static_cast<FwAssertArgType>(_status)
1274 _status = msg.serializeFrom(args);
1277 static_cast<FwAssertArgType>(_status)
1286 static_cast<FwAssertArgType>(qStatus)
1302 ComponentIpcSerializableBuffer msg;
1306 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BL_SETLOGGING));
1309 static_cast<FwAssertArgType>(_status)
1315 _status = msg.serializeFrom(port);
1318 static_cast<FwAssertArgType>(_status)
1321 _status = msg.serializeFrom(opCode);
1324 static_cast<FwAssertArgType>(_status)
1327 _status = msg.serializeFrom(cmdSeq);
1330 static_cast<FwAssertArgType>(_status)
1333 _status = msg.serializeFrom(args);
1336 static_cast<FwAssertArgType>(_status)
1345 static_cast<FwAssertArgType>(qStatus)
1361 ComponentIpcSerializableBuffer msg;
1365 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BL_FLUSHFILE));
1368 static_cast<FwAssertArgType>(_status)
1374 _status = msg.serializeFrom(port);
1377 static_cast<FwAssertArgType>(_status)
1380 _status = msg.serializeFrom(opCode);
1383 static_cast<FwAssertArgType>(_status)
1386 _status = msg.serializeFrom(cmdSeq);
1389 static_cast<FwAssertArgType>(_status)
1392 _status = msg.serializeFrom(args);
1395 static_cast<FwAssertArgType>(_status)
1404 static_cast<FwAssertArgType>(qStatus)
1469 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1470 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1478 if (this->m_eventOut_OutputPort[0].isConnected()) {
1482 #if FW_AMPCS_COMPATIBLE 1487 static_cast<FwAssertArgType>(_status)
1494 static_cast<FwAssertArgType>(_status)
1497 this->m_eventOut_OutputPort[0].
invoke(
1506 #if FW_ENABLE_TEXT_LOGGING 1507 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1508 #if FW_OBJECT_NAMES == 1 1509 const char* _formatString =
1510 "(%s) %s: File %s closed";
1512 const char* _formatString =
1513 "%s: File %s closed";
1520 this->m_objName.toChar(),
1522 "BL_LogFileClosed ",
1526 this->m_eventOutText_OutputPort[0].invoke(
1544 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1545 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1553 if (this->m_eventOut_OutputPort[0].isConnected()) {
1557 #if FW_AMPCS_COMPATIBLE 1562 static_cast<FwAssertArgType>(_status)
1566 #if FW_AMPCS_COMPATIBLE 1569 static_cast<U8>(
sizeof(U32))
1573 static_cast<FwAssertArgType>(_status)
1579 static_cast<FwAssertArgType>(_status)
1585 static_cast<FwAssertArgType>(_status)
1588 this->m_eventOut_OutputPort[0].
invoke(
1597 #if FW_ENABLE_TEXT_LOGGING 1598 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1599 #if FW_OBJECT_NAMES == 1 1600 const char* _formatString =
1601 "(%s) %s: Error %" PRIu32
" opening file %s";
1603 const char* _formatString =
1604 "%s: Error %" PRIu32
" opening file %s";
1611 this->m_objName.toChar(),
1613 "BL_LogFileOpenError ",
1618 this->m_eventOutText_OutputPort[0].invoke(
1636 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1637 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1645 if (this->m_eventOut_OutputPort[0].isConnected()) {
1649 #if FW_AMPCS_COMPATIBLE 1654 static_cast<FwAssertArgType>(_status)
1661 static_cast<FwAssertArgType>(_status)
1664 #if FW_AMPCS_COMPATIBLE 1667 static_cast<U8>(
sizeof(U32))
1671 static_cast<FwAssertArgType>(_status)
1677 static_cast<FwAssertArgType>(_status)
1680 this->m_eventOut_OutputPort[0].
invoke(
1689 #if FW_ENABLE_TEXT_LOGGING 1690 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1691 #if FW_OBJECT_NAMES == 1 1692 const char* _formatString =
1693 "(%s) %s: Failed creating validation file %s with status %" PRIu32
"";
1695 const char* _formatString =
1696 "%s: Failed creating validation file %s with status %" PRIu32
"";
1703 this->m_objName.toChar(),
1705 "BL_LogFileValidationError ",
1710 this->m_eventOutText_OutputPort[0].invoke(
1730 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1731 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1739 if (this->m_eventOut_OutputPort[0].isConnected()) {
1743 #if FW_AMPCS_COMPATIBLE 1748 static_cast<FwAssertArgType>(_status)
1752 #if FW_AMPCS_COMPATIBLE 1755 static_cast<U8>(
sizeof(U32))
1759 static_cast<FwAssertArgType>(_status)
1765 static_cast<FwAssertArgType>(_status)
1768 #if FW_AMPCS_COMPATIBLE 1771 static_cast<U8>(
sizeof(U32))
1775 static_cast<FwAssertArgType>(_status)
1781 static_cast<FwAssertArgType>(_status)
1784 #if FW_AMPCS_COMPATIBLE 1787 static_cast<U8>(
sizeof(U32))
1791 static_cast<FwAssertArgType>(_status)
1797 static_cast<FwAssertArgType>(_status)
1803 static_cast<FwAssertArgType>(_status)
1806 this->m_eventOut_OutputPort[0].
invoke(
1815 #if FW_ENABLE_TEXT_LOGGING 1816 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1817 #if FW_OBJECT_NAMES == 1 1818 const char* _formatString =
1819 "(%s) %s: Error %" PRIu32
" while writing %" PRIu32
" of %" PRIu32
" bytes to %s";
1821 const char* _formatString =
1822 "%s: Error %" PRIu32
" while writing %" PRIu32
" of %" PRIu32
" bytes to %s";
1829 this->m_objName.toChar(),
1831 "BL_LogFileWriteError ",
1838 this->m_eventOutText_OutputPort[0].invoke(
1853 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1854 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1862 if (this->m_eventOut_OutputPort[0].isConnected()) {
1865 #if FW_AMPCS_COMPATIBLE 1871 static_cast<FwAssertArgType>(_status)
1875 this->m_eventOut_OutputPort[0].
invoke(
1884 #if FW_ENABLE_TEXT_LOGGING 1885 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1886 #if FW_OBJECT_NAMES == 1 1887 const char* _formatString =
1888 "(%s) %s: Buffer logger was activated";
1890 const char* _formatString =
1891 "%s: Buffer logger was activated";
1898 this->m_objName.toChar(),
1903 this->m_eventOutText_OutputPort[0].invoke(
1918 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1919 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1927 if (this->m_eventOut_OutputPort[0].isConnected()) {
1930 #if FW_AMPCS_COMPATIBLE 1936 static_cast<FwAssertArgType>(_status)
1940 this->m_eventOut_OutputPort[0].
invoke(
1949 #if FW_ENABLE_TEXT_LOGGING 1950 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1951 #if FW_OBJECT_NAMES == 1 1952 const char* _formatString =
1953 "(%s) %s: Buffer logger was deactivated";
1955 const char* _formatString =
1956 "%s: Buffer logger was deactivated";
1963 this->m_objName.toChar(),
1968 this->m_eventOutText_OutputPort[0].invoke(
1983 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1984 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1992 if (this->m_eventOut_OutputPort[0].isConnected()) {
1995 #if FW_AMPCS_COMPATIBLE 2001 static_cast<FwAssertArgType>(_status)
2005 this->m_eventOut_OutputPort[0].
invoke(
2014 #if FW_ENABLE_TEXT_LOGGING 2015 if (this->m_eventOutText_OutputPort[0].isConnected()) {
2016 #if FW_OBJECT_NAMES == 1 2017 const char* _formatString =
2018 "(%s) %s: No log file open command";
2020 const char* _formatString =
2021 "%s: No log file open command";
2028 this->m_objName.toChar(),
2030 "BL_NoLogFileOpenInitError " 2033 this->m_eventOutText_OutputPort[0].invoke(
2053 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2055 this->m_timeCaller_OutputPort[0].isConnected() &&
2058 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
2065 static_cast<FwAssertArgType>(_stat)
2072 this->m_tlmOut_OutputPort[0].
invoke(
2087 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2089 this->m_timeCaller_OutputPort[0].
invoke(_time);
2104 ComponentIpcSerializableBuffer _msg;
2114 static_cast<FwAssertArgType>(_msgStatus)
2124 static_cast<FwAssertArgType>(_deserStatus)
2127 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2129 if (_msgType == BUFFERLOGGER_COMPONENT_EXIT) {
2134 _deserStatus = _msg.deserializeTo(portNum);
2137 static_cast<FwAssertArgType>(_deserStatus)
2142 case BUFFERSENDIN_BUFFERSEND: {
2145 _deserStatus = _msg.deserializeTo(fwBuffer);
2148 static_cast<FwAssertArgType>(_deserStatus)
2163 _deserStatus = _msg.deserializeTo(data);
2166 static_cast<FwAssertArgType>(_deserStatus)
2171 _deserStatus = _msg.deserializeTo(context);
2174 static_cast<FwAssertArgType>(_deserStatus)
2190 _deserStatus = _msg.deserializeTo(key);
2193 static_cast<FwAssertArgType>(_deserStatus)
2205 case SCHEDIN_SCHED: {
2208 _deserStatus = _msg.deserializeTo(context);
2211 static_cast<FwAssertArgType>(_deserStatus)
2223 case CMD_BL_OPENFILE: {
2226 _deserStatus = _msg.deserializeTo(_opCode);
2229 static_cast<FwAssertArgType>(_deserStatus)
2234 _deserStatus = _msg.deserializeTo(_cmdSeq);
2237 static_cast<FwAssertArgType>(_deserStatus)
2242 _deserStatus = _msg.deserializeTo(args);
2245 static_cast<FwAssertArgType>(_deserStatus)
2255 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2268 #if FW_CMD_CHECK_RESIDUAL 2270 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2288 case CMD_BL_CLOSEFILE: {
2291 _deserStatus = _msg.deserializeTo(_opCode);
2294 static_cast<FwAssertArgType>(_deserStatus)
2299 _deserStatus = _msg.deserializeTo(_cmdSeq);
2302 static_cast<FwAssertArgType>(_deserStatus)
2307 _deserStatus = _msg.deserializeTo(args);
2310 static_cast<FwAssertArgType>(_deserStatus)
2318 #if FW_CMD_CHECK_RESIDUAL 2320 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2335 case CMD_BL_SETLOGGING: {
2338 _deserStatus = _msg.deserializeTo(_opCode);
2341 static_cast<FwAssertArgType>(_deserStatus)
2346 _deserStatus = _msg.deserializeTo(_cmdSeq);
2349 static_cast<FwAssertArgType>(_deserStatus)
2354 _deserStatus = _msg.deserializeTo(args);
2357 static_cast<FwAssertArgType>(_deserStatus)
2367 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2380 #if FW_CMD_CHECK_RESIDUAL 2382 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2400 case CMD_BL_FLUSHFILE: {
2403 _deserStatus = _msg.deserializeTo(_opCode);
2406 static_cast<FwAssertArgType>(_deserStatus)
2411 _deserStatus = _msg.deserializeTo(_cmdSeq);
2414 static_cast<FwAssertArgType>(_deserStatus)
2419 _deserStatus = _msg.deserializeTo(args);
2422 static_cast<FwAssertArgType>(_deserStatus)
2430 #if FW_CMD_CHECK_RESIDUAL 2432 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2457 void BufferLoggerComponentBase ::
2469 const U32 idBase = callComp->
getIdBase();
2470 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2473 switch (opCode - idBase) {
2475 compPtr->BL_OpenFile_cmdHandlerBase(
2484 compPtr->BL_CloseFile_cmdHandlerBase(
2493 compPtr->BL_SetLogging_cmdHandlerBase(
2502 compPtr->BL_FlushFile_cmdHandlerBase(
2516 void BufferLoggerComponentBase ::
2517 m_p_bufferSendIn_in(
2525 compPtr->bufferSendIn_handlerBase(
2531 void BufferLoggerComponentBase ::
2541 compPtr->comIn_handlerBase(
2548 void BufferLoggerComponentBase ::
2557 compPtr->pingIn_handlerBase(
2563 void BufferLoggerComponentBase ::
2572 compPtr->schedIn_handlerBase(
Serialization/Deserialization operation was successful.
void BL_SetLogging_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void addCallPort(InputTimePort *callPort)
Register an input port.
Buffer logger was activated.
void regCommands()
Register commands with the Command Dispatcher.
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
FwIdType FwOpcodeType
The type of a command opcode.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
static constexpr FwIndexType getNum_pingIn_InputPorts()
Status
status returned from the queue send function
The Buffer Logger encountered an error writing a validation file.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual void BL_SetLogging_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_SetLogging.
virtual void BL_CloseFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_CloseFile.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void invoke(U32 key) const
Invoke a port interface.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
virtual void BL_SetLogging_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferLogger_LogState state)=0
The Buffer Logger encountered an error opening a log file.
virtual void BL_OpenFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_OpenFile.
virtual void BL_FlushFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BL_FlushFile.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
void BL_OpenFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
void log_DIAGNOSTIC_BL_LogFileClosed(const Fw::StringBase &file) const
Enum representing a command response.
No time base has been established (Required)
No log file open command was received by BufferLogger.
message to exit active component task
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
Os::Queue m_queue
queue object for active component
Software diagnostic events.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
void init()
Object initializer.
SerializeStatus
forward declaration for string
Close the currently open log file, if any.
virtual void comIn_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port comIn.
Message will block until space is available.
void log_WARNING_HI_BL_LogFileOpenError(U32 errornum, const Fw::StringBase &file) const
void log_ACTIVITY_LO_BL_Activated() const
Sets the volatile logging state.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
FwIdType FwEventIdType
The type of an event identifier.
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
Channel ID for BufferLogger_NumLoggedBuffers.
virtual void comIn_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port comIn.
static constexpr FwIndexType getNum_schedIn_InputPorts()
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void init()
Initialization function.
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
#define FW_MIN(a, b)
MIN macro.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void init()
Initialization function.
void tlmWrite_BufferLogger_NumLoggedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
The Buffer Logger closed a log file.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Time &time) const
Invoke a port interface.
virtual void BL_FlushFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
const char * toChar() const
Convert to a C-style char*.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void addCallPort(InputPingPort *callPort)
Register an input port.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void BL_CloseFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_BL_LogFileWriteError(U32 errornum, U32 bytesWritten, U32 bytesToWrite, const Fw::StringBase &file) const
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
BufferLoggerComponentBase(const char *compName="")
Construct BufferLoggerComponentBase object.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
Open a new log file with specified name; also resets unique file counter to 0.
A serious but recoverable event.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_eventOut_OutputPorts()
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
uint8_t U8
8-bit unsigned integer
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void log_ACTIVITY_LO_BL_Deactivated() const
Fw::InputComPort * get_comIn_InputPort(FwIndexType portNum)
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void init()
Initialization function.
void comIn_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port comIn.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
A message was sent requesting an exit of the loop.
virtual ~BufferLoggerComponentBase()
Destroy BufferLoggerComponentBase object.
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
RateGroupDivider component implementation.
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
The Buffer Logger encountered an error writing to a log file.
void BL_FlushFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
static constexpr FwIndexType getNum_bufferSendIn_InputPorts()
void log_WARNING_HI_BL_NoLogFileOpenInitError() const
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_comIn_InputPorts()
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
void init()
Initialization function.
Buffer logger was deactivated.
virtual void BL_CloseFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Flushes the current open log file to disk; a no-op with fprime's unbuffered file I/O, so always returns success.
virtual void BL_OpenFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &file)=0
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void log_WARNING_HI_BL_LogFileValidationError(const Fw::StringBase &validationFile, U32 status) const
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].