USBMSD SD card Hello World for Mbed platforms
Dependencies: mbed USBMSD_SD USBDevice
USBDevice/USBSERIAL/USBSerial.h
- Committer:
- samux
- Date:
- 2011-11-11
- Revision:
- 2:27a7e7f8d399
File content as of revision 2:27a7e7f8d399:
/* USBSerial.h */ /* USB device example: virtual serial port */ /* Copyright (c) 2011 ARM Limited. All rights reserved. */ #ifndef USBSERIAL_H #define USBSERIAL_H #include "USBCDC.h" #include "Stream.h" #include "CBuffer.h" /** * USBSerial example * * @code * #include "mbed.h" * #include "USBSerial.h" * * //Virtual serial port over USB * USBSerial serial; * * int main(void) { * * while(1) * { * serial.printf("I am a virtual serial port\n"); * wait(1); * } * } * @endcode */ class USBSerial: public USBCDC, public Stream { public: /** * Constructor * * @param vendor_id Your vendor_id (default: 0x1f00) * @param product_id Your product_id (default: 0x2012) * @param product_release Your preoduct_release (default: 0x0001) * */ USBSerial(uint16_t vendor_id = 0x1f00, uint16_t product_id = 0x2012, uint16_t product_release = 0x0001): USBCDC(vendor_id, product_id, product_release){ handler = false; proc = false; }; /** * Send a character. You can use puts, printf. * * @param c character to be sent * @returns true if there is no error, false otherwise */ virtual int _putc(int c); /** * Read a character: blocking * * @returns character read */ virtual int _getc(); /** * Check the number of bytes available. * * @returns the number of bytes available */ uint8_t available(); /** * Attach a member function to call when a packet is received. * * @param tptr pointer to the object to call the member function on * @param mptr pointer to the member function to be called */ template<typename T> void attach(T* tptr, void (T::*mptr)(void)) { if((mptr != NULL) && (tptr != NULL)) { proc = false; handler = true; rx.attach(tptr, mptr); } } /** * Attach a callback for when a packet is received * * @param fptr function pointer */ void attach(void (*fn)(void)); protected: virtual bool EP2_OUT_callback(); private: FunctionPointer rx; CBuffer buf; void (*fn)(void); bool handler; bool proc; }; #endif