From 4314be9aebff009f5dd626d59142459edea5c8a2 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 22 Nov 2018 12:11:06 +0700 Subject: 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) --- examples/device/cdc_msc_hid/src/msc_disk_ram.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'examples/device/cdc_msc_hid/src/msc_disk_ram.c') 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 -- cgit v1.3.1