| | 1435 | void 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 | |
| | 1506 | void 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 | |