Crate sequential_storage
source ·Expand description
Sequential-storage
A crate for storing key-value pairs in flash with minimal erase cycles.
Basic API:
ⓘ
enum MyCustomType {
X,
Y,
// ...
}
impl StorageItem for MyCustomType {
// ...
}
let mut flash = SomeFlashChip::new();
let flash_range = 0x1000..0x2000; // These are the flash addresses in which the crate will operate
assert_eq!(
fetch_item::<MyCustomType, SomeFlashChip>(
&mut flash,
flash_range.clone(),
0
).unwrap(),
None
);
store_item::<MyCustomType, SomeFlashChip, SomeFlashChip::ERASE_SIZE>(
&mut flash,
flash_range.clone(),
MyCustomType::X
).unwrap();
assert_eq!(
fetch_item::<MyCustomType, SomeFlashChip>(
&mut flash,
flash_range.clone(),
0
).unwrap(),
Some(MyCustomType::X)
);Enums
The main error type
Constants
The maximum size in bytes that a storage item can be
Traits
A way of serializing and deserializing items in the storage.
A trait that the storage item error needs to implement
Functions
Get a storage item from the flash.
Only the last stored item of the given key is returned.
Store an item into flash memory.
It will overwrite the last value that has the same key.