Changeset 5379
- Timestamp:
- 10/24/08 11:04:26 (5 years ago)
- Location:
- lm-sensors/branches/lm-sensors-3.0.0
- Files:
-
- 5 modified
-
CHANGES (modified) (1 diff)
-
doc/libsensors-API.txt (modified) (1 diff)
-
lib/sensors.h (modified) (2 diffs)
-
lib/sysfs.c (modified) (6 diffs)
-
prog/sensors/chips.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/branches/lm-sensors-3.0.0/CHANGES
r5378 r5379 4 4 SVN-HEAD 5 5 libsensors: Add support for instantaneous power sensors 6 Add support for current sensors 6 7 maxilife scripts: Delete (driver never ported to Linux 2.6) 7 8 sensors: Add support for instantaneous power sensors 9 Add support for current sensors 8 10 sensors-detect: Fix detection of ADT7463 and LM96000 9 11 Add VIA VX800/VX820 support -
lm-sensors/branches/lm-sensors-3.0.0/doc/libsensors-API.txt
r5378 r5379 12 12 enum sensors_subfeature_type SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST 13 13 enum sensors_subfeature_type SENSORS_SUBFEATURE_POWER_INPUT_LOWEST 14 * Added support for current sensors 15 enum sensors_feature_type SENSORS_FEATURE_CURR 16 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_INPUT 17 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_MIN 18 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_MAX 19 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_ALARM 20 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_MIN_ALARM 21 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_MAX_ALARM 22 enum sensors_subfeature_type SENSORS_SUBFEATURE_CURR_BEEP 14 23 15 24 0x401 lm-sensors 3.0.2 to 3.0.3 -
lm-sensors/branches/lm-sensors-3.0.0/lib/sensors.h
r5378 r5379 135 135 SENSORS_FEATURE_POWER = 0x03, 136 136 SENSORS_FEATURE_ENERGY = 0x04, 137 SENSORS_FEATURE_CURR = 0x05, 137 138 SENSORS_FEATURE_VID = 0x10, 138 139 SENSORS_FEATURE_BEEP_ENABLE = 0x18, … … 182 183 183 184 SENSORS_SUBFEATURE_ENERGY_INPUT = SENSORS_FEATURE_ENERGY << 8, 185 186 SENSORS_SUBFEATURE_CURR_INPUT = SENSORS_FEATURE_CURR << 8, 187 SENSORS_SUBFEATURE_CURR_MIN, 188 SENSORS_SUBFEATURE_CURR_MAX, 189 SENSORS_SUBFEATURE_CURR_ALARM = (SENSORS_FEATURE_CURR << 8) | 0x80, 190 SENSORS_SUBFEATURE_CURR_MIN_ALARM, 191 SENSORS_SUBFEATURE_CURR_MAX_ALARM, 192 SENSORS_SUBFEATURE_CURR_BEEP, 184 193 185 194 SENSORS_SUBFEATURE_VID = SENSORS_FEATURE_VID << 8, -
lm-sensors/branches/lm-sensors-3.0.0/lib/sysfs.c
r5378 r5379 139 139 #define MAX_SENSORS_PER_TYPE 20 140 140 #define MAX_SUBFEATURES 8 141 #define MAX_SENSOR_TYPES 5141 #define MAX_SENSOR_TYPES 6 142 142 /* Room for all 5 types (in, fan, temp, power, energy) with all their 143 143 subfeatures + VID + misc features */ … … 154 154 case SENSORS_SUBFEATURE_IN_INPUT: 155 155 case SENSORS_SUBFEATURE_TEMP_INPUT: 156 case SENSORS_SUBFEATURE_CURR_INPUT: 156 157 return 1000; 157 158 case SENSORS_SUBFEATURE_FAN_INPUT: … … 185 186 case SENSORS_FEATURE_POWER: 186 187 case SENSORS_FEATURE_ENERGY: 188 case SENSORS_FEATURE_CURR: 187 189 underscore = strchr(sfname, '_'); 188 190 name = strndup(sfname, underscore - sfname); … … 260 262 }; 261 263 264 static const struct subfeature_type_match curr_matches[] = { 265 { "input", SENSORS_SUBFEATURE_CURR_INPUT }, 266 { "min", SENSORS_SUBFEATURE_CURR_MIN }, 267 { "max", SENSORS_SUBFEATURE_CURR_MAX }, 268 { "alarm", SENSORS_SUBFEATURE_CURR_ALARM }, 269 { "min_alarm", SENSORS_SUBFEATURE_CURR_MIN_ALARM }, 270 { "max_alarm", SENSORS_SUBFEATURE_CURR_MAX_ALARM }, 271 { NULL, 0 } 272 }; 273 262 274 static const struct subfeature_type_match cpu_matches[] = { 263 275 { "vid", SENSORS_SUBFEATURE_VID }, … … 271 283 { "cpu%d%c", cpu_matches }, 272 284 { "power%d%c", power_matches }, 285 { "curr%d%c", curr_matches }, 273 286 { "energy%d%c", energy_matches }, 274 287 }; … … 361 374 case SENSORS_SUBFEATURE_POWER_AVERAGE: 362 375 case SENSORS_SUBFEATURE_ENERGY_INPUT: 376 case SENSORS_SUBFEATURE_CURR_INPUT: 363 377 nr--; 364 378 break; -
lm-sensors/branches/lm-sensors-3.0.0/prog/sensors/chips.c
r5378 r5379 579 579 } 580 580 581 static void print_chip_curr(const sensors_chip_name *name, 582 const sensors_feature *feature, 583 int label_size) 584 { 585 const sensors_subfeature *sf, *sfmin, *sfmax; 586 double alarm_max, alarm_min; 587 char *label; 588 589 if (!(label = sensors_get_label(name, feature))) { 590 fprintf(stderr, "ERROR: Can't get label of feature %s!\n", 591 feature->name); 592 return; 593 } 594 print_label(label, label_size); 595 free(label); 596 597 sf = sensors_get_subfeature(name, feature, 598 SENSORS_SUBFEATURE_CURR_INPUT); 599 if (sf) 600 printf("%+6.2f A", get_value(name, sf)); 601 else 602 printf(" N/A"); 603 604 sfmin = sensors_get_subfeature(name, feature, 605 SENSORS_SUBFEATURE_CURR_MIN); 606 sfmax = sensors_get_subfeature(name, feature, 607 SENSORS_SUBFEATURE_CURR_MAX); 608 if (sfmin && sfmax) 609 printf(" (min = %+6.2f A, max = %+6.2f A)", 610 get_value(name, sfmin), 611 get_value(name, sfmax)); 612 else if (sfmin) 613 printf(" (min = %+6.2f A)", 614 get_value(name, sfmin)); 615 else if (sfmax) 616 printf(" (max = %+6.2f A)", 617 get_value(name, sfmax)); 618 619 sf = sensors_get_subfeature(name, feature, 620 SENSORS_SUBFEATURE_CURR_ALARM); 621 sfmin = sensors_get_subfeature(name, feature, 622 SENSORS_SUBFEATURE_CURR_MIN_ALARM); 623 sfmax = sensors_get_subfeature(name, feature, 624 SENSORS_SUBFEATURE_CURR_MAX_ALARM); 625 if (sfmin || sfmax) { 626 alarm_max = sfmax ? get_value(name, sfmax) : 0; 627 alarm_min = sfmin ? get_value(name, sfmin) : 0; 628 629 if (alarm_min || alarm_max) { 630 printf(" ALARM ("); 631 632 if (alarm_min) 633 printf("MIN"); 634 if (alarm_max) 635 printf("%sMAX", (alarm_min) ? ", " : ""); 636 637 printf(")"); 638 } 639 } else if (sf) { 640 printf(" %s", 641 get_value(name, sf) ? "ALARM" : ""); 642 } 643 644 printf("\n"); 645 } 646 581 647 void print_chip(const sensors_chip_name *name) 582 648 { … … 610 676 print_chip_energy(name, feature, label_size); 611 677 break; 678 case SENSORS_FEATURE_CURR: 679 print_chip_curr(name, feature, label_size); 680 break; 612 681 default: 613 682 continue;
