USB composite device example program, drag-and-drop flash writer.
Dependencies: SWD USBDevice mbed BaseDAP
tests/test_BuildRomDisk.cpp@1:ea8e179320d7, 2013-09-28 (annotated)
- Committer:
- va009039
- Date:
- Sat Sep 28 03:21:14 2013 +0000
- Revision:
- 1:ea8e179320d7
- Parent:
- 0:2385683c867a
add USBMSD_Drop class. add CDC(Virtual COM) and HID(for example CMSIS-DAP), but KL25Z not work.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 1:ea8e179320d7 | 1 | // test_BuildRomDisk.cpp 2013/9/22 |
va009039 | 0:2385683c867a | 2 | #if 0 |
va009039 | 0:2385683c867a | 3 | #include "mbed.h" |
va009039 | 1:ea8e179320d7 | 4 | #include "USBMSD2.h" |
va009039 | 1:ea8e179320d7 | 5 | #include "RamDisk.h" |
va009039 | 0:2385683c867a | 6 | #include "mytest.h" |
va009039 | 0:2385683c867a | 7 | #include "mydebug.h" |
va009039 | 0:2385683c867a | 8 | |
va009039 | 0:2385683c867a | 9 | Serial pc(USBTX, USBRX); |
va009039 | 0:2385683c867a | 10 | DigitalIn exit_btn(p14); // application board |
va009039 | 0:2385683c867a | 11 | |
va009039 | 1:ea8e179320d7 | 12 | class BuildRomDisk : public USBMSD2 { |
va009039 | 1:ea8e179320d7 | 13 | public: |
va009039 | 1:ea8e179320d7 | 14 | BuildRomDisk() { |
va009039 | 1:ea8e179320d7 | 15 | _sectors = 128; // 64KB(512*128) |
va009039 | 1:ea8e179320d7 | 16 | _status = 0x01; |
va009039 | 1:ea8e179320d7 | 17 | connect(); |
va009039 | 1:ea8e179320d7 | 18 | } |
va009039 | 1:ea8e179320d7 | 19 | virtual int disk_initialize() { |
va009039 | 1:ea8e179320d7 | 20 | _status = 0x00; |
va009039 | 1:ea8e179320d7 | 21 | return 0; |
va009039 | 1:ea8e179320d7 | 22 | } |
va009039 | 1:ea8e179320d7 | 23 | virtual int disk_status() { return _status; } |
va009039 | 1:ea8e179320d7 | 24 | virtual int disk_read(uint8_t * data, uint64_t block) { return _ramdisk.read(data, block); } |
va009039 | 1:ea8e179320d7 | 25 | virtual int disk_write(const uint8_t * data, uint64_t block) { return _ramdisk.write(data, block); } |
va009039 | 1:ea8e179320d7 | 26 | virtual uint64_t disk_sectors() { return _sectors; } |
va009039 | 1:ea8e179320d7 | 27 | virtual uint64_t disk_size() { return _sectors * 512; } |
va009039 | 1:ea8e179320d7 | 28 | void exportData(Stream* pc) { _ramdisk.exportData(pc); } |
va009039 | 1:ea8e179320d7 | 29 | protected: |
va009039 | 1:ea8e179320d7 | 30 | RamDisk _ramdisk; |
va009039 | 1:ea8e179320d7 | 31 | uint64_t _sectors; |
va009039 | 1:ea8e179320d7 | 32 | uint8_t _status; |
va009039 | 1:ea8e179320d7 | 33 | }; |
va009039 | 1:ea8e179320d7 | 34 | |
va009039 | 0:2385683c867a | 35 | TEST(BuildRomDisk1,test1) { |
va009039 | 0:2385683c867a | 36 | BuildRomDisk* target = new BuildRomDisk(); |
va009039 | 0:2385683c867a | 37 | while(!exit_btn); |
va009039 | 0:2385683c867a | 38 | target->exportData(&pc); |
va009039 | 0:2385683c867a | 39 | } |
va009039 | 0:2385683c867a | 40 | |
va009039 | 0:2385683c867a | 41 | int main() { |
va009039 | 0:2385683c867a | 42 | pc.baud(921600); |
va009039 | 0:2385683c867a | 43 | //pc.baud(9600); |
va009039 | 0:2385683c867a | 44 | DBG("%s", __FILE__); |
va009039 | 0:2385683c867a | 45 | |
va009039 | 0:2385683c867a | 46 | RUN_ALL_TESTS(); |
va009039 | 0:2385683c867a | 47 | exit(0); |
va009039 | 0:2385683c867a | 48 | } |
va009039 | 0:2385683c867a | 49 | #endif |