| 33 | | } |
|---|
| 34 | | |
|---|
| 35 | | #define HYST 0 |
|---|
| 36 | | #define MINMAX 1 |
|---|
| 37 | | #define MAXONLY 2 |
|---|
| 38 | | #define CRIT 3 |
|---|
| 39 | | #define SINGLE 4 |
|---|
| 40 | | #define HYSTONLY 5 |
|---|
| 41 | | |
|---|
| 42 | | /* symbolic constants for minmax defined above */ |
|---|
| 43 | | static void print_temp_limits(float n_over, float n_hyst, |
|---|
| 44 | | int minmax) |
|---|
| 45 | | { |
|---|
| 46 | | if (fahrenheit) { |
|---|
| 47 | | n_over = deg_ctof(n_over); |
|---|
| 48 | | n_hyst = deg_ctof(n_hyst); |
|---|
| 49 | | } |
|---|
| 50 | | |
|---|
| 51 | | if (minmax == MINMAX) |
|---|
| 52 | | printf("(low = %+5.1f%s, high = %+5.1f%s) ", |
|---|
| 53 | | n_hyst, degstr, |
|---|
| 54 | | n_over, degstr); |
|---|
| 55 | | else if (minmax == MAXONLY) |
|---|
| 56 | | printf("(high = %+5.1f%s) ", |
|---|
| 57 | | n_over, degstr); |
|---|
| 58 | | else if (minmax == CRIT) |
|---|
| 59 | | printf("(high = %+5.1f%s, crit = %+5.1f%s) ", |
|---|
| 60 | | n_over, degstr, |
|---|
| 61 | | n_hyst, degstr); |
|---|
| 62 | | else if (minmax == HYST) |
|---|
| 63 | | printf("(high = %+5.1f%s, hyst = %+5.1f%s) ", |
|---|
| 64 | | n_over, degstr, |
|---|
| 65 | | n_hyst, degstr); |
|---|
| 66 | | else if (minmax == HYSTONLY) |
|---|
| 67 | | printf("(hyst = %+5.1f%s) ", |
|---|
| 68 | | n_over, degstr); |
|---|
| 69 | | else if (minmax != SINGLE) |
|---|
| 70 | | printf("Unknown temperature mode!"); |
|---|
| | 138 | static void print_temp_limits(float limit1, float limit2, |
|---|
| | 139 | const char *name1, const char *name2, int alarm) |
|---|
| | 140 | { |
|---|
| | 141 | if (fahrenheit) { |
|---|
| | 142 | limit1 = deg_ctof(limit1); |
|---|
| | 143 | limit2 = deg_ctof(limit2); |
|---|
| | 144 | } |
|---|
| | 145 | |
|---|
| | 146 | if (name2) { |
|---|
| | 147 | printf("(%-4s = %+5.1f%s, %-4s = %+5.1f%s) ", |
|---|
| | 148 | name1, limit1, degstr, |
|---|
| | 149 | name2, limit2, degstr); |
|---|
| | 150 | } else if (name1) { |
|---|
| | 151 | printf("(%-4s = %+5.1f%s) ", |
|---|
| | 152 | name1, limit1, degstr); |
|---|
| | 153 | } else { |
|---|
| | 154 | printf(" "); |
|---|
| | 155 | } |
|---|
| | 156 | |
|---|
| | 157 | if (alarm) |
|---|
| | 158 | printf("ALARM "); |
|---|
| | 159 | } |
|---|
| | 160 | |
|---|
| 205 | | max = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MAX); |
|---|
| 206 | | |
|---|
| 207 | | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_MIN)) { |
|---|
| 208 | | min = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MIN); |
|---|
| 209 | | type = MINMAX; |
|---|
| 210 | | } else if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_MAX_HYST)) { |
|---|
| 211 | | min = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MAX_HYST); |
|---|
| 212 | | type = HYST; |
|---|
| 213 | | } else if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT)) { |
|---|
| 214 | | min = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT); |
|---|
| 215 | | type = CRIT; |
|---|
| | 193 | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_MAX_ALARM) && |
|---|
| | 194 | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MAX_ALARM)) |
|---|
| | 195 | alarm |= 1; |
|---|
| | 196 | |
|---|
| | 197 | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_MIN)) { |
|---|
| | 198 | limit1 = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MIN); |
|---|
| | 199 | s1 = "low"; |
|---|
| | 200 | limit2 = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MAX); |
|---|
| | 201 | s2 = "high"; |
|---|
| | 202 | |
|---|
| | 203 | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_MIN_ALARM) && |
|---|
| | 204 | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MIN_ALARM)) |
|---|
| | 205 | alarm |= 1; |
|---|
| 236 | | print_temp_limits(max, min, type); |
|---|
| 237 | | |
|---|
| 238 | | /* ALARM features */ |
|---|
| 239 | | if ((TEMP_FEATURE(SENSORS_FEATURE_TEMP_ALARM) && |
|---|
| 240 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_ALARM) > 0.5) |
|---|
| 241 | | || (type == MINMAX && |
|---|
| 242 | | TEMP_FEATURE(SENSORS_FEATURE_TEMP_MIN_ALARM) && |
|---|
| 243 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MIN_ALARM) > 0.5) |
|---|
| 244 | | || (type == MINMAX && |
|---|
| 245 | | TEMP_FEATURE(SENSORS_FEATURE_TEMP_MAX_ALARM) && |
|---|
| 246 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_MAX_ALARM) > 0.5) |
|---|
| 247 | | || (type == CRIT && |
|---|
| 248 | | TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT_ALARM) && |
|---|
| 249 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_ALARM) > 0.5)) { |
|---|
| 250 | | printf("ALARM "); |
|---|
| 251 | | } |
|---|
| 252 | | |
|---|
| 253 | | if (type != CRIT && TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT)) { |
|---|
| 254 | | if (fahrenheit) { |
|---|
| 255 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT) = deg_ctof( |
|---|
| 256 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT)); |
|---|
| 257 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_HYST) = deg_ctof( |
|---|
| 258 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_HYST)); |
|---|
| 259 | | } |
|---|
| 260 | | |
|---|
| 261 | | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT_HYST)) |
|---|
| 262 | | printf("\n%*s(crit = %+5.1f%s, hyst = %+5.1f%s) ", |
|---|
| 263 | | label_size + 10, "", |
|---|
| 264 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT), |
|---|
| 265 | | degstr, |
|---|
| 266 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_HYST), |
|---|
| 267 | | degstr); |
|---|
| 268 | | else |
|---|
| 269 | | printf("\n%*s(crit = %+5.1f%s) ", |
|---|
| 270 | | label_size + 10, "", |
|---|
| 271 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT), |
|---|
| 272 | | degstr); |
|---|
| 273 | | |
|---|
| 274 | | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT_ALARM) && |
|---|
| 275 | | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_ALARM)) { |
|---|
| 276 | | printf("ALARM "); |
|---|
| 277 | | } |
|---|
| | 242 | print_temp_limits(limit1, limit2, s1, s2, alarm); |
|---|
| | 243 | |
|---|
| | 244 | if (!crit_displayed && TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT)) { |
|---|
| | 245 | limit1 = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT); |
|---|
| | 246 | s1 = "crit"; |
|---|
| | 247 | |
|---|
| | 248 | if (TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT_HYST)) { |
|---|
| | 249 | limit2 = TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_HYST); |
|---|
| | 250 | s2 = "hyst"; |
|---|
| | 251 | } else { |
|---|
| | 252 | limit2 = 0; |
|---|
| | 253 | s2 = NULL; |
|---|
| | 254 | } |
|---|
| | 255 | |
|---|
| | 256 | alarm = TEMP_FEATURE(SENSORS_FEATURE_TEMP_CRIT_ALARM) && |
|---|
| | 257 | TEMP_FEATURE_VAL(SENSORS_FEATURE_TEMP_CRIT_ALARM); |
|---|
| | 258 | |
|---|
| | 259 | printf("\n%*s", label_size + 10, ""); |
|---|
| | 260 | print_temp_limits(limit1, limit2, s1, s2, alarm); |
|---|