Represents a storage device (e.g. flash memory) More...
#include <Device.h>
Public Types | |
| enum | Type : uint8_t { Type::XX } |
| Storage type. More... | |
| using | List = LinkedObjectListTemplate< Device > |
| using | OwnedList = OwnedLinkedObjectListTemplate< Device > |
Public Types inherited from LinkedObjectTemplate< Device > | |
| using | Iterator = IteratorTemplate< Device, Device *, Device &> |
| using | ConstIterator = IteratorTemplate< const Device, const Device *, const Device &> |
Public Member Functions | |
| Device () | |
| ~Device () | |
| bool | operator== (const String &name) const |
| PartitionTable & | partitions () |
| const PartitionTable & | partitions () const |
| bool | loadPartitions (uint32_t tableOffset) |
| Load partition table entries Location of partition table to read. More... | |
| bool | loadPartitions (Device &source, uint32_t tableOffset) |
| Load partition table entries from another table. More... | |
| virtual String | getName () const =0 |
| Obtain unique device name. More... | |
| virtual uint32_t | getId () const |
| Obtain device ID. More... | |
| virtual size_t | getBlockSize () const =0 |
| Obtain smallest allocation unit for erase operations. More... | |
| virtual size_t | getSize () const =0 |
| Obtain addressable size of this device. More... | |
| virtual Type | getType () const =0 |
| Obtain device type. More... | |
| virtual bool | read (uint32_t address, void *dst, size_t size)=0 |
| Read data from the storage device. More... | |
| virtual bool | write (uint32_t address, const void *src, size_t size)=0 |
| Write data to the storage device. More... | |
| virtual bool | erase_range (uint32_t address, size_t size)=0 |
| Erase a region of storage in preparation for writing. More... | |
Public Member Functions inherited from LinkedObjectTemplate< Device > | |
| Device * | getNext () const |
| Iterator | begin () const |
| Iterator | end () const |
| Iterator | cbegin () const |
| Iterator | cend () const |
Public Member Functions inherited from LinkedObject | |
| virtual | ~LinkedObject () |
| virtual LinkedObject * | next () const |
| LinkedObject * | getNext () const |
| bool | operator== (const LinkedObject &other) const |
| bool | operator!= (const LinkedObject &other) const |
Protected Attributes | |
| PartitionTable | mPartitions |
Detailed Description
Represents a storage device (e.g. flash memory)
Member Typedef Documentation
◆ List
◆ OwnedList
Member Enumeration Documentation
◆ Type
|
strong |
Storage type.
| Enumerator | |
|---|---|
| XX | |
Constructor & Destructor Documentation
◆ Device()
|
inline |
◆ ~Device()
| Storage::Device::~Device | ( | ) |
Member Function Documentation
◆ erase_range()
|
pure virtual |
Erase a region of storage in preparation for writing.
- Parameters
-
address Where to start erasing size Size of region to erase, in bytes
- Return values
-
bool true on success, false on error
Implemented in Storage::FileDevice, Storage::SysMem, Storage::StreamDevice, Storage::ProgMem, and Storage::SpiFlash.
◆ getBlockSize()
|
pure virtual |
Obtain smallest allocation unit for erase operations.
Implemented in Storage::FileDevice, Storage::SysMem, Storage::ProgMem, and Storage::SpiFlash.
◆ getId()
|
inlinevirtual |
◆ getName()
|
pure virtual |
Obtain unique device name.
Implemented in Storage::FileDevice, Storage::SpiFlash, Storage::SysMem, and Storage::ProgMem.
◆ getSize()
|
pure virtual |
Obtain addressable size of this device.
- Return values
-
size_t Must be at least as large as the value declared in the partition table
Implemented in Storage::FileDevice, Storage::SysMem, Storage::ProgMem, and Storage::SpiFlash.
◆ getType()
|
pure virtual |
Obtain device type.
Implemented in Storage::FileDevice, Storage::SysMem, Storage::ProgMem, Storage::StreamDevice, and Storage::SpiFlash.
◆ loadPartitions() [1/2]
|
inline |
Load partition table entries Location of partition table to read.
- Return values
-
bool true on success, false on failure
◆ loadPartitions() [2/2]
Load partition table entries from another table.
- Parameters
-
source Device to load entries from Location of partition table to read
- Return values
-
bool true on success, false on failure
◆ operator==()
◆ partitions() [1/2]
|
inline |
◆ partitions() [2/2]
|
inline |
◆ read()
|
pure virtual |
Read data from the storage device.
- Parameters
-
address Where to start reading dst Buffer to store data size Size of data to be read, in bytes.
- Return values
-
bool true on success, false on error
Implemented in Storage::FileDevice, Storage::SysMem, Storage::ProgMem, Storage::StreamDevice, and Storage::SpiFlash.
◆ write()
|
pure virtual |
Write data to the storage device.
- Parameters
-
address Where to start writing src Data to write size Size of data to be written, in bytes.
- Return values
-
bool true on success, false on error
Implemented in Storage::FileDevice, Storage::StreamDevice, Storage::SysMem, Storage::ProgMem, and Storage::SpiFlash.
Member Data Documentation
◆ mPartitions
|
protected |
The documentation for this class was generated from the following file:
Public Types inherited from
1.8.13