Struct i2cdev::linux::LinuxI2CDevice
[−]
[src]
pub struct LinuxI2CDevice { /* fields omitted */ }
Methods
impl LinuxI2CDevice
[src]
fn new<P: AsRef<Path>>(
path: P,
slave_address: u16
) -> Result<LinuxI2CDevice, LinuxI2CError>
[src]
path: P,
slave_address: u16
) -> Result<LinuxI2CDevice, LinuxI2CError>
Create a new I2CDevice for the specified path
Trait Implementations
impl AsRawFd for LinuxI2CDevice
[src]
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]
&mut self,
register: u8,
value: u8
) -> Result<(), LinuxI2CError>
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]
&mut self,
register: u8,
value: u16
) -> Result<(), LinuxI2CError>
Write 2 bytes to a given register on a device
fn smbus_process_word(
&mut self,
register: u8,
value: u16
) -> Result<u16, LinuxI2CError>
[src]
&mut self,
register: u8,
value: u16
) -> Result<u16, LinuxI2CError>
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]
&mut self,
register: u8
) -> Result<Vec<u8>, LinuxI2CError>
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]
&mut self,
register: u8,
len: u8
) -> Result<Vec<u8>, LinuxI2CError>
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]
&mut self,
register: u8,
values: &[u8]
) -> Result<(), LinuxI2CError>
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_process_block(
&mut self,
register: u8,
values: &[u8]
) -> Result<(), LinuxI2CError>
[src]
&mut self,
register: u8,
values: &[u8]
) -> Result<(), LinuxI2CError>
Select a register, send 1 to 31 bytes of data to it, and reads 1 to 31 bytes of data from it.