Libraries/USB/src/USB/MSC/Device.h
Go to the documentation of this file.
A physical device instance managed by an MSC interface.
Definition: Libraries/USB/src/USB/MSC/Device.h:44
Definition: Libraries/USB/src/USB/MSC/Device.h:25
virtual uint16_t getSectorSize() const
Get sector size, the unit of allocation for block-access devices.
Definition: Components/Storage/src/include/Storage/Device.h:155
static bool isReady(uint8_t lun)
Definition: Libraries/USB/src/USB/MSC/Device.h:110
virtual storage_size_t getSectorCount() const
Obtain total number of sectors on this device.
Definition: Components/Storage/src/include/Storage/Device.h:163
static int read(uint8_t lun, uint32_t lba, uint32_t offset, void *buffer, uint32_t bufsize)
Definition: Libraries/USB/src/USB/MSC/Device.h:98
int read(uint32_t lba, uint32_t offset, void *buffer, uint32_t bufsize)
Definition: Libraries/USB/src/USB/MSC/Device.h:80
static int write(uint8_t lun, uint32_t lba, uint32_t offset, uint8_t *buffer, uint32_t bufsize)
Definition: Libraries/USB/src/USB/MSC/Device.h:103
static bool setLogicalUnit(uint8_t lun, LogicalUnit unit)
static constexpr size_t MAX_LUN
Definition: Libraries/USB/src/USB/MSC/Device.h:120
virtual bool read(storage_size_t address, void *dst, size_t size)=0
Read data from the storage device.
Storage::Device * device
Definition: Libraries/USB/src/USB/MSC/Device.h:62
int write(uint32_t lba, uint32_t offset, uint8_t *buffer, uint32_t bufsize)
Definition: Libraries/USB/src/USB/MSC/Device.h:91
Represents a storage device (e.g. flash memory)
Definition: Components/Storage/src/include/Storage/Device.h:33
void getCapacity(uint32_t *block_count, uint16_t *block_size)
Definition: Libraries/USB/src/USB/MSC/Device.h:70
DeviceInterface(uint8_t instance, const char *name)
Constructor.
Definition: DeviceInterface.h:71
static void inquiry(uint8_t lun, uint8_t vendor_id[8], uint8_t product_id[16], uint8_t product_rev[4])
static bool isReadOnly(uint8_t lun)
Definition: Libraries/USB/src/USB/MSC/Device.h:115
Base class to support a USB device interface implementation.
Definition: DeviceInterface.h:46
virtual bool write(storage_size_t address, const void *src, size_t size)=0
Write data to the storage device.
static void getCapacity(uint8_t lun, uint32_t *block_count, uint16_t *block_size)
Definition: Libraries/USB/src/USB/MSC/Device.h:93