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.
Diff: USBDevice/USBSERIAL/.svn/text-base/USBSerial.h.svn-base
- Revision:
- 0:505207de8566
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice/USBSERIAL/.svn/text-base/USBSerial.h.svn-base Tue Nov 29 21:26:20 2011 +0000
@@ -0,0 +1,76 @@
+/* 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"
+
+class USBSerial: public USBCDC, public Stream {
+public:
+
+ /**
+ * Constructor
+ *
+ * @param vendor_id Your vendor_id (default: 0x1234)
+ * @param product_id Your product_id (default: 0x0001)
+ * @param product_release Your preoduct_release (default: 0x0001)
+ *
+ */
+ USBSerial(uint16_t vendor_id = 0x1FC9, uint16_t product_id = 0x2002, 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. You can use scanf.
+ *
+ * @returns character read
+ */
+ virtual int _getc();
+
+ /**
+ * Attach a member function to call when a character 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 character is received
+ *
+ * @param fptr function pointer
+ */
+ void attach(void (*fn)(void));
+
+
+protected:
+ virtual bool EPBULK_OUT_callback();
+
+private:
+ FunctionPointer rx;
+ void (*fn)(void);
+ bool handler;
+ bool proc;
+};
+
+#endif