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

Dependencies:   SWD USBDevice mbed BaseDAP

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers test_BuildRomDisk.cpp Source File

test_BuildRomDisk.cpp

00001 // test_BuildRomDisk.cpp 2013/9/22
00002 #if 0
00003 #include "mbed.h"
00004 #include "USBMSD2.h"
00005 #include "RamDisk.h"
00006 #include "mytest.h"
00007 #include "mydebug.h"
00008 
00009 Serial pc(USBTX, USBRX);
00010 DigitalIn exit_btn(p14); // application board 
00011 
00012 class BuildRomDisk : public USBMSD2 {
00013 public:
00014     BuildRomDisk() {
00015         _sectors = 128; // 64KB(512*128)
00016         _status = 0x01;
00017         connect();
00018     }
00019     virtual int disk_initialize() {
00020         _status = 0x00;
00021         return 0;
00022     }
00023     virtual int disk_status() { return _status; }
00024     virtual int disk_read(uint8_t * data, uint64_t block) { return _ramdisk.read(data, block); }
00025     virtual int disk_write(const uint8_t * data, uint64_t block) { return _ramdisk.write(data, block); }
00026     virtual uint64_t disk_sectors() { return _sectors; }
00027     virtual uint64_t disk_size() { return _sectors * 512; }
00028     void exportData(Stream* pc) { _ramdisk.exportData(pc); }
00029 protected:
00030     RamDisk _ramdisk;
00031     uint64_t _sectors;
00032     uint8_t _status;
00033 };
00034 
00035 TEST(BuildRomDisk1,test1) {
00036     BuildRomDisk* target = new BuildRomDisk();
00037     while(!exit_btn);
00038     target->exportData(&pc);
00039 }
00040 
00041 int main() {
00042     pc.baud(921600);
00043     //pc.baud(9600);
00044     DBG("%s", __FILE__);
00045 
00046     RUN_ALL_TESTS();
00047     exit(0);
00048 }
00049 #endif