30 for (U32 i = 0; i < CPU_COUNT; i++) {
33 m_cpu_prev[i].
used = 0;
34 m_cpu_prev[i].
total = 0;
41 m_cpu_count = (m_cpu_count >= CPU_COUNT) ? CPU_COUNT : m_cpu_count;
84 void SystemResources ::ENABLE_cmdHandler(
const FwOpcodeType opCode,
86 SystemResourceEnabled enable) {
91 void SystemResources ::VERSION_cmdHandler(
const FwOpcodeType opCode,
const U32 cmdSeq) {
107 util = std::isnan(util) ? 100.0f : util;
112 void SystemResources::Cpu() {
116 for (U32 i = 0; i < m_cpu_count && i < CPU_COUNT; i++) {
120 F32 cpuUtil = compCpuUtil(m_cpu[i], m_cpu_prev[i]);
125 (this->*m_cpu_tlm_functions[i])(cpuUtil,
Fw::Time());
128 m_cpu_prev[i] = m_cpu[i];
133 cpuAvg = (count == 0) ? 0.0f : (cpuAvg /
static_cast<F32>(count));
137 void SystemResources::Mem() {
144 void SystemResources::PhysMem() {
154 void SystemResources::Version() {
PlatformIntType NATIVE_INT_TYPE
float F32
32-bit floating point
PlatformUIntType NATIVE_UINT_TYPE
PlatformSizeType FwSizeType
C++-compatible configuration header for fprime configuration.
@ OK
Command successfully executed.
void init()
Object initializer.
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.
void tlmWrite_CPU_02(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_14(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_PROJECT_VERSION(const Fw::TlmString &arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_MEMORY_USED(U64 arg, Fw::Time _tlmTime=Fw::Time())
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())
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())
void log_ACTIVITY_LO_PROJECT_VERSION(const Fw::LogStringArg &version)
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())
void tlmWrite_MEMORY_TOTAL(U64 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_07(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_15(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_04(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_12(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_05(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_11(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_03(F32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_CPU_13(F32 arg, Fw::Time _tlmTime=Fw::Time())
SystemResources(const char *const compName)
Status getFreeSpace(const char *path, FwSizeType &totalBytes, FwSizeType &freeBytes)
get FS free and total space in bytes on filesystem containing path
@ OP_OK
Operation was successful.
SystemResourcesStatus getCpuTicks(CpuTicks &ticks, U32 cpu_index=0)
Get the CPU tick information for a given CPU.
SystemResourcesStatus getMemUtil(MemUtil &memory_util)
Get system memory usage.
SystemResourcesStatus getCpuCount(U32 &cpu_count)
Request the count of the CPUs detected by the system.
@ SYSTEM_RESOURCES_OK
Call was successful.
@ SYSTEM_RESOURCES_ERROR
Call failed.
FwSizeType total
Filled with total CPU ticks.
FwSizeType used
Filled with non-idle (system, user) CPU ticks.
FwSizeType used
Filled with used bytes of volatile memory (permanent, paged-in)
FwSizeType total
Filled with total non-volatile memory.
static const char * FRAMEWORK_VERSION
static const char * PROJECT_VERSION