|
14 | 14 | //! https://www.kernel.org/doc/Documentation/i2c/dev-interface
|
15 | 15 | //! ```rust,no_run
|
16 | 16 | //! extern crate i2cdev;
|
17 |
| -//! |
| 17 | +//! |
18 | 18 | //! use std::thread;
|
19 | 19 | //! use std::time::Duration;
|
20 | 20 | //!
|
21 | 21 | //! use i2cdev::core::*;
|
22 | 22 | //! use i2cdev::linux::{LinuxI2CDevice, LinuxI2CError};
|
23 | 23 | //!
|
24 | 24 | //! const NUNCHUCK_SLAVE_ADDR: u16 = 0x52;
|
25 |
| -//! |
| 25 | +//! |
26 | 26 | //! // real code should probably not use unwrap()
|
27 | 27 | //! fn i2cfun() -> Result<(), LinuxI2CError> {
|
28 | 28 | //! let mut dev = LinuxI2CDevice::new("/dev/i2c-1", NUNCHUCK_SLAVE_ADDR)?;
|
|
41 | 41 | //! }
|
42 | 42 | //! }
|
43 | 43 | //! ```
|
44 |
| -//! |
| 44 | +//! |
45 | 45 | //! ```rust,no_run
|
46 | 46 | //! extern crate i2cdev;
|
47 | 47 | //!
|
48 | 48 | //! use std::thread;
|
49 | 49 | //! use std::time::Duration;
|
50 | 50 | //!
|
51 | 51 | //! use i2cdev::core::*;
|
52 |
| -//! use i2cdev::linux::{LinuxI2CBus, LinuxI2CError, LinuxI2CMessage}; |
| 52 | +//! use i2cdev::linux::{LinuxI2CDevice, LinuxI2CError, LinuxI2CMessage}; |
53 | 53 | //!
|
54 | 54 | //! const SLAVE_ADDR: u16 = 0x57;
|
55 | 55 | //!
|
56 | 56 | //! fn write_read_transaction() -> Result<(), LinuxI2CError> {
|
| 57 | +//! let mut dev = LinuxI2CDevice::new("/dev/i2c-1", SLAVE_ADDR)?; |
| 58 | +//! |
| 59 | +//! let mut read_data = [0; 2]; |
| 60 | +//! let mut msgs = [ |
| 61 | +//! LinuxI2CMessage::write(&[0x01]), |
| 62 | +//! LinuxI2CMessage::read(&mut read_data) |
| 63 | +//! ]; |
| 64 | +//! dev.transfer(&mut msgs)?; |
| 65 | +//! |
| 66 | +//! println!("Reading: {:?}", read_data); |
| 67 | +//! Ok(()) |
| 68 | +//! } |
| 69 | +//! ``` |
| 70 | +//! |
| 71 | +//! ```rust,no_run |
| 72 | +//! extern crate i2cdev; |
| 73 | +//! |
| 74 | +//! use std::thread; |
| 75 | +//! use std::time::Duration; |
| 76 | +//! |
| 77 | +//! use i2cdev::core::*; |
| 78 | +//! use i2cdev::linux::{LinuxI2CBus, LinuxI2CError, LinuxI2CMessage}; |
| 79 | +//! |
| 80 | +//! const SLAVE_ADDR: u16 = 0x57; |
| 81 | +//! |
| 82 | +//! fn write_read_transaction_using_bus() -> Result<(), LinuxI2CError> { |
57 | 83 | //! let mut dev = LinuxI2CBus::new("/dev/i2c-1")?;
|
58 | 84 | //!
|
59 | 85 | //! let mut read_data = [0; 2];
|
60 | 86 | //! let mut msgs = [
|
61 |
| -//! LinuxI2CMessage::write(SLAVE_ADDR, &[0x01]), |
62 |
| -//! LinuxI2CMessage::read(SLAVE_ADDR, &mut read_data) |
| 87 | +//! LinuxI2CMessage::write(&[0x01]).with_address(SLAVE_ADDR), |
| 88 | +//! LinuxI2CMessage::read(&mut read_data).with_address(SLAVE_ADDR) |
63 | 89 | //! ];
|
64 | 90 | //! dev.transfer(&mut msgs)?;
|
65 |
| -//! thread::sleep(Duration::from_millis(100)); |
66 | 91 | //!
|
67 | 92 | //! println!("Reading: {:?}", read_data);
|
68 | 93 | //! Ok(())
|
|
0 commit comments