Dependencies:   ChaNFSSD mbed ChaNFS

Committer:
okini3939
Date:
Wed Nov 09 17:30:56 2011 +0000
Revision:
0:02c293160df3
Child:
1:efbcfbae4747

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:02c293160df3 1
okini3939 0:02c293160df3 2 #ifndef USBMSC_H
okini3939 0:02c293160df3 3 #define USBMSC_H
okini3939 0:02c293160df3 4
okini3939 0:02c293160df3 5 /* These headers are included for child class. */
okini3939 0:02c293160df3 6 #include "USBEndpoints.h"
okini3939 0:02c293160df3 7 #include "USBDescriptor.h"
okini3939 0:02c293160df3 8 #include "USBDevice_Types.h"
okini3939 0:02c293160df3 9
okini3939 0:02c293160df3 10 #include "USBDevice.h"
okini3939 0:02c293160df3 11
okini3939 0:02c293160df3 12 #define DEFAULT_CONFIGURATION (1)
okini3939 0:02c293160df3 13
okini3939 0:02c293160df3 14 class USBMSC: public USBDevice {
okini3939 0:02c293160df3 15 public:
okini3939 0:02c293160df3 16
okini3939 0:02c293160df3 17 /**
okini3939 0:02c293160df3 18 * Constructor
okini3939 0:02c293160df3 19 *
okini3939 0:02c293160df3 20 * @param vendor_id Your vendor_id
okini3939 0:02c293160df3 21 * @param product_id Your product_id
okini3939 0:02c293160df3 22 * @param product_release Your preoduct_release
okini3939 0:02c293160df3 23 */
okini3939 0:02c293160df3 24 USBMSC(uint16_t vendor_id = 0x1FC9, uint16_t product_id = 0x1002, uint16_t product_release = 0x0100);
okini3939 0:02c293160df3 25
okini3939 0:02c293160df3 26 /*
okini3939 0:02c293160df3 27 * Get string product descriptor
okini3939 0:02c293160df3 28 *
okini3939 0:02c293160df3 29 * @returns pointer to the string product descriptor
okini3939 0:02c293160df3 30 */
okini3939 0:02c293160df3 31 virtual uint8_t * stringIproductDesc();
okini3939 0:02c293160df3 32
okini3939 0:02c293160df3 33 /*
okini3939 0:02c293160df3 34 * Get string interface descriptor
okini3939 0:02c293160df3 35 *
okini3939 0:02c293160df3 36 * @returns pointer to the string interface descriptor
okini3939 0:02c293160df3 37 */
okini3939 0:02c293160df3 38 virtual uint8_t * stringIinterfaceDesc();
okini3939 0:02c293160df3 39
okini3939 0:02c293160df3 40 /*
okini3939 0:02c293160df3 41 * Get configuration descriptor
okini3939 0:02c293160df3 42 *
okini3939 0:02c293160df3 43 * @returns pointer to the configuration descriptor
okini3939 0:02c293160df3 44 */
okini3939 0:02c293160df3 45 virtual uint8_t * configurationDesc();
okini3939 0:02c293160df3 46 virtual uint8_t * deviceDesc();
okini3939 0:02c293160df3 47
okini3939 0:02c293160df3 48 virtual bool USBCallback_setConfiguration(uint8_t configuration);
okini3939 0:02c293160df3 49
okini3939 0:02c293160df3 50 virtual bool USBCallback_request ();
okini3939 0:02c293160df3 51
okini3939 0:02c293160df3 52 void attach(void (*fptr)(uint8_t));
okini3939 0:02c293160df3 53
okini3939 0:02c293160df3 54 void setTransferData (uint8_t *buf, int len);
okini3939 0:02c293160df3 55
okini3939 0:02c293160df3 56 protected:
okini3939 0:02c293160df3 57 virtual bool EPBULK_OUT_callback();
okini3939 0:02c293160df3 58 virtual bool EPBULK_IN_callback();
okini3939 0:02c293160df3 59
okini3939 0:02c293160df3 60 private:
okini3939 0:02c293160df3 61 void (*msc_evt)(uint8_t);
okini3939 0:02c293160df3 62
okini3939 0:02c293160df3 63 };
okini3939 0:02c293160df3 64
okini3939 0:02c293160df3 65 #endif