9 #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 (0 <= portNum) && (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 (0 <= portNum) && (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 (0 <= portNum) && (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 (void) this->m_PrmIdNotFoundThrottle.fetch_add(1);
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.
PlatformSizeType FwSizeType
Parameter ID updated in database.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
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)
Throttle reset count for PrmIdNotFound.
PrmDbComponentBase(const char *compName="")
Construct PrmDbComponentBase object.
void unLock()
unlock the mutex and assert success
void log_ACTIVITY_HI_PrmFileSaveComplete(U32 records) const
void invoke(U32 key) const
Invoke a port interface.
Fw::InputPrmSetPort * get_setPrm_InputPort(FwIndexType portNum)
Enum representing a command response.
Failed to write parameter file.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
Parameter ID not found in database.
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.
Load of parameter file completed.
U32 FwEventIdType
The type of an event identifier.
SerializeStatus
forward declaration for string
The size of the serial representation.
Failed to read parameter file.
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.
U32 FwOpcodeType
The type of a command opcode.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
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)
A less serious but recoverable event.
void init()
Initialization function.
Parameter database is full.
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.
Save of parameter file completed.
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.
void addCallPort(InputPingPort *callPort)
Register an input port.
void log_ACTIVITY_HI_PrmIdAdded(U32 Id) const
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void setPrm_handlerBase(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Handler base-class function for input port setPrm.
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
message to exit active component task
A serious but recoverable event.
Errors dispatching messages.
U32 FwPrmIdType
The type of a parameter identifier.
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)
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
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.
A message was sent requesting an exit of the loop.
No time base has been established.
FwIndexType getNum_CmdStatus_OutputPorts() const
PlatformIndexType FwIndexType
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 added to 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.
RateGroupDivider component implementation.
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.
Command to save parameter image to file. Uses file name passed to constructor.
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
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