Skip to main content

II2cControllerProvider Interface

NuGet: GHIElectronics.TinyCLR.Devices.I2c
Assembly: GHIElectronics.TinyCLR.Devices.I2c
Namespace: GHIElectronics.TinyCLR.Devices.I2c.Provider

Provider contract for an I²C controller.

public interface II2cControllerProvider : IDisposable

Properties

WriteBufferSize

int WriteBufferSize { get; set; }

Slave-mode only: size in bytes of the controller's outgoing buffer.

ReadBufferSize

int ReadBufferSize { get; set; }

Slave-mode only: size in bytes of the controller's incoming buffer.

BytesToWrite

int BytesToWrite { get; }

Slave-mode only: bytes currently queued to transmit.

BytesToRead

int BytesToRead { get; }

Slave-mode only: bytes currently available to read.

Timeout

TimeSpan Timeout { get; set; }

Maximum time the controller will block on a single transfer.

Methods

ClearWriteBuffer()

void ClearWriteBuffer()

Slave-mode only: empties the controller's outgoing buffer.

ClearReadBuffer()

void ClearReadBuffer()

Slave-mode only: empties the controller's incoming buffer.

SetActiveSettings(I2cConnectionSettings connectionSettings)

void SetActiveSettings(I2cConnectionSettings connectionSettings)

Applies the given settings before the next transfer.

WriteRead(byte[] writeBuffer, int writeOffset, int writeLength, byte[] readBuffer, int readOffset, int readLength, out int written, out int read)

I2cTransferStatus WriteRead(byte[] writeBuffer, int writeOffset, int writeLength, byte[] readBuffer, int readOffset, int readLength, out int written, out int read)

Performs a write-then-read transaction.

Returns I2cTransferStatus

Events

FrameReceived

event FrameReceivedEventHandler FrameReceived

Slave-mode only: raised when a master frame addressed to this slave is observed.

ErrorReceived

event ErrorReceivedEventHandler ErrorReceived

Slave-mode only: raised when the controller detects a bus error.