Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: prompt.cpp
- Revision:
- 57:78f7191a8b69
- Parent:
- 56:c64bcbaa621a
- Child:
- 58:af7e8788f106
--- a/prompt.cpp Thu Oct 23 14:35:28 2014 +0000 +++ b/prompt.cpp Thu Oct 23 17:18:58 2014 +0000 @@ -292,77 +292,55 @@ bool exists = true; fip = fopen("/qspi/myip.txt", "r"); if( fip == NULL){ - //fip = fopen("/qspi/myip.txt", "w"); - //fprintf(fip, "%s\n\r",__MY_IP__); //myip - //fprintf(fip, "%s\n\r",__MY_IP__); //myip set_ip( __MY_IP__ ); exists = false; } fserext = fopen("/qspi/myext.txt", "r"); if( fserext == NULL ){ - //fserext = fopen("/qspi/myext.txt", "w"); - //fprintf( fserext, "%i\n\r" ,__MY_EXT__ ); //asterisk ext set_header_ext( __MY_EXT__ ); exists = false; } fport = fopen("/qspi/mysipport.txt", "r"); if (fport == NULL){ - //fport = fopen("/qspi/mysipport.txt", "w"); - //fprintf(fport, "%i\n\r",__MY_PORT__); //mysipport set_header_sip_port( __MY_PORT__ ); exists = false; } fsip = fopen("/qspi/serverip.txt", "r"); if (fsip == NULL){ - //fsip = fopen("/qspi/serverip.txt", "w"); - //fprintf(fsip, "%s\n\r",__SERVER_IP__ ); //asterisk ip - //fprintf(fsip, "%s\n\r",__SERVER_IP__ ); //asterisk ip set_server_ip( __SERVER_IP__ ); exists = false; } fext = fopen("/qspi/peerext.txt", "r"); if ( fext == NULL ){ - //fext = fopen("/qspi/peerext.txt", "w"); - //fprintf( fext, "%i\n\r",__PEER_EXT__ ); //asterisk ip set_server_ext( __PEER_EXT__ ); exists = false; } fsport = fopen("/qspi/serverport.txt", "r"); if (fsport == NULL){ - //fsport = fopen("/qspi/serverport.txt", "w"); - //fprintf(fsport, "%i\n\r",__SERVER_PORT__ ); //asterisk port set_server_port( __SERVER_PORT__ ); exists = false; } fmask = fopen("/qspi/mymask.txt", "r"); if (fmask == NULL){ - //fmask = fopen("/qspi/mymask.txt", "w"); - //fprintf(fmask, "%s\n\r",__MY_MSK__); //mymask set_mask( __MY_MSK__ ); exists = false; } fgate = fopen("/qspi/mygateway.txt", "r"); if (fgate == NULL){ - //fgate = fopen("/qspi/mygate.txt", "w"); - //fprintf(fgate, "%s\n\r",__MY_GTW__); //mygateway set_gateway( __MY_GTW__ ); exists = false; } fudpport = fopen("/qspi/udpport.txt", "r" ); if( fudpport == NULL ){ - //fudpport = fopen("/qspi/udpport.txt", "w"); - //fprintf( fudpport, "%i\n\r",UDP_PORT_LISTENER ); set_udp_port_listener( UDP_PORT_LISTENER ); exists = false; } ftcpport = fopen("/qspi/tcpport.txt", "r" ); if( ftcpport == NULL ){ - //ftcpport = fopen("/qspi/tcpport.txt", "w"); - //fprintf( ftcpport, "%i\n\r", TCP_PORT_LISTENER ); set_tcp_port_listener( TCP_PORT_LISTENER ); exists = false; } @@ -529,7 +507,8 @@ static uint8_t bufret = 0; static Timer flood_timeout; bool miss_match = true; - char eth_buffer[ 1024 ]; + char eth_buffer[ __PROMPT_ETH_BUFFER_SIZE__ ]; + if( flood_timeout.read() > 60 ){ pflood = 0; flood_timeout.stop(); @@ -555,7 +534,7 @@ } wdt.kick(); if( tcp_session ){ - if( !( (int)tcp_timer.read_ms() % 100 ) ){ + //if( !( (int)tcp_timer.read_ms() % 100 ) ){ tcp_client.set_blocking( false, 1 ); int n = tcp_client.receive( eth_buffer, sizeof( eth_buffer ) - 1 ); if( n > 0 ){ @@ -587,30 +566,15 @@ }else{ debug_buf = __debug_buf__; bufptr = last_bufptr; + from_eth = false; } - }/*else{ if( !tcp_session ){ - int n = udp_server.receiveFrom( udp_client, buffer, __PROMPT_ETH_BUFFER_SIZE__ - 1 ); - if( n > 0){ - if( ( n > 2 ) && ( buffer[ n - 2 ] == '\r' ) ) buffer[ n - 2 ] = 0; - - if( ( n > 1 ) && ( buffer[ n - 1 ] == '\n' ) ) buffer[ n - 1 ] = 0; - - if( n == 1 && buffer[ 0 ] == 0x0A ){ strcpy( buffer, "\r" ); } - - last_bufptr = bufptr; - bufptr = strlen( buffer ); - debug_buf = buffer; - from_eth = true; - udp_request = true; - bufret = 1; - } - }*/ + //} } + if( !from_eth ){ - if ( pc.readable() ){ + if( pc.readable() ){ // imput do teclado b = pc.getc(); - if( b == 0x0D ){ // enter bufret = 1; }else{ @@ -1415,29 +1379,32 @@ } if( b == 0x0D || bufret == 1 || bufptr > DEBUGBUFSIZE ){ bufret = 0; - if( tcp_session ){ + if( from_eth ){ + from_eth = false; + if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' ) strcat( debug_buf, "> " ); else strcat( debug_buf, "\n\r> " ); - tcp_client.send_all( debug_buf, strlen( debug_buf ) ); - //tcp_timer.reset(); - }else if( udp_request ){ - if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' ) strcat( debug_buf, "> " ); + if( tcp_session ){ + + tcp_client.send_all( debug_buf, strlen( debug_buf ) ); + + }else if( udp_request ){ - else strcat( debug_buf, "\n\r> " ); + int sent = udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) ); - int sent = udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) ); - udp_request = false; + udp_request = false; + } + for( register uint16_t i = 0; i < __PROMPT_ETH_BUFFER_SIZE__; i++ ) eth_buffer[ i ] = 0; + debug_buf = __debug_buf__; + bufptr = last_bufptr; }else{ bufptr = 0; for (uint8_t i =0; i < DEBUGBUFSIZE; i++) { debug_buf[i] = 0; } } - from_eth = false; - debug_buf = __debug_buf__; - bufptr = last_bufptr; pc.putc(0x0A); pc.putc(0x0D); pc.printf("> ");