[][src]Struct i2cdev::linux::LinuxI2CDevice

pub struct LinuxI2CDevice { /* fields omitted */ }

Methods

impl LinuxI2CDevice[src]

pub fn new<P: AsRef<Path>>(
    path: P,
    slave_address: u16
) -> Result<LinuxI2CDevice, LinuxI2CError>
[src]

Create a new I2CDevice for the specified path

pub fn set_slave_address(
    &mut self,
    slave_address: u16
) -> Result<(), LinuxI2CError>
[src]

Set the slave address for this device

Typically the address is expected to be 7-bits but 10-bit addresses may be supported by the kernel driver in some cases. Little validation is done in Rust as the kernel is good at making sure things are valid.

Note that if you have created a device using I2Device::new(...) it is not necesasry to call this method (it is done internally). Calling this method is only necessary if you need to change the slave device and you do not want to create a new device.

Trait Implementations

impl I2CDevice for LinuxI2CDevice[src]

type Error = LinuxI2CError

fn read(&mut self, data: &mut [u8]) -> Result<(), LinuxI2CError>[src]

Read data from the device to fill the provided slice

fn write(&mut self, data: &[u8]) -> Result<(), LinuxI2CError>[src]

Write the provided buffer to the device

fn smbus_write_quick(&mut self, bit: bool) -> Result<(), LinuxI2CError>[src]

This sends a single bit to the device, at the place of the Rd/Wr bit

fn smbus_read_byte(&mut self) -> Result<u8, LinuxI2CError>[src]

Read a single byte from a device, without specifying a device 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.

fn smbus_write_byte(&mut self, value: u8) -> Result<(), LinuxI2CError>[src]

Write a single byte to a sdevice, without specifying a device register

This is the opposite operation as smbus_read_byte. As with read_byte, no register is specified.

fn smbus_read_byte_data(&mut self, register: u8) -> Result<u8, LinuxI2CError>[src]

Read a single byte from a device, from a designated register

The register is specified through the Comm byte.

fn smbus_write_byte_data(
    &mut self,
    register: u8,
    value: u8
) -> Result<(), LinuxI2CError>
[src]

Write a single byte to a specific register on a device

The register is specified through the Comm byte.

fn smbus_read_word_data(&mut self, register: u8) -> Result<u16, LinuxI2CError>[src]

Read 2 bytes form a given register on a device

fn smbus_write_word_data(
    &mut self,
    register: u8,
    value: u16
) -> Result<(), LinuxI2CError>
[src]

Write 2 bytes to a given register on a device

fn smbus_process_word(
    &mut self,
    register: u8,
    value: u16
) -> Result<u16, LinuxI2CError>
[src]

Select a register, send 16 bits of data to it, and read 16 bits of data

fn smbus_read_block_data(
    &mut self,
    register: u8
) -> Result<Vec<u8>, LinuxI2CError>
[src]

Read a block of up to 32 bytes from a device

The actual number of bytes available to read is returned in the count byte. This code returns a correctly sized vector containing the count bytes read from the device.

fn smbus_read_i2c_block_data(
    &mut self,
    register: u8,
    len: u8
) -> Result<Vec<u8>, LinuxI2CError>
[src]

Read a block of up to 32 bytes from a device via i2c_smbus_i2c_read_block_data

fn smbus_write_block_data(
    &mut self,
    register: u8,
    values: &[u8]
) -> Result<(), LinuxI2CError>
[src]

Write a block of up to 32 bytes to a device

The opposite of the Block Read command, this writes up to 32 bytes to a device, to a designated register that is specified through the Comm byte. The amount of data is specified in the Count byte.

fn smbus_write_i2c_block_data(
    &mut self,
    register: u8,
    values: &[u8]
) -> Result<(), LinuxI2CError>
[src]

Write a block of up to 32 bytes from a device via i2c_smbus_i2c_write_block_data

fn smbus_process_block(
    &mut self,
    register: u8,
    values: &[u8]
) -> Result<Vec<u8>, LinuxI2CError>
[src]

Select a register, send 1 to 31 bytes of data to it, and reads 1 to 31 bytes of data from it.

impl AsRawFd for LinuxI2CDevice[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]