Список разделов >> Архив оффтопика: «Пока вы тут фигней маетесь,я вот чего нарыл.Это типа...»
|

Sergant
|
... доступ к DDC интерфейсу.: Implementing the I2C Interface
The I2C_OPEN function that the miniVDD exports to the slave minidriver opens or closes a channel for the slave minidriver to use when communicating with the I2C bus. The slave passes a pointer to its DEVICE_OBJECT, a flag indicating if the call is to open or close a channel, and a pointer to a I2CControl structure. The I2CControl structure contains information that the miniVDD needs to identify the channel and process commands for the I2C bus. This structure is defined in the I2C.h include file.
The following example shows a partial implementation of an I2C_OPEN function. You should add the code required to open and close a channel for your particular hardware.
NTSTATUS
STDMETHODCALLTYPE
I2C_OPEN(PDEVICE_OBJECT DO,
ULONG OpenClose,
PI2CControl TheControl)
{
if(OpenClose) // True means open the channel
{
// Put a unique identifier in the Cookie field
TheControl->Cookie = inc(Unique);
}
else // Close the channel
{
}
}
The I2C_ACCESS function sends and receives data using the I2C bus. Its arguments are the DEVICE_OBJECT of the slave minidriver and the I2CControl structure used with the I2C_OPEN call. The Command member of the I2CControl structure indicates the action to take. The following example shows the basic structure of a I2C_ACCESS function. You should add the code that controls that I2C bus for your particular hardware where indicated.
NTSTATUS
STDMETHODCALLTYPE
I2C_ACCESS(PDEVICE_OBJECT DO,
PI2CControl TheControl)
{
switch(TheControl->Command)
{
case I2C_COMMAND_READ:
// Read a byte from the I2C bus and put it in
// TheControl->Data
break;
case I2C_COMMAND_WRITE:
// Send the byte in TheControl->Data to the I2C bus
break;
}
}
|
Пн Сен 09, 2002 5:38 pm
| ссылка
|
|
|
|

Sergant
|
Т.е. поковырял MSDN и нарыл целую кучу команд для работы и с DDC.Причем драйвер ,в 98-ых,уже сидит в памяти.Надо только потолкать его нужным образом )))
|
Пн Сен 09, 2002 5:43 pm
| ссылка
|
|
|
|

krikus
|
Чо?! АААААААААааа ушел уже....
|
Пн Сен 09, 2002 7:14 pm
| ссылка
|
|
|
|

ВладБ
|
Sergant, переведи для тупых MSDN это что? Команды DDC универсальны или для каждого процессора свои?
|
Вт Сен 10, 2002 4:05 am
| ссылка
|
|
|
|

Sergant
|
MSDN-это типа такого ох..го хелпа по всему ,что написанно фирмой мелкомягких.DDC-это не команды,это Дисплей Дата Ченел.Короче,канал для обмена данными с монитором по i2c.
Причем спецификация DDC2-это двунапраленный канал.Т.е. можно и в монитор писать чего нибудь.
|
Вт Сен 10, 2002 8:48 am
| ссылка
|
|
|
|

rezident
|
Серега, кончай "грузить" народ У тебя конкретно уже получилось чего-нибудь записать/прочитать через видюху или нет?
|
Вт Сен 10, 2002 8:49 am
| ссылка
|
|
|
|

Sergant
|
Я только вчера вечером на это наткнулся.Есть подозрение,что эта фишка универсальна.
Это видно по виндам.Когда драйвера на видюху не установленны,винда не может монитор определить.Как только прописали-сразу находит монитор и общается с ним.Я думаю,что все AGP карточки имеют спецификацию DDC2.
|
Вт Сен 10, 2002 8:53 am
| ссылка
|
|
|
|

Sergant
|
Если я сумею чего нибудь прочитать записать,а еще более -получу этот канал для полного пользования,то PCF можно будет прибить на стенку
|
Вт Сен 10, 2002 8:55 am
| ссылка
|
|
|
|

rezident
|
Спецификацию DDC-2B (именно B) должен иметь монитор, а не только видеокарта. Потому как 21LC211 имеет DDC-1, DDC-2, DDC-2B. Однако прописать туда ты не сможешь ИМХО. Другое дело когда секция Plug&Play прямо в проце лежит. Тут пробовать надо.
|
Вт Сен 10, 2002 9:06 am
| ссылка
|
|
|
|

rezident
|
Поправка. 24LC21(1) конечно же.
|
Вт Сен 10, 2002 9:07 am
| ссылка
|
|
|
|

ВладБ
|
Какие мониторы понимают этот протокол?
|
Вт Сен 10, 2002 9:46 am
| ссылка
|
|
|
|

Sergant
|
Да наплевать,что умеет монитор,а что нет.Мне два провода из кабеля нужны,чтобы к i2c цепляться ))
|
Вт Сен 10, 2002 9:49 am
| ссылка
|
|
|
|

ВладБ
|
Не, ты всетаки скажи каким образом ты заставишь процессор выполнять твои команды?
|
Вт Сен 10, 2002 9:55 am
| ссылка
|
|
|
|

ВладБ
|
Как я понимаю нужно заранее знать их чтобы передавать. Ведь просто так шину не промониторишь
|
Вт Сен 10, 2002 9:58 am
| ссылка
|
|
|
|

Sergant
|
Судя по тому,что я нарыл,вместо PCF будем видео карту юзать.
Вот например структурка )
typedef struct _I2CControl {
ULONG Command; // I2C_COMMAND_*
DWORD dwCookie; // Context identifier returned on
BYTE Data; // Data to write, or returned byte
BYTE Reserved[3]; // Filler
ULONG Flags; // I2C_FLAGS_*
ULONG Status; // I2C_STATUS_*
ULONG ClockRate; // Bus clockrate in Hz.
} I2CControl, *PI2CControl;
И вообще непонятно про какие команды речь идет.
Если про Softjig,то команды можно Портом3 просканирить.
|
Вт Сен 10, 2002 10:07 am
| ссылка
|
|
|
|
Список разделов -> Архив оффтопика: «Пока вы тут фигней маетесь,я вот чего нарыл.Это типа...» |
Powered by phpBB © 2001, 2002 phpBB Group
|