Show
Ignore:
Timestamp:
01/30/00 02:20:51 (13 years ago)
Author:
mds
Message:

(mds) added simple eeprom and ddcmon support to sensors and libsensors.

Files:
1 modified

Legend:

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

    r682 r716  
    14331433} 
    14341434 
     1435void print_ddcmon(const sensors_chip_name *name) 
     1436{ 
     1437        char  *label = NULL; 
     1438        double a, b; 
     1439        int    valid, i; 
     1440        char  s[8]; 
     1441         
     1442   if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_ID, &label,&valid) && 
     1443       !sensors_get_feature(*name, SENSORS_DDCMON_ID, &a)) { 
     1444      if (valid) { 
     1445        i = (int) a;     
     1446        s[0] = ((i >> 10) & 0x1f) | 0x40; 
     1447        s[1] = ((i >> 5) & 0x1f) | 0x40; 
     1448        s[2] = (i & 0x1f) | 0x40; 
     1449        s[3] = ((i >> 20) & 0x0f) + '0'; 
     1450        s[4] = ((i >> 16) & 0x0f) + '0'; 
     1451        s[5] = ((i >> 28) & 0x0f) + '0'; 
     1452        s[6] = ((i >> 24) & 0x0f) + '0'; 
     1453        s[7] = 0; 
     1454         print_label(label, 24); 
     1455         printf("%s\n", s); 
     1456      } 
     1457   } else 
     1458      printf("ERROR: data 1\n"); 
     1459   free_the_label(&label); 
     1460 
     1461   if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_SERIAL, &label,&valid) && 
     1462       !sensors_get_feature(*name, SENSORS_DDCMON_SERIAL, &a)) { 
     1463      if (valid) { 
     1464         print_label(label, 24); 
     1465         printf("%d\n", (int) a); 
     1466      } 
     1467   } else 
     1468      printf("ERROR: data 2\n"); 
     1469   free_the_label(&label); 
     1470 
     1471   if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSIZE, &label,&valid) && 
     1472       !sensors_get_feature(*name, SENSORS_DDCMON_VERSIZE, &a) && 
     1473       !sensors_get_feature(*name, SENSORS_DDCMON_HORSIZE, &b)) { 
     1474      if (valid) { 
     1475         print_label(label, 24); 
     1476         printf("%dx%d\n", (int) a, (int) b); 
     1477      } 
     1478   } else 
     1479      printf("ERROR: data 3\n"); 
     1480   free_the_label(&label); 
     1481 
     1482   if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSYNCMIN, &label,&valid) && 
     1483       !sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMIN, &a) && 
     1484       !sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMAX, &b)) { 
     1485      if (valid) { 
     1486         print_label(label, 24); 
     1487         printf("%d-%d\n", (int) a, (int) b); 
     1488      } 
     1489   } else 
     1490      printf("ERROR: data 4\n"); 
     1491   free_the_label(&label); 
     1492 
     1493   if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_HORSYNCMIN, &label,&valid) && 
     1494       !sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMIN, &a) && 
     1495       !sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMAX, &b)) { 
     1496      if (valid) { 
     1497         print_label(label, 24); 
     1498         printf("%d-%d\n", (int) a, (int) b); 
     1499      } 
     1500   } else 
     1501      printf("ERROR: data 5\n"); 
     1502   free_the_label(&label); 
     1503 
     1504} 
     1505 
     1506void print_eeprom(const sensors_chip_name *name) 
     1507{ 
     1508        char  *label = NULL; 
     1509        double a, b, c; 
     1510        int    valid, i; 
     1511 
     1512   if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_TYPE, &label,&valid) && 
     1513       !sensors_get_feature(*name, SENSORS_EEPROM_TYPE, &a)) { 
     1514      if (valid) { 
     1515        if(((int) a) != 4)       
     1516            return; 
     1517         print_label(label, 24); 
     1518         printf("SDRAM DIMM SPD\n"); 
     1519      } 
     1520   } else 
     1521      printf("ERROR: data 1\n"); 
     1522   free_the_label(&label); 
     1523 
     1524   if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_ROWADDR, &label,&valid) && 
     1525       !sensors_get_feature(*name, SENSORS_EEPROM_ROWADDR, &a) && 
     1526       !sensors_get_feature(*name, SENSORS_EEPROM_COLADDR, &b) && 
     1527       !sensors_get_feature(*name, SENSORS_EEPROM_NUMROWS, &c)) { 
     1528      if (valid) { 
     1529         print_label(label, 24); 
     1530         i = (((int) a) & 0x0f) + (((int) b) & 0x0f) + ((int) c) - 16; 
     1531         if(i > 0 && i <= 10) 
     1532                 printf("%d\n", 1 << i); 
     1533         else 
     1534                 printf("invalid\n"); 
     1535      } 
     1536   } else 
     1537      printf("ERROR: data 2\n"); 
     1538   free_the_label(&label); 
     1539 
     1540} 
     1541 
    14351542void print_unknown_chip(const sensors_chip_name *name) 
    14361543{