![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
USB composite device example program, drag-and-drop flash writer.
Dependencies: SWD USBDevice mbed BaseDAP
USBMSD_Drop/RomDisk.cpp
- Committer:
- va009039
- Date:
- 2013-09-28
- Revision:
- 1:ea8e179320d7
- Parent:
- RomDisk.cpp@ 0:2385683c867a
File content as of revision 1:ea8e179320d7:
// RomDisk.cpp 2013/9/26 #include "mbed.h" #include "RomDisk.h" RomDisk::RomDisk() { _sectors = 128; // 64KB(512*128) } int RomDisk::read(uint8_t * data, uint32_t block) { SectorIndex* p = const_cast<SectorIndex*>(sector_index); while(p->data) { if (p->block == block) { memcpy(data, p->data, 512); return 0; } p++; } memset(data, 0x00, 512); return 0; } int RomDisk::write(const uint8_t * data, uint32_t block) { return 0; } uint32_t RomDisk::sectors() { return _sectors; } bool RomDisk::is_fat(uint32_t sector) { return sector >= 6 && sector <= 7; } bool RomDisk::is_rootdir(uint32_t sector) { return sector >= 8 && sector <= 15; } int RomDisk::dir_count(uint32_t sector) { if (!is_rootdir(sector)) { return -1; } return sector - 8; } uint32_t RomDisk::cluster_to_sector(uint32_t cluster) { return cluster + 38; }