11 #if FW_ENABLE_TEXT_LOGGING
33 this->m_CmdDisp_InputPort[port].
init();
38 this->m_CmdDisp_InputPort[port].
setPortNum(port);
40 #if FW_OBJECT_NAMES == 1
55 this->m_CmdDisp_InputPort[port].setObjName(portName);
65 this->m_run_InputPort[port].
init();
72 #if FW_OBJECT_NAMES == 1
87 this->m_run_InputPort[port].setObjName(portName);
97 this->m_CmdReg_OutputPort[port].
init();
99 #if FW_OBJECT_NAMES == 1
114 this->m_CmdReg_OutputPort[port].setObjName(portName);
124 this->m_CmdStatus_OutputPort[port].
init();
126 #if FW_OBJECT_NAMES == 1
141 this->m_CmdStatus_OutputPort[port].setObjName(portName);
151 this->m_Log_OutputPort[port].
init();
153 #if FW_OBJECT_NAMES == 1
168 this->m_Log_OutputPort[port].setObjName(portName);
172 #if FW_ENABLE_TEXT_LOGGING == 1
176 port < static_cast<PlatformIntType>(this->getNum_LogText_OutputPorts());
179 this->m_LogText_OutputPort[port].
init();
181 #if FW_OBJECT_NAMES == 1
196 this->m_LogText_OutputPort[port].setObjName(portName);
207 this->m_Time_OutputPort[port].
init();
209 #if FW_OBJECT_NAMES == 1
224 this->m_Time_OutputPort[port].setObjName(portName);
234 this->m_Tlm_OutputPort[port].
init();
236 #if FW_OBJECT_NAMES == 1
251 this->m_Tlm_OutputPort[port].setObjName(portName);
268 return &this->m_CmdDisp_InputPort[portNum];
283 return &this->m_run_InputPort[portNum];
301 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
315 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
332 #if FW_ENABLE_TEXT_LOGGING == 1
334 void SystemResourcesComponentBase ::
335 set_LogText_OutputPort(
341 portNum < this->getNum_LogText_OutputPorts(),
345 this->m_LogText_OutputPort[portNum].addCallPort(port);
361 this->m_Time_OutputPort[portNum].
addCallPort(port);
378 #if FW_PORT_SERIALIZATION
387 Fw::InputSerializePort* port
395 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
401 Fw::InputSerializePort* port
409 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
415 Fw::InputSerializePort* port
423 this->m_Log_OutputPort[portNum].registerSerialPort(port);
426 #if FW_ENABLE_TEXT_LOGGING == 1
428 void SystemResourcesComponentBase ::
429 set_LogText_OutputPort(
431 Fw::InputSerializePort* port
435 portNum < this->getNum_LogText_OutputPorts(),
439 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
447 Fw::InputSerializePort* port
455 this->m_Time_OutputPort[portNum].registerSerialPort(port);
461 Fw::InputSerializePort* port
469 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
481 FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
483 this->m_CmdReg_OutputPort[0].
invoke(
487 this->m_CmdReg_OutputPort[0].
invoke(
498 Fw::PassiveComponentBase(compName)
551 #if FW_ENABLE_TEXT_LOGGING == 1
554 getNum_LogText_OutputPorts()
const
585 return this->m_CmdReg_OutputPort[portNum].
isConnected();
596 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
607 return this->m_Log_OutputPort[portNum].
isConnected();
610 #if FW_ENABLE_TEXT_LOGGING == 1
612 bool SystemResourcesComponentBase ::
616 portNum < this->getNum_LogText_OutputPorts(),
620 return this->m_LogText_OutputPort[portNum].isConnected();
633 return this->m_Time_OutputPort[portNum].
isConnected();
644 return this->m_Tlm_OutputPort[portNum].
isConnected();
689 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
690 this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
715 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
716 this->m_CmdStatus_OutputPort[0].
invoke(
725 #if FW_CMD_CHECK_RESIDUAL
729 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
730 this->m_CmdStatus_OutputPort[0].
invoke(
757 #if FW_CMD_CHECK_RESIDUAL
761 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
762 this->m_CmdStatus_OutputPort[0].
invoke(
788 if (this->m_Time_OutputPort[0].isConnected()) {
789 this->m_Time_OutputPort[0].
invoke(_logTime);
797 if (this->m_Log_OutputPort[0].isConnected()) {
801 #if FW_AMPCS_COMPATIBLE
810 _status = version.
serialize(_logBuff, 40);
816 this->m_Log_OutputPort[0].
invoke(
825 #if FW_ENABLE_TEXT_LOGGING
826 if (this->m_LogText_OutputPort[0].isConnected()) {
827 #if FW_OBJECT_NAMES == 1
828 const char* _formatString =
829 "(%s) %s: Framework Version: [%s]";
831 const char* _formatString =
832 "%s: Framework Version: [%s]";
844 "FRAMEWORK_VERSION ",
851 this->m_LogText_OutputPort[0].invoke(
866 if (this->m_Time_OutputPort[0].isConnected()) {
867 this->m_Time_OutputPort[0].
invoke(_logTime);
875 if (this->m_Log_OutputPort[0].isConnected()) {
879 #if FW_AMPCS_COMPATIBLE
888 _status = version.
serialize(_logBuff, 40);
894 this->m_Log_OutputPort[0].
invoke(
903 #if FW_ENABLE_TEXT_LOGGING
904 if (this->m_LogText_OutputPort[0].isConnected()) {
905 #if FW_OBJECT_NAMES == 1
906 const char* _formatString =
907 "(%s) %s: Project Version: [%s]";
909 const char* _formatString =
910 "%s: Project Version: [%s]";
929 this->m_LogText_OutputPort[0].invoke(
949 if (this->m_Tlm_OutputPort[0].isConnected()) {
951 this->m_Time_OutputPort[0].isConnected() &&
954 this->m_Time_OutputPort[0].
invoke(_tlmTime);
968 this->m_Tlm_OutputPort[0].
invoke(
982 if (this->m_Tlm_OutputPort[0].isConnected()) {
984 this->m_Time_OutputPort[0].isConnected() &&
987 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1001 this->m_Tlm_OutputPort[0].
invoke(
1015 if (this->m_Tlm_OutputPort[0].isConnected()) {
1017 this->m_Time_OutputPort[0].isConnected() &&
1020 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1034 this->m_Tlm_OutputPort[0].
invoke(
1048 if (this->m_Tlm_OutputPort[0].isConnected()) {
1050 this->m_Time_OutputPort[0].isConnected() &&
1053 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1067 this->m_Tlm_OutputPort[0].
invoke(
1081 if (this->m_Tlm_OutputPort[0].isConnected()) {
1083 this->m_Time_OutputPort[0].isConnected() &&
1086 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1100 this->m_Tlm_OutputPort[0].
invoke(
1114 if (this->m_Tlm_OutputPort[0].isConnected()) {
1116 this->m_Time_OutputPort[0].isConnected() &&
1119 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1133 this->m_Tlm_OutputPort[0].
invoke(
1147 if (this->m_Tlm_OutputPort[0].isConnected()) {
1149 this->m_Time_OutputPort[0].isConnected() &&
1152 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1166 this->m_Tlm_OutputPort[0].
invoke(
1180 if (this->m_Tlm_OutputPort[0].isConnected()) {
1182 this->m_Time_OutputPort[0].isConnected() &&
1185 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1199 this->m_Tlm_OutputPort[0].
invoke(
1213 if (this->m_Tlm_OutputPort[0].isConnected()) {
1215 this->m_Time_OutputPort[0].isConnected() &&
1218 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1232 this->m_Tlm_OutputPort[0].
invoke(
1246 if (this->m_Tlm_OutputPort[0].isConnected()) {
1248 this->m_Time_OutputPort[0].isConnected() &&
1251 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1265 this->m_Tlm_OutputPort[0].
invoke(
1279 if (this->m_Tlm_OutputPort[0].isConnected()) {
1281 this->m_Time_OutputPort[0].isConnected() &&
1284 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1298 this->m_Tlm_OutputPort[0].
invoke(
1312 if (this->m_Tlm_OutputPort[0].isConnected()) {
1314 this->m_Time_OutputPort[0].isConnected() &&
1317 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1331 this->m_Tlm_OutputPort[0].
invoke(
1345 if (this->m_Tlm_OutputPort[0].isConnected()) {
1347 this->m_Time_OutputPort[0].isConnected() &&
1350 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1364 this->m_Tlm_OutputPort[0].
invoke(
1378 if (this->m_Tlm_OutputPort[0].isConnected()) {
1380 this->m_Time_OutputPort[0].isConnected() &&
1383 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1397 this->m_Tlm_OutputPort[0].
invoke(
1411 if (this->m_Tlm_OutputPort[0].isConnected()) {
1413 this->m_Time_OutputPort[0].isConnected() &&
1416 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1430 this->m_Tlm_OutputPort[0].
invoke(
1444 if (this->m_Tlm_OutputPort[0].isConnected()) {
1446 this->m_Time_OutputPort[0].isConnected() &&
1449 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1463 this->m_Tlm_OutputPort[0].
invoke(
1477 if (this->m_Tlm_OutputPort[0].isConnected()) {
1479 this->m_Time_OutputPort[0].isConnected() &&
1482 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1496 this->m_Tlm_OutputPort[0].
invoke(
1510 if (this->m_Tlm_OutputPort[0].isConnected()) {
1512 this->m_Time_OutputPort[0].isConnected() &&
1515 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1529 this->m_Tlm_OutputPort[0].
invoke(
1543 if (this->m_Tlm_OutputPort[0].isConnected()) {
1545 this->m_Time_OutputPort[0].isConnected() &&
1548 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1562 this->m_Tlm_OutputPort[0].
invoke(
1576 if (this->m_Tlm_OutputPort[0].isConnected()) {
1578 this->m_Time_OutputPort[0].isConnected() &&
1581 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1595 this->m_Tlm_OutputPort[0].
invoke(
1609 if (this->m_Tlm_OutputPort[0].isConnected()) {
1611 this->m_Time_OutputPort[0].isConnected() &&
1614 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1628 this->m_Tlm_OutputPort[0].
invoke(
1642 if (this->m_Tlm_OutputPort[0].isConnected()) {
1644 this->m_Time_OutputPort[0].isConnected() &&
1647 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1661 this->m_Tlm_OutputPort[0].
invoke(
1675 if (this->m_Tlm_OutputPort[0].isConnected()) {
1677 this->m_Time_OutputPort[0].isConnected() &&
1680 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1694 this->m_Tlm_OutputPort[0].
invoke(
1709 if (this->m_Time_OutputPort[0].isConnected()) {
1711 this->m_Time_OutputPort[0].
invoke(_time);
1729 this->m_guardedPortMutex.
lock();
1735 this->m_guardedPortMutex.
unLock();
1742 void SystemResourcesComponentBase ::
1754 const U32 idBase = callComp->
getIdBase();
1755 FW_ASSERT(opCode >= idBase, opCode, idBase);
1758 switch (opCode - idBase) {
1783 void SystemResourcesComponentBase ::
1792 compPtr->run_handlerBase(
PlatformIntType NATIVE_INT_TYPE
float F32
32-bit floating point
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
PlatformUIntType NATIVE_UINT_TYPE
int PlatformIntType
DefaultTypes.hpp provides fallback defaults for the platform types.
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
#define FW_LOG_TEXT_BUFFER_SIZE
Max size of string for text log message.
#define FW_OBJ_NAME_MAX_SIZE
Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
Enum representing a command response.
@ FORMAT_ERROR
Command failed to deserialize.
@ ACTIVITY_LO
Less important informational events.
const char * toChar() const override
SerializeStatus serialize(SerializeBufferBase &buffer) const override
serialization function
void init()
Object initializer.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode)
Invoke a port interface.
void init()
Initialization function.
void init()
Initialization function.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke a port interface.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Invoke a port interface.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::Time &time)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Initialization function.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
NATIVE_UINT_TYPE getBuffLeft() const
returns how much deserialization buffer is left
void resetDeser()
reset deserialization to beginning
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
SerializeStatus serialize(SerializeBufferBase &buffer) const override
serialization function
void unLock()
unlock the mutex
void lock()
lock the mutex
Auto-generated base for SystemResources component.
void tlmWrite_CPU_01(F32 arg, Fw::Time _tlmTime=Fw::Time())
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
NATIVE_INT_TYPE getNum_Tlm_OutputPorts() const
NATIVE_INT_TYPE getNum_CmdDisp_InputPorts() const
@ CHANNELID_CPU_00
Channel ID for CPU_00.
@ CHANNELID_CPU_06
Channel ID for CPU_06.
@ CHANNELID_CPU_05
Channel ID for CPU_05.
@ CHANNELID_CPU_08
Channel ID for CPU_08.
@ CHANNELID_FRAMEWORK_VERSION
Channel ID for FRAMEWORK_VERSION.
@ CHANNELID_NON_VOLATILE_TOTAL
Channel ID for NON_VOLATILE_TOTAL.
@ CHANNELID_CPU_13
Channel ID for CPU_13.
@ CHANNELID_CPU_04
Channel ID for CPU_04.
@ CHANNELID_CPU_11
Channel ID for CPU_11.
@ CHANNELID_MEMORY_USED
Channel ID for MEMORY_USED.
@ CHANNELID_CPU_14
Channel ID for CPU_14.
@ CHANNELID_CPU_07
Channel ID for CPU_07.
@ CHANNELID_CPU
Channel ID for CPU.
@ CHANNELID_CPU_01
Channel ID for CPU_01.
@ CHANNELID_PROJECT_VERSION
Channel ID for PROJECT_VERSION.
@ CHANNELID_CPU_03
Channel ID for CPU_03.
@ CHANNELID_CPU_15
Channel ID for CPU_15.
@ CHANNELID_CPU_10
Channel ID for CPU_10.
@ CHANNELID_MEMORY_TOTAL
Channel ID for MEMORY_TOTAL.
@ CHANNELID_NON_VOLATILE_FREE
Channel ID for NON_VOLATILE_FREE.
@ CHANNELID_CPU_09
Channel ID for CPU_09.
@ CHANNELID_CPU_12
Channel ID for CPU_12.
@ CHANNELID_CPU_02
Channel ID for CPU_02.
void tlmWrite_CPU_02(F32 arg, Fw::Time _tlmTime=Fw::Time())
NATIVE_INT_TYPE getNum_CmdReg_OutputPorts() const
void tlmWrite_CPU_14(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_PROJECT_VERSION(const Fw::TlmString &arg, Fw::Time _tlmTime=Fw::Time())
virtual void unLock()
Unlock the guarded mutex.
void tlmWrite_MEMORY_USED(U64 arg, Fw::Time _tlmTime=Fw::Time())
NATIVE_INT_TYPE getNum_Time_OutputPorts() const
void tlmWrite_NON_VOLATILE_TOTAL(U64 arg, Fw::Time _tlmTime=Fw::Time())
void log_ACTIVITY_LO_FRAMEWORK_VERSION(const Fw::LogStringArg &version)
void tlmWrite_NON_VOLATILE_FREE(U64 arg, Fw::Time _tlmTime=Fw::Time())
@ OPCODE_ENABLE
A command to enable or disable system resource telemetry.
@ OPCODE_VERSION
Report version as EVR.
Fw::InputCmdPort * get_CmdDisp_InputPort(NATIVE_INT_TYPE portNum)
SystemResourcesComponentBase(const char *compName="")
Construct SystemResourcesComponentBase object.
bool isConnected_Time_OutputPort(NATIVE_INT_TYPE portNum)
NATIVE_INT_TYPE getNum_Log_OutputPorts() const
void tlmWrite_CPU_00(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_09(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_FRAMEWORK_VERSION(const Fw::TlmString &arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_CmdReg_OutputPort(NATIVE_INT_TYPE portNum)
Svc::InputSchedPort * get_run_InputPort(NATIVE_INT_TYPE portNum)
void set_Log_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
void log_ACTIVITY_LO_PROJECT_VERSION(const Fw::LogStringArg &version)
bool isConnected_CmdStatus_OutputPort(NATIVE_INT_TYPE portNum)
void ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_Log_OutputPort(NATIVE_INT_TYPE portNum)
@ EVENTID_FRAMEWORK_VERSION
Version of the git repository.
@ EVENTID_PROJECT_VERSION
Version of the git repository.
void set_Tlm_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
bool isConnected_Tlm_OutputPort(NATIVE_INT_TYPE portNum)
void tlmWrite_CPU_10(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_06(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_08(F32 arg, Fw::Time _tlmTime=Fw::Time())
NATIVE_INT_TYPE getNum_CmdStatus_OutputPorts() const
void run_handlerBase(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
Handler base-class function for input port run.
virtual void VERSION_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void tlmWrite_MEMORY_TOTAL(U64 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_07(F32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void lock()
Lock the guarded mutex.
void tlmWrite_CPU_15(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_04(F32 arg, Fw::Time _tlmTime=Fw::Time())
NATIVE_INT_TYPE getNum_run_InputPorts() const
void tlmWrite_CPU(F32 arg, Fw::Time _tlmTime=Fw::Time())
void set_CmdReg_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void regCommands()
Register commands with the Command Dispatcher.
void tlmWrite_CPU_12(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_05(F32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::SystemResourceEnabled enable)=0
void tlmWrite_CPU_11(F32 arg, Fw::Time _tlmTime=Fw::Time())
void VERSION_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_Time_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
void tlmWrite_CPU_03(F32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void run_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)=0
Handler for input port run.
virtual ~SystemResourcesComponentBase()
Destroy SystemResourcesComponentBase object.
void tlmWrite_CPU_13(F32 arg, Fw::Time _tlmTime=Fw::Time())
void set_CmdStatus_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.