Changeset 1954

Show
Ignore:
Timestamp:
08/09/03 23:21:32 (10 years ago)
Author:
khali
Message:

Add tcrit and alarms support to lm83.

New print_temp_info mode (CRIT, for high+crit).

Files:
1 modified

Legend:

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

    r1950 r1954  
    5454#define MINMAX 1 
    5555#define MAXONLY 2 
     56#define CRIT 3 
    5657/* minmax = 0 for limit/hysteresis, 1 for max/min, 2 for max only; 
    5758   curprec and limitprec are # of digits after decimal point 
     
    8182            curprec, n_cur, degv, 
    8283            limitprec + 4, limitprec, n_over, degv); 
     84   else if(minmax == CRIT) 
     85        printf( "%+6.*f%s  (limit = %+*.*f%s, critical = %+*.*f%s)  ", 
     86            curprec, n_cur, degv, 
     87            limitprec + 4, limitprec, n_over, degv, 
     88            limitprec + 4, limitprec, n_hyst, degv); 
    8389   else /* HYST */ 
    8490        printf( "%+6.*f%s  (limit = %+*.*f%s, hysteresis = %+*.*f%s)", 
     
    42984304{ 
    42994305  char *label; 
    4300   double cur,high; 
    4301   int valid; 
     4306  double cur,high,crit; 
     4307  int valid,alarms; 
     4308 
     4309  if (!sensors_get_feature(*name,SENSORS_LM83_ALARMS,&cur)) 
     4310    alarms = cur + 0.5; 
     4311  else { 
     4312    printf("ERROR: Can't get alarm data!\n"); 
     4313    alarms = 0; 
     4314  } 
     4315 
     4316  if (sensors_get_feature(*name,SENSORS_LM83_TCRIT,&crit)) { 
     4317    printf("ERROR: Can't get tcrit data!\n"); 
     4318    crit = 127; 
     4319  } 
    43024320 
    43034321  if (!sensors_get_label_and_valid(*name,SENSORS_LM83_LOCAL_TEMP,&label,&valid) && 
     
    43064324    if (valid) { 
    43074325      print_label(label,10); 
    4308       print_temp_info( cur, high, 0, MAXONLY, 0, 0); 
    4309       printf( "\n" ); 
     4326      print_temp_info( cur, high, crit, CRIT, 0, 0); 
     4327      printf(" %s\n", 
     4328        alarms&LM83_ALARM_LOCAL_CRIT?"CRITICAL": 
     4329        alarms&LM83_ALARM_LOCAL_HIGH?"ALARM":""); 
    43104330    } 
    43114331  } else 
     
    43184338    if (valid) { 
    43194339      print_label(label,10); 
    4320       print_temp_info( cur, high, 0, MAXONLY, 0, 0); 
    4321       printf( "\n" ); 
     4340      print_temp_info( cur, high, crit, CRIT, 0, 0); 
     4341      printf(" %s\n", 
     4342        alarms&LM83_ALARM_REMOTE1_OPEN?"DISCONNECT": 
     4343        alarms&LM83_ALARM_REMOTE1_CRIT?"CRITICAL": 
     4344        alarms&LM83_ALARM_REMOTE1_HIGH?"ALARM":""); 
    43224345    } 
    43234346  } else 
     
    43304353    if (valid) { 
    43314354      print_label(label,10); 
    4332       print_temp_info( cur, high, 0, MAXONLY, 0, 0); 
    4333       printf( "\n" ); 
     4355      print_temp_info( cur, high, crit, CRIT, 0, 0); 
     4356      printf(" %s\n", 
     4357        alarms&LM83_ALARM_REMOTE2_OPEN?"DISCONNECT": 
     4358        alarms&LM83_ALARM_REMOTE2_CRIT?"CRITICAL": 
     4359        alarms&LM83_ALARM_REMOTE2_HIGH?"ALARM":""); 
    43344360    } 
    43354361  } else 
     
    43424368    if (valid) { 
    43434369      print_label(label,10); 
    4344       print_temp_info( cur, high, 0, MAXONLY, 0, 0); 
    4345       printf( "\n" ); 
     4370      print_temp_info( cur, high, crit, CRIT, 0, 0); 
     4371      printf(" %s\n", 
     4372        alarms&LM83_ALARM_REMOTE3_OPEN?"DISCONNECT": 
     4373        alarms&LM83_ALARM_REMOTE3_CRIT?"CRITICAL": 
     4374        alarms&LM83_ALARM_REMOTE3_HIGH?"ALARM":""); 
    43464375    } 
    43474376  } else