sensors: use your brain
This commit is contained in:
parent
16cdd0e12a
commit
1313354239
|
@ -143,12 +143,7 @@ sensor_t **
|
||||||
system_sensors_thermal_get(int *count);
|
system_sensors_thermal_get(int *count);
|
||||||
|
|
||||||
int
|
int
|
||||||
system_sensor_thermal_by_id(char *id, double *value);
|
system_sensor_thermal_get(sensor_t *snsr);
|
||||||
|
|
||||||
#if defined(__OpenBSD__)
|
|
||||||
int
|
|
||||||
system_sensor_thermal_by_mib(int mib[], double *value);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void
|
void
|
||||||
system_sensors_thermal_free(sensor_t **sensors, int count);
|
system_sensors_thermal_free(sensor_t **sensors, int count);
|
||||||
|
|
|
@ -35,37 +35,31 @@ system_sensors_thermal_free(sensor_t **sensors, int count)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
system_sensor_thermal_by_id(char *id, double *value)
|
system_sensor_thermal_get(sensor_t *sensor)
|
||||||
{
|
{
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
char *d = file_contents(id);
|
char *d = file_contents(sensor->path);
|
||||||
if (d)
|
if (d)
|
||||||
{
|
{
|
||||||
*value = atof(d);
|
double val = atof(d);
|
||||||
if (*value) *value /= 1000;
|
if (val);
|
||||||
|
sensor->value = val /= 1000;
|
||||||
free(d);
|
free(d);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#elif defined(__OpenBSD__)
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(__OpenBSD__)
|
|
||||||
int
|
|
||||||
system_sensor_thermal_by_mib(int mibs[], double *value)
|
|
||||||
{
|
|
||||||
struct sensor snsr;
|
struct sensor snsr;
|
||||||
size_t slen = sizeof(struct sensor);
|
size_t slen = sizeof(struct sensor);
|
||||||
|
|
||||||
if (sysctl(mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0;
|
if (sysctl(sensor->mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0;
|
||||||
|
|
||||||
*value = (snsr.value - 273150000) / 1000000.0;
|
sensor->value = (snsr.value - 273150000) / 1000000.0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
sensor_t **
|
sensor_t **
|
||||||
system_sensors_thermal_get(int *sensor_count)
|
system_sensors_thermal_get(int *sensor_count)
|
||||||
|
|
|
@ -85,12 +85,13 @@ _sensors_update(void *data, Ecore_Thread *thread)
|
||||||
{
|
{
|
||||||
if (pd->selected_it)
|
if (pd->selected_it)
|
||||||
{
|
{
|
||||||
#if defined(__OpenBSD__)
|
if (!system_sensor_thermal_get(pd->sensor))
|
||||||
if (system_sensor_thermal_by_mib(pd->sensor->mibs, &msg->thermal_temp))
|
msg->thermal_valid = 0;
|
||||||
#else
|
else
|
||||||
if (system_sensor_thermal_by_id(pd->sensor->path, &msg->thermal_temp))
|
{
|
||||||
#endif
|
msg->thermal_valid = 1;
|
||||||
msg->thermal_valid = 1;
|
msg->thermal_temp = pd->sensor->value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
system_power_state_get(&msg->power);
|
system_power_state_get(&msg->power);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue