diff --git a/prog/sensors/chips.c b/prog/sensors/chips.c index 43850f9e..e3a2bd6b 100644 --- a/prog/sensors/chips.c +++ b/prog/sensors/chips.c @@ -4073,6 +4073,61 @@ void print_adm1026(const sensors_chip_name *name) } +void print_lm83(const sensors_chip_name *name) +{ + char *label; + double cur,high; + int valid; + + if (!sensors_get_label_and_valid(*name,SENSORS_LM83_LOCAL_TEMP,&label,&valid) && + !sensors_get_feature(*name,SENSORS_LM83_LOCAL_TEMP,&cur) && + !sensors_get_feature(*name,SENSORS_LM83_LOCAL_HIGH,&high)) { + if (valid) { + print_label(label,10); + print_temp_info( cur, high, 0, MAXONLY, 0, 0); + printf( "\n" ); + } + } else + printf("ERROR: Can't get local temperature data!\n"); + free_the_label(&label); + + if (!sensors_get_label_and_valid(*name,SENSORS_LM83_REMOTE1_TEMP,&label,&valid) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE1_TEMP,&cur) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE1_HIGH,&high)) { + if (valid) { + print_label(label,10); + print_temp_info( cur, high, 0, MAXONLY, 0, 0); + printf( "\n" ); + } + } else + printf("ERROR: Can't get remote temperature 1 data!\n"); + free_the_label(&label); + + if (!sensors_get_label_and_valid(*name,SENSORS_LM83_REMOTE2_TEMP,&label,&valid) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE2_TEMP,&cur) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE2_HIGH,&high)) { + if (valid) { + print_label(label,10); + print_temp_info( cur, high, 0, MAXONLY, 0, 0); + printf( "\n" ); + } + } else + printf("ERROR: Can't get remote temperature 2 data!\n"); + free_the_label(&label); + + if (!sensors_get_label_and_valid(*name,SENSORS_LM83_REMOTE3_TEMP,&label,&valid) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE3_TEMP,&cur) && + !sensors_get_feature(*name,SENSORS_LM83_REMOTE3_HIGH,&high)) { + if (valid) { + print_label(label,10); + print_temp_info( cur, high, 0, MAXONLY, 0, 0); + printf( "\n" ); + } + } else + printf("ERROR: Can't get remote temperature 3 data!\n"); + free_the_label(&label); +} + void print_unknown_chip(const sensors_chip_name *name) { int a,b,valid; diff --git a/prog/sensors/chips.h b/prog/sensors/chips.h index aaa9d0ab..1c0a5d5c 100644 --- a/prog/sensors/chips.h +++ b/prog/sensors/chips.h @@ -52,5 +52,6 @@ extern void print_smsc47m1(const sensors_chip_name *name); extern void print_lm92(const sensors_chip_name *name); extern void print_vt8231(const sensors_chip_name *name); extern void print_bmc(const sensors_chip_name *name); +extern void print_lm83(const sensors_chip_name *name); #endif /* def PROG_SENSORS_CHIPS_H */ diff --git a/prog/sensors/main.c b/prog/sensors/main.c index ea80d812..6058bf2d 100644 --- a/prog/sensors/main.c +++ b/prog/sensors/main.c @@ -368,6 +368,8 @@ void do_a_print(sensors_chip_name name) print_bmc(&name); else if (!strcmp(name.prefix,"adm1026")) print_adm1026(&name); + else if (!strcmp(name.prefix,"lm83")) + print_lm83(&name); else print_unknown_chip(&name); printf("\n");