USB composite device example program, drag-and-drop flash writer.
Dependencies: SWD USBDevice mbed BaseDAP
test_RomDisk.cpp
00001 // test_RomDisk.cpp 2013/9/24 00002 #if 0 00003 #include "mbed.h" 00004 #include "USBMSD2.h" 00005 #include "RomDisk.h" 00006 #include "mytest.h" 00007 #include "mydebug.h" 00008 00009 Serial pc(USBTX, USBRX); 00010 00011 class RomDisk1 : public USBMSD2 { 00012 public: 00013 RomDisk1() { 00014 _sectors = 128; // 64KB(512*128) 00015 _status = 0x01; 00016 connect(); 00017 } 00018 virtual int disk_initialize() { 00019 _status = 0x00; 00020 return 0; 00021 } 00022 virtual int disk_status() { return _status; } 00023 virtual int disk_read(uint8_t * data, uint64_t block) { return _disk.read(data, block); } 00024 virtual int disk_write(const uint8_t * data, uint64_t block) { 00025 if (_disk.is_data(block)) { 00026 DBG("block=%d", (int)block); 00027 } 00028 return _disk.write(data, block); 00029 } 00030 virtual uint64_t disk_sectors() { return _sectors; } 00031 virtual uint64_t disk_size() { return _sectors * 512; } 00032 00033 protected: 00034 RomDisk _disk; 00035 uint64_t _sectors; 00036 uint8_t _status; 00037 }; 00038 00039 00040 TEST(RomDisk1,test1) { 00041 RomDisk1* intf = new RomDisk1(); 00042 Timer t; 00043 t.reset(); 00044 t.start(); 00045 int n = 0; 00046 while(1) { // forever 00047 if (intf->readable()) { 00048 int c = intf->getc(); 00049 debug("%02x[%c]\n", c, c > ' ' ? c : '.'); 00050 } 00051 if (t.read_ms() > 1000*1) { 00052 t.reset(); 00053 intf->putc('A'+ n%26); 00054 n++; 00055 } 00056 } 00057 } 00058 00059 int main() { 00060 pc.baud(921600); 00061 //pc.baud(9600); 00062 DBG("%s", __FILE__); 00063 00064 RUN_ALL_TESTS(); 00065 exit(0); 00066 } 00067 #endif
Generated on Wed Jul 13 2022 08:08:25 by 1.7.2