FTDI Simulator

Dependencies:   mbed

Fork of Wifly_configure by Samuel Mokrani

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?

UserRevisionLine numberNew 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 }