summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-04-19 16:46:31 +0700
committerhathach <[email protected]>2018-04-19 16:46:31 +0700
commitea0cb6d5e5f3f1e306f7852d569df0349196a496 (patch)
tree4b890a4bf8c6795f040763dec21b6db53210926a
parent4bb00f04bb033c89614469fc67f0cd1e17ee1c23 (diff)
update code
-rw-r--r--examples/obsolete/device/src/msc_device_romdisk.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/examples/obsolete/device/src/msc_device_romdisk.c b/examples/obsolete/device/src/msc_device_romdisk.c
index 0199b56ee..2c65d0f87 100644
--- a/examples/obsolete/device/src/msc_device_romdisk.c
+++ b/examples/obsolete/device/src/msc_device_romdisk.c
@@ -91,27 +91,22 @@ const uint8_t msc_device_app_rommdisk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] =
[3] = README_CONTENTS
};
-CFG_TUSB_ATTR_USBRAM
-static uint8_t sector_buffer[DISK_BLOCK_SIZE];
-
//--------------------------------------------------------------------+
// IMPLEMENTATION
//--------------------------------------------------------------------+
-uint16_t tusbd_msc_read10_cb (uint8_t rhport, uint8_t lun, uint32_t lba, uint16_t block_count, void** pp_buffer)
+uint32_t tud_msc_read10_cb (uint8_t rhport, uint8_t lun, uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize)
{
- memcpy(sector_buffer, msc_device_app_rommdisk[lba], DISK_BLOCK_SIZE);
- (*pp_buffer) = sector_buffer;
+ uint8_t* addr = msc_device_ramdisk[lba] + offset;
+ memcpy(buffer, addr, bufsize);
- return 1;
+ return bufsize;
}
// Stall write10 by return 0, as this is readonly disk
-uint16_t tusbd_msc_write10_cb(uint8_t rhport, uint8_t lun, uint32_t lba, uint16_t block_count, void** pp_buffer)
+uint32_t tud_msc_write10_cb (uint8_t rhport, uint8_t lun, uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize)
{
- (*pp_buffer) = NULL;
-
- mscd_sense_data.sense_key = SCSI_SENSEKEY_DATA_PROTECT; // let host know that this is read-only disk
-
+ // let host know that this is read-only disk
+ mscd_sense_data.sense_key = SCSI_SENSEKEY_DATA_PROTECT;
return 0;
}