fork from va009039/USBLocalFileSystem

Dependencies:   USBDevice

Dependents:   11u35_usbLocalFilesystem

Fork of USBLocalFileSystem by Norimasa Okamoto

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?

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