summaryrefslogtreecommitdiff
path: root/examples/device/cdc_msc_hid/src/msc_disk_ram.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-11-22 12:11:06 +0700
committerhathach <[email protected]>2018-11-22 12:11:06 +0700
commit4314be9aebff009f5dd626d59142459edea5c8a2 (patch)
tree3387b9f6006c74262c6abe47751036c5fe854fbc /examples/device/cdc_msc_hid/src/msc_disk_ram.c
parentd7e48f307bb77e8e6a55967d9b94c7218f267e83 (diff)
msc device block count and block num
- replace CFG_TUD_MSC_BLOCK_NUM & CFG_TUD_MSC_BLOCK_SZ by tud_msc_capacity_cb() (mandatory callback)
Diffstat (limited to 'examples/device/cdc_msc_hid/src/msc_disk_ram.c')
-rw-r--r--examples/device/cdc_msc_hid/src/msc_disk_ram.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/examples/device/cdc_msc_hid/src/msc_disk_ram.c b/examples/device/cdc_msc_hid/src/msc_disk_ram.c
index 89711ad32..08cef5f25 100644
--- a/examples/device/cdc_msc_hid/src/msc_disk_ram.c
+++ b/examples/device/cdc_msc_hid/src/msc_disk_ram.c
@@ -97,6 +97,8 @@ uint8_t msc_device_ramdisk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] =
// Copy disk's data to buffer (up to bufsize) and return number of copied bytes.
int32_t tud_msc_read10_cb(uint8_t lun, uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize)
{
+ (void) lun;
+
uint8_t* addr = msc_device_ramdisk[lba] + offset;
memcpy(buffer, addr, bufsize);
@@ -107,14 +109,20 @@ int32_t tud_msc_read10_cb(uint8_t lun, uint32_t lba, uint32_t offset, void* buff
// Process data in buffer to disk's storage and return number of written bytes
int32_t tud_msc_write10_cb(uint8_t lun, uint32_t lba, uint32_t offset, uint8_t* buffer, uint32_t bufsize)
{
+ (void) lun;
+
uint8_t* addr = msc_device_ramdisk[lba] + offset;
memcpy(addr, buffer, bufsize);
return bufsize;
}
-//--------------------------------------------------------------------+
-// HELPER
-//--------------------------------------------------------------------+
+void tud_msc_capacity_cb(uint8_t lun, uint32_t* block_count, uint16_t* block_size)
+{
+ (void) lun;
+
+ *block_count = DISK_BLOCK_NUM;
+ *block_size = DISK_BLOCK_SIZE;
+}
#endif