Skip to content
Snippets Groups Projects
Commit 62a6f361 authored by Felix Moser's avatar Felix Moser
Browse files

refactoring read_cpu_temp

parent aa2fcbb3
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -4,19 +4,21 @@ ...@@ -4,19 +4,21 @@
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
void read_cpu_temp()
void read_cpu_temp() { {
FILE *file; FILE *file;
char buffer[1024]; char buffer[1024];
char *temp_path = "/sys/class/thermal/thermal_zone0/temp"; char *temp_path = "/sys/class/thermal/thermal_zone0/temp";
file = fopen(temp_path, "r"); file = fopen(temp_path, "r");
if (file == NULL) { if (file == NULL)
{
printf("Error opening file\n"); printf("Error opening file\n");
return; return;
} }
if (fgets(buffer, sizeof(buffer), file) != NULL) { if (fgets(buffer, sizeof(buffer), file) != NULL)
{
long temp = atol(buffer) / 1000; long temp = atol(buffer) / 1000;
char message[1024]; char message[1024];
snprintf(message, sizeof(message), "%ld", temp); snprintf(message, sizeof(message), "%ld", temp);
...@@ -25,46 +27,55 @@ void read_cpu_temp() { ...@@ -25,46 +27,55 @@ void read_cpu_temp() {
// write pipe // write pipe
const char *pOne = "/tmp/pipeOne"; const char *pOne = "/tmp/pipeOne";
int vOne = open(pOne, O_WRONLY); // todo: | O_NONBLOCK int vOne = open(pOne, O_WRONLY); // todo: | O_NONBLOCK
if (vOne == -1){ if (vOne == -1)
{
perror("Failed to open pipe one in read_cpu_temp"); perror("Failed to open pipe one in read_cpu_temp");
return 1; return;
} }
write(vOne, message, sizeof(message)); write(vOne, message, sizeof(message));
close(vOne); close(vOne);
}
} else { else
{
printf("Error reading file\n"); printf("Error reading file\n");
} }
fclose(file); fclose(file);
} }
void read_cpu_frequency() { void read_cpu_frequency()
{
FILE *file; FILE *file;
char buffer[1024]; char buffer[1024];
char *freq_path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"; char *freq_path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq";
file = fopen(freq_path, "r"); file = fopen(freq_path, "r");
if (file == NULL) { if (file == NULL)
{
printf("Error opening file\n"); printf("Error opening file\n");
return; return;
} }
if (fgets(buffer, sizeof(buffer), file) != NULL) { if (fgets(buffer, sizeof(buffer), file) != NULL)
{
float freq = atol(buffer) / 1000000.0f; float freq = atol(buffer) / 1000000.0f;
printf("CPU frequency: %f GHz\n", freq); printf("CPU frequency: %f GHz\n", freq);
} else { }
else
{
printf("Error reading file\n"); printf("Error reading file\n");
} }
fclose(file); fclose(file);
} }
int main(void) { int main(void)
{
// create and open pipes // create and open pipes
const char *pOne = "/tmp/pipeOne"; const char *pOne = "/tmp/pipeOne";
mkfifo(pOne, 0666); mkfifo(pOne, 0666);
int vOne = open(pOne, O_RDONLY | O_NONBLOCK); // todo: | O_NONBLOCK int vOne = open(pOne, O_RDONLY | O_NONBLOCK); // todo: | O_NONBLOCK
if (vOne == -1) { if (vOne == -1)
{
perror("Failed to open pipe one in main"); perror("Failed to open pipe one in main");
return 1; return 1;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment