Changeset 4563
- Timestamp:
- 07/06/07 14:16:34 (1 year ago)
- Files:
-
- lm-sensors/trunk/lib/chips.c (modified) (2 diffs)
- lm-sensors/trunk/lib/chips.h (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/chips.c (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/chips.h (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/lib/chips.c
r4551 r4563 6142 6142 }; 6143 6143 6144 #define SENSORS_F71882FG_IN_FEATURES(nr) \ 6145 { { SENSORS_F71882FG_IN(nr), "in" #nr, \ 6146 NOMAP, NOMAP, R }, \ 6147 NOSYSCTL, VALUE(3), 3 } 6148 6149 #define SENSORS_F71882FG_TEMP_FEATURES(nr) \ 6150 { { SENSORS_F71882FG_TEMP(nr), "temp" #nr, \ 6151 NOMAP, NOMAP, R }, \ 6152 NOSYSCTL, VALUE(3), 3 }, \ 6153 { { SENSORS_F71882FG_TEMP_MAX(nr), "temp" #nr "_max", \ 6154 SENSORS_F71882FG_TEMP(nr), SENSORS_F71882FG_TEMP(nr), RW }, \ 6155 NOSYSCTL, VALUE(1), 3 }, \ 6156 { { SENSORS_F71882FG_TEMP_MAX_HYST(nr), "temp" #nr "_max_hyst", \ 6157 SENSORS_F71882FG_TEMP(nr), SENSORS_F71882FG_TEMP(nr), RW }, \ 6158 NOSYSCTL, VALUE(2), 3 }, \ 6159 { { SENSORS_F71882FG_TEMP_CRIT(nr), "temp" #nr "_crit", \ 6160 SENSORS_F71882FG_TEMP(nr), SENSORS_F71882FG_TEMP(nr), RW }, \ 6161 NOSYSCTL, VALUE(4), 3 }, \ 6162 { { SENSORS_F71882FG_TEMP_CRIT_HYST(nr), "temp" #nr "_crit_hyst", \ 6163 SENSORS_F71882FG_TEMP(nr), SENSORS_F71882FG_TEMP(nr), R }, \ 6164 NOSYSCTL, VALUE(5), 3 }, \ 6165 { { SENSORS_F71882FG_TEMP_ALARM(nr), "temp" #nr "_alarm", \ 6166 SENSORS_F71882FG_TEMP(nr), NOMAP, R }, \ 6167 NOSYSCTL, VALUE(1), 0 }, \ 6168 { { SENSORS_F71882FG_TEMP_FAULT(nr), "temp" #nr "_fault", \ 6169 SENSORS_F71882FG_TEMP(nr), NOMAP, R }, \ 6170 NOSYSCTL, VALUE(2), 0 }, \ 6171 { { SENSORS_F71882FG_TEMP_TYPE(nr), "temp" #nr "_type", \ 6172 SENSORS_F71882FG_TEMP(nr), NOMAP, R }, \ 6173 NOSYSCTL, VALUE(3), 0 } 6174 6175 #define SENSORS_F71882FG_FAN_FEATURES(nr) \ 6176 { { SENSORS_F71882FG_FAN(nr), "fan" #nr, \ 6177 NOMAP, NOMAP, R }, \ 6178 NOSYSCTL, VALUE(2), 0 }, \ 6179 { { SENSORS_F71882FG_FAN_ALARM(nr), "fan" #nr "_alarm", \ 6180 SENSORS_F71882FG_FAN(nr), NOMAP, R }, \ 6181 NOSYSCTL, VALUE(1), 0 } 6182 6183 static sensors_chip_feature f71882fg_features[] = 6184 { 6185 SENSORS_F71882FG_IN_FEATURES(0), 6186 SENSORS_F71882FG_IN_FEATURES(1), 6187 { { SENSORS_F71882FG_IN_MAX(1), "in1_max", 6188 SENSORS_F71882FG_IN(1), SENSORS_F71882FG_IN(1), RW }, 6189 NOSYSCTL, VALUE(1), 3 }, 6190 { { SENSORS_F71882FG_IN_ALARM(1), "in1_alarm", 6191 SENSORS_F71882FG_IN(1), NOMAP, R }, 6192 NOSYSCTL, VALUE(1), 0 }, 6193 SENSORS_F71882FG_IN_FEATURES(2), 6194 SENSORS_F71882FG_IN_FEATURES(3), 6195 SENSORS_F71882FG_IN_FEATURES(4), 6196 SENSORS_F71882FG_IN_FEATURES(5), 6197 SENSORS_F71882FG_IN_FEATURES(6), 6198 SENSORS_F71882FG_IN_FEATURES(7), 6199 SENSORS_F71882FG_IN_FEATURES(8), 6200 SENSORS_F71882FG_TEMP_FEATURES(1), 6201 SENSORS_F71882FG_TEMP_FEATURES(2), 6202 SENSORS_F71882FG_TEMP_FEATURES(3), 6203 SENSORS_F71882FG_FAN_FEATURES(1), 6204 SENSORS_F71882FG_FAN_FEATURES(2), 6205 SENSORS_F71882FG_FAN_FEATURES(3), 6206 SENSORS_F71882FG_FAN_FEATURES(4), 6207 { { 0 }, 0 } 6208 }; 6209 6144 6210 sensors_chip_features sensors_chip_features_list[] = 6145 6211 { … … 6258 6324 { SENSORS_DME1737_PREFIX, dme1737_features }, 6259 6325 { SENSORS_APPLESMC_PREFIX, applesmc_features }, 6326 { SENSORS_F71882FG_PREFIX, f71882fg_features }, 6260 6327 { 0 } 6261 6328 }; lm-sensors/trunk/lib/chips.h
r4551 r4563 2314 2314 #define SENSORS_APPLESMC_FAN_SAFE(n) (0x81 + (n)) /* R */ 2315 2315 2316 /* Fintek F71882FG and F71883FG chips */ 2317 #define SENSORS_F71882FG_PREFIX "f71882fg" 2318 2319 /* in n from 0 to 8 */ 2320 #define SENSORS_F71882FG_IN(n) (1 + (n)) 2321 #define SENSORS_F71882FG_IN_MAX(n) (16 + (n)) 2322 #define SENSORS_F71882FG_IN_ALARM(n) (31 + (n)) 2323 /* fan n from 1 to 4 */ 2324 #define SENSORS_F71882FG_FAN(n) (50 + (n)) 2325 #define SENSORS_F71882FG_FAN_ALARM(n) (60 + (n)) 2326 /* temp n from 1 to 3 */ 2327 #define SENSORS_F71882FG_TEMP(n) (80 + (n)) 2328 #define SENSORS_F71882FG_TEMP_MAX(n) (90 + (n)) 2329 #define SENSORS_F71882FG_TEMP_MAX_HYST(n) (100 + (n)) 2330 #define SENSORS_F71882FG_TEMP_CRIT(n) (110 + (n)) 2331 #define SENSORS_F71882FG_TEMP_CRIT_HYST(n) (120 + (n)) 2332 #define SENSORS_F71882FG_TEMP_ALARM(n) (130 + (n)) 2333 #define SENSORS_F71882FG_TEMP_FAULT(n) (140 + (n)) 2334 #define SENSORS_F71882FG_TEMP_TYPE(n) (150 + (n)) 2335 2316 2336 #endif /* def LIB_SENSORS_CHIPS_H */ lm-sensors/trunk/prog/sensors/chips.c
r4551 r4563 6131 6131 } 6132 6132 6133 static void print_f71882fg_in(const sensors_chip_name *name, int i) 6134 { 6135 char *label; 6136 double cur, max, alarm; 6137 int valid; 6138 6139 if (!sensors_get_label_and_valid(*name, SENSORS_F71882FG_IN(i), &label, 6140 &valid) && 6141 !sensors_get_feature(*name, SENSORS_F71882FG_IN(i), &cur) && (i != 1 || ( 6142 !sensors_get_feature(*name, SENSORS_F71882FG_IN_MAX(i), &max) && 6143 !sensors_get_feature(*name, SENSORS_F71882FG_IN_ALARM(i), &alarm)))) { 6144 if (valid) { 6145 print_label(label, 10); 6146 printf("%+6.2f V", cur); 6147 if (i == 1) 6148 printf(" (max = %+6.2f V) %s", max, alarm ? "ALARM" : ""); 6149 printf("\n"); 6150 } 6151 } else { 6152 printf("ERROR: Can't get in%d data!\n", i); 6153 } 6154 free(label); 6155 } 6156 6157 static void print_f71882fg_fan(const sensors_chip_name *name, int i) 6158 { 6159 char *label; 6160 double cur, alarm; 6161 int valid; 6162 6163 if (!sensors_get_label_and_valid(*name, SENSORS_F71882FG_FAN(i), &label, 6164 &valid) && 6165 !sensors_get_feature(*name, SENSORS_F71882FG_FAN(i), &cur) && 6166 !sensors_get_feature(*name, SENSORS_F71882FG_FAN_ALARM(i), &alarm)) { 6167 if (valid) { 6168 print_label(label, 10); 6169 printf("%4.0f RPM %s\n", cur, alarm ? "ALARM" : ""); 6170 } 6171 } else { 6172 printf("ERROR: Can't get fan%d data!\n", i); 6173 } 6174 free(label); 6175 } 6176 6177 static void print_f71882fg_temp(const sensors_chip_name *name, int i) 6178 { 6179 char *label; 6180 double cur, max, max_hyst, crit, crit_hyst, alarm, fault, type; 6181 int valid; 6182 6183 if (!sensors_get_label_and_valid(*name, SENSORS_F71882FG_TEMP(i), &label, 6184 &valid) && 6185 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP(i), &cur) && 6186 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_MAX(i), &max) && 6187 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_MAX_HYST(i), &max_hyst) && 6188 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_CRIT(i), &crit) && 6189 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_CRIT_HYST(i), &crit_hyst) && 6190 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_ALARM(i), &alarm) && 6191 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_FAULT(i), &fault) && 6192 !sensors_get_feature(*name, SENSORS_F71882FG_TEMP_TYPE(i), &type)) { 6193 if (valid) { 6194 print_label(label, 10); 6195 print_temp_info(cur, max, max_hyst, HYST, 0, 0); 6196 printf("%s%s\n", fault ? "FAULT " : "", alarm ? "ALARM" : ""); 6197 6198 if (fahrenheit) { 6199 crit = deg_ctof(crit); 6200 crit_hyst = deg_ctof(crit_hyst); 6201 } 6202 printf(" (crit = %+5.0f%s, hyst = %+5.0f%s) ", 6203 crit, degstr, crit_hyst, degstr); 6204 printf("sensor = %s\n", (int)type == 0 ? "disabled" : 6205 (int)type == 1 ? "diode" : 6206 (int)type == 2 ? "transistor" : 6207 (int)type == 3 ? "thermal diode" : 6208 (int)type == 4 ? "thermistor" : 6209 (int)type == 5 ? "AMD AMDSI" : 6210 (int)type == 6 ? "Intel PECI" : 6211 "unknown"); 6212 } 6213 } else { 6214 printf("ERROR: Can't get temp%d data!\n", i); 6215 } 6216 free(label); 6217 } 6218 6219 void print_f71882fg(const sensors_chip_name *name) 6220 { 6221 int i; 6222 6223 for (i = 0; i <= 8; i++) 6224 print_f71882fg_in(name, i); 6225 6226 for (i = 1; i <= 4; i++) 6227 print_f71882fg_fan(name, i); 6228 6229 for (i = 1; i <= 3; i++) 6230 print_f71882fg_temp(name, i); 6231 } 6232 6133 6233 void print_unknown_chip(const sensors_chip_name *name) 6134 6234 { lm-sensors/trunk/prog/sensors/chips.h
r4551 r4563 80 80 extern void print_dme1737(const sensors_chip_name *name); 81 81 extern void print_applesmc(const sensors_chip_name *name); 82 extern void print_f71882fg(const sensors_chip_name *name); 82 83 83 84 #endif /* def PROG_SENSORS_CHIPS_H */ lm-sensors/trunk/prog/sensors/main.c
r4551 r4563 426 426 { "dme1737", print_dme1737 }, 427 427 { "applesmc", print_applesmc }, 428 { "f71882fg", print_f71882fg }, 428 429 { NULL, NULL } 429 430 };
