Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

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("> ");