Ссылка 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 );Параметры
framebufferio_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Минимальная задержка как абсолютное время между отправляет и отвечает транзакциям.
sendAddressI2C адресуется к записи.
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.
