Latest news: September 2, 2010
Advanced WiFi-Manager v4.6 released!
June 18, 2010
Advanced WiFi-Manager v4.5 released!
June 9, 2010
WinI2C/DDC v3.71 released!
| | |
|
WinI2C/DDC: Developer's Guide
|
WinI2C/DDC Structures
EDISP structure:
typedef struct _EDISP
{
ULONG ID;
UCHAR EDID[0x100];
char Description[0x20];
I2CINVOKE Invoke;
_EDISP *Next;
} EDISP, *PEDISP;
This structure is used for available monitors enumeration, also pointer to this structure is used in all functions as ID of a monitor.
Fields description:
ID - ID of the display, (may be not not unique, unique must be whole record).
EDID - buffer 256 bytes for EDID, after enumeration this field contains EDID.
Description - model of monitor (from EDID).
Invoke - a basic function for DDC access for this monitor. All functions use it internally to access DDC bus.
BOOL Invoke(I2CFRAME Frame);
Next - a pointer to next monitor's record.
I2CFRAME structure:
typedef struct _I2CFRAME
{
ULONG DeviceID;
UCHAR Addr;
ULONG Command;
ULONG Length;
ULONG Status;
UCHAR Buffer[256];
} I2CFRAME, *PI2CFRAME;
This structure is used in all functions internally for calling Invoke function of EDISP structure to access DDC bus. You will not need this structure in most cases.
Fields description:
DeviceID - ID field of EDISP structure.
Addr - address on DDC bus.
Command - available following commands: I2C_READ and I2C_WRITE. For non-ATI cards you can use I2C_RESET as well.
It is possible to combine these commands with NO_STOP_BIT with OR ( | ).
Length - length of the data, must be <= 255.
Status - status of the operation.
Buffer - data buffer.
|
|