Package oshi.util

Class EdidUtil

java.lang.Object
oshi.util.EdidUtil

@ThreadSafe
public final class EdidUtil
extends java.lang.Object
EDID parsing utility.
  • Method Summary

    Modifier and Type Method Description
    static java.lang.String getDescriptorRangeLimits​(byte[] desc)
    Parse descriptor range limits
    static byte[][] getDescriptors​(byte[] edid)
    Get the VESA descriptors
    static java.lang.String getDescriptorText​(byte[] desc)
    Parse descriptor text
    static int getDescriptorType​(byte[] desc)
    Get the VESA descriptor type
    static int getHcm​(byte[] edid)
    Get monitor width in cm
    static java.lang.String getManufacturerID​(byte[] edid)
    Gets the Manufacturer ID from (up to) 3 5-bit characters in bytes 8 and 9
    static java.lang.String getProductID​(byte[] edid)
    Gets the Product ID, bytes 10 and 11
    static java.lang.String getSerialNo​(byte[] edid)
    Gets the Serial number, bytes 12-15
    static java.lang.String getTimingDescriptor​(byte[] desc)
    Parse a detailed timing descriptor
    static int getVcm​(byte[] edid)
    Get monitor height in cm
    static java.lang.String getVersion​(byte[] edid)
    Return the EDID version
    static byte getWeek​(byte[] edid)
    Return the week of year of manufacture
    static int getYear​(byte[] edid)
    Return the year of manufacture
    static boolean isDigital​(byte[] edid)
    Test if this EDID is a digital monitor based on byte 20
    static java.lang.String toString​(byte[] edid)
    Parse an EDID byte array into user-readable information

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getManufacturerID

      public static java.lang.String getManufacturerID​(byte[] edid)
      Gets the Manufacturer ID from (up to) 3 5-bit characters in bytes 8 and 9
      Parameters:
      edid - The EDID byte array
      Returns:
      The manufacturer ID
    • getProductID

      public static java.lang.String getProductID​(byte[] edid)
      Gets the Product ID, bytes 10 and 11
      Parameters:
      edid - The EDID byte array
      Returns:
      The product ID
    • getSerialNo

      public static java.lang.String getSerialNo​(byte[] edid)
      Gets the Serial number, bytes 12-15
      Parameters:
      edid - The EDID byte array
      Returns:
      If all 4 bytes represent alphanumeric characters, a 4-character string, otherwise a hex string.
    • getWeek

      public static byte getWeek​(byte[] edid)
      Return the week of year of manufacture
      Parameters:
      edid - The EDID byte array
      Returns:
      The week of year
    • getYear

      public static int getYear​(byte[] edid)
      Return the year of manufacture
      Parameters:
      edid - The EDID byte array
      Returns:
      The year of manufacture
    • getVersion

      public static java.lang.String getVersion​(byte[] edid)
      Return the EDID version
      Parameters:
      edid - The EDID byte array
      Returns:
      The EDID version
    • isDigital

      public static boolean isDigital​(byte[] edid)
      Test if this EDID is a digital monitor based on byte 20
      Parameters:
      edid - The EDID byte array
      Returns:
      True if the EDID represents a digital monitor, false otherwise
    • getHcm

      public static int getHcm​(byte[] edid)
      Get monitor width in cm
      Parameters:
      edid - The EDID byte array
      Returns:
      Monitor width in cm
    • getVcm

      public static int getVcm​(byte[] edid)
      Get monitor height in cm
      Parameters:
      edid - The EDID byte array
      Returns:
      Monitor height in cm
    • getDescriptors

      public static byte[][] getDescriptors​(byte[] edid)
      Get the VESA descriptors
      Parameters:
      edid - The EDID byte array
      Returns:
      A 2D array with four 18-byte elements representing VESA descriptors
    • getDescriptorType

      public static int getDescriptorType​(byte[] desc)
      Get the VESA descriptor type
      Parameters:
      desc - An 18-byte VESA descriptor
      Returns:
      An integer representing the first four bytes of the VESA descriptor
    • getTimingDescriptor

      public static java.lang.String getTimingDescriptor​(byte[] desc)
      Parse a detailed timing descriptor
      Parameters:
      desc - An 18-byte VESA descriptor
      Returns:
      A string describing part of the detailed timing descriptor
    • getDescriptorRangeLimits

      public static java.lang.String getDescriptorRangeLimits​(byte[] desc)
      Parse descriptor range limits
      Parameters:
      desc - An 18-byte VESA descriptor
      Returns:
      A string describing some of the range limits
    • getDescriptorText

      public static java.lang.String getDescriptorText​(byte[] desc)
      Parse descriptor text
      Parameters:
      desc - An 18-byte VESA descriptor
      Returns:
      Plain text starting at the 4th byte
    • toString

      public static java.lang.String toString​(byte[] edid)
      Parse an EDID byte array into user-readable information
      Parameters:
      edid - An EDID byte array
      Returns:
      User-readable text represented by the EDID