fixed NVIDIA strings.
[psensor.git] / src / lib / psensor.c
index ff9bc73..f4d9659 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2013 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 jeanfi@gmail.com
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -37,13 +37,13 @@ struct psensor *psensor_create(char *id,
                               unsigned int type,
                               int values_max_length)
 {
-       struct psensor *psensor
-           = (struct psensor *)malloc(sizeof(struct psensor));
+       struct psensor *psensor;
+
+       psensor = (struct psensor *)malloc(sizeof(struct psensor));
 
        psensor->id = id;
        psensor->name = name;
        psensor->chip = chip;
-       psensor->enabled = 1;
        psensor->min = UNKNOWN_DBL_VALUE;
        psensor->max = UNKNOWN_DBL_VALUE;
 
@@ -64,6 +64,7 @@ struct psensor *psensor_create(char *id,
 
        psensor->color = NULL;
 
+       psensor->graph_enabled = 1;
        psensor->appindicator_enabled = 0;
 
        return psensor;
@@ -208,18 +209,18 @@ int is_fan_type(unsigned int type)
        return type & SENSOR_TYPE_FAN;
 }
 
-double celcius_to_fahrenheit(double c)
+double celsius_to_fahrenheit(double c)
 {
        return c * (9.0/5.0) + 32;
 }
 
-double fahrenheit_to_celcius(double f)
+double fahrenheit_to_celsius(double f)
 {
        return (f - 32) * (5.0/9.0);
 }
 
 char *
-psensor_value_to_str(unsigned int type, double value, int use_celcius)
+psensor_value_to_str(unsigned int type, double value, int use_celsius)
 {
        char *str;
        const char *unit;
@@ -230,10 +231,10 @@ psensor_value_to_str(unsigned int type, double value, int use_celcius)
         */
        str = malloc(20);
 
-       unit = psensor_type_to_unit_str(type, use_celcius);
+       unit = psensor_type_to_unit_str(type, use_celsius);
 
-       if (is_temp_type(type) && !use_celcius)
-               value = celcius_to_fahrenheit(value);
+       if (is_temp_type(type) && !use_celsius)
+               value = celsius_to_fahrenheit(value);
 
        sprintf(str, "%.0f%s", value, unit);
 
@@ -243,9 +244,9 @@ psensor_value_to_str(unsigned int type, double value, int use_celcius)
 char *
 psensor_measure_to_str(const struct measure *m,
                       unsigned int type,
-                      unsigned int use_celcius)
+                      unsigned int use_celsius)
 {
-       return psensor_value_to_str(type, m->value, use_celcius);
+       return psensor_value_to_str(type, m->value, use_celsius);
 }
 
 void psensor_set_current_value(struct psensor *sensor, double value)
@@ -299,7 +300,7 @@ struct measure *psensor_get_current_measure(struct psensor *sensor)
   Returns the minimal value of a given 'type' (SENSOR_TYPE_TEMP or
   SENSOR_TYPE_FAN)
  */
-double get_min_value(struct psensor **sensors, int type)
+static double get_min_value(struct psensor **sensors, int type)
 {
        double m = UNKNOWN_DBL_VALUE;
        struct psensor **s = sensors;
@@ -307,7 +308,7 @@ double get_min_value(struct psensor **sensors, int type)
        while (*s) {
                struct psensor *sensor = *s;
 
-               if (sensor->enabled && (sensor->type & type)) {
+               if (sensor->type & type) {
                        int i;
                        double t;
 
@@ -339,7 +340,7 @@ double get_max_value(struct psensor **sensors, int type)
        while (*s) {
                struct psensor *sensor = *s;
 
-               if (sensor->enabled && (sensor->type & type)) {
+               if (sensor->type & type) {
                        int i;
                        double t;
                        for (i = 0; i < sensor->values_max_length; i++) {
@@ -367,7 +368,7 @@ psensor_get_max_current_value(struct psensor **sensors, unsigned int type)
        while (*s_cur) {
                struct psensor *s = *s_cur;
 
-               if (s->enabled && (s->type & type)) {
+               if (s->graph_enabled && (s->type & type)) {
                        double v = psensor_get_current_value(s);
 
                        if (m == UNKNOWN_DBL_VALUE || v > m)
@@ -437,7 +438,7 @@ struct psensor **get_all_sensors(int use_libatasmart, int values_max_length)
 const char *psensor_type_to_str(unsigned int type)
 {
        if (type & SENSOR_TYPE_NVCTRL)
-               return "NVidia GPU";
+               return "NVIDIA GPU";
 
        if (type & SENSOR_TYPE_ATIADL) {
                if (type & SENSOR_TYPE_TEMP)
@@ -470,10 +471,10 @@ const char *psensor_type_to_str(unsigned int type)
 }
 
 
-const char *psensor_type_to_unit_str(unsigned int type, int use_celcius)
+const char *psensor_type_to_unit_str(unsigned int type, int use_celsius)
 {
        if (is_temp_type(type)) {
-               if (use_celcius)
+               if (use_celsius)
                        return "\302\260C";
                else
                        return "\302\260F";
@@ -540,9 +541,32 @@ struct psensor **psensor_list_copy(struct psensor **sensors)
 }
 
 char *
-psensor_current_value_to_str(const struct psensor *s, unsigned int celcius)
+psensor_current_value_to_str(const struct psensor *s, unsigned int use_celsius)
 {
        return psensor_value_to_str(s->type,
                                    psensor_get_current_value(s),
-                                   celcius);
+                                   use_celsius);
+}
+
+struct psensor **psensor_list_filter_graph_enabled(struct psensor **sensors)
+{
+       int n, i;
+       struct psensor **result, **cur, *s;
+
+       if (!sensors)
+               return NULL;
+
+       n = psensor_list_size(sensors);
+       result = malloc((n+1) * sizeof(struct psensor *));
+
+       for (cur = sensors, i = 0; *cur; cur++) {
+               s = *cur;
+
+               if (s->graph_enabled)
+                       result[i++] = s;
+       }
+
+       result[i] = NULL;
+
+       return result;
 }