USB to UART bridge

Dependencies:   USBDevice mbed

Fork of XBee-ExplorerLite by Norimasa Okamoto

UARTpinout
TXDp9
RXDp10
RTSp5
DTRp6

Windows serial driver:
https://developer.mbed.org/handbook/USBSerial
https://developer.mbed.org/media/uploads/samux/serial.zip

Files at this revision

API Documentation at this revision

Comitter:
va009039
Date:
Tue Aug 11 23:07:42 2015 +0000
Parent:
1:3d02f8b77d68
Commit message:
add LPC11U35

Changed in this revision

USBDevice.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 3d02f8b77d68 -r 79ca417c25b2 USBDevice.lib
--- a/USBDevice.lib	Tue May 13 15:46:37 2014 +0900
+++ b/USBDevice.lib	Tue Aug 11 23:07:42 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/va009039/code/USBDevice/#8615d80a0568
+http://mbed.org/users/va009039/code/USBDevice/#8bd969c0b0f2
diff -r 3d02f8b77d68 -r 79ca417c25b2 main.cpp
--- a/main.cpp	Tue May 13 15:46:37 2014 +0900
+++ b/main.cpp	Tue Aug 11 23:07:42 2015 +0000
@@ -1,64 +1,55 @@
+// main.cpp 2015/7/8
+// USB-to-UART-bridge
 #include "BaseUsbUartBridge.h"
-DigitalOut led_xbee(LED1),led_usb(LED2),led_reset(LED3),led_heartbeat(LED4);
-RawSerial pc(MBED_UARTUSB);
-#if defined(TARGET_LPC4088)
-#define XBEE_UART P4_22,P4_23
-DigitalOut xbee_rts(P4_21);
-DigitalOut xbee_dtr(P4_19);
-DigitalOut xbee_reset(P4_17);
-DigitalIn reset_sw(P2_10);
-#define SW_MODE PullUp
-#elif defined(TARGET_LPC1768)
-#define XBEE_UART p9,p10
-DigitalOut xbee_rts(p21);
-DigitalOut xbee_dtr(p22);
-DigitalOut xbee_reset(p30);
-DigitalIn reset_sw(p14);
-#define SW_MODE PullDown
+
+DigitalInOut uart_nRTS(p5);
+DigitalInOut uart_nDTR(p6);
+#if defined(TARGET_MCU_LPC11U35_501)
+DigitalOut led_uart(LED1);
+DigitalOut led_usb(LED2);
+DigitalOut led_rts(p18);
+DigitalOut led_dtr(p20);
 #else
-#error "target error"
+DigitalOut led_uart(LED1);
+DigitalOut led_usb(LED2);
+DigitalOut led_rts(LED3);
+DigitalOut led_dtr(LED4);
 #endif
 
-class USB_XBee : public BaseUsbUartBridge {
+class USB_UART : public BaseUsbUartBridge {
 public:
-    USB_XBee(PinName tx, PinName rx) : BaseUsbUartBridge(tx, rx) {}
-    virtual void controlLineStateChanged(int rts, int dtr){
-        xbee_rts = rts ^ 1;
-        xbee_dtr = dtr ^ 1;
+    USB_UART(PinName tx, PinName rx) : BaseUsbUartBridge(tx, rx) {
+        uart_nRTS.mode(PullUp);
+        uart_nDTR.mode(PullUp);
+        uart_nRTS.input();        
+        uart_nDTR.input();
+    }
+    virtual void controlLineStateChanged(int rts, int dtr) {
+        led_rts = rts;
+        led_dtr = dtr;
+        if (rts) {
+            uart_nRTS.output();
+            uart_nRTS = 0;
+        } else {
+            uart_nRTS.input();
+        }
+        if (dtr) {
+            uart_nDTR.output();
+            uart_nDTR = 0;
+        } else {
+            uart_nDTR.input();
+        }
     }
     virtual void monitor(src_t src, uint8_t c) {
         switch(src) {
-            case _UART: led_xbee = !led_xbee; break;
+            case _UART: led_uart = !led_uart; break;
             case _USB: led_usb = !led_usb; break;
         }
-        //pc.putc(c);// debug
     }
-};
-
-USB_XBee usb_xbee(XBEE_UART);
+} usb_uart(UART_TX, UART_RX);
 
 int main() {
-    pc.baud(115200);
-
-    xbee_rts = 0;
-    xbee_dtr = 0;
-    xbee_reset = 1;
-    reset_sw.mode(SW_MODE);
-    int prev_sw = 1;
-
-    Timer heartbeat_t;
-    heartbeat_t.reset();
-    heartbeat_t.start();
     while(1) {
-        if (reset_sw ^ prev_sw) {
-            prev_sw = reset_sw;
-            xbee_reset = prev_sw ^ (SW_MODE == PullDown ? 1 : 0);
-            led_reset = xbee_reset;
-        }
-        if (heartbeat_t.read_ms() > 500) {
-            heartbeat_t.reset();
-            led_heartbeat = !led_heartbeat;
-        }
-        usb_xbee.poll();
+        usb_uart.poll();
     }
 }
diff -r 3d02f8b77d68 -r 79ca417c25b2 mbed.bld
--- a/mbed.bld	Tue May 13 15:46:37 2014 +0900
+++ b/mbed.bld	Tue Aug 11 23:07:42 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/b9ad9a133dc7
\ No newline at end of file