This is the project for the Old Model Robots for OU's Dr. Davis's Configurable Robots Research. This is being published so future robots can be set up easily.
Dependencies: FatFileSystem MCP3008 Motor PinDetect QTR_8A SRF05 SSD1308_128x64_I2C mbed
blueusb/MassStorageFS.cpp
- Committer:
- DrewSchaef
- Date:
- 2017-11-01
- Revision:
- 0:bcad524c1856
File content as of revision 0:bcad524c1856:
#include "mbed.h" #include "FATFileSystem.h" #include "Utils.h" int MassStorage_ReadCapacity(int device, u32* blockCount, u32* blockSize); int MassStorage_Read(int device, u32 blockAddr, u32 blockCount, u8* dst, u32 blockSize); int MassStorage_Write(int device, u32 blockAddr, u32 blockCount, u8* dst, u32 blockSize); class USBFileSystem : public FATFileSystem { int _device; u32 _blockSize; u32 _blockCount; public: USBFileSystem() : FATFileSystem("usb"),_device(0),_blockSize(0),_blockCount(0) { } void SetDevice(int device) { _device = device; } virtual int disk_initialize() { return MassStorage_ReadCapacity(_device,&_blockCount,&_blockSize); } virtual int disk_write(const char *buffer, int block_number) { return MassStorage_Write(_device,block_number,1,(u8*)buffer,_blockSize); } virtual int disk_read(char *buffer, int block_number) { return MassStorage_Read(_device,block_number,1,(u8*)buffer,_blockSize); } virtual int disk_sectors() { return _blockCount; } }; void DumpFS(int depth, int count) { DIR *d = opendir("/usb"); if (!d) { printf("USB file system borked\n"); return; } printf("\nDumping root dir\n"); struct dirent *p; for(;;) { p = readdir(d); if (!p) break; int len = sizeof( dirent); printf("%s %d\n", p->d_name, len); } closedir(d); } int OnDiskInsert(int device) { USBFileSystem fs; fs.SetDevice(device); DumpFS(0,0); return 0; }