ESP32 flash configuration (immutable).
| 35 | |
| 36 | @dataclass(frozen=True) |
| 37 | class FlashConfig: |
| 38 | """ESP32 flash configuration (immutable).""" |
| 39 | |
| 40 | mode: FlashMode |
| 41 | size_mb: int |
| 42 | frequency: str = "80m" |
| 43 | |
| 44 | def is_qemu_compatible(self) -> bool: |
| 45 | """Check if configuration is QEMU compatible.""" |
| 46 | return ( |
| 47 | self.mode in [FlashMode.DIO, FlashMode.DOUT] |
| 48 | and self.size_mb in VALID_FLASH_SIZES |
| 49 | ) |
| 50 | |
| 51 | |
| 52 | @dataclass |