17 #if FW_ENABLE_TEXT_LOGGING
48 class ComponentIpcSerializableBuffer :
63 return sizeof(m_buff);
66 U8* getBuffAddr(
void) {
70 const U8* getBuffAddr(
void)
const {
76 U8 m_buff[SERIALIZATION_SIZE];
90 return &this->m_getPrm_InputPort[
portNum];
125 this->m_pingOut_OutputPort[
portNum].addCallPort(port);
168 #if FW_ENABLE_TEXT_LOGGING == 1
169 void PrmDbComponentBase ::
170 set_LogText_OutputPort(
176 this->m_LogText_OutputPort[
portNum].addCallPort(port);
184 #if FW_PORT_SERIALIZATION
189 Fw::InputSerializePort *port
193 return this->m_pingOut_OutputPort[
portNum].registerSerialPort(port);
199 Fw::InputSerializePort *port
209 Fw::InputSerializePort *port
219 Fw::InputSerializePort *port
229 Fw::InputSerializePort *port
236 #if FW_ENABLE_TEXT_LOGGING == 1
237 void PrmDbComponentBase ::
238 set_LogText_OutputPort(
240 Fw::InputSerializePort *port
244 return this->m_LogText_OutputPort[
portNum].registerSerialPort(port);
268 #if FW_OBJECT_NAMES == 1
270 Fw::ActiveComponentBase(compName)
273 Fw::ActiveComponentBase()
278 this->m_PrmIdNotFoundThrottle = 0;
295 port < this->getNum_getPrm_InputPorts();
299 this->m_getPrm_InputPort[port].init();
300 this->m_getPrm_InputPort[port].addCallComp(
304 this->m_getPrm_InputPort[port].setPortNum(port);
306 #if FW_OBJECT_NAMES == 1
311 "%s_getPrm_InputPort[%d]",
315 this->m_getPrm_InputPort[port].setObjName(portName);
334 #if FW_OBJECT_NAMES == 1
339 "%s_setPrm_InputPort[%d]",
362 #if FW_OBJECT_NAMES == 1
367 "%s_pingIn_InputPort[%d]",
390 #if FW_OBJECT_NAMES == 1
395 "%s_CmdDisp_InputPort[%d]",
407 port < this->getNum_pingOut_OutputPorts();
410 this->m_pingOut_OutputPort[port].
init();
412 #if FW_OBJECT_NAMES == 1
417 "%s_pingOut_OutputPort[%d]",
421 this->m_pingOut_OutputPort[port].setObjName(portName);
434 #if FW_OBJECT_NAMES == 1
439 "%s_CmdStatus_OutputPort[%d]",
456 #if FW_OBJECT_NAMES == 1
461 "%s_CmdReg_OutputPort[%d]",
478 #if FW_OBJECT_NAMES == 1
483 "%s_Time_OutputPort[%d]",
500 #if FW_OBJECT_NAMES == 1
505 "%s_Log_OutputPort[%d]",
515 #if FW_ENABLE_TEXT_LOGGING == 1
518 port < this->getNum_LogText_OutputPorts();
521 this->m_LogText_OutputPort[port].
init();
523 #if FW_OBJECT_NAMES == 1
528 "%s_LogText_OutputPort[%d]",
532 this->m_LogText_OutputPort[port].setObjName(portName);
541 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
559 void PrmDbComponentBase ::
566 this->m_pingOut_OutputPort[
portNum].invoke(
key);
574 getNum_getPrm_InputPorts(
void)
577 this->m_getPrm_InputPort
598 getNum_pingOut_OutputPorts(
void)
601 this->m_pingOut_OutputPort
645 #if FW_ENABLE_TEXT_LOGGING == 1
647 getNum_LogText_OutputPorts(
void)
650 this->m_LogText_OutputPort
659 bool PrmDbComponentBase ::
663 portNum < this->getNum_pingOut_OutputPorts(),
666 return this->m_pingOut_OutputPort[
portNum].isConnected();
709 #if FW_ENABLE_TEXT_LOGGING == 1
710 bool PrmDbComponentBase ::
714 portNum < this->getNum_LogText_OutputPorts(),
717 return this->m_LogText_OutputPort[
portNum].isConnected();
740 const U32 idBase = callComp->
getIdBase();
741 FW_ASSERT(opCode >= idBase, opCode, idBase);
742 switch (opCode - idBase) {
744 case OPCODE_PRM_SAVE_FILE:
745 compPtr->PRM_SAVE_FILE_cmdHandlerBase(
753 compPtr->cmdResponse_out(
764 void PrmDbComponentBase ::
779 void PrmDbComponentBase ::
780 PRM_SAVE_FILE_cmdHandlerBase(
788 this->PRM_SAVE_FILE_preMsgHook(opCode,
cmdSeq);
792 ComponentIpcSerializableBuffer msg;
804 _status = msg.serialize(port);
810 _status = msg.serialize(opCode);
816 _status = msg.serialize(
cmdSeq);
822 _status = msg.serialize(
args);
840 void PrmDbComponentBase::
841 PRM_SAVE_FILE_preMsgHook(
869 void PrmDbComponentBase ::
870 log_WARNING_LO_PrmIdNotFound(
879 this->m_PrmIdNotFoundThrottle++;
890 _id = this->
getIdBase() + EVENTID_PRMIDNOTFOUND;
898 #if FW_AMPCS_COMPATIBLE
907 #if FW_AMPCS_COMPATIBLE
910 static_cast<U8>(
sizeof(Id))
934 #if FW_ENABLE_TEXT_LOGGING
935 if (this->m_LogText_OutputPort[0].isConnected()) {
937 #if FW_OBJECT_NAMES == 1
938 const char* _formatString =
939 "(%s) %s: Parameter ID 0x%08X not found";
941 const char* _formatString =
942 "%s: Parameter ID 0x%08X not found";
961 this->m_LogText_OutputPort[0].invoke(
974 this->m_PrmIdNotFoundThrottle = 0;
1000 #if FW_AMPCS_COMPATIBLE
1009 #if FW_AMPCS_COMPATIBLE
1012 static_cast<U8>(
sizeof(Id))
1036 #if FW_ENABLE_TEXT_LOGGING
1037 if (this->m_LogText_OutputPort[0].isConnected()) {
1039 #if FW_OBJECT_NAMES == 1
1040 const char* _formatString =
1041 "(%s) %s: Parameter ID 0x%08X updated";
1043 const char* _formatString =
1044 "%s: Parameter ID 0x%08X updated";
1063 this->m_LogText_OutputPort[0].invoke(
1098 #if FW_AMPCS_COMPATIBLE
1100 _status = _logBuff.
serialize(
static_cast<U8>(1+1));
1111 _status = _logBuff.
serialize(
static_cast<U32
>(0));
1118 #if FW_AMPCS_COMPATIBLE
1121 static_cast<U8>(
sizeof(Id))
1145 #if FW_ENABLE_TEXT_LOGGING
1146 if (this->m_LogText_OutputPort[0].isConnected()) {
1148 #if FW_OBJECT_NAMES == 1
1149 const char* _formatString =
1150 "(%s) %s: Parameter DB full when adding ID 0x%08X";
1152 const char* _formatString =
1153 "%s: Parameter DB full when adding ID 0x%08X";
1172 this->m_LogText_OutputPort[0].invoke(
1207 #if FW_AMPCS_COMPATIBLE
1216 #if FW_AMPCS_COMPATIBLE
1219 static_cast<U8>(
sizeof(Id))
1243 #if FW_ENABLE_TEXT_LOGGING
1244 if (this->m_LogText_OutputPort[0].isConnected()) {
1246 #if FW_OBJECT_NAMES == 1
1247 const char* _formatString =
1248 "(%s) %s: Parameter ID 0x%08X added";
1250 const char* _formatString =
1251 "%s: Parameter ID 0x%08X added";
1270 this->m_LogText_OutputPort[0].invoke(
1284 PrmWriteError stage, I32 record, I32 error
1305 #if FW_AMPCS_COMPATIBLE
1314 #if FW_AMPCS_COMPATIBLE
1331 #if FW_AMPCS_COMPATIBLE
1334 static_cast<U8>(
sizeof(record))
1348 #if FW_AMPCS_COMPATIBLE
1351 static_cast<U8>(
sizeof(error))
1375 #if FW_ENABLE_TEXT_LOGGING
1376 if (this->m_LogText_OutputPort[0].isConnected()) {
1378 #if FW_OBJECT_NAMES == 1
1379 const char* _formatString =
1380 "(%s) %s: Parameter write failed in stage %d with record %d and error %d";
1382 const char* _formatString =
1383 "%s: Parameter write failed in stage %d with record %d and error %d";
1395 "PrmFileWriteError "
1404 this->m_LogText_OutputPort[0].invoke(
1439 #if FW_AMPCS_COMPATIBLE
1448 #if FW_AMPCS_COMPATIBLE
1451 static_cast<U8>(
sizeof(records))
1475 #if FW_ENABLE_TEXT_LOGGING
1476 if (this->m_LogText_OutputPort[0].isConnected()) {
1478 #if FW_OBJECT_NAMES == 1
1479 const char* _formatString =
1480 "(%s) %s: Parameter file save completed. Wrote %d records.";
1482 const char* _formatString =
1483 "%s: Parameter file save completed. Wrote %d records.";
1495 "PrmFileSaveComplete "
1502 this->m_LogText_OutputPort[0].invoke(
1537 #if FW_AMPCS_COMPATIBLE
1546 #if FW_AMPCS_COMPATIBLE
1563 #if FW_AMPCS_COMPATIBLE
1566 static_cast<U8>(
sizeof(record))
1580 #if FW_AMPCS_COMPATIBLE
1583 static_cast<U8>(
sizeof(error))
1607 #if FW_ENABLE_TEXT_LOGGING
1608 if (this->m_LogText_OutputPort[0].isConnected()) {
1610 #if FW_OBJECT_NAMES == 1
1611 const char* _formatString =
1612 "(%s) %s: Parameter file read failed in stage %d with record %d and error %d";
1614 const char* _formatString =
1615 "%s: Parameter file read failed in stage %d with record %d and error %d";
1636 this->m_LogText_OutputPort[0].invoke(
1671 #if FW_AMPCS_COMPATIBLE
1680 #if FW_AMPCS_COMPATIBLE
1683 static_cast<U8>(
sizeof(records))
1707 #if FW_ENABLE_TEXT_LOGGING
1708 if (this->m_LogText_OutputPort[0].isConnected()) {
1710 #if FW_OBJECT_NAMES == 1
1711 const char* _formatString =
1712 "(%s) %s: Parameter file load completed. Read %d records.";
1714 const char* _formatString =
1715 "%s: Parameter file load completed. Read %d records.";
1727 "PrmFileLoadComplete "
1734 this->m_LogText_OutputPort[0].invoke(
1750 void PrmDbComponentBase ::
1753 this->m_guardedPortMutex.lock();
1759 this->m_guardedPortMutex.unLock();
1776 return compPtr->getPrm_handlerBase(
portNum,
id,
val);
1824 retVal = this->getPrm_handler(
portNum,
id,
val);
1849 ComponentIpcSerializableBuffer msg;
1852 _status = msg.serialize(
1860 _status = msg.serialize(
portNum);
1867 _status = msg.serialize(
id);
1874 _status = msg.serialize(
val);
1909 ComponentIpcSerializableBuffer msg;
1912 _status = msg.serialize(
1920 _status = msg.serialize(
portNum);
1927 _status = msg.serialize(
key);
1950 void PrmDbComponentBase ::
1976 ComponentIpcSerializableBuffer msg;
1995 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1997 if (msgType == PRMDB_COMPONENT_EXIT) {
2002 deserStatus = msg.deserialize(
portNum);
2011 case SETPRM_PRMSET: {
2015 deserStatus = msg.deserialize(
id);
2023 deserStatus = msg.deserialize(
val);
2044 deserStatus = msg.deserialize(
key);
2061 case CMD_PRM_SAVE_FILE: {
2064 deserStatus = msg.deserialize(opCode);
2072 deserStatus = msg.deserialize(
cmdSeq);
2080 deserStatus = msg.deserialize(
args);
2091 #if FW_CMD_CHECK_RESIDUAL
2101 this->PRM_SAVE_FILE_cmdHandler(opCode,
cmdSeq);