use super::memory::SectorDescription;
use derivative::Derivative;
use std::{borrow::Cow, ops::Range};
#[derive(Debug, Derivative, Clone, Serialize, Deserialize)]
#[derivative(Default)]
pub struct FlashProperties {
#[derivative(Default(value = "0..0"))]
pub address_range: Range<u32>,
pub page_size: u32,
pub erased_byte_value: u8,
pub program_page_timeout: u32,
pub erase_sector_timeout: u32,
pub sectors: Cow<'static, [SectorDescription]>,
}