Ссылка IOI2CInterface.h
-
Возвращает экземпляр шинного интерфейса I2C, связанного с экземпляром IOFramebuffer / индексная пара шины.
Объявление
Objective C
IOReturn IOFBCopyI2CInterfaceForBus ( io_service_t framebuffer, IOOptionBits bus, io_service_t *interface );
Параметры
bus
Нуль базировал индекс шины на требуемом кадровом буфере.
interface
Интерфейсный экземпляр возвращается. Вызывающая сторона должна выпустить этот экземпляр с IOObjectRelease ().
Возвращаемое значение
Код IOReturn.
Обсуждение
Некоторые графические устройства предоставят доступ к шине I2C, направленной через коннектор дисплея для управления внешними устройствами на той шине. Эта функция возвращает экземпляр шинного интерфейса I2C, связанного с экземпляром IOFramebuffer / индексная пара шины. Число шин I2C доступно от IOFBGetI2CInterfaceCount () вызов. Интерфейс может использоваться с IOI2CInterfaceOpen/Close/SendRequest () вызовы для выполнения транзакций I2C на той шине. Не все графические устройства поддерживают эту функциональность.
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращается количество I2C взаимодействует через интерфейс доступный связанный с экземпляром IOFramebuffer.
Объявление
Objective C
IOReturn IOFBGetI2CInterfaceCount ( io_service_t framebuffer, IOItemCount *count );
Параметры
framebuffer
io_service_t экземпляра IOFramebuffer. CoreGraphics обеспечит это для CGDisplay с CGDisplayIOServicePort () вызов.
count
Интерфейсное количество возвращается.
Возвращаемое значение
Код IOReturn.
Обсуждение
Возвращается количество I2C взаимодействует через интерфейс доступный связанный с экземпляром IOFramebuffer.
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.3 и позже.
-
Закрывает IOI2CConnectRef.
Объявление
Objective C
IOReturn IOI2CInterfaceClose ( IOI2CConnectRef connect, IOOptionBits options );
Параметры
connect
Непрозрачный IOI2CConnectRef, возвращенный IOI2CInterfaceOpen ().
options
Передача kNilOptions.
Возвращаемое значение
Код IOReturn.
Обсуждение
Освобождает ресурсы, связанные с IOI2CConnectRef.
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.3 и позже.
-
Открывает экземпляр шинного интерфейса I2C, позволяя запросам I2C быть сделанным.
Объявление
Objective C
IOReturn IOI2CInterfaceOpen ( io_service_t interface, IOOptionBits options, IOI2CConnectRef *connect );
Параметры
interface
Шинный интерфейс I2C (см. IOFBCopyI2CInterfaceForBus). Интерфейс может быть выпущен после того, как этот вызов выполняется.
options
Передача kNilOptions.
connect
Непрозрачный IOI2CConnectRef возвращается для использования с IOI2CSendRequest () и IOI2CInterfaceClose ().
Возвращаемое значение
Код IOReturn.
Обсуждение
Экземпляр шинного интерфейса I2C, полученного IOFBCopyI2CInterfaceForBus, открыт с этой функцией, позволяющей запросы I2C быть сделанными.
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.3 и позже.
-
Выполняет транзакцию I2C, указанную структурой IOI2CRequest.
Объявление
Objective C
IOReturn IOI2CSendRequest ( IOI2CConnectRef connect, IOOptionBits options, IOI2CRequest *request );
Параметры
connect
Непрозрачный IOI2CConnectRef, возвращенный IOI2CInterfaceOpen ().
options
Передача kNilOptions.
request
Передайте указатель на структуру IOI2CRequest, описывающую запрос. Если асинхронный запрос (с подпрограммой завершения не-NULL) структура запроса должен быть допустимым для жизни запроса.
Возвращаемое значение
Код IOReturn, отражающий только результат запуска транзакции. Если результатом IOI2CSendRequest () является kIOReturnSuccess, результат транзакции I2C возвращается в поле результата структуры запроса.
Обсуждение
Освобождает ресурсы, связанные с IOI2CConnectRef.
Оператор импорта
Objective C
@import IOKit;
Доступность
Доступный в OS X v10.3 и позже.
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Структура, определяющая низкоуровневую синхронизацию для шины I2C.
Объявление
Objective C
struct IOI2CBusTiming { AbsoluteTime bitTimeout; AbsoluteTime byteTimeout; AbsoluteTime acknowledgeTimeout; AbsoluteTime startTimeout; AbsoluteTime holdTime; AbsoluteTime riseFallTime; UInt32 __reservedA[8]; };
Поля
bitTimeout
Максимальное время ведомое устройство может задержаться (путем получения по запросу строки часов низко) единственный разрядный ответ.
byteTimeout
Максимальное время ведомое устройство может задержаться (путем получения по запросу строки часов низко) первый бит ответа байта.
acknowledgeTimeout
Максимальное время для ожидания ведомого устройства для отвечания ACK после записи байта.
startTimeout
Максимальное время для ожидания ведомого устройства для ответа после сигнала запуска.
riseFallTime
Время для ожидания после любого изменения в выходном сигнале.
__reservedA
Обнулить.
Обсуждение
Эта структура используется для указания тайм-аутов и длительности импульса для реализации шины I2C.
-
Структура, определяющая I2C, соединяет шиной транзакцию.
Объявление
Objective C
struct IOI2CRequest { IOOptionBits sendTransactionType; IOOptionBits replyTransactionType; uint32_t sendAddress; uint32_t replyAddress; uint8_t sendSubAddress; uint8_t replySubAddress; uint8_t __reservedA[2]; uint64_t minReplyDelay; IOReturn result; IOOptionBits commFlags; #if defined (__LP64__) uint32_t __padA; #else vm_address_t sendBuffer; #endif uint32_t sendBytes; uint32_t __reservedB[2]; #if defined (__LP64__) uint32_t __padB; #else vm_address_t replyBuffer; #endif uint32_t replyBytes; IOI2CRequestCompletion completion; #if ! defined (__LP64__) uint32_t __padC[5]; #else vm_address_t sendBuffer; vm_address_t replyBuffer; #endif uint32_t __reservedC[10]; #ifdef __ppc__ uint32_t __reservedD; #endif };
Поля
__reservedA
Обнулить.
result
Результат транзакции. Распространенные ошибки являются kIOReturnNoDevice, если нет никакого устройства, отвечающего в данном адресе, kIOReturnUnsupportedMode, если тип транзакции не поддерживается на требуемой шине.
completion
Подпрограмма завершения, которая будет выполняться, когда завершается запрос. Если NULL передается, запрос синхронен, иначе он может выполниться асинхронно.
commFlags
Флаги, изменяющие тип транзакции I2C. Следующие флаги определяются:
Транзакция kIOI2CUseSubAddressCommFlag включает подадрес.
minReplyDelay
Минимальная задержка как абсолютное время между отправляет и отвечает транзакциям.
sendAddress
I2C адресуется к записи.
sendSubAddress
Подадрес I2C для записи.
__reservedB
Обнулить.
sendTransactionType
Следующие типы транзакции определяются для отправить части запроса:
kIOI2CNoTransactionType No отправляют транзакцию для выполнения.
kIOI2CSimpleTransactionType Простое сообщение I2C.
kIOI2CCombinedTransactionType Объединенный формат I2C R / ~ W транзакция.
sendBuffer
Указатель на отправить буфер.
sendBytes
Число байтов для отправки. Набор к фактическим байтам отправил на завершении запроса.
replyAddress
Адрес I2C, из которого можно читать.
replySubAddress
Адрес I2C, из которого можно читать.
__reservedC
Обнулить.
replyTransactionType
Следующие типы транзакции определяются для части ответа запроса:
kIOI2CNoTransactionType Никакая транзакция ответа для выполнения.
kIOI2CSimpleTransactionType Простое сообщение I2C.
сообщение kIOI2CDDCciReplyTransactionType DDC/ci (со встроенной длиной). Посмотрите VESA спецификация DDC/ci.
kIOI2CCombinedTransactionType Объединенный формат I2C R / ~ W транзакция.
replyBuffer
Указатель на буфер ответа.
replyBytes
Макс. байты для ответа (размер replyBuffer). Набор к фактическим байтам получен на завершении запроса.
__reservedD
Обнулить.
Обсуждение
Эта структура используется для запроса транзакции I2C, состоящей из отправить (запись) к и ответ (считанный) из устройства, любой из которых является дополнительным, чтобы быть выполненным атомарно на шине I2C.