USB-UART bridge for XBee with XCTU.
USB to UART bridge for XBee with XCTU.
Windows serial driver:
https://developer.mbed.org/handbook/USBSerial
https://developer.mbed.org/media/uploads/samux/serial.zip
BaseUsbUartBridge.h@1:3d02f8b77d68, 2014-05-13 (annotated)
- Committer:
- va009039
- Date:
- Tue May 13 15:46:37 2014 +0900
- Revision:
- 1:3d02f8b77d68
- Parent:
- 0:9b1aa393acb3
add sendBreak,update USBDevice.lib.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:9b1aa393acb3 | 1 | #pragma once |
va009039 | 0:9b1aa393acb3 | 2 | #include "mbed.h" |
va009039 | 0:9b1aa393acb3 | 3 | #include "USBCDC.h" |
va009039 | 0:9b1aa393acb3 | 4 | #include "CircBuffer.h" |
va009039 | 0:9b1aa393acb3 | 5 | |
va009039 | 0:9b1aa393acb3 | 6 | typedef enum { |
va009039 | 0:9b1aa393acb3 | 7 | _USB,_UART, |
va009039 | 0:9b1aa393acb3 | 8 | } src_t; |
va009039 | 0:9b1aa393acb3 | 9 | |
va009039 | 0:9b1aa393acb3 | 10 | class BaseUsbUartBridge : public SerialBase, public USBCDC { |
va009039 | 0:9b1aa393acb3 | 11 | public: |
va009039 | 0:9b1aa393acb3 | 12 | BaseUsbUartBridge(PinName tx, PinName rx, int uart_buf_size = 256, int usb_buf_size = 1024); |
va009039 | 0:9b1aa393acb3 | 13 | void poll(); |
va009039 | 0:9b1aa393acb3 | 14 | |
va009039 | 0:9b1aa393acb3 | 15 | protected: |
va009039 | 0:9b1aa393acb3 | 16 | virtual bool EP2_OUT_callback() { return bulk_callback(); } |
va009039 |
1:3d02f8b77d68 | 17 | virtual void lineCodingChanged(int baud, int bits, int parity, int stop); |
va009039 |
1:3d02f8b77d68 | 18 | virtual void sendBreak(uint16_t duration); |
va009039 | 0:9b1aa393acb3 | 19 | virtual void controlLineStateChanged(int rts, int dtr){} |
va009039 | 0:9b1aa393acb3 | 20 | virtual void monitor(src_t src, uint8_t c) {} |
va009039 | 0:9b1aa393acb3 | 21 | |
va009039 | 0:9b1aa393acb3 | 22 | private: |
va009039 | 0:9b1aa393acb3 | 23 | bool bulk_callback(); |
va009039 | 0:9b1aa393acb3 | 24 | void uart_handler(void); |
va009039 | 0:9b1aa393acb3 | 25 | CircBuffer<uint8_t> uart_buf; |
va009039 | 0:9b1aa393acb3 | 26 | CircBuffer<uint8_t> usb_buf; |
va009039 | 0:9b1aa393acb3 | 27 | }; |
va009039 | 0:9b1aa393acb3 | 28 |