Changeset 2614

Show
Ignore:
Timestamp:
06/27/04 19:10:38 (9 years ago)
Author:
khali
Message:

Rework print_adm1025:

  • Refactor code
  • Don't complain on in4 missing
  • Complain on vid missing
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/prog/sensors/chips.c

    r2582 r2614  
    11451145  char *label = NULL; 
    11461146  double cur,min,max; 
    1147   int alarms,valid; 
     1147  int alarms,valid,i; 
    11481148 
    11491149  if (!sensors_get_feature(*name,SENSORS_ADM1025_ALARMS,&cur))  
     
    11541154  } 
    11551155 
    1156   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN0,&label,&valid) && 
    1157       !sensors_get_feature(*name,SENSORS_ADM1025_IN0,&cur) && 
    1158       !sensors_get_feature(*name,SENSORS_ADM1025_IN0_MIN,&min) && 
    1159       !sensors_get_feature(*name,SENSORS_ADM1025_IN0_MAX,&max)) { 
    1160     if (valid) { 
    1161       print_label(label,10); 
    1162       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1163            cur,min,max,alarms&ADM1025_ALARM_IN0?"ALARM":""); 
    1164     } 
    1165   } else 
    1166     printf("ERROR: Can't get IN0 data!\n"); 
    1167   free_the_label(&label); 
    1168   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN1,&label,&valid) && 
    1169       !sensors_get_feature(*name,SENSORS_ADM1025_IN1,&cur) && 
    1170       !sensors_get_feature(*name,SENSORS_ADM1025_IN1_MIN,&min) && 
    1171       !sensors_get_feature(*name,SENSORS_ADM1025_IN1_MAX,&max)) { 
    1172     if (valid) { 
    1173       print_label(label,10); 
    1174       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1175            cur,min,max,alarms&ADM1025_ALARM_IN1?"ALARM":""); 
    1176     } 
    1177   } else 
    1178     printf("ERROR: Can't get IN1 data!\n"); 
    1179   free_the_label(&label); 
    1180   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN2,&label,&valid) && 
    1181       !sensors_get_feature(*name,SENSORS_ADM1025_IN2,&cur) && 
    1182       !sensors_get_feature(*name,SENSORS_ADM1025_IN2_MIN,&min) && 
    1183       !sensors_get_feature(*name,SENSORS_ADM1025_IN2_MAX,&max)) { 
    1184     if (valid) { 
    1185       print_label(label,10); 
    1186       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1187            cur,min,max,alarms&ADM1025_ALARM_IN2?"ALARM":""); 
    1188     } 
    1189   } else 
    1190     printf("ERROR: Can't get IN2 data!\n"); 
    1191   free_the_label(&label); 
    1192   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN3,&label,&valid) && 
    1193       !sensors_get_feature(*name,SENSORS_ADM1025_IN3,&cur) && 
    1194       !sensors_get_feature(*name,SENSORS_ADM1025_IN3_MIN,&min) && 
    1195       !sensors_get_feature(*name,SENSORS_ADM1025_IN3_MAX,&max)) { 
    1196     if (valid) { 
    1197       print_label(label,10); 
    1198       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1199            cur,min,max,alarms&ADM1025_ALARM_IN3?"ALARM":""); 
    1200     } 
    1201   } else 
    1202     printf("ERROR: Can't get IN3 data!\n"); 
    1203   free_the_label(&label); 
    1204   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN4,&label,&valid) && 
    1205       !sensors_get_feature(*name,SENSORS_ADM1025_IN4,&cur) && 
    1206       !sensors_get_feature(*name,SENSORS_ADM1025_IN4_MIN,&min) && 
    1207       !sensors_get_feature(*name,SENSORS_ADM1025_IN4_MAX,&max)) { 
    1208     if (valid) { 
    1209       print_label(label,10); 
    1210       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1211            cur,min,max,alarms&ADM1025_ALARM_IN4?"ALARM":""); 
    1212     } 
    1213   } else 
    1214     printf("ERROR: Can't get IN4 data!\n"); 
    1215   free_the_label(&label); 
    1216   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN5,&label,&valid) && 
    1217       !sensors_get_feature(*name,SENSORS_ADM1025_IN5,&cur) && 
    1218       !sensors_get_feature(*name,SENSORS_ADM1025_IN5_MIN,&min) && 
    1219       !sensors_get_feature(*name,SENSORS_ADM1025_IN5_MAX,&max)) { 
    1220     if (valid) { 
    1221       print_label(label,10); 
    1222       printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
    1223            cur,min,max,alarms&ADM1025_ALARM_IN5?"ALARM":""); 
    1224     } 
    1225   } else 
    1226     printf("ERROR: Can't get IN5 data!\n"); 
    1227   free_the_label(&label); 
    1228  
    1229   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_TEMP1,&label,&valid) && 
    1230       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1,&cur) && 
    1231       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1_LOW,&min) && 
    1232       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1_HIGH,&max)) { 
    1233     if (valid) { 
    1234       print_label(label,10); 
    1235       print_temp_info( cur, max, min, MINMAX, 1, 0); 
    1236       printf(" %s\n", alarms&ADM1025_ALARM_RFAULT?"FAULT": 
    1237                       alarms&ADM1025_ALARM_RTEMP?"ALARM":""); 
    1238     } 
    1239   } else 
    1240     printf("ERROR: Can't get TEMP1 data!\n"); 
    1241   free_the_label(&label); 
    1242  
    1243   if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_TEMP2,&label,&valid) && 
    1244       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP2,&cur) && 
    1245       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP2_LOW,&min) && 
    1246       !sensors_get_feature(*name,SENSORS_ADM1025_TEMP2_HIGH,&max)) { 
    1247     if (valid) { 
    1248       print_label(label,10); 
    1249       print_temp_info( cur, max, min, MINMAX, 1, 0); 
    1250       printf(" %s\n", alarms&ADM1025_ALARM_TEMP ? "ALARM":""); 
    1251     } 
    1252   } else 
    1253     printf("ERROR: Can't get TEMP2 data!\n"); 
    1254   free_the_label(&label); 
     1156  for (i=0; i<6; i++) { 
     1157    if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_IN0+i,&label,&valid) && 
     1158        !sensors_get_feature(*name,SENSORS_ADM1025_IN0+i,&cur) && 
     1159        !sensors_get_feature(*name,SENSORS_ADM1025_IN0_MIN+i,&min) && 
     1160        !sensors_get_feature(*name,SENSORS_ADM1025_IN0_MAX+i,&max)) { 
     1161      if (valid) { 
     1162        print_label(label,10); 
     1163        printf("%+6.2f V  (min = %+6.2f V, max = %+6.2f V)   %s\n", 
     1164             cur,min,max,alarms&ADM1025_ALARM_IN0?"ALARM":""); 
     1165      } 
     1166    } else 
     1167      if (i!=4) /* Chip may have +12V input used for VID instead */ 
     1168        printf("ERROR: Can't get IN%d data!\n", i); 
     1169    free_the_label(&label); 
     1170  } 
     1171 
     1172  for (i=0; i<2; i++) { 
     1173    if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_TEMP1+3*i,&label,&valid) && 
     1174        !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1+3*i,&cur) && 
     1175        !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1_LOW+3*i,&min) && 
     1176        !sensors_get_feature(*name,SENSORS_ADM1025_TEMP1_HIGH+3*i,&max)) { 
     1177      if (valid) { 
     1178        print_label(label,10); 
     1179        print_temp_info( cur, max, min, MINMAX, 1, 0); 
     1180        printf(" %s\n", alarms&ADM1025_ALARM_RFAULT?"FAULT": 
     1181                        alarms&ADM1025_ALARM_RTEMP?"ALARM":""); 
     1182      } 
     1183    } else 
     1184      printf("ERROR: Can't get TEMP%d data!\n", i+1); 
     1185    free_the_label(&label); 
     1186  } 
    12551187 
    12561188  if (!sensors_get_label_and_valid(*name,SENSORS_ADM1025_VID,&label,&valid) && 
     
    12601192      printf("%+6.2f V\n",cur); 
    12611193    } 
    1262   } 
     1194  } else 
     1195    printf("ERROR: Can't get VID data!\n"); 
    12631196  free_the_label(&label); 
    12641197}