Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers USBCDC.h Source File

USBCDC.h

00001 
00002 #ifndef USBCDC_H
00003 #define USBCDC_H
00004 
00005 /* These headers are included for child class. */
00006 #include "USBEndpoints.h"
00007 #include "USBDescriptor.h"
00008 #include "USBDevice_Types.h"
00009 
00010 #include "USBDevice.h"
00011 
00012 #define DEFAULT_CONFIGURATION (1)
00013 
00014 class USBCDC: public USBDevice {
00015 public:
00016 
00017     /**
00018     * Constructor
00019     *
00020     * @param vendor_id Your vendor_id
00021     * @param product_id Your product_id
00022     * @param product_release Your preoduct_release
00023     */
00024     USBCDC(uint16_t vendor_id = 0xFFFF, uint16_t product_id = 0x0005, uint16_t product_release = 0x0100);
00025     
00026     /*
00027     * Get string product descriptor
00028     *
00029     * @returns pointer to the string product descriptor
00030     */
00031     virtual uint8_t * stringIproductDesc();
00032     
00033     /*
00034     * Get string interface descriptor
00035     *
00036     * @returns pointer to the string interface descriptor
00037     */
00038     virtual uint8_t * stringIinterfaceDesc();
00039     
00040     /*
00041     * Get configuration descriptor
00042     *
00043     * @returns pointer to the configuration descriptor
00044     */
00045     virtual uint8_t * configurationDesc();
00046     virtual uint8_t * deviceDesc();
00047     
00048     virtual bool USBCallback_setConfiguration(uint8_t configuration);
00049     
00050     virtual bool USBCallback_request ();
00051 
00052     void attach(void (*fptr)(char*, int));
00053 
00054 protected:
00055     virtual bool EPBULK_OUT_callback();
00056 
00057 private:
00058     void (*cdc_evt)(char*, int);
00059 
00060 };
00061 
00062 #endif