flash_embedded_hal/
flash.rs

1//! Flash-related traits
2
3pub trait Read {
4    type Error;
5
6    fn read<WORD>(&self, addr: usize) -> Result<WORD, Self::Error>;
7}
8
9pub trait WriteErase {
10    type Error;
11    type Status;
12
13    fn status(&self) -> Result<Self::Status, Self::Error>;
14
15    fn erase_page(&mut self, address: usize) -> Result<(), Self::Error>;
16
17    fn program_word(&mut self, address: usize, value: u32) -> Result<(), Self::Error>;
18}
19
20pub trait Locking {
21    type Error;
22
23    fn is_locked(&self) -> bool;
24
25    fn lock(&mut self);
26
27    fn unlock(&mut self);
28}