summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
Diffstat (limited to 'linux')
-rw-r--r--linux/Platform.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/linux/Platform.c b/linux/Platform.c
index ab90ca74..e92d0c51 100644
--- a/linux/Platform.c
+++ b/linux/Platform.c
@@ -192,6 +192,22 @@ double Platform_setCPUValues(Meter* this, int cpu) {
}
percent = CLAMP(percent, 0.0, 100.0);
if (isnan(percent)) percent = 0.0;
+
+ v[CPU_METER_FREQUENCY] = 0;
+ if (this->pl->settings->showCPUFrequency) {
+ char filename[63+1];
+ xSnprintf(filename, 63, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq", cpu - 1);
+ FILE* fd = fopen(filename, "r");
+ if (fd) {
+ unsigned int cpuFrequency;
+ int n = fscanf(fd, "%u", &cpuFrequency);
+ fclose(fd);
+ if (n > 0) {
+ v[CPU_METER_FREQUENCY] = cpuFrequency;
+ }
+ }
+ }
+
return percent;
}