Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DM_FATFileSystem EthernetInterface HTTPClient mbed-rtos mbed-src
Fork of DMSupport by
FileSystems/USBMSD_RAMFS.h
- Committer:
- embeddedartists
- Date:
- 2014-11-21
- Revision:
- 0:6b68dac0d986
- Child:
- 9:a33326afd686
File content as of revision 0:6b68dac0d986:
#ifndef USBMSDRAMFS_H
#define USBMSDRAMFS_H
#include "mbed.h"
#include "USBMSD.h"
#include "RAMFileSystem.h"
#include <stdint.h>
/**
* USBMSD_RAMFS class: Allows the mbed board to expose a FAT file system in SDRAM as a USB memory stick
*/
class USBMSD_RAMFS : public USBMSD {
public:
/**
* Constructor
*
* @param ramfs The RAM file system
* @param vendor_id Your vendor_id
* @param product_id Your product_id
* @param product_release Your preoduct_release
*/
USBMSD_RAMFS(RAMFileSystem* ramfs, uint16_t vendor_id = 0x0703, uint16_t product_id = 0x0104, uint16_t product_release = 0x0001);
protected:
/*
* read one or more blocks on a storage chip
*
* @param data pointer where will be stored read data
* @param block starting block number
* @param count number of blocks to read
* @returns 0 if successful
*/
virtual int disk_read(uint8_t* data, uint64_t block, uint8_t count);
/*
* write one or more blocks on a storage chip
*
* @param data data to write
* @param block starting block number
* @param count number of blocks to write
* @returns 0 if successful
*/
virtual int disk_write(const uint8_t* data, uint64_t block, uint8_t count);
/*
* Disk initilization
*/
virtual int disk_initialize();
/*
* Return the number of blocks
*
* @returns number of blocks
*/
virtual uint64_t disk_sectors();
/*
* Return memory size
*
* @returns memory size
*/
virtual uint64_t disk_size();
/*
* To check the status of the storage chip
*
* @returns status: 0: OK, 1: disk not initialized, 2: no medium in the drive, 4: write protected
*/
virtual int disk_status();
protected:
RAMFileSystem* ramfs;
};
#endif
