5 releases
0.2.0 | Sep 18, 2024 |
---|---|
0.1.3 | Jan 30, 2023 |
0.1.2 | Jan 26, 2023 |
0.1.1 | Jan 26, 2023 |
0.1.0 | Jan 26, 2023 |
#166 in Embedded development
175 downloads per month
50KB
997 lines
I/O library for Microchip SST25 flash memory series
Non-blocking crate for interacting with Microchip SST25 flash memory devices like SST25VF080B.
Currently, the following features are implemented:
- Reading memory
- Writing single bytes
- Auto-address-increment writes
- Full chip erase
- Reading status
- Writing status
Example
For all details see monitor module.
use mc_sst25::device::Flash;
use mc_sst25::example::{MockBus, MockPin};
let bus = MockBus::default();
let pin_en = MockPin::default();
let pin_hold = MockPin::default();
let pin_wp = MockPin::default();
let mut device = Flash::new(bus, pin_en, pin_wp, pin_hold);
// Writing a single byte
device.erase_full().unwrap();
device.byte_program(0x0, 0x66).unwrap();
// Writing larger data
device.aai_program(0x1, &[0x1, 0x2, 0x3, 0x4]).unwrap();
// Reading data starting at address 0x0
let data = device.read::<5>(0x0).unwrap();
assert_eq!([0x66, 0x1, 0x2, 0x3, 0x4], data);
State
⚠️ The crate has only been tested for the SST25VF080B variant.
Development
Any form of support is greatly appreciated. Feel free to create issues and PRs. See DEVELOPMENT for more details.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Each contributor agrees that his/her contribution covers both licenses.
Dependencies
~71KB