Skip to main content

II2cControllerProvider Interface

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

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.

ParameterTypeDescription
connectionSettingsI2cConnectionSettings

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.

ParameterTypeDescription
writeBufferbyte[]
writeOffsetint
writeLengthint
readBufferbyte[]
readOffsetint
readLengthint
writtenout int
readout int

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.