Struct i2c_linux::I2c [] [src]

pub struct I2c<I> { /* fields omitted */ }

A safe wrapper around an I2C device.

Methods

impl I2c<File>
[src]

[src]

Open an I2C device

impl<I> I2c<I>
[src]

[src]

Creates a new I2C handle with the given file descriptor

[src]

Consumes the I2C handle to return the inner file descriptor.

Important traits for &'a mut W
[src]

Borrows the inner file descriptor.

Important traits for &'a mut W
[src]

Mutably borrows the inner file descriptor.

impl<I: AsRawFd> I2c<I>
[src]

[src]

Sets the number of times to retry communication before failing.

[src]

Sets a timeout for I2C operations

[src]

Set the slave address to communicate with.

[src]

Enable or disable SMBus Packet Error Checking.

[src]

Retrieve the capabilities of the I2C device. These should be checked before attempting to use certain SMBus commands or I2C flags.

[src]

i2c_transfer capabilities of the I2C device. These should be checked before attempting to use any of the protocol mangling flags.

[src]

Executes a queue of I2C transfers, separated by repeat START conditions. Data buffers are truncated to the actual read length on completion.

See the I2C_RDWR ioctl for more information.

[src]

Sends a single bit to the device, in the place of the Rd/Wr address bit.

[src]

Reads a single byte from a device without specifying a register.

Some devices are so simple that this interface is enough; for others, it is a shorthand if you want to read the same register as in the previous SMBus command.

[src]

Sends a single byte to a device.

[src]

Reads a single byte from a device from the designated register.

[src]

Writes a single byte to a device to the designated register.

[src]

Reads a 16-bit word from the device register.

[src]

Writes a 16-bit word to the device register.

[src]

Selects a device register, sends a 16-bit word to it, and read 16-bits of data in return.

[src]

Read up to 32 bytes from the designated device register.

Returns the amount of data read.

[src]

Write up to 32 bytes to the designated device register.

[src]

Sends up to 31 bytes of data to the designated device register, and reads up to 31 bytes in return.

This was introduced in SMBus 2.0

[src]

Reads a block of bytes from the designated device register.

Unlike smbus_read_block_data this does not receive a data length. This is limited to 32 bytes due to the use of the Linux SMBus interface. Use i2c_transfer() if more data is needed. write()+read() may also be an option, though will produce an I2C STOP condition between the transfers, which may be undesirable.

[src]

Writes a block of bytes from the designated device register.

Unlike smbus_write_block_data this does not transfer the data length. This is limited to 32 bytes due to the use of the Linux SMBus interface. Use i2c_transfer() or write() instead if more data is needed.

Trait Implementations

impl<I: AsRawFd> AsRawFd for I2c<I>
[src]

[src]

Extracts the raw file descriptor. Read more

impl<I: IntoRawFd> IntoRawFd for I2c<I>
[src]

[src]

Consumes this object, returning the raw underlying file descriptor. Read more

impl FromRawFd for I2c<File>
[src]

[src]

Constructs a new instance of Self from the given raw file descriptor. Read more

impl<I: Read> Read for I2c<I>
[src]

[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

1.0.0
[src]

Read all bytes until EOF in this source, placing them into buf. Read more

1.0.0
[src]

Read all bytes until EOF in this source, appending them to buf. Read more

1.6.0
[src]

Read the exact number of bytes required to fill buf. Read more

Important traits for &'a mut W
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Read. Read more

Important traits for Bytes<R>
1.0.0
[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

Important traits for Chars<R>
[src]

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an [Iterator] over [char]s. Read more

Important traits for Chain<T, U>
1.0.0
[src]

Creates an adaptor which will chain this stream with another. Read more

Important traits for Take<T>
1.0.0
[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<I: Write> Write for I2c<I>
[src]

[src]

Write a buffer into this object, returning how many bytes were written. Read more

[src]

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

1.0.0
[src]

Attempts to write an entire buffer into this write. Read more

1.0.0
[src]

Writes a formatted string into this writer, returning any error encountered. Read more

Important traits for &'a mut W
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Auto Trait Implementations

impl<I> !Send for I2c<I>

impl<I> !Sync for I2c<I>