USB to UART bridge
Fork of XBee-ExplorerLite by
UART | pinout |
---|---|
TXD | p9 |
RXD | p10 |
RTS | p5 |
DTR | p6 |
Windows serial driver:
https://developer.mbed.org/handbook/USBSerial
https://developer.mbed.org/media/uploads/samux/serial.zip
BaseUsbUartBridge.h@2:79ca417c25b2, 2015-08-11 (annotated)
- Committer:
- va009039
- Date:
- Tue Aug 11 23:07:42 2015 +0000
- Revision:
- 2:79ca417c25b2
- Parent:
- 1:3d02f8b77d68
add LPC11U35
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 |