USB-UART bridge for XBee with XCTU.

Dependencies:   USBDevice mbed

USB to UART bridge for XBee with XCTU.
320 350
Windows serial driver:
https://developer.mbed.org/handbook/USBSerial
https://developer.mbed.org/media/uploads/samux/serial.zip

BaseUsbUartBridge.h

Committer:
va009039
Date:
2014-05-13
Revision:
1:3d02f8b77d68
Parent:
0:9b1aa393acb3

File content as of revision 1:3d02f8b77d68:

#pragma once
#include "mbed.h"
#include "USBCDC.h"
#include "CircBuffer.h"

typedef enum {
    _USB,_UART,
} src_t;

class BaseUsbUartBridge : public SerialBase, public USBCDC {
public:
    BaseUsbUartBridge(PinName tx, PinName rx, int uart_buf_size = 256, int usb_buf_size = 1024);
    void poll();

protected:
    virtual bool EP2_OUT_callback() { return bulk_callback(); }
    virtual void lineCodingChanged(int baud, int bits, int parity, int stop);
    virtual void sendBreak(uint16_t duration);
    virtual void controlLineStateChanged(int rts, int dtr){}
    virtual void monitor(src_t src, uint8_t c) {}

private:
    bool bulk_callback();
    void uart_handler(void);
    CircBuffer<uint8_t> uart_buf;
    CircBuffer<uint8_t> usb_buf;
};