supported callback
Fork of RAM_DISK by
Embed:
(wiki syntax)
Show/hide line numbers
USBMSD_Ram.h
00001 /* mbed USBMSD_Ram Library 00002 * 00003 * Permission is hereby granted, free of charge, to any person obtaining a copy 00004 * of this software and associated documentation files (the "Software"), to deal 00005 * in the Software without restriction, including without limitation the rights 00006 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00007 * copies of the Software, and to permit persons to whom the Software is 00008 * furnished to do so, subject to the following conditions: 00009 * 00010 * The above copyright notice and this permission notice shall be included in 00011 * all copies or substantial portions of the Software. 00012 * 00013 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00014 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00015 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00016 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00017 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00018 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00019 * THE SOFTWARE. 00020 */ 00021 00022 #ifndef USBMSD_RAM_H 00023 #define USBMSD_RAM_H 00024 00025 #include "mbed.h" 00026 #include "USBMSD.h" 00027 00028 //#define NB_SECTORS (10) 00029 #define RAW_SECTORS 6 00030 #define IMG_SECTORS 200 00031 00032 /** Use the SDcard as mass storage device using the USBMSD class 00033 * 00034 * @code 00035 * #include "mbed.h" 00036 * #include "USBMSD_Ram.h" 00037 * 00038 * USBMSD_Ram sd(p5, p6, p7, p8); 00039 * 00040 * int main() { 00041 * while(1); 00042 * } 00043 * 00044 * @endcode 00045 */ 00046 class USBMSD_Ram : public USBMSD { 00047 public: 00048 00049 00050 USBMSD_Ram(); 00051 virtual int disk_initialize(); 00052 virtual int disk_write(const uint8_t * data, uint64_t block, uint8_t count); 00053 virtual int disk_read(uint8_t * data, uint64_t block, uint8_t count); 00054 virtual int disk_status(); 00055 virtual int disk_sync(); 00056 virtual uint64_t disk_sectors(); 00057 virtual uint64_t disk_size(); 00058 virtual int disk_ioctl (uint8_t pdrv, uint8_t cmd, void* buff); 00059 00060 void (*parseFat)(int sector, const uint8_t *buf, int len); 00061 00062 protected: 00063 int _status; 00064 char disk_image[512*RAW_SECTORS]; 00065 00066 }; 00067 00068 #endif
Generated on Thu Jul 14 2022 22:05:34 by 1.7.2