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 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 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 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 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 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 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 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 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 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 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)
938 this->m_pingOut_OutputPort[portNum].
invoke(
954 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
955 this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
976 ComponentIpcSerializableBuffer msg;
980 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_PRM_SAVE_FILE));
983 static_cast<FwAssertArgType>(_status)
989 _status = msg.serialize(port);
992 static_cast<FwAssertArgType>(_status)
995 _status = msg.serialize(opCode);
998 static_cast<FwAssertArgType>(_status)
1001 _status = msg.serialize(cmdSeq);
1004 static_cast<FwAssertArgType>(_status)
1007 _status = msg.serialize(args);
1010 static_cast<FwAssertArgType>(_status)
1019 static_cast<FwAssertArgType>(qStatus)
1054 this->m_PrmIdNotFoundThrottle++;
1059 if (this->m_Time_OutputPort[0].isConnected()) {
1060 this->m_Time_OutputPort[0].
invoke(_logTime);
1068 if (this->m_Log_OutputPort[0].isConnected()) {
1072 #if FW_AMPCS_COMPATIBLE 1074 _status = _logBuff.
serialize(static_cast<U8>(1));
1077 static_cast<FwAssertArgType>(_status)
1081 #if FW_AMPCS_COMPATIBLE 1084 static_cast<U8>(
sizeof(U32))
1088 static_cast<FwAssertArgType>(_status)
1094 static_cast<FwAssertArgType>(_status)
1097 this->m_Log_OutputPort[0].
invoke(
1106 #if FW_ENABLE_TEXT_LOGGING 1107 if (this->m_LogText_OutputPort[0].isConnected()) {
1108 #if FW_OBJECT_NAMES == 1 1109 const char* _formatString =
1110 "(%s) %s: Parameter ID 0x%" PRIx32
" not found";
1112 const char* _formatString =
1113 "%s: Parameter ID 0x%" PRIx32
" not found";
1120 this->m_objName.toChar(),
1126 this->m_LogText_OutputPort[0].invoke(
1141 if (this->m_Time_OutputPort[0].isConnected()) {
1142 this->m_Time_OutputPort[0].
invoke(_logTime);
1150 if (this->m_Log_OutputPort[0].isConnected()) {
1154 #if FW_AMPCS_COMPATIBLE 1156 _status = _logBuff.
serialize(static_cast<U8>(1));
1159 static_cast<FwAssertArgType>(_status)
1163 #if FW_AMPCS_COMPATIBLE 1166 static_cast<U8>(
sizeof(U32))
1170 static_cast<FwAssertArgType>(_status)
1176 static_cast<FwAssertArgType>(_status)
1179 this->m_Log_OutputPort[0].
invoke(
1188 #if FW_ENABLE_TEXT_LOGGING 1189 if (this->m_LogText_OutputPort[0].isConnected()) {
1190 #if FW_OBJECT_NAMES == 1 1191 const char* _formatString =
1192 "(%s) %s: Parameter ID 0x%" PRIx32
" updated";
1194 const char* _formatString =
1195 "%s: Parameter ID 0x%" PRIx32
" updated";
1202 this->m_objName.toChar(),
1208 this->m_LogText_OutputPort[0].invoke(
1223 if (this->m_Time_OutputPort[0].isConnected()) {
1224 this->m_Time_OutputPort[0].
invoke(_logTime);
1232 if (this->m_Log_OutputPort[0].isConnected()) {
1236 #if FW_AMPCS_COMPATIBLE 1238 _status = _logBuff.
serialize(static_cast<U8>(1 + 1));
1241 static_cast<FwAssertArgType>(_status)
1245 _status = _logBuff.
serialize(static_cast<U8>(4));
1248 static_cast<FwAssertArgType>(_status)
1251 _status = _logBuff.
serialize(static_cast<U32>(0));
1254 static_cast<FwAssertArgType>(_status)
1258 #if FW_AMPCS_COMPATIBLE 1261 static_cast<U8>(
sizeof(U32))
1265 static_cast<FwAssertArgType>(_status)
1271 static_cast<FwAssertArgType>(_status)
1274 this->m_Log_OutputPort[0].
invoke(
1283 #if FW_ENABLE_TEXT_LOGGING 1284 if (this->m_LogText_OutputPort[0].isConnected()) {
1285 #if FW_OBJECT_NAMES == 1 1286 const char* _formatString =
1287 "(%s) %s: Parameter DB full when adding ID 0x%" PRIx32
" ";
1289 const char* _formatString =
1290 "%s: Parameter DB full when adding ID 0x%" PRIx32
" ";
1297 this->m_objName.toChar(),
1303 this->m_LogText_OutputPort[0].invoke(
1318 if (this->m_Time_OutputPort[0].isConnected()) {
1319 this->m_Time_OutputPort[0].
invoke(_logTime);
1327 if (this->m_Log_OutputPort[0].isConnected()) {
1331 #if FW_AMPCS_COMPATIBLE 1333 _status = _logBuff.
serialize(static_cast<U8>(1));
1336 static_cast<FwAssertArgType>(_status)
1340 #if FW_AMPCS_COMPATIBLE 1343 static_cast<U8>(
sizeof(U32))
1347 static_cast<FwAssertArgType>(_status)
1353 static_cast<FwAssertArgType>(_status)
1356 this->m_Log_OutputPort[0].
invoke(
1365 #if FW_ENABLE_TEXT_LOGGING 1366 if (this->m_LogText_OutputPort[0].isConnected()) {
1367 #if FW_OBJECT_NAMES == 1 1368 const char* _formatString =
1369 "(%s) %s: Parameter ID 0x%" PRIx32
" added";
1371 const char* _formatString =
1372 "%s: Parameter ID 0x%" PRIx32
" added";
1379 this->m_objName.toChar(),
1385 this->m_LogText_OutputPort[0].invoke(
1404 if (this->m_Time_OutputPort[0].isConnected()) {
1405 this->m_Time_OutputPort[0].
invoke(_logTime);
1413 if (this->m_Log_OutputPort[0].isConnected()) {
1417 #if FW_AMPCS_COMPATIBLE 1419 _status = _logBuff.
serialize(static_cast<U8>(3));
1422 static_cast<FwAssertArgType>(_status)
1426 #if FW_AMPCS_COMPATIBLE 1433 static_cast<FwAssertArgType>(_status)
1439 static_cast<FwAssertArgType>(_status)
1442 #if FW_AMPCS_COMPATIBLE 1445 static_cast<U8>(
sizeof(I32))
1449 static_cast<FwAssertArgType>(_status)
1455 static_cast<FwAssertArgType>(_status)
1458 #if FW_AMPCS_COMPATIBLE 1461 static_cast<U8>(
sizeof(I32))
1465 static_cast<FwAssertArgType>(_status)
1471 static_cast<FwAssertArgType>(_status)
1474 this->m_Log_OutputPort[0].
invoke(
1483 #if FW_ENABLE_TEXT_LOGGING 1484 if (this->m_LogText_OutputPort[0].isConnected()) {
1485 #if FW_OBJECT_NAMES == 1 1486 const char* _formatString =
1487 "(%s) %s: Parameter write failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1489 const char* _formatString =
1490 "%s: Parameter write failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1494 stage.toString(stageStr);
1500 this->m_objName.toChar(),
1502 "PrmFileWriteError ",
1508 this->m_LogText_OutputPort[0].invoke(
1523 if (this->m_Time_OutputPort[0].isConnected()) {
1524 this->m_Time_OutputPort[0].
invoke(_logTime);
1532 if (this->m_Log_OutputPort[0].isConnected()) {
1536 #if FW_AMPCS_COMPATIBLE 1538 _status = _logBuff.
serialize(static_cast<U8>(1));
1541 static_cast<FwAssertArgType>(_status)
1545 #if FW_AMPCS_COMPATIBLE 1548 static_cast<U8>(
sizeof(U32))
1552 static_cast<FwAssertArgType>(_status)
1558 static_cast<FwAssertArgType>(_status)
1561 this->m_Log_OutputPort[0].
invoke(
1570 #if FW_ENABLE_TEXT_LOGGING 1571 if (this->m_LogText_OutputPort[0].isConnected()) {
1572 #if FW_OBJECT_NAMES == 1 1573 const char* _formatString =
1574 "(%s) %s: Parameter file save completed. Wrote %" PRIu32
" records.";
1576 const char* _formatString =
1577 "%s: Parameter file save completed. Wrote %" PRIu32
" records.";
1584 this->m_objName.toChar(),
1586 "PrmFileSaveComplete ",
1590 this->m_LogText_OutputPort[0].invoke(
1609 if (this->m_Time_OutputPort[0].isConnected()) {
1610 this->m_Time_OutputPort[0].
invoke(_logTime);
1618 if (this->m_Log_OutputPort[0].isConnected()) {
1622 #if FW_AMPCS_COMPATIBLE 1624 _status = _logBuff.
serialize(static_cast<U8>(3));
1627 static_cast<FwAssertArgType>(_status)
1631 #if FW_AMPCS_COMPATIBLE 1638 static_cast<FwAssertArgType>(_status)
1644 static_cast<FwAssertArgType>(_status)
1647 #if FW_AMPCS_COMPATIBLE 1650 static_cast<U8>(
sizeof(I32))
1654 static_cast<FwAssertArgType>(_status)
1660 static_cast<FwAssertArgType>(_status)
1663 #if FW_AMPCS_COMPATIBLE 1666 static_cast<U8>(
sizeof(I32))
1670 static_cast<FwAssertArgType>(_status)
1676 static_cast<FwAssertArgType>(_status)
1679 this->m_Log_OutputPort[0].
invoke(
1688 #if FW_ENABLE_TEXT_LOGGING 1689 if (this->m_LogText_OutputPort[0].isConnected()) {
1690 #if FW_OBJECT_NAMES == 1 1691 const char* _formatString =
1692 "(%s) %s: Parameter file read failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1694 const char* _formatString =
1695 "%s: Parameter file read failed in stage %s with record %" PRIi32
" and error %" PRIi32
"";
1699 stage.toString(stageStr);
1705 this->m_objName.toChar(),
1707 "PrmFileReadError ",
1713 this->m_LogText_OutputPort[0].invoke(
1728 if (this->m_Time_OutputPort[0].isConnected()) {
1729 this->m_Time_OutputPort[0].
invoke(_logTime);
1737 if (this->m_Log_OutputPort[0].isConnected()) {
1741 #if FW_AMPCS_COMPATIBLE 1743 _status = _logBuff.
serialize(static_cast<U8>(1));
1746 static_cast<FwAssertArgType>(_status)
1750 #if FW_AMPCS_COMPATIBLE 1753 static_cast<U8>(
sizeof(U32))
1757 static_cast<FwAssertArgType>(_status)
1763 static_cast<FwAssertArgType>(_status)
1766 this->m_Log_OutputPort[0].
invoke(
1775 #if FW_ENABLE_TEXT_LOGGING 1776 if (this->m_LogText_OutputPort[0].isConnected()) {
1777 #if FW_OBJECT_NAMES == 1 1778 const char* _formatString =
1779 "(%s) %s: Parameter file load completed. Read %" PRIu32
" records.";
1781 const char* _formatString =
1782 "%s: Parameter file load completed. Read %" PRIu32
" records.";
1789 this->m_objName.toChar(),
1791 "PrmFileLoadComplete ",
1795 this->m_LogText_OutputPort[0].invoke(
1813 this->m_PrmIdNotFoundThrottle = 0;
1823 if (this->m_Time_OutputPort[0].isConnected()) {
1825 this->m_Time_OutputPort[0].
invoke(_time);
1843 this->m_guardedPortMutex.
lock();
1849 this->m_guardedPortMutex.
unLock();
1859 ComponentIpcSerializableBuffer msg;
1869 static_cast<FwAssertArgType>(msgStatus)
1879 static_cast<FwAssertArgType>(deserStatus)
1882 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1884 if (msgType == PRMDB_COMPONENT_EXIT) {
1889 deserStatus = msg.deserialize(portNum);
1892 static_cast<FwAssertArgType>(deserStatus)
1900 deserStatus = msg.deserialize(key);
1903 static_cast<FwAssertArgType>(deserStatus)
1915 case SETPRM_PRMSET: {
1918 deserStatus = msg.deserialize(
id);
1921 static_cast<FwAssertArgType>(deserStatus)
1926 deserStatus = msg.deserialize(val);
1929 static_cast<FwAssertArgType>(deserStatus)
1942 case CMD_PRM_SAVE_FILE: {
1945 deserStatus = msg.deserialize(opCode);
1948 static_cast<FwAssertArgType>(deserStatus)
1953 deserStatus = msg.deserialize(cmdSeq);
1956 static_cast<FwAssertArgType>(deserStatus)
1961 deserStatus = msg.deserialize(args);
1964 static_cast<FwAssertArgType>(deserStatus)
1972 #if FW_CMD_CHECK_RESIDUAL 1974 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
1999 void PrmDbComponentBase ::
2011 const U32 idBase = callComp->
getIdBase();
2012 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2015 switch (opCode - idBase) {
2017 compPtr->PRM_SAVE_FILE_cmdHandlerBase(
2041 return compPtr->getPrm_handlerBase(
2048 void PrmDbComponentBase ::
2057 compPtr->pingIn_handlerBase(
2063 void PrmDbComponentBase ::
2073 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.
Command to save parameter image to file. Uses file name passed to constructor.
Save of parameter file completed.
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.
NATIVE_UINT_TYPE SizeType
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)
The size of the serial representation.
Enum representing a command response.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
PlatformIndexType FwIndexType
Parameter database is full.
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.
Load of parameter file completed.
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.
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
void init()
Initialization function.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Parameter ID added to database.
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.
No time base has been established.
void addCallPort(InputPingPort *callPort)
Register an input port.
Parameter ID updated in database.
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.
Throttle reset count for PrmIdNotFound.
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
#define PRI_PlatformIntType
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
Parameter ID not found in database.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
Failed to read parameter file.
PlatformQueuePriorityType FwQueuePriorityType
message to exit active component task
The size of the serial representation.
A message was sent requesting an exit of the loop.
Failed to write parameter file.
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.
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.
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
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