10 #if FW_ENABLE_TEXT_LOGGING 34 class ComponentIpcSerializableBuffer :
44 MAX_DATA_SIZE =
sizeof(BuffUnion),
46 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
50 return sizeof(m_buff);
57 const U8* getBuffAddr()
const {
63 U8 m_buff[SERIALIZATION_SIZE];
87 this->m_CmdDisp_InputPort[port].
init();
92 this->m_CmdDisp_InputPort[port].
setPortNum(port);
94 #if FW_OBJECT_NAMES == 1 97 "%s_CmdDisp_InputPort[%" PRI_PlatformIntType
"]",
98 this->m_objName.toChar(),
101 this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
111 this->m_getPrm_InputPort[port].
init();
116 this->m_getPrm_InputPort[port].
setPortNum(port);
118 #if FW_OBJECT_NAMES == 1 121 "%s_getPrm_InputPort[%" PRI_PlatformIntType
"]",
122 this->m_objName.toChar(),
125 this->m_getPrm_InputPort[port].setObjName(portName.
toChar());
135 this->m_pingIn_InputPort[port].
init();
140 this->m_pingIn_InputPort[port].
setPortNum(port);
142 #if FW_OBJECT_NAMES == 1 145 "%s_pingIn_InputPort[%" PRI_PlatformIntType
"]",
146 this->m_objName.toChar(),
149 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
159 this->m_setPrm_InputPort[port].
init();
164 this->m_setPrm_InputPort[port].
setPortNum(port);
166 #if FW_OBJECT_NAMES == 1 169 "%s_setPrm_InputPort[%" PRI_PlatformIntType
"]",
170 this->m_objName.toChar(),
173 this->m_setPrm_InputPort[port].setObjName(portName.
toChar());
183 this->m_CmdReg_OutputPort[port].
init();
185 #if FW_OBJECT_NAMES == 1 188 "%s_CmdReg_OutputPort[%" PRI_PlatformIntType
"]",
189 this->m_objName.toChar(),
192 this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
202 this->m_CmdStatus_OutputPort[port].
init();
204 #if FW_OBJECT_NAMES == 1 207 "%s_CmdStatus_OutputPort[%" PRI_PlatformIntType
"]",
208 this->m_objName.toChar(),
211 this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
221 this->m_Log_OutputPort[port].
init();
223 #if FW_OBJECT_NAMES == 1 226 "%s_Log_OutputPort[%" PRI_PlatformIntType
"]",
227 this->m_objName.toChar(),
230 this->m_Log_OutputPort[port].setObjName(portName.
toChar());
234 #if FW_ENABLE_TEXT_LOGGING == 1 238 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
241 this->m_LogText_OutputPort[port].
init();
243 #if FW_OBJECT_NAMES == 1 246 "%s_LogText_OutputPort[%" PRI_PlatformIntType
"]",
247 this->m_objName.toChar(),
250 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
261 this->m_Time_OutputPort[port].
init();
263 #if FW_OBJECT_NAMES == 1 266 "%s_Time_OutputPort[%" PRI_PlatformIntType
"]",
267 this->m_objName.toChar(),
270 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
280 this->m_pingOut_OutputPort[port].
init();
282 #if FW_OBJECT_NAMES == 1 285 "%s_pingOut_OutputPort[%" PRI_PlatformIntType
"]",
286 this->m_objName.toChar(),
289 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
296 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
300 static_cast<FwAssertArgType>(qStat)
313 static_cast<FwAssertArgType>(portNum)
316 return &this->m_CmdDisp_InputPort[portNum];
328 static_cast<FwAssertArgType>(portNum)
331 return &this->m_getPrm_InputPort[portNum];
339 static_cast<FwAssertArgType>(portNum)
342 return &this->m_pingIn_InputPort[portNum];
350 static_cast<FwAssertArgType>(portNum)
353 return &this->m_setPrm_InputPort[portNum];
368 static_cast<FwAssertArgType>(portNum)
371 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
382 static_cast<FwAssertArgType>(portNum)
385 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
396 static_cast<FwAssertArgType>(portNum)
402 #if FW_ENABLE_TEXT_LOGGING == 1 404 void PrmDbComponentBase ::
405 set_LogText_OutputPort(
411 portNum < this->getNum_LogText_OutputPorts(),
412 static_cast<FwAssertArgType>(portNum)
415 this->m_LogText_OutputPort[portNum].addCallPort(port);
428 static_cast<FwAssertArgType>(portNum)
431 this->m_Time_OutputPort[portNum].
addCallPort(port);
446 static_cast<FwAssertArgType>(portNum)
449 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
452 #if FW_PORT_SERIALIZATION 461 Fw::InputSerializePort* port
466 static_cast<FwAssertArgType>(portNum)
469 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
475 Fw::InputSerializePort* port
480 static_cast<FwAssertArgType>(portNum)
483 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
489 Fw::InputSerializePort* port
494 static_cast<FwAssertArgType>(portNum)
497 this->m_Log_OutputPort[portNum].registerSerialPort(port);
500 #if FW_ENABLE_TEXT_LOGGING == 1 502 void PrmDbComponentBase ::
503 set_LogText_OutputPort(
505 Fw::InputSerializePort* port
509 portNum < this->getNum_LogText_OutputPorts(),
510 static_cast<FwAssertArgType>(portNum)
513 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
521 Fw::InputSerializePort* port
526 static_cast<FwAssertArgType>(portNum)
529 this->m_Time_OutputPort[portNum].registerSerialPort(port);
534 #if FW_PORT_SERIALIZATION 543 Fw::InputSerializePort* port
548 static_cast<FwAssertArgType>(portNum)
551 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
563 FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
565 this->m_CmdReg_OutputPort[0].
invoke(
576 Fw::ActiveComponentBase(compName)
578 this->m_PrmIdNotFoundThrottle = 0;
641 #if FW_ENABLE_TEXT_LOGGING == 1 644 getNum_LogText_OutputPorts()
const 676 static_cast<FwAssertArgType>(portNum)
679 return this->m_CmdReg_OutputPort[portNum].
isConnected();
687 static_cast<FwAssertArgType>(portNum)
690 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
698 static_cast<FwAssertArgType>(portNum)
701 return this->m_Log_OutputPort[portNum].
isConnected();
704 #if FW_ENABLE_TEXT_LOGGING == 1 706 bool PrmDbComponentBase ::
707 isConnected_LogText_OutputPort(
FwIndexType portNum)
710 portNum < this->getNum_LogText_OutputPorts(),
711 static_cast<FwAssertArgType>(portNum)
714 return this->m_LogText_OutputPort[portNum].isConnected();
724 static_cast<FwAssertArgType>(portNum)
727 return this->m_Time_OutputPort[portNum].
isConnected();
739 static_cast<FwAssertArgType>(portNum)
742 return this->m_pingOut_OutputPort[portNum].
isConnected();
761 static_cast<FwAssertArgType>(portNum)
791 static_cast<FwAssertArgType>(portNum)
799 ComponentIpcSerializableBuffer msg;
803 _status = msg.serialize(
804 static_cast<FwEnumStoreType>(PINGIN_PING)
808 static_cast<FwAssertArgType>(_status)
812 _status = msg.serialize(portNum);
815 static_cast<FwAssertArgType>(_status)
819 _status = msg.serialize(key);
822 static_cast<FwAssertArgType>(_status)
831 static_cast<FwAssertArgType>(qStatus)
845 static_cast<FwAssertArgType>(portNum)
854 ComponentIpcSerializableBuffer msg;
858 _status = msg.serialize(
859 static_cast<FwEnumStoreType>(SETPRM_PRMSET)
863 static_cast<FwAssertArgType>(_status)
867 _status = msg.serialize(portNum);
870 static_cast<FwAssertArgType>(_status)
874 _status = msg.serialize(
id);
877 static_cast<FwAssertArgType>(_status)
881 _status = msg.serialize(val);
884 static_cast<FwAssertArgType>(_status)
893 static_cast<FwAssertArgType>(qStatus)
936 static_cast<FwAssertArgType>(portNum)
940 this->m_pingOut_OutputPort[portNum].isConnected(),
941 static_cast<FwAssertArgType>(portNum)
943 this->m_pingOut_OutputPort[portNum].
invoke(
959 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
960 this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
981 ComponentIpcSerializableBuffer msg;
985 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_PRM_SAVE_FILE));
988 static_cast<FwAssertArgType>(_status)
994 _status = msg.serialize(port);
997 static_cast<FwAssertArgType>(_status)
1000 _status = msg.serialize(opCode);
1003 static_cast<FwAssertArgType>(_status)
1006 _status = msg.serialize(cmdSeq);
1009 static_cast<FwAssertArgType>(_status)
1012 _status = msg.serialize(args);
1015 static_cast<FwAssertArgType>(_status)
1024 static_cast<FwAssertArgType>(qStatus)
1059 this->m_PrmIdNotFoundThrottle++;
1064 if (this->m_Time_OutputPort[0].isConnected()) {
1065 this->m_Time_OutputPort[0].
invoke(_logTime);
1073 if (this->m_Log_OutputPort[0].isConnected()) {
1077 #if FW_AMPCS_COMPATIBLE 1079 _status = _logBuff.
serialize(static_cast<U8>(1));
1082 static_cast<FwAssertArgType>(_status)
1086 #if FW_AMPCS_COMPATIBLE 1089 static_cast<U8>(
sizeof(U32))
1093 static_cast<FwAssertArgType>(_status)
1099 static_cast<FwAssertArgType>(_status)
1102 this->m_Log_OutputPort[0].
invoke(
1111 #if FW_ENABLE_TEXT_LOGGING 1112 if (this->m_LogText_OutputPort[0].isConnected()) {
1113 #if FW_OBJECT_NAMES == 1 1114 const char* _formatString =
1115 "(%s) %s: Parameter ID 0x%" PRIx32
" not found";
1117 const char* _formatString =
1118 "%s: Parameter ID 0x%" PRIx32
" not found";
1125 this->m_objName.toChar(),
1131 this->m_LogText_OutputPort[0].invoke(
1146 if (this->m_Time_OutputPort[0].isConnected()) {
1147 this->m_Time_OutputPort[0].
invoke(_logTime);
1155 if (this->m_Log_OutputPort[0].isConnected()) {
1159 #if FW_AMPCS_COMPATIBLE 1161 _status = _logBuff.
serialize(static_cast<U8>(1));
1164 static_cast<FwAssertArgType>(_status)
1168 #if FW_AMPCS_COMPATIBLE 1171 static_cast<U8>(
sizeof(U32))
1175 static_cast<FwAssertArgType>(_status)
1181 static_cast<FwAssertArgType>(_status)
1184 this->m_Log_OutputPort[0].
invoke(
1193 #if FW_ENABLE_TEXT_LOGGING 1194 if (this->m_LogText_OutputPort[0].isConnected()) {
1195 #if FW_OBJECT_NAMES == 1 1196 const char* _formatString =
1197 "(%s) %s: Parameter ID 0x%" PRIx32
" updated";
1199 const char* _formatString =
1200 "%s: Parameter ID 0x%" PRIx32
" updated";
1207 this->m_objName.toChar(),
1213 this->m_LogText_OutputPort[0].invoke(
1228 if (this->m_Time_OutputPort[0].isConnected()) {
1229 this->m_Time_OutputPort[0].
invoke(_logTime);
1237 if (this->m_Log_OutputPort[0].isConnected()) {
1241 #if FW_AMPCS_COMPATIBLE 1243 _status = _logBuff.
serialize(static_cast<U8>(1 + 1));
1246 static_cast<FwAssertArgType>(_status)
1250 _status = _logBuff.
serialize(static_cast<U8>(4));
1253 static_cast<FwAssertArgType>(_status)
1256 _status = _logBuff.
serialize(static_cast<U32>(0));
1259 static_cast<FwAssertArgType>(_status)
1263 #if FW_AMPCS_COMPATIBLE 1266 static_cast<U8>(
sizeof(U32))
1270 static_cast<FwAssertArgType>(_status)
1276 static_cast<FwAssertArgType>(_status)
1279 this->m_Log_OutputPort[0].
invoke(
1288 #if FW_ENABLE_TEXT_LOGGING 1289 if (this->m_LogText_OutputPort[0].isConnected()) {
1290 #if FW_OBJECT_NAMES == 1 1291 const char* _formatString =
1292 "(%s) %s: Parameter DB full when adding ID 0x%" PRIx32
" ";
1294 const char* _formatString =
1295 "%s: Parameter DB full when adding ID 0x%" PRIx32
" ";
1302 this->m_objName.toChar(),
1308 this->m_LogText_OutputPort[0].invoke(
1323 if (this->m_Time_OutputPort[0].isConnected()) {
1324 this->m_Time_OutputPort[0].
invoke(_logTime);
1332 if (this->m_Log_OutputPort[0].isConnected()) {
1336 #if FW_AMPCS_COMPATIBLE 1338 _status = _logBuff.
serialize(static_cast<U8>(1));
1341 static_cast<FwAssertArgType>(_status)
1345 #if FW_AMPCS_COMPATIBLE 1348 static_cast<U8>(
sizeof(U32))
1352 static_cast<FwAssertArgType>(_status)
1358 static_cast<FwAssertArgType>(_status)
1361 this->m_Log_OutputPort[0].
invoke(
1370 #if FW_ENABLE_TEXT_LOGGING 1371 if (this->m_LogText_OutputPort[0].isConnected()) {
1372 #if FW_OBJECT_NAMES == 1 1373 const char* _formatString =
1374 "(%s) %s: Parameter ID 0x%" PRIx32
" added";
1376 const char* _formatString =
1377 "%s: Parameter ID 0x%" PRIx32
" added";
1384 this->m_objName.toChar(),
1390 this->m_LogText_OutputPort[0].invoke(
1409 if (this->m_Time_OutputPort[0].isConnected()) {
1410 this->m_Time_OutputPort[0].
invoke(_logTime);
1418 if (this->m_Log_OutputPort[0].isConnected()) {
1422 #if FW_AMPCS_COMPATIBLE 1424 _status = _logBuff.
serialize(static_cast<U8>(3));
1427 static_cast<FwAssertArgType>(_status)
1431 #if FW_AMPCS_COMPATIBLE 1438 static_cast<FwAssertArgType>(_status)
1444 static_cast<FwAssertArgType>(_status)
1447 #if FW_AMPCS_COMPATIBLE 1450 static_cast<U8>(
sizeof(I32))
1454 static_cast<FwAssertArgType>(_status)
1460 static_cast<FwAssertArgType>(_status)
1463 #if FW_AMPCS_COMPATIBLE 1466 static_cast<U8>(
sizeof(I32))
1470 static_cast<FwAssertArgType>(_status)
1476 static_cast<FwAssertArgType>(_status)
1479 this->m_Log_OutputPort[0].
invoke(
1488 #if FW_ENABLE_TEXT_LOGGING 1489 if (this->m_LogText_OutputPort[0].isConnected()) {
1490 #if FW_OBJECT_NAMES == 1 1491 const char* _formatString =
1492 "(%s) %s: Parameter write failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1494 const char* _formatString =
1495 "%s: Parameter write failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1499 stage.toString(stageStr);
1505 this->m_objName.toChar(),
1507 "PrmFileWriteError ",
1513 this->m_LogText_OutputPort[0].invoke(
1528 if (this->m_Time_OutputPort[0].isConnected()) {
1529 this->m_Time_OutputPort[0].
invoke(_logTime);
1537 if (this->m_Log_OutputPort[0].isConnected()) {
1541 #if FW_AMPCS_COMPATIBLE 1543 _status = _logBuff.
serialize(static_cast<U8>(1));
1546 static_cast<FwAssertArgType>(_status)
1550 #if FW_AMPCS_COMPATIBLE 1553 static_cast<U8>(
sizeof(U32))
1557 static_cast<FwAssertArgType>(_status)
1563 static_cast<FwAssertArgType>(_status)
1566 this->m_Log_OutputPort[0].
invoke(
1575 #if FW_ENABLE_TEXT_LOGGING 1576 if (this->m_LogText_OutputPort[0].isConnected()) {
1577 #if FW_OBJECT_NAMES == 1 1578 const char* _formatString =
1579 "(%s) %s: Parameter file save completed. Wrote %" PRIu32
" records.";
1581 const char* _formatString =
1582 "%s: Parameter file save completed. Wrote %" PRIu32
" records.";
1589 this->m_objName.toChar(),
1591 "PrmFileSaveComplete ",
1595 this->m_LogText_OutputPort[0].invoke(
1614 if (this->m_Time_OutputPort[0].isConnected()) {
1615 this->m_Time_OutputPort[0].
invoke(_logTime);
1623 if (this->m_Log_OutputPort[0].isConnected()) {
1627 #if FW_AMPCS_COMPATIBLE 1629 _status = _logBuff.
serialize(static_cast<U8>(3));
1632 static_cast<FwAssertArgType>(_status)
1636 #if FW_AMPCS_COMPATIBLE 1643 static_cast<FwAssertArgType>(_status)
1649 static_cast<FwAssertArgType>(_status)
1652 #if FW_AMPCS_COMPATIBLE 1655 static_cast<U8>(
sizeof(I32))
1659 static_cast<FwAssertArgType>(_status)
1665 static_cast<FwAssertArgType>(_status)
1668 #if FW_AMPCS_COMPATIBLE 1671 static_cast<U8>(
sizeof(I32))
1675 static_cast<FwAssertArgType>(_status)
1681 static_cast<FwAssertArgType>(_status)
1684 this->m_Log_OutputPort[0].
invoke(
1693 #if FW_ENABLE_TEXT_LOGGING 1694 if (this->m_LogText_OutputPort[0].isConnected()) {
1695 #if FW_OBJECT_NAMES == 1 1696 const char* _formatString =
1697 "(%s) %s: Parameter file read failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1699 const char* _formatString =
1700 "%s: Parameter file read failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1704 stage.toString(stageStr);
1710 this->m_objName.toChar(),
1712 "PrmFileReadError ",
1718 this->m_LogText_OutputPort[0].invoke(
1733 if (this->m_Time_OutputPort[0].isConnected()) {
1734 this->m_Time_OutputPort[0].
invoke(_logTime);
1742 if (this->m_Log_OutputPort[0].isConnected()) {
1746 #if FW_AMPCS_COMPATIBLE 1748 _status = _logBuff.
serialize(static_cast<U8>(1));
1751 static_cast<FwAssertArgType>(_status)
1755 #if FW_AMPCS_COMPATIBLE 1758 static_cast<U8>(
sizeof(U32))
1762 static_cast<FwAssertArgType>(_status)
1768 static_cast<FwAssertArgType>(_status)
1771 this->m_Log_OutputPort[0].
invoke(
1780 #if FW_ENABLE_TEXT_LOGGING 1781 if (this->m_LogText_OutputPort[0].isConnected()) {
1782 #if FW_OBJECT_NAMES == 1 1783 const char* _formatString =
1784 "(%s) %s: Parameter file load completed. Read %" PRIu32
" records.";
1786 const char* _formatString =
1787 "%s: Parameter file load completed. Read %" PRIu32
" records.";
1794 this->m_objName.toChar(),
1796 "PrmFileLoadComplete ",
1800 this->m_LogText_OutputPort[0].invoke(
1818 this->m_PrmIdNotFoundThrottle = 0;
1828 if (this->m_Time_OutputPort[0].isConnected()) {
1830 this->m_Time_OutputPort[0].
invoke(_time);
1848 this->m_guardedPortMutex.
lock();
1854 this->m_guardedPortMutex.
unLock();
1864 ComponentIpcSerializableBuffer _msg;
1874 static_cast<FwAssertArgType>(_msgStatus)
1884 static_cast<FwAssertArgType>(_deserStatus)
1887 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1889 if (_msgType == PRMDB_COMPONENT_EXIT) {
1894 _deserStatus = _msg.deserialize(portNum);
1897 static_cast<FwAssertArgType>(_deserStatus)
1905 _deserStatus = _msg.deserialize(key);
1908 static_cast<FwAssertArgType>(_deserStatus)
1920 case SETPRM_PRMSET: {
1923 _deserStatus = _msg.deserialize(
id);
1926 static_cast<FwAssertArgType>(_deserStatus)
1931 _deserStatus = _msg.deserialize(val);
1934 static_cast<FwAssertArgType>(_deserStatus)
1947 case CMD_PRM_SAVE_FILE: {
1950 _deserStatus = _msg.deserialize(_opCode);
1953 static_cast<FwAssertArgType>(_deserStatus)
1958 _deserStatus = _msg.deserialize(_cmdSeq);
1961 static_cast<FwAssertArgType>(_deserStatus)
1966 _deserStatus = _msg.deserialize(args);
1969 static_cast<FwAssertArgType>(_deserStatus)
1977 #if FW_CMD_CHECK_RESIDUAL 1979 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2004 void PrmDbComponentBase ::
2016 const U32 idBase = callComp->
getIdBase();
2017 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2020 switch (opCode - idBase) {
2022 compPtr->PRM_SAVE_FILE_cmdHandlerBase(
2046 return compPtr->getPrm_handlerBase(
2053 void PrmDbComponentBase ::
2062 compPtr->pingIn_handlerBase(
2068 void PrmDbComponentBase ::
2078 compPtr->setPrm_handlerBase(
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
Serialization/Deserialization operation was successful.
void regCommands()
Register commands with the Command Dispatcher.
void addCallPort(InputTimePort *callPort)
Register an input port.
bool isConnected_CmdReg_OutputPort(FwIndexType portNum)
Fw::ParamValid getPrm_handlerBase(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Handler base-class function for input port getPrm.
void log_WARNING_LO_PrmIdNotFound_ThrottleClear()
Reset throttle value for PrmIdNotFound.
Throttle reset count for PrmIdNotFound.
The size of the serial representation.
Status
status returned from the queue send function
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
const char * toChar() const
void log_WARNING_LO_PrmIdNotFound(U32 Id)
PrmDbComponentBase(const char *compName="")
Construct PrmDbComponentBase object.
void unLock()
unlock the mutex and assert success
void log_ACTIVITY_HI_PrmFileSaveComplete(U32 records) const
PlatformSizeType FwSizeType
void invoke(U32 key) const
Invoke a port interface.
Fw::InputPrmSetPort * get_setPrm_InputPort(FwIndexType portNum)
Enum representing a command response.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
PlatformIndexType FwIndexType
Command to save parameter image to file. Uses file name passed to constructor.
Failed to read parameter file.
Os::Queue m_queue
queue object for active component
void log_WARNING_HI_PrmFileWriteError(Svc::PrmDb_PrmWriteError stage, I32 record, I32 error) const
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
void init()
Object initializer.
virtual ~PrmDbComponentBase()
Destroy PrmDbComponentBase object.
SerializeStatus
forward declaration for string
void log_ACTIVITY_HI_PrmFileLoadComplete(U32 records) const
virtual void lock()
Lock the guarded mutex.
Message will block until space is available.
FwIndexType getNum_setPrm_InputPorts() const
void log_WARNING_HI_PrmFileReadError(Svc::PrmDb_PrmReadError stage, I32 record, I32 error) const
FwIndexType getNum_getPrm_InputPorts() const
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
Parameter ID updated in database.
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
void init()
Initialization function.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
message to exit active component task
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
A less serious but recoverable event.
void init()
Initialization function.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void invoke(Fw::Time &time) const
Invoke a port interface.
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
bool isConnected_Log_OutputPort(FwIndexType portNum)
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
The size of the serial representation.
No time base has been established.
void addCallPort(InputPingPort *callPort)
Register an input port.
void log_ACTIVITY_HI_PrmIdAdded(U32 Id) const
void setPrm_handlerBase(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Handler base-class function for input port setPrm.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
FwIndexType getNum_Log_OutputPorts() const
virtual void unLock()
Unlock the guarded mutex.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void resetDeser()
reset deserialization to beginning
A serious but recoverable event.
Errors dispatching messages.
virtual Fw::ParamValid getPrm_handler(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)=0
Handler for input port getPrm.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
uint8_t U8
8-bit unsigned integer
virtual void PRM_SAVE_FILE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PRM_SAVE_FILE.
void log_ACTIVITY_HI_PrmIdUpdated(U32 Id) const
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.
Command failed to deserialize.
FwIndexType getNum_pingOut_OutputPorts() const
void PRM_SAVE_FILE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Important informational events.
FwIndexType getNum_CmdDisp_InputPorts() const
FwIndexType getNum_Time_OutputPorts() const
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
PlatformQueuePriorityType FwQueuePriorityType
A message was sent requesting an exit of the loop.
FwIndexType getNum_CmdStatus_OutputPorts() const
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
A fatal non-recoverable event.
virtual void setPrm_handler(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)=0
Handler for input port setPrm.
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
void addCallPort(InputLogPort *callPort)
Register an input port.
Parameter ID not found in database.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
void init()
Initialization function.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Parameter ID added to database.
Save of parameter file completed.
message sent/received okay
Enum representing parameter validity.
bool isConnected_Time_OutputPort(FwIndexType portNum)
Fw::InputPrmGetPort * get_getPrm_InputPort(FwIndexType portNum)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_pingIn_InputPorts() const
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
Message will return with status when space is unavailable.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void init()
Initialization function.
virtual void PRM_SAVE_FILE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
FwIndexType getNum_CmdReg_OutputPorts() const
Load of parameter file completed.
void log_FATAL_PrmDbFull(U32 Id) const
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
virtual void setPrm_preMsgHook(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Pre-message hook for async input port setPrm.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success
Failed to write parameter file.
Parameter database is full.