USB-UART bridge for XBee with XCTU.

Dependencies:   USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers BaseUsbUartBridge.h Source File

BaseUsbUartBridge.h

00001 #pragma once
00002 #include "mbed.h"
00003 #include "USBCDC.h"
00004 #include "CircBuffer.h"
00005 
00006 typedef enum {
00007     _USB,_UART,
00008 } src_t;
00009 
00010 class BaseUsbUartBridge : public SerialBase, public USBCDC {
00011 public:
00012     BaseUsbUartBridge(PinName tx, PinName rx, int uart_buf_size = 256, int usb_buf_size = 1024);
00013     void poll();
00014 
00015 protected:
00016     virtual bool EP2_OUT_callback() { return bulk_callback(); }
00017     virtual void lineCodingChanged(int baud, int bits, int parity, int stop);
00018     virtual void sendBreak(uint16_t duration);
00019     virtual void controlLineStateChanged(int rts, int dtr){}
00020     virtual void monitor(src_t src, uint8_t c) {}
00021 
00022 private:
00023     bool bulk_callback();
00024     void uart_handler(void);
00025     CircBuffer<uint8_t> uart_buf;
00026     CircBuffer<uint8_t> usb_buf;
00027 };
00028