diff --git a/prog/sensors/chips.c b/prog/sensors/chips.c index ee27f337..93910420 100644 --- a/prog/sensors/chips.c +++ b/prog/sensors/chips.c @@ -226,8 +226,9 @@ void print_adm1021(const sensors_chip_name *name) } if (alarms & ADM1021_ALARM_RTEMP_HIGH) printf("%sHIGH",i?",":""); - printf(")\n"); + printf(")"); } + printf("\n"); } } else printf("ERROR: Can't get temperature data!\n"); @@ -2740,6 +2741,180 @@ void print_fscpos(const sensors_chip_name *name) free_the_label(&label); } +void print_fscscy(const sensors_chip_name *name) +{ + char *label = NULL; + double voltage, temp, tempmax, state,fan,min_rpm; + int valid; + + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_TEMP1,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1,&temp) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_MAX,&tempmax) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP1_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x01) + printf("\t%+6.2f C (Max = %+6.2f C)\n",temp,tempmax); + else + printf("\tfailed\n"); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_TEMP2,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP2,&temp) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP2_MAX,&tempmax) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP2_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x01) + printf("\t%+6.2f C (Max = %+6.2f C)\n",temp,tempmax); + else + printf("\tfailed\n"); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_TEMP3,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP3,&temp) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP3_MAX,&tempmax) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP3_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x01) + printf("\t%+6.2f C (Max = %+6.2f C)\n",temp,tempmax); + else + printf("\tfailed\n"); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_TEMP4,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP4,&temp) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP4_MAX,&tempmax) && + !sensors_get_feature(*name,SENSORS_FSCSCY_TEMP4_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x01) + printf("\t%+6.2f C (Max = %+6.2f C)\n",temp,tempmax); + else + printf("\tfailed\n"); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN1,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN1,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN1_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN1_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN2,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN2,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN2_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN2_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN3,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN3,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN3_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN3_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN4,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN4,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN4_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN4_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN5,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN5,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN5_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN5_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_FAN6,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN6,&fan) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN6_MIN,&min_rpm) && + !sensors_get_feature(*name,SENSORS_FSCSCY_FAN6_STATE,&state)) { + if (valid) { + print_label(label,10); + if((int) state & 0x02) + printf("\tfaulty\n"); + else if (fan < min_rpm) + printf("\t%6.0f RPM (not present or faulty)\n",fan); + else + printf("\t%6.0f RPM \n",fan); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_VOLTAGE1,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_VOLTAGE1,&voltage)) { + if (valid) { + print_label(label,10); + printf("\t%+6.2f V\n",voltage); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_VOLTAGE2,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_VOLTAGE2,&voltage)) { + if (valid) { + print_label(label,10); + printf("\t%+6.2f V\n",voltage); + } + } + free_the_label(&label); + if (!sensors_get_label_and_valid(*name,SENSORS_FSCSCY_VOLTAGE3,&label,&valid) && + !sensors_get_feature(*name,SENSORS_FSCSCY_VOLTAGE3,&voltage)) { + if (valid) { + print_label(label,10); + printf("\t%+6.2f V\n",voltage); + } + } + 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 3b7347b1..46705d89 100644 --- a/prog/sensors/chips.h +++ b/prog/sensors/chips.h @@ -43,5 +43,6 @@ extern void print_eeprom(const sensors_chip_name *name); extern void print_lm87(const sensors_chip_name *name); extern void print_it87(const sensors_chip_name *name); extern void print_fscpos(const sensors_chip_name *name); +extern void print_fscscy(const sensors_chip_name *name); #endif /* def PROG_SENSORS_CHIPS_H */ diff --git a/prog/sensors/main.c b/prog/sensors/main.c index 06526f8b..a8818827 100644 --- a/prog/sensors/main.c +++ b/prog/sensors/main.c @@ -335,6 +335,8 @@ void do_a_print(sensors_chip_name name) print_eeprom(&name); else if (!strcmp(name.prefix,"fscpos")) print_fscpos(&name); + else if (!strcmp(name.prefix,"fscscy")) + print_fscscy(&name); else print_unknown_chip(&name); printf("\n");