Crates.io | grapple-m24c64 |
lib.rs | grapple-m24c64 |
version | 0.1.1 |
source | src |
created_at | 2023-11-19 04:43:23.567654 |
updated_at | 2023-11-19 04:47:27.719688 |
description | A Rust embedded-hal driver for the M24C64 I2C EEPROM |
homepage | |
repository | https://github.com/GrappleRobotics/m24c64 |
max_upload_size | |
id | 1040912 |
size | 6,992 |
A Rust embedded-hal driver for the M24C64 I2C EEPROM, featuring arbitrary-length read/writes and timeout behaviour.
cargo add grapple-m24c64
use grapple_m24c64::M24C64;
let eeprom = M24C64::new(i2c, 0b000);
eeprom.write(0xA0, &[0x00, 0x01, 0x02, 0x03], &delay);
let mut my_buf = [0u8; 4];
eeprom.read(0xA0, &mut my_buf);
// my_buf = [0x00, 0x01, 0x02, 0x03]
Note the use of [embedded_hal::blocking::delay::DelayMs
], which is used to retry the write every 1ms until it either succeeds, or 10ms has passed (2*t_w in the M24C64 datasheet).