mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-01 13:20:30 +00:00
Added support for LM93.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2684 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
3d08e7b625
commit
b3945a5625
3 files changed
+129
No files matched your search
@@ -5045,6 +5045,133 @@ void print_asb100(const sensors_chip_name *name)
|
||||
|
||||
}
|
||||
|
||||
/* happens to be similar to asb100*/
|
||||
#define PRINT_LM93_IN(num, name, alarms) \
|
||||
print_asb100_in((name), ((alarms) & LM93_ALARM_IN##num), \
|
||||
(SENSORS_LM93_IN##num), \
|
||||
(SENSORS_LM93_IN##num##_MIN), \
|
||||
(SENSORS_LM93_IN##num##_MAX))
|
||||
|
||||
/* print_lm93_fan()
|
||||
* where fan and fan_min are sensors feature IDs
|
||||
*/
|
||||
static void print_lm93_fan(const sensors_chip_name *name, int alarm,
|
||||
int fan, int fan_min)
|
||||
{
|
||||
char *label = NULL;
|
||||
double cur, min;
|
||||
int valid;
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,fan,&label,&valid) &&
|
||||
!sensors_get_feature(*name,fan,&cur) &&
|
||||
!sensors_get_feature(*name,fan_min,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM) %s\n",
|
||||
cur, min, alarm ? "ALARM" : "");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN data! (0x%04x)\n", fan);
|
||||
free_the_label(&label);
|
||||
}
|
||||
|
||||
#define PRINT_LM93_FAN(num, name, alarms) \
|
||||
print_lm93_fan((name), ((alarms) & LM93_ALARM_FAN##num), \
|
||||
(SENSORS_LM93_FAN##num), \
|
||||
(SENSORS_LM93_FAN##num##_MIN))
|
||||
|
||||
/* print_lm93_temp()
|
||||
* where temp, temp_min, and temp_max are sensors feature IDs
|
||||
*/
|
||||
static void print_lm93_temp(const sensors_chip_name *name, int alarm,
|
||||
int temp, int temp_min, int temp_max)
|
||||
{
|
||||
char *label = NULL;
|
||||
double cur, min, max;
|
||||
int valid;
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,temp,&label,&valid) &&
|
||||
!sensors_get_feature(*name,temp,&cur) &&
|
||||
!sensors_get_feature(*name,temp_min,&min) &&
|
||||
!sensors_get_feature(*name,temp_max,&max)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
print_temp_info(cur, max, min, MINMAX, 0, 0);
|
||||
printf(" %s\n", alarm ? "ALARM" : "");
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get TEMP data! (0x%04x)\n", temp);
|
||||
|
||||
free_the_label(&label);
|
||||
}
|
||||
|
||||
#define PRINT_LM93_TEMP(num, name, alarms) \
|
||||
print_lm93_temp((name), ((alarms) & LM93_ALARM_TEMP##num), \
|
||||
(SENSORS_LM93_TEMP##num), \
|
||||
(SENSORS_LM93_TEMP##num##_MIN), \
|
||||
(SENSORS_LM93_TEMP##num##_MAX))
|
||||
|
||||
/* print_lm93_vid()
|
||||
* where vid is a sensors feature ID
|
||||
*/
|
||||
static void print_lm93_vid(const sensors_chip_name *name, int vid)
|
||||
{
|
||||
char *label = NULL;
|
||||
double cur;
|
||||
int valid;
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,vid,&label,&valid) &&
|
||||
!sensors_get_feature(*name,vid,&cur)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%+5.3f V\n",cur);
|
||||
}
|
||||
} else {
|
||||
printf("ERROR: Can't get VID data! (0x%04x)\n", vid);
|
||||
}
|
||||
free_the_label(&label);
|
||||
}
|
||||
|
||||
void print_lm93(const sensors_chip_name *name)
|
||||
{
|
||||
double cur;
|
||||
int alarms = 0;
|
||||
|
||||
if (!sensors_get_feature(*name,SENSORS_LM93_ALARMS,&cur))
|
||||
alarms = cur + 0.5;
|
||||
else
|
||||
printf("ERROR: Can't get alarm data!\n");
|
||||
|
||||
PRINT_LM93_IN(1, name, alarms);
|
||||
PRINT_LM93_IN(2, name, alarms);
|
||||
PRINT_LM93_IN(3, name, alarms);
|
||||
PRINT_LM93_IN(4, name, alarms);
|
||||
PRINT_LM93_IN(5, name, alarms);
|
||||
PRINT_LM93_IN(6, name, alarms);
|
||||
PRINT_LM93_IN(7, name, alarms);
|
||||
PRINT_LM93_IN(8, name, alarms);
|
||||
PRINT_LM93_IN(9, name, alarms);
|
||||
PRINT_LM93_IN(10, name, alarms);
|
||||
PRINT_LM93_IN(11, name, alarms);
|
||||
PRINT_LM93_IN(12, name, alarms);
|
||||
PRINT_LM93_IN(13, name, alarms);
|
||||
PRINT_LM93_IN(14, name, alarms);
|
||||
PRINT_LM93_IN(15, name, alarms);
|
||||
PRINT_LM93_IN(16, name, alarms);
|
||||
|
||||
PRINT_LM93_FAN(1, name, alarms);
|
||||
PRINT_LM93_FAN(2, name, alarms);
|
||||
PRINT_LM93_FAN(3, name, alarms);
|
||||
PRINT_LM93_FAN(4, name, alarms);
|
||||
|
||||
PRINT_LM93_TEMP(1, name, alarms);
|
||||
PRINT_LM93_TEMP(2, name, alarms);
|
||||
PRINT_LM93_TEMP(3, name, alarms);
|
||||
|
||||
print_lm93_vid(name, SENSORS_LM93_VID1);
|
||||
print_lm93_vid(name, SENSORS_LM93_VID2);
|
||||
}
|
||||
|
||||
void print_unknown_chip(const sensors_chip_name *name)
|
||||
{
|
||||
int a,b,valid;
|
||||
|
||||
@@ -60,6 +60,7 @@ 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);
|
||||
extern void print_lm90(const sensors_chip_name *name);
|
||||
extern void print_lm93(const sensors_chip_name *name);
|
||||
extern void print_max1619(const sensors_chip_name *name);
|
||||
extern void print_xeontemp(const sensors_chip_name *name);
|
||||
extern void print_max6650(const sensors_chip_name *name);
|
||||
|
||||
@@ -431,6 +431,7 @@ struct match matches[] = {
|
||||
{ "asb100", print_asb100 },
|
||||
{ "adm1030", print_adm1031 },
|
||||
{ "adm1031", print_adm1031 },
|
||||
{ "lm93", print_lm93 },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user