Simple test routine to speak with Blue giga WT-12A

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
cbayley
Date:
Thu Dec 15 03:00:58 2011 +0000
Commit message:
Initital version

Changed in this revision

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 000000000000 -r fe1a4941bdb6 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Dec 15 03:00:58 2011 +0000
@@ -0,0 +1,102 @@
+#include "mbed.h"
+
+#define BCSP 0
+
+//I2C acp(p9, p10);
+Serial serBT(p28,p27);
+Serial serPC(USBTX,USBRX);
+
+InterruptIn  intCD(p22);
+
+DigitalOut ledBT(LED1);
+DigitalOut ledDAT(LED2);
+DigitalOut ledCD0(LED3);
+DigitalOut ledCD(LED4);
+
+DigitalOut outBTRES(p24);
+DigitalOut outDTR(p23);
+
+Timeout toBTled;
+
+void timeoutBt(void)
+{
+    ledBT = 0;
+}
+
+void goOffline( void )
+{
+    serPC.printf("CMD\n");
+    outDTR = 1;
+    wait(0.10);
+    outDTR = 0;
+    //serPC.printf("DTR = %u\n",outDTR.read() );
+}
+
+void onCDUp(void)
+{
+    ledCD = 1;
+    serPC.printf("CD up\n");
+}
+
+void onCDDn(void)
+{
+    ledCD = 0;
+    serPC.printf("CD dn\n");
+}
+
+void ledBTOn(void)
+{
+    ledBT = 1;
+    toBTled.attach(timeoutBt,0.1);
+}
+
+void resetBT(void)
+{
+    outBTRES = 1;
+    wait(0.010);
+    outBTRES = 0;
+}
+
+int main() {
+    serPC.baud(115200);
+    serBT.baud(115200);
+ 
+    //serBT.format( 8, Serial::Even, 1 );
+   // serBT.format( 8, Serial::None, 1 );
+ 
+    serPC.format( 8, Serial::Even, 1 );
+    
+    intCD.rise(onCDUp);
+    intCD.fall(onCDDn);
+    ledBT = 0; 
+
+    serPC.printf("Mbed starting\n");
+    resetBT();
+    
+    wait(0.5);
+    serBT.printf("INFO\n");
+    
+    while(1) {
+        char c;
+
+        if(serPC.readable()) {
+            c = serPC.getc();
+            #if !BCSP
+            if ( c == 0x1B )
+                goOffline();
+            else
+            #endif
+            {
+                ledBTOn();
+                serBT.putc(c);
+            }
+        }
+        
+        if(serBT.readable()) {
+            ledBTOn();
+            c = serBT.getc();
+            serPC.putc(c);
+        }    
+    }
+}
+    
\ No newline at end of file
diff -r 000000000000 -r fe1a4941bdb6 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Dec 15 03:00:58 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912