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.