9 #if FW_ENABLE_TEXT_LOGGING 20 BUFFERRETURN_BUFFERSEND,
38 class ComponentIpcSerializableBuffer :
48 MAX_DATA_SIZE =
sizeof(BuffUnion),
50 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
54 return sizeof(m_buff);
61 const U8* getBuffAddr()
const {
67 U8 m_buff[SERIALIZATION_SIZE];
91 this->m_cmdIn_InputPort[port].
init();
96 this->m_cmdIn_InputPort[port].
setPortNum(port);
98 #if FW_OBJECT_NAMES == 1 102 this->m_objName.toChar(),
105 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
115 this->m_Run_InputPort[port].
init();
122 #if FW_OBJECT_NAMES == 1 126 this->m_objName.toChar(),
129 this->m_Run_InputPort[port].setObjName(portName.
toChar());
139 this->m_SendFile_InputPort[port].
init();
144 this->m_SendFile_InputPort[port].
setPortNum(port);
146 #if FW_OBJECT_NAMES == 1 150 this->m_objName.toChar(),
153 this->m_SendFile_InputPort[port].setObjName(portName.
toChar());
163 this->m_bufferReturn_InputPort[port].
init();
168 this->m_bufferReturn_InputPort[port].
setPortNum(port);
170 #if FW_OBJECT_NAMES == 1 174 this->m_objName.toChar(),
177 this->m_bufferReturn_InputPort[port].setObjName(portName.
toChar());
187 this->m_pingIn_InputPort[port].
init();
192 this->m_pingIn_InputPort[port].
setPortNum(port);
194 #if FW_OBJECT_NAMES == 1 198 this->m_objName.toChar(),
201 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
211 this->m_cmdRegOut_OutputPort[port].
init();
213 #if FW_OBJECT_NAMES == 1 217 this->m_objName.toChar(),
220 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
230 this->m_cmdResponseOut_OutputPort[port].
init();
232 #if FW_OBJECT_NAMES == 1 236 this->m_objName.toChar(),
239 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
249 this->m_eventOut_OutputPort[port].
init();
251 #if FW_OBJECT_NAMES == 1 255 this->m_objName.toChar(),
258 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
262 #if FW_ENABLE_TEXT_LOGGING == 1 266 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
269 this->m_textEventOut_OutputPort[port].
init();
271 #if FW_OBJECT_NAMES == 1 275 this->m_objName.toChar(),
278 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
289 this->m_timeCaller_OutputPort[port].
init();
291 #if FW_OBJECT_NAMES == 1 295 this->m_objName.toChar(),
298 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
308 this->m_tlmOut_OutputPort[port].
init();
310 #if FW_OBJECT_NAMES == 1 314 this->m_objName.toChar(),
317 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
327 this->m_FileComplete_OutputPort[port].
init();
329 #if FW_OBJECT_NAMES == 1 333 this->m_objName.toChar(),
336 this->m_FileComplete_OutputPort[port].setObjName(portName.
toChar());
346 this->m_bufferSendOut_OutputPort[port].
init();
348 #if FW_OBJECT_NAMES == 1 352 this->m_objName.toChar(),
355 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
365 this->m_pingOut_OutputPort[port].
init();
367 #if FW_OBJECT_NAMES == 1 371 this->m_objName.toChar(),
374 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
381 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
385 static_cast<FwAssertArgType>(qStat)
398 static_cast<FwAssertArgType>(portNum)
401 return &this->m_cmdIn_InputPort[portNum];
413 static_cast<FwAssertArgType>(portNum)
416 return &this->m_Run_InputPort[portNum];
424 static_cast<FwAssertArgType>(portNum)
427 return &this->m_SendFile_InputPort[portNum];
435 static_cast<FwAssertArgType>(portNum)
438 return &this->m_bufferReturn_InputPort[portNum];
446 static_cast<FwAssertArgType>(portNum)
449 return &this->m_pingIn_InputPort[portNum];
464 static_cast<FwAssertArgType>(portNum)
467 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
478 static_cast<FwAssertArgType>(portNum)
481 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
492 static_cast<FwAssertArgType>(portNum)
495 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
498 #if FW_ENABLE_TEXT_LOGGING == 1 500 void FileDownlinkComponentBase ::
501 set_textEventOut_OutputPort(
507 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
508 static_cast<FwAssertArgType>(portNum)
511 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
524 static_cast<FwAssertArgType>(portNum)
527 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
538 static_cast<FwAssertArgType>(portNum)
541 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
556 static_cast<FwAssertArgType>(portNum)
559 this->m_FileComplete_OutputPort[portNum].
addCallPort(port);
570 static_cast<FwAssertArgType>(portNum)
573 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
584 static_cast<FwAssertArgType>(portNum)
587 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
590 #if FW_PORT_SERIALIZATION 599 Fw::InputSerializePort* port
604 static_cast<FwAssertArgType>(portNum)
607 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
613 Fw::InputSerializePort* port
618 static_cast<FwAssertArgType>(portNum)
621 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
627 Fw::InputSerializePort* port
632 static_cast<FwAssertArgType>(portNum)
635 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
638 #if FW_ENABLE_TEXT_LOGGING == 1 640 void FileDownlinkComponentBase ::
641 set_textEventOut_OutputPort(
643 Fw::InputSerializePort* port
647 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
648 static_cast<FwAssertArgType>(portNum)
651 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
659 Fw::InputSerializePort* port
664 static_cast<FwAssertArgType>(portNum)
667 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
673 Fw::InputSerializePort* port
678 static_cast<FwAssertArgType>(portNum)
681 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
686 #if FW_PORT_SERIALIZATION 695 Fw::InputSerializePort* port
700 static_cast<FwAssertArgType>(portNum)
703 this->m_FileComplete_OutputPort[portNum].registerSerialPort(port);
709 Fw::InputSerializePort* port
714 static_cast<FwAssertArgType>(portNum)
717 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
723 Fw::InputSerializePort* port
728 static_cast<FwAssertArgType>(portNum)
731 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
743 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
745 this->m_cmdRegOut_OutputPort[0].
invoke(
749 this->m_cmdRegOut_OutputPort[0].
invoke(
753 this->m_cmdRegOut_OutputPort[0].
invoke(
764 Fw::ActiveComponentBase(compName)
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_eventOut_OutputPort[portNum].
isConnected();
812 #if FW_ENABLE_TEXT_LOGGING == 1 814 bool FileDownlinkComponentBase ::
815 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
818 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
819 static_cast<FwAssertArgType>(portNum)
822 return this->m_textEventOut_OutputPort[portNum].isConnected();
832 static_cast<FwAssertArgType>(portNum)
835 return this->m_timeCaller_OutputPort[portNum].
isConnected();
843 static_cast<FwAssertArgType>(portNum)
846 return this->m_tlmOut_OutputPort[portNum].
isConnected();
858 static_cast<FwAssertArgType>(portNum)
861 return this->m_FileComplete_OutputPort[portNum].
isConnected();
869 static_cast<FwAssertArgType>(portNum)
872 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
880 static_cast<FwAssertArgType>(portNum)
883 return this->m_pingOut_OutputPort[portNum].
isConnected();
901 static_cast<FwAssertArgType>(portNum)
909 ComponentIpcSerializableBuffer msg;
913 _status = msg.serializeFrom(
914 static_cast<FwEnumStoreType>(RUN_SCHED)
918 static_cast<FwAssertArgType>(_status)
922 _status = msg.serializeFrom(portNum);
925 static_cast<FwAssertArgType>(_status)
929 _status = msg.serializeFrom(context);
932 static_cast<FwAssertArgType>(_status)
941 static_cast<FwAssertArgType>(qStatus)
957 static_cast<FwAssertArgType>(portNum)
989 static_cast<FwAssertArgType>(portNum)
997 ComponentIpcSerializableBuffer msg;
1001 _status = msg.serializeFrom(
1002 static_cast<FwEnumStoreType>(BUFFERRETURN_BUFFERSEND)
1006 static_cast<FwAssertArgType>(_status)
1010 _status = msg.serializeFrom(portNum);
1013 static_cast<FwAssertArgType>(_status)
1017 _status = msg.serializeFrom(fwBuffer);
1020 static_cast<FwAssertArgType>(_status)
1029 static_cast<FwAssertArgType>(qStatus)
1042 static_cast<FwAssertArgType>(portNum)
1050 ComponentIpcSerializableBuffer msg;
1054 _status = msg.serializeFrom(
1055 static_cast<FwEnumStoreType>(PINGIN_PING)
1059 static_cast<FwAssertArgType>(_status)
1063 _status = msg.serializeFrom(portNum);
1066 static_cast<FwAssertArgType>(_status)
1070 _status = msg.serializeFrom(key);
1073 static_cast<FwAssertArgType>(_status)
1082 static_cast<FwAssertArgType>(qStatus)
1133 static_cast<FwAssertArgType>(portNum)
1137 this->m_FileComplete_OutputPort[portNum].isConnected(),
1138 static_cast<FwAssertArgType>(portNum)
1140 this->m_FileComplete_OutputPort[portNum].
invoke(
1153 static_cast<FwAssertArgType>(portNum)
1157 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
1158 static_cast<FwAssertArgType>(portNum)
1160 this->m_bufferSendOut_OutputPort[portNum].
invoke(
1173 static_cast<FwAssertArgType>(portNum)
1177 this->m_pingOut_OutputPort[portNum].isConnected(),
1178 static_cast<FwAssertArgType>(portNum)
1180 this->m_pingOut_OutputPort[portNum].
invoke(
1196 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1197 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1218 ComponentIpcSerializableBuffer msg;
1222 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SENDFILE));
1225 static_cast<FwAssertArgType>(_status)
1231 _status = msg.serializeFrom(port);
1234 static_cast<FwAssertArgType>(_status)
1237 _status = msg.serializeFrom(opCode);
1240 static_cast<FwAssertArgType>(_status)
1243 _status = msg.serializeFrom(cmdSeq);
1246 static_cast<FwAssertArgType>(_status)
1249 _status = msg.serializeFrom(args);
1252 static_cast<FwAssertArgType>(_status)
1261 static_cast<FwAssertArgType>(qStatus)
1277 ComponentIpcSerializableBuffer msg;
1281 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CANCEL));
1284 static_cast<FwAssertArgType>(_status)
1290 _status = msg.serializeFrom(port);
1293 static_cast<FwAssertArgType>(_status)
1296 _status = msg.serializeFrom(opCode);
1299 static_cast<FwAssertArgType>(_status)
1302 _status = msg.serializeFrom(cmdSeq);
1305 static_cast<FwAssertArgType>(_status)
1308 _status = msg.serializeFrom(args);
1311 static_cast<FwAssertArgType>(_status)
1320 static_cast<FwAssertArgType>(qStatus)
1336 ComponentIpcSerializableBuffer msg;
1340 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SENDPARTIAL));
1343 static_cast<FwAssertArgType>(_status)
1349 _status = msg.serializeFrom(port);
1352 static_cast<FwAssertArgType>(_status)
1355 _status = msg.serializeFrom(opCode);
1358 static_cast<FwAssertArgType>(_status)
1361 _status = msg.serializeFrom(cmdSeq);
1364 static_cast<FwAssertArgType>(_status)
1367 _status = msg.serializeFrom(args);
1370 static_cast<FwAssertArgType>(_status)
1379 static_cast<FwAssertArgType>(qStatus)
1433 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1434 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1442 if (this->m_eventOut_OutputPort[0].isConnected()) {
1446 #if FW_AMPCS_COMPATIBLE 1451 static_cast<FwAssertArgType>(_status)
1458 static_cast<FwAssertArgType>(_status)
1461 this->m_eventOut_OutputPort[0].
invoke(
1470 #if FW_ENABLE_TEXT_LOGGING 1471 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1472 #if FW_OBJECT_NAMES == 1 1473 const char* _formatString =
1474 "(%s) %s: Could not open file %s";
1476 const char* _formatString =
1477 "%s: Could not open file %s";
1484 this->m_objName.toChar(),
1490 this->m_textEventOut_OutputPort[0].invoke(
1508 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1509 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1517 if (this->m_eventOut_OutputPort[0].isConnected()) {
1521 #if FW_AMPCS_COMPATIBLE 1526 static_cast<FwAssertArgType>(_status)
1533 static_cast<FwAssertArgType>(_status)
1536 #if FW_AMPCS_COMPATIBLE 1539 static_cast<U8>(
sizeof(I32))
1543 static_cast<FwAssertArgType>(_status)
1549 static_cast<FwAssertArgType>(_status)
1552 this->m_eventOut_OutputPort[0].
invoke(
1561 #if FW_ENABLE_TEXT_LOGGING 1562 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1563 #if FW_OBJECT_NAMES == 1 1564 const char* _formatString =
1565 "(%s) %s: Could not read file %s with status %" PRIi32
"";
1567 const char* _formatString =
1568 "%s: Could not read file %s with status %" PRIi32
"";
1575 this->m_objName.toChar(),
1582 this->m_textEventOut_OutputPort[0].invoke(
1600 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1601 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1609 if (this->m_eventOut_OutputPort[0].isConnected()) {
1613 #if FW_AMPCS_COMPATIBLE 1618 static_cast<FwAssertArgType>(_status)
1625 static_cast<FwAssertArgType>(_status)
1631 static_cast<FwAssertArgType>(_status)
1634 this->m_eventOut_OutputPort[0].
invoke(
1643 #if FW_ENABLE_TEXT_LOGGING 1644 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1645 #if FW_OBJECT_NAMES == 1 1646 const char* _formatString =
1647 "(%s) %s: Sent file %s to file %s";
1649 const char* _formatString =
1650 "%s: Sent file %s to file %s";
1657 this->m_objName.toChar(),
1664 this->m_textEventOut_OutputPort[0].invoke(
1682 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1683 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1691 if (this->m_eventOut_OutputPort[0].isConnected()) {
1695 #if FW_AMPCS_COMPATIBLE 1700 static_cast<FwAssertArgType>(_status)
1707 static_cast<FwAssertArgType>(_status)
1713 static_cast<FwAssertArgType>(_status)
1716 this->m_eventOut_OutputPort[0].
invoke(
1725 #if FW_ENABLE_TEXT_LOGGING 1726 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1727 #if FW_OBJECT_NAMES == 1 1728 const char* _formatString =
1729 "(%s) %s: Canceled downlink of file %s to file %s";
1731 const char* _formatString =
1732 "%s: Canceled downlink of file %s to file %s";
1739 this->m_objName.toChar(),
1741 "DownlinkCanceled ",
1746 this->m_textEventOut_OutputPort[0].invoke(
1767 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1768 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1776 if (this->m_eventOut_OutputPort[0].isConnected()) {
1780 #if FW_AMPCS_COMPATIBLE 1785 static_cast<FwAssertArgType>(_status)
1789 #if FW_AMPCS_COMPATIBLE 1792 static_cast<U8>(
sizeof(U32))
1796 static_cast<FwAssertArgType>(_status)
1802 static_cast<FwAssertArgType>(_status)
1805 #if FW_AMPCS_COMPATIBLE 1808 static_cast<U8>(
sizeof(U32))
1812 static_cast<FwAssertArgType>(_status)
1818 static_cast<FwAssertArgType>(_status)
1821 #if FW_AMPCS_COMPATIBLE 1824 static_cast<U8>(
sizeof(U32))
1828 static_cast<FwAssertArgType>(_status)
1834 static_cast<FwAssertArgType>(_status)
1840 static_cast<FwAssertArgType>(_status)
1846 static_cast<FwAssertArgType>(_status)
1849 this->m_eventOut_OutputPort[0].
invoke(
1858 #if FW_ENABLE_TEXT_LOGGING 1859 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1860 #if FW_OBJECT_NAMES == 1 1861 const char* _formatString =
1862 "(%s) %s: Offset %" PRIu32
" plus length %" PRIu32
" is greater than source size %" PRIu32
" for partial downlink of file %s to file %s. ";
1864 const char* _formatString =
1865 "%s: Offset %" PRIu32
" plus length %" PRIu32
" is greater than source size %" PRIu32
" for partial downlink of file %s to file %s. ";
1872 this->m_objName.toChar(),
1874 "DownlinkPartialWarning ",
1882 this->m_textEventOut_OutputPort[0].invoke(
1902 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1903 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1911 if (this->m_eventOut_OutputPort[0].isConnected()) {
1915 #if FW_AMPCS_COMPATIBLE 1920 static_cast<FwAssertArgType>(_status)
1927 static_cast<FwAssertArgType>(_status)
1933 static_cast<FwAssertArgType>(_status)
1936 #if FW_AMPCS_COMPATIBLE 1939 static_cast<U8>(
sizeof(U32))
1943 static_cast<FwAssertArgType>(_status)
1949 static_cast<FwAssertArgType>(_status)
1952 #if FW_AMPCS_COMPATIBLE 1955 static_cast<U8>(
sizeof(U32))
1959 static_cast<FwAssertArgType>(_status)
1965 static_cast<FwAssertArgType>(_status)
1968 this->m_eventOut_OutputPort[0].
invoke(
1977 #if FW_ENABLE_TEXT_LOGGING 1978 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1979 #if FW_OBJECT_NAMES == 1 1980 const char* _formatString =
1981 "(%s) %s: Error occurred during partial downlink of file %s to file %s. Offset %" PRIu32
" greater than or equal to source filesize %" PRIu32
".";
1983 const char* _formatString =
1984 "%s: Error occurred during partial downlink of file %s to file %s. Offset %" PRIu32
" greater than or equal to source filesize %" PRIu32
".";
1991 this->m_objName.toChar(),
1993 "DownlinkPartialFail ",
2000 this->m_textEventOut_OutputPort[0].invoke(
2018 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2019 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2027 if (this->m_eventOut_OutputPort[0].isConnected()) {
2031 #if FW_AMPCS_COMPATIBLE 2036 static_cast<FwAssertArgType>(_status)
2043 static_cast<FwAssertArgType>(_status)
2046 #if FW_AMPCS_COMPATIBLE 2049 static_cast<U8>(
sizeof(U32))
2053 static_cast<FwAssertArgType>(_status)
2059 static_cast<FwAssertArgType>(_status)
2062 this->m_eventOut_OutputPort[0].
invoke(
2071 #if FW_ENABLE_TEXT_LOGGING 2072 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2073 #if FW_OBJECT_NAMES == 1 2074 const char* _formatString =
2075 "(%s) %s: Failed to send data packet from file %s at byte offset %" PRIu32
".";
2077 const char* _formatString =
2078 "%s: Failed to send data packet from file %s at byte offset %" PRIu32
".";
2085 this->m_objName.toChar(),
2092 this->m_textEventOut_OutputPort[0].invoke(
2111 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2112 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2120 if (this->m_eventOut_OutputPort[0].isConnected()) {
2124 #if FW_AMPCS_COMPATIBLE 2129 static_cast<FwAssertArgType>(_status)
2133 #if FW_AMPCS_COMPATIBLE 2136 static_cast<U8>(
sizeof(U32))
2140 static_cast<FwAssertArgType>(_status)
2146 static_cast<FwAssertArgType>(_status)
2152 static_cast<FwAssertArgType>(_status)
2158 static_cast<FwAssertArgType>(_status)
2161 this->m_eventOut_OutputPort[0].
invoke(
2170 #if FW_ENABLE_TEXT_LOGGING 2171 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2172 #if FW_OBJECT_NAMES == 1 2173 const char* _formatString =
2174 "(%s) %s: Downlink of %" PRIu32
" bytes started from %s to %s";
2176 const char* _formatString =
2177 "%s: Downlink of %" PRIu32
" bytes started from %s to %s";
2184 this->m_objName.toChar(),
2192 this->m_textEventOut_OutputPort[0].invoke(
2212 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2214 this->m_timeCaller_OutputPort[0].isConnected() &&
2217 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
2224 static_cast<FwAssertArgType>(_stat)
2231 this->m_tlmOut_OutputPort[0].
invoke(
2245 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2247 this->m_timeCaller_OutputPort[0].isConnected() &&
2250 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
2257 static_cast<FwAssertArgType>(_stat)
2264 this->m_tlmOut_OutputPort[0].
invoke(
2278 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2280 this->m_timeCaller_OutputPort[0].isConnected() &&
2283 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
2290 static_cast<FwAssertArgType>(_stat)
2297 this->m_tlmOut_OutputPort[0].
invoke(
2312 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2314 this->m_timeCaller_OutputPort[0].
invoke(_time);
2332 this->m_guardedPortMutex.
lock();
2338 this->m_guardedPortMutex.
unLock();
2348 ComponentIpcSerializableBuffer _msg;
2358 static_cast<FwAssertArgType>(_msgStatus)
2368 static_cast<FwAssertArgType>(_deserStatus)
2371 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2373 if (_msgType == FILEDOWNLINK_COMPONENT_EXIT) {
2378 _deserStatus = _msg.deserializeTo(portNum);
2381 static_cast<FwAssertArgType>(_deserStatus)
2389 _deserStatus = _msg.deserializeTo(context);
2392 static_cast<FwAssertArgType>(_deserStatus)
2404 case BUFFERRETURN_BUFFERSEND: {
2407 _deserStatus = _msg.deserializeTo(fwBuffer);
2410 static_cast<FwAssertArgType>(_deserStatus)
2425 _deserStatus = _msg.deserializeTo(key);
2428 static_cast<FwAssertArgType>(_deserStatus)
2440 case CMD_SENDFILE: {
2443 _deserStatus = _msg.deserializeTo(_opCode);
2446 static_cast<FwAssertArgType>(_deserStatus)
2451 _deserStatus = _msg.deserializeTo(_cmdSeq);
2454 static_cast<FwAssertArgType>(_deserStatus)
2459 _deserStatus = _msg.deserializeTo(args);
2462 static_cast<FwAssertArgType>(_deserStatus)
2472 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2487 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2500 #if FW_CMD_CHECK_RESIDUAL 2502 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2524 _deserStatus = _msg.deserializeTo(_opCode);
2527 static_cast<FwAssertArgType>(_deserStatus)
2532 _deserStatus = _msg.deserializeTo(_cmdSeq);
2535 static_cast<FwAssertArgType>(_deserStatus)
2540 _deserStatus = _msg.deserializeTo(args);
2543 static_cast<FwAssertArgType>(_deserStatus)
2551 #if FW_CMD_CHECK_RESIDUAL 2553 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2568 case CMD_SENDPARTIAL: {
2571 _deserStatus = _msg.deserializeTo(_opCode);
2574 static_cast<FwAssertArgType>(_deserStatus)
2579 _deserStatus = _msg.deserializeTo(_cmdSeq);
2582 static_cast<FwAssertArgType>(_deserStatus)
2587 _deserStatus = _msg.deserializeTo(args);
2590 static_cast<FwAssertArgType>(_deserStatus)
2600 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2615 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2630 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2645 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2658 #if FW_CMD_CHECK_RESIDUAL 2660 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2691 void FileDownlinkComponentBase ::
2703 const U32 idBase = callComp->
getIdBase();
2704 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2707 switch (opCode - idBase) {
2709 compPtr->SendFile_cmdHandlerBase(
2718 compPtr->Cancel_cmdHandlerBase(
2727 compPtr->SendPartial_cmdHandlerBase(
2741 void FileDownlinkComponentBase ::
2750 compPtr->Run_handlerBase(
2768 return compPtr->SendFile_handlerBase(
2777 void FileDownlinkComponentBase ::
2778 m_p_bufferReturn_in(
2786 compPtr->bufferReturn_handlerBase(
2792 void FileDownlinkComponentBase ::
2801 compPtr->pingIn_handlerBase(
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void Cancel_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_SendFile_InputPorts()
void regCommands()
Register commands with the Command Dispatcher.
FwIdType FwOpcodeType
The type of a command opcode.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
static constexpr FwIndexType getNum_FileComplete_OutputPorts()
Status
status returned from the queue send function
void tlmWrite_PacketsSent(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
Svc::InputSendFileRequestPort * get_SendFile_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_bufferReturn_InputPorts()
void unLock()
unlock the mutex and assert success
void invoke(U32 key) const
Invoke a port interface.
virtual void unLock()
Unlock the guarded mutex.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
Channel ID for PacketsSent.
Cancel the downlink in progress, if any.
An error occurred opening a file.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void init()
Initialization function.
Enum representing a command response.
No time base has been established (Required)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
virtual void SendPartial_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SendPartial.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
Os::Queue m_queue
queue object for active component
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
void log_ACTIVITY_HI_DownlinkCanceled(const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName) const
SerializeStatus
forward declaration for string
Message will block until space is available.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void bufferReturn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferReturn.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
FwIdType FwEventIdType
The type of an event identifier.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName) const
void log_WARNING_LO_DownlinkPartialWarning(U32 startOffset, U32 length, U32 filesize, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName) const
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
virtual void Cancel_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
#define FW_MIN(a, b)
MIN macro.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
A less serious but recoverable event.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
The File Downlink component has detected a timeout. Downlink has been canceled.
virtual void Cancel_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command Cancel.
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
The File Downlink component has detected a timeout. Downlink has been canceled.
The File Downlink component generated an error when trying to send a data packet. ...
Channel ID for FilesSent.
void invoke(Fw::Time &time) const
Invoke a port interface.
virtual void Run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port Run.
void SendFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
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.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
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 resetDeser() override
Reset deserialization pointer to beginning of buffer.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
A serious but recoverable event.
Errors dispatching messages.
virtual ~FileDownlinkComponentBase()
Destroy FileDownlinkComponentBase object.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
uint8_t U8
8-bit unsigned integer
void log_ACTIVITY_HI_FileSent(const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName) const
void init()
Initialization function.
Command failed to deserialize.
Svc::SendFileResponse SendFile_handlerBase(FwIndexType portNum, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName, U32 offset, U32 length)
Handler base-class function for input port SendFile.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
virtual void lock()
Lock the guarded mutex.
Important informational events.
void tlmWrite_Warnings(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void init()
Initialization function.
void log_WARNING_HI_SendDataFail(const Fw::StringBase &sourceFileName, U32 byteOffset) const
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void log_WARNING_HI_FileReadError(const Fw::StringBase &fileName, I32 status) const
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
Fw::InputBufferSendPort * get_bufferReturn_InputPort(FwIndexType portNum)
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
The File Downlink component started a file download.
An error occurred reading a file.
A message was sent requesting an exit of the loop.
The File Downlink component successfully sent a file.
The File Downlink component canceled downlink of a file.
message to exit active component task
PlatformIndexType FwIndexType
FileDownlinkComponentBase(const char *compName="")
Construct FileDownlinkComponentBase object.
virtual void SendFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SendFile.
static constexpr FwIndexType getNum_Run_InputPorts()
virtual Svc::SendFileResponse SendFile_handler(FwIndexType portNum, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName, U32 offset, U32 length)=0
Handler for input port SendFile.
Read a named file off the disk from a starting position. Divide it into packets and send the packets ...
Send file response struct.
void addCallPort(InputLogPort *callPort)
Register an input port.
static constexpr FwIndexType getNum_pingIn_InputPorts()
void init()
Initialization function.
virtual void SendFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &sourceFileName, const Fw::CmdStringArg &destFileName)=0
RateGroupDivider component implementation.
virtual void SendPartial_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &sourceFileName, const Fw::CmdStringArg &destFileName, U32 startOffset, U32 length)=0
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void tlmWrite_FilesSent(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
virtual void bufferReturn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferReturn.
void invoke(const Svc::SendFileResponse &resp) const
Invoke a port interface.
void SendPartial_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_FileComplete_OutputPort(FwIndexType portNum)
Read a named file off the disk. Divide it into packets and send the packets for transmission to the g...
Message will return with status when space is unavailable.
void set_FileComplete_OutputPort(FwIndexType portNum, Svc::InputSendFileCompletePort *port)
Connect port to FileComplete[portNum].
Implementation of malloc based allocator.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void log_ACTIVITY_HI_SendStarted(U32 fileSize, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName) const
void log_WARNING_HI_DownlinkPartialFail(const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName, U32 startOffset, U32 filesize) const
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
void init()
Initialization function.
virtual void bufferReturn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferReturn.
virtual void Run_handler(FwIndexType portNum, U32 context)=0
Handler for input port Run.
void FileComplete_out(FwIndexType portNum, const Svc::SendFileResponse &resp)
Invoke output port FileComplete.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void addCallPort(InputSendFileCompletePort *callPort)
Register an input port.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()