Update core_voltage.cpp
This commit is contained in:
parent
edd24e476f
commit
b8935b09b5
|
@ -0,0 +1,45 @@
|
|||
#include <iostream>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
double voltage = 0.0, current_voltage = 0.0;
|
||||
char buffer[128];
|
||||
|
||||
while (1)
|
||||
{
|
||||
// Open Pipe to get output
|
||||
FILE *pipe = popen("echo \"scale=2; $(rdmsr 0x198 -u --bitfield 47:32)/8192\" | bc", "r");
|
||||
|
||||
// Check if Pipe is open
|
||||
if (!pipe)
|
||||
{
|
||||
std::cout << "Error executing command" << std::endl;
|
||||
// return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Read from Pipe
|
||||
while (!feof(pipe))
|
||||
{
|
||||
fgets(buffer, sizeof buffer, pipe);
|
||||
}
|
||||
|
||||
current_voltage = atof(buffer);
|
||||
if (current_voltage > voltage)
|
||||
{
|
||||
std::cout << "Current Max Core Voltage: " << current_voltage << "V" << std::endl;
|
||||
voltage = current_voltage;
|
||||
}
|
||||
}
|
||||
pclose(pipe);
|
||||
|
||||
// std::cout << buffer << std::endl;
|
||||
|
||||
// Wait for one second
|
||||
sleep(1);
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue