USB composite device example program, drag-and-drop flash writer.

Dependencies:   SWD USBDevice mbed BaseDAP

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?

UserRevisionLine numberNew 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