fork from va009039/USBLocalFileSystem
Dependents: 11u35_usbLocalFilesystem
Fork of USBLocalFileSystem by
USBLocalFileSystem.cpp@0:39eb4d5b97df, 2014-05-03 (annotated)
- Committer:
- va009039
- Date:
- Sat May 03 11:21:37 2014 +0000
- Revision:
- 0:39eb4d5b97df
- Child:
- 1:00c9eb8af5c2
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:39eb4d5b97df | 1 | #include "USBLocalFileSystem.h" |
va009039 | 0:39eb4d5b97df | 2 | #include "RamDisk.h" |
va009039 | 0:39eb4d5b97df | 3 | #include "SDStorage.h" |
va009039 | 0:39eb4d5b97df | 4 | |
va009039 | 0:39eb4d5b97df | 5 | USBLocalFileSystem::USBLocalFileSystem(const char* name) |
va009039 | 0:39eb4d5b97df | 6 | { |
va009039 | 0:39eb4d5b97df | 7 | RamDisk* storage = new RamDisk; |
va009039 | 0:39eb4d5b97df | 8 | init(storage, name); |
va009039 | 0:39eb4d5b97df | 9 | } |
va009039 | 0:39eb4d5b97df | 10 | |
va009039 | 0:39eb4d5b97df | 11 | USBLocalFileSystem::USBLocalFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name) |
va009039 | 0:39eb4d5b97df | 12 | { |
va009039 | 0:39eb4d5b97df | 13 | SDStorage* storage = new SDStorage(mosi, miso, sclk, cs); |
va009039 | 0:39eb4d5b97df | 14 | storage->storage_initialize(); |
va009039 | 0:39eb4d5b97df | 15 | init(storage, name); |
va009039 | 0:39eb4d5b97df | 16 | } |
va009039 | 0:39eb4d5b97df | 17 | |
va009039 | 0:39eb4d5b97df | 18 | USBLocalFileSystem::USBLocalFileSystem(StorageInterface* storage, const char* name) |
va009039 | 0:39eb4d5b97df | 19 | { |
va009039 | 0:39eb4d5b97df | 20 | init(storage, name); |
va009039 | 0:39eb4d5b97df | 21 | } |
va009039 | 0:39eb4d5b97df | 22 | |
va009039 | 0:39eb4d5b97df | 23 | void USBLocalFileSystem::init(StorageInterface* storage, const char* name) |
va009039 | 0:39eb4d5b97df | 24 | { |
va009039 | 0:39eb4d5b97df | 25 | _name = name; |
va009039 | 0:39eb4d5b97df | 26 | _storage = storage; |
va009039 | 0:39eb4d5b97df | 27 | _usb = new USBStorage2(_storage); |
va009039 | 0:39eb4d5b97df | 28 | _local = new LocalStorage(_storage); |
va009039 | 0:39eb4d5b97df | 29 | } |
va009039 | 0:39eb4d5b97df | 30 | |
va009039 | 0:39eb4d5b97df | 31 | void USBLocalFileSystem::attachEvent(void (*ptr)()) |
va009039 | 0:39eb4d5b97df | 32 | { |
va009039 | 0:39eb4d5b97df | 33 | if (ptr && _storage) { |
va009039 | 0:39eb4d5b97df | 34 | _storage->attachEvent(ptr); |
va009039 | 0:39eb4d5b97df | 35 | } |
va009039 | 0:39eb4d5b97df | 36 | } |
va009039 | 0:39eb4d5b97df | 37 | |
va009039 | 0:39eb4d5b97df | 38 | void USBLocalFileSystem::remount() |
va009039 | 0:39eb4d5b97df | 39 | { |
va009039 | 0:39eb4d5b97df | 40 | if (_local) { |
va009039 | 0:39eb4d5b97df | 41 | delete _local; |
va009039 | 0:39eb4d5b97df | 42 | } |
va009039 | 0:39eb4d5b97df | 43 | _local = new LocalStorage(_storage); |
va009039 | 0:39eb4d5b97df | 44 | } |
va009039 | 0:39eb4d5b97df | 45 | |
va009039 | 0:39eb4d5b97df | 46 | void USBLocalFileSystem::putc(int c) |
va009039 | 0:39eb4d5b97df | 47 | { |
va009039 | 0:39eb4d5b97df | 48 | _usb->putc(c); |
va009039 | 0:39eb4d5b97df | 49 | } |
va009039 | 0:39eb4d5b97df | 50 | |
va009039 | 0:39eb4d5b97df | 51 | int USBLocalFileSystem::getc() |
va009039 | 0:39eb4d5b97df | 52 | { |
va009039 | 0:39eb4d5b97df | 53 | return _usb->getc(); |
va009039 | 0:39eb4d5b97df | 54 | } |
va009039 | 0:39eb4d5b97df | 55 | |
va009039 | 0:39eb4d5b97df | 56 |