FTDI Simulator
Dependencies: mbed
Fork of Wifly_configure by
Diff: main.cpp
- Revision:
- 2:8b5ff73de8f0
- Parent:
- 1:20eea0789016
- Child:
- 3:cb83f5431e08
--- a/main.cpp Sun Nov 06 12:12:21 2011 +0000 +++ b/main.cpp Wed Jan 25 22:25:06 2017 +0000 @@ -1,18 +1,66 @@ #include "mbed.h" +#define MAXINCOMINGBUFF 4096 + Serial pc(USBTX, USBRX); -Serial wifi(p9,p10); +Serial wifi(D8, D2); int main() { + int br = 9600; + int bufflen = 0; + char buff[256]; + char incomingBuff[4096]; + int incomingbufflen = 0; + int ii,jj; + pc.printf("\n\n\rTest Wifly!\r\n"); + pc.printf("External Baud Rate: %d\n\n\r", br); + wifi.baud(br); + //wait(1); - pc.printf("Test Wifly!\r\n"); - + char c; while (1) { - while(pc.readable()) - wifi.putc(pc.getc()); - while(wifi.readable()) - pc.putc(wifi.getc()); + while(pc.readable()){ + c = pc.getc(); + buff[bufflen] = c; + bufflen++; + + pc.printf("%c", c); + + if(c == 13){ + // Send a whole string: + for(ii=0;ii<bufflen;ii++){ + wifi.putc(buff[ii]); + } + bufflen = 0; + pc.printf("\r"); + } + + /*pc.printf("%c",c); + if(c == '\r'){ + pc.printf("\n"); + }*/ + } + while(wifi.readable()){ + if(bufflen == 0){ + if(incomingbufflen == 0){ + pc.putc(wifi.getc()); + }else{ + for(jj=0;jj<incomingbufflen;jj++){ + pc.putc(incomingBuff[jj]); + } + incomingbufflen = 0; + pc.putc(wifi.getc()); + } + }else{ + if(incomingbufflen < MAXINCOMINGBUFF){ + incomingBuff[incomingbufflen] = wifi.getc(); + incomingbufflen++; + } + // data is lost + wifi.getc(); + } + } } }