Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: STM32F103C8T6_WebUSBDFU STM32F103C8T6_USBDFU STM32F103C8T6_USBDFU dfu_usb_stm32f103
Fork of USBDevice_STM32F103 by
Revision 29:b7a0ea455a0c, committed 2014-08-18
- Comitter:
- mbed_official
- Date:
- Mon Aug 18 13:45:19 2014 +0100
- Parent:
- 28:c09a0c9bf425
- Child:
- 30:4408411999c8
- Commit message:
- Synchronized with git revision e91e6e69d628a619396c2140bd068b5dbb0986db
Full URL: https://github.com/mbedmicro/mbed/commit/e91e6e69d628a619396c2140bd068b5dbb0986db/
Added count argument to disk read/write
Changed in this revision
| USBMSD/USBMSD.cpp | Show annotated file Show diff for this revision Revisions of this file |
| USBMSD/USBMSD.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/USBMSD/USBMSD.cpp Tue Aug 05 20:15:19 2014 +0100
+++ b/USBMSD/USBMSD.cpp Mon Aug 18 13:45:19 2014 +0100
@@ -232,7 +232,7 @@
// if the array is filled, write it in memory
if (!((addr + size)%BlockSize)) {
if (!(disk_status() & WRITE_PROTECT)) {
- disk_write(page, addr/BlockSize);
+ disk_write(page, addr/BlockSize, 1);
}
}
@@ -257,7 +257,7 @@
// beginning of a new block -> load a whole block in RAM
if (!(addr%BlockSize))
- disk_read(page, addr/BlockSize);
+ disk_read(page, addr/BlockSize, 1);
// info are in RAM -> no need to re-read memory
for (n = 0; n < size; n++) {
@@ -505,7 +505,7 @@
// we read an entire block
if (!(addr%BlockSize))
- disk_read(page, addr/BlockSize);
+ disk_read(page, addr/BlockSize, 1);
// write data which are in RAM
writeNB(EPBULK_IN, &page[addr%BlockSize], n, MAX_PACKET_SIZE_EPBULK);
--- a/USBMSD/USBMSD.h Tue Aug 05 20:15:19 2014 +0100
+++ b/USBMSD/USBMSD.h Mon Aug 18 13:45:19 2014 +0100
@@ -88,22 +88,24 @@
protected:
/*
- * read a block on a storage chip
+ * read one or more blocks on a storage chip
*
* @param data pointer where will be stored read data
- * @param block block number
+ * @param block starting block number
+ * @param count number of blocks to read
* @returns 0 if successful
*/
- virtual int disk_read(uint8_t * data, uint64_t block) = 0;
+ virtual int disk_read(uint8_t* data, uint64_t block, uint8_t count) = 0;
/*
- * write a block on a storage chip
+ * write one or more blocks on a storage chip
*
* @param data data to write
- * @param block block number
+ * @param block starting block number
+ * @param count number of blocks to write
* @returns 0 if successful
*/
- virtual int disk_write(const uint8_t * data, uint64_t block) = 0;
+ virtual int disk_write(const uint8_t* data, uint64_t block, uint8_t count) = 0;
/*
* Disk initilization
