FTDI Simulator
Dependencies: mbed
Fork of Wifly_configure by
main.cpp@3:cb83f5431e08, 2017-02-03 (annotated)
- Committer:
- defrost
- Date:
- Fri Feb 03 14:56:42 2017 +0000
- Revision:
- 3:cb83f5431e08
- Parent:
- 2:8b5ff73de8f0
- Latest version;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
samux | 0:a63053b8abc0 | 1 | #include "mbed.h" |
samux | 0:a63053b8abc0 | 2 | |
defrost | 2:8b5ff73de8f0 | 3 | #define MAXINCOMINGBUFF 4096 |
defrost | 2:8b5ff73de8f0 | 4 | |
samux | 0:a63053b8abc0 | 5 | Serial pc(USBTX, USBRX); |
defrost | 2:8b5ff73de8f0 | 6 | Serial wifi(D8, D2); |
samux | 0:a63053b8abc0 | 7 | |
samux | 0:a63053b8abc0 | 8 | |
samux | 0:a63053b8abc0 | 9 | int main() { |
defrost | 2:8b5ff73de8f0 | 10 | int br = 9600; |
defrost | 2:8b5ff73de8f0 | 11 | int bufflen = 0; |
defrost | 2:8b5ff73de8f0 | 12 | char buff[256]; |
defrost | 3:cb83f5431e08 | 13 | char msg_buff[256]; |
defrost | 2:8b5ff73de8f0 | 14 | char incomingBuff[4096]; |
defrost | 2:8b5ff73de8f0 | 15 | int incomingbufflen = 0; |
defrost | 2:8b5ff73de8f0 | 16 | int ii,jj; |
defrost | 2:8b5ff73de8f0 | 17 | pc.printf("\n\n\rTest Wifly!\r\n"); |
defrost | 2:8b5ff73de8f0 | 18 | pc.printf("External Baud Rate: %d\n\n\r", br); |
defrost | 2:8b5ff73de8f0 | 19 | wifi.baud(br); |
defrost | 2:8b5ff73de8f0 | 20 | //wait(1); |
samux | 0:a63053b8abc0 | 21 | |
defrost | 2:8b5ff73de8f0 | 22 | char c; |
samux | 0:a63053b8abc0 | 23 | while (1) |
samux | 0:a63053b8abc0 | 24 | { |
defrost | 2:8b5ff73de8f0 | 25 | while(pc.readable()){ |
defrost | 2:8b5ff73de8f0 | 26 | c = pc.getc(); |
defrost | 2:8b5ff73de8f0 | 27 | buff[bufflen] = c; |
defrost | 2:8b5ff73de8f0 | 28 | bufflen++; |
defrost | 2:8b5ff73de8f0 | 29 | |
defrost | 2:8b5ff73de8f0 | 30 | pc.printf("%c", c); |
defrost | 2:8b5ff73de8f0 | 31 | |
defrost | 2:8b5ff73de8f0 | 32 | if(c == 13){ |
defrost | 3:cb83f5431e08 | 33 | // wait for a gap in transmission: |
defrost | 3:cb83f5431e08 | 34 | wait_us((1.0f/((float) br))*20.0f*1000000.0f); |
defrost | 3:cb83f5431e08 | 35 | while(wifi.readable()){ |
defrost | 3:cb83f5431e08 | 36 | pc.putc(wifi.getc()); |
defrost | 3:cb83f5431e08 | 37 | wait_us((1.0f/((float) br))*20.0f*1000000.0f); |
defrost | 3:cb83f5431e08 | 38 | } |
defrost | 3:cb83f5431e08 | 39 | // Send a whole string: |
defrost | 2:8b5ff73de8f0 | 40 | for(ii=0;ii<bufflen;ii++){ |
defrost | 2:8b5ff73de8f0 | 41 | wifi.putc(buff[ii]); |
defrost | 3:cb83f5431e08 | 42 | if(buff[ii] == 13){ |
defrost | 3:cb83f5431e08 | 43 | msg_buff[ii] = '\0'; |
defrost | 3:cb83f5431e08 | 44 | }else{ |
defrost | 3:cb83f5431e08 | 45 | msg_buff[ii] = buff[ii]; |
defrost | 3:cb83f5431e08 | 46 | } |
defrost | 2:8b5ff73de8f0 | 47 | } |
defrost | 2:8b5ff73de8f0 | 48 | bufflen = 0; |
defrost | 3:cb83f5431e08 | 49 | pc.printf("[FTDI : INFO] Sent: %s\n\r",msg_buff); |
defrost | 2:8b5ff73de8f0 | 50 | } |
defrost | 2:8b5ff73de8f0 | 51 | |
defrost | 2:8b5ff73de8f0 | 52 | /*pc.printf("%c",c); |
defrost | 2:8b5ff73de8f0 | 53 | if(c == '\r'){ |
defrost | 2:8b5ff73de8f0 | 54 | pc.printf("\n"); |
defrost | 2:8b5ff73de8f0 | 55 | }*/ |
defrost | 2:8b5ff73de8f0 | 56 | } |
defrost | 2:8b5ff73de8f0 | 57 | while(wifi.readable()){ |
defrost | 3:cb83f5431e08 | 58 | /*if(bufflen == 0){ |
defrost | 2:8b5ff73de8f0 | 59 | if(incomingbufflen == 0){ |
defrost | 2:8b5ff73de8f0 | 60 | pc.putc(wifi.getc()); |
defrost | 2:8b5ff73de8f0 | 61 | }else{ |
defrost | 2:8b5ff73de8f0 | 62 | for(jj=0;jj<incomingbufflen;jj++){ |
defrost | 2:8b5ff73de8f0 | 63 | pc.putc(incomingBuff[jj]); |
defrost | 2:8b5ff73de8f0 | 64 | } |
defrost | 2:8b5ff73de8f0 | 65 | incomingbufflen = 0; |
defrost | 2:8b5ff73de8f0 | 66 | pc.putc(wifi.getc()); |
defrost | 2:8b5ff73de8f0 | 67 | } |
defrost | 2:8b5ff73de8f0 | 68 | }else{ |
defrost | 2:8b5ff73de8f0 | 69 | if(incomingbufflen < MAXINCOMINGBUFF){ |
defrost | 2:8b5ff73de8f0 | 70 | incomingBuff[incomingbufflen] = wifi.getc(); |
defrost | 2:8b5ff73de8f0 | 71 | incomingbufflen++; |
defrost | 2:8b5ff73de8f0 | 72 | } |
defrost | 2:8b5ff73de8f0 | 73 | // data is lost |
defrost | 2:8b5ff73de8f0 | 74 | wifi.getc(); |
defrost | 3:cb83f5431e08 | 75 | }*/ |
defrost | 3:cb83f5431e08 | 76 | pc.putc(wifi.getc()); |
defrost | 2:8b5ff73de8f0 | 77 | } |
samux | 0:a63053b8abc0 | 78 | } |
samux | 0:a63053b8abc0 | 79 | } |