Components/Storage/src/include/Storage/Device.h
Go to the documentation of this file.
#define STORAGE_TYPE_MAP(XX)
Definition: Components/Storage/src/include/Storage/Device.h:17
String toLongString(Storage::Device::Type type)
String toString(Storage::Device::Type type)
Definition: LinkedObjectList.h:90
Base class template for linked items with type casting.
Definition: LinkedObject.h:62
Represents a storage device (e.g. flash memory)
Definition: Components/Storage/src/include/Storage/Device.h:34
virtual uint32_t getId() const
Obtain device ID.
Definition: Components/Storage/src/include/Storage/Device.h:103
virtual size_t getBlockSize() const =0
Obtain smallest allocation unit for erase operations.
const PartitionTable & partitions() const
Provide read-only access to partition table.
Definition: Components/Storage/src/include/Storage/Device.h:63
virtual storage_size_t getSectorCount() const
Obtain total number of sectors on this device.
Definition: Components/Storage/src/include/Storage/Device.h:164
~Device()
static constexpr uint16_t defaultSectorSize
Definition: Components/Storage/src/include/Storage/Device.h:183
size_t printTo(Print &p) const
virtual bool read(storage_size_t address, void *dst, size_t size)=0
Read data from the storage device.
virtual bool write(storage_size_t address, const void *src, size_t size)=0
Write data to the storage device.
virtual storage_size_t getSize() const =0
Obtain addressable size of this device.
virtual bool sync()
Flush any pending writes to the physical media.
Definition: Components/Storage/src/include/Storage/Device.h:175
bool loadPartitions(Device &source, uint32_t tableOffset)
Load partition table entries from another table.
bool loadPartitions(uint32_t tableOffset)
Load partition table entries @tableOffset Location of partition table to read.
Definition: Components/Storage/src/include/Storage/Device.h:81
bool operator==(const String &name) const
Definition: Components/Storage/src/include/Storage/Device.h:55
PartitionTable mPartitions
Definition: Components/Storage/src/include/Storage/Device.h:188
PartitionTable & editablePartitions()
Provide full access to partition table.
Definition: Components/Storage/src/include/Storage/Device.h:71
virtual bool erase_range(storage_size_t address, storage_size_t size)=0
Erase a region of storage in preparation for writing.
virtual uint16_t getSectorSize() const
Get sector size, the unit of allocation for block-access devices.
Definition: Components/Storage/src/include/Storage/Device.h:156
Type
Storage type.
Definition: Components/Storage/src/include/Storage/Device.h:42
XX(type, value, desc)
@ partitionType
Definition: PartitionTable.h:19
@ storage
Definition: FileDevice.h:26