Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
81:3656f00ab3db
Parent:
80:61d61c9eb75c
Child:
82:f55d13babca0
--- a/prompt.cpp	Tue Dec 16 19:34:30 2014 +0000
+++ b/prompt.cpp	Tue Dec 30 12:37:40 2014 +0000
@@ -1,7 +1,5 @@
 #include "prompt.h"
 
-#define PVERSION 7          // Sempre atualizar a versao do prompt
-
 bool flood_silence = false;
 bool delayed_flood = false;
 
@@ -14,16 +12,10 @@
 char tmp_cmd[ DEBUGBUFSIZE ] = "help";
 char last_debug_buf[ DEBUGBUFSIZE ] = "help";
 
-FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ftip, *ftport;
+FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ftip, *ftport, *fmax, *fmin;
+
 uint8_t bufptr = 0;
 uint8_t last_bufptr = 0;
- 
-uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size) {      
-  while (size--) {
-    if (*s1++ != *s2++) return 0; /* does not match */
-  }
-  return 1; /* matches */
-}
 
 int str2uint ( char * s, unsigned int * val ){
   int i = 0;
@@ -39,39 +31,12 @@
   }
 }
 
-// Print the content of a given file
-void cat(const char* fname){
-    char buff[513];
-    int num;
-    
-    FILE *fp = fopen(fname, "r");
-    if (fp == NULL) {
-        if( debug_file ) pc.printf( "Failed to open %s", fname);
-        return;
-    }
-    
-    while( ( num = fread( buff, 1, 512, fp ) ) > 0 ){
-        buff[ num ] = '\0';
-        pc.printf( buff );
-        if( from_eth ){
-            if( tcp_session ) tcp_client.send_all( buff, strlen( buff ) );
-            
-            else if( udp_request ){
-                udp_server.sendTo( udp_client, buff, strlen( buff ) );
-            }
-        }
-    }
-    fclose(fp);
-}
-
 // operantion with the system config files
 void files( const char type ){
     // show files       
     if (type == 's' ){
-        //pc.printf("\n\rHeader IP " );
         pc.printf("Header IP " );
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader IP " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header IP " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -79,12 +44,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/myip.txt");
         
-        //pc.printf("\n\rHeader ext ");
         pc.printf("Header ext ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader ext " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header ext " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -92,12 +56,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/myext.txt");
         
-        //pc.printf("\n\rHeader port ");
         pc.printf("Header port ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader port " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header port " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -105,12 +68,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/mysipport.txt");
         
-        //pc.printf("\n\rServer IP ");
         pc.printf("Server IP ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer IP " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server IP " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -118,12 +80,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/serverip.txt");
         
-        //pc.printf("\n\rServer ext ");
         pc.printf("Server ext ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer ext " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server ext " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -131,12 +92,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/peerext.txt");
         
-        //pc.printf("\n\rServer port ");
         pc.printf("Server port ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer port " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server port " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -146,10 +106,8 @@
         }
         cat("/qspi/serverport.txt");
         
-        //pc.printf("\n\rMascara de rede ");
         pc.printf("Mascara de rede ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rMascara de rede " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Mascara de rede " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -159,10 +117,8 @@
         }
         cat("/qspi/mymask.txt");
         
-        //pc.printf("\n\rGateway IP ");
         pc.printf("Gateway IP ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rGateway IP " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Gateway IP " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -172,10 +128,8 @@
         }
         cat("/qspi/mygateway.txt");
         
-        //pc.printf("\n\rUDP Port ");
         pc.printf("UDP Port ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rUDP Port " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "UDP Port " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -183,12 +137,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/udpport.txt");
         
-        //pc.printf("\n\rTCP Port ");
         pc.printf("TCP Port ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTCP Port " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP Port " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -196,12 +149,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/tcpport.txt");
         
-        //pc.printf("\n\rTelemetry Server IP ");
         pc.printf("Telemetry Server IP ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTelemetry Server IP " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Telemetry Server IP " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -209,12 +161,11 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+        
         cat("/qspi/telemetry_ip.txt");
         
-        //pc.printf("\n\rTelemetry Server Port ");
         pc.printf("Telemetry Server Port ");
         if( from_eth ){
-            //snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTelemetry Server Port " );
             snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Telemetry Server Port " );
             if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
             
@@ -222,13 +173,39 @@
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
         }
+    
         cat("/qspi/telemetry_port.txt");
         
+        pc.printf("Max Ext ");
+        if( from_eth ){
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Max Ext " );
+            if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
+            
+            else if( udp_request ){
+                udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
+            }
+        }
+    
+        cat("/qspi/maxext.txt");
+        
+        pc.printf("Min Ext ");
+        if( from_eth ){
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Min Ext " );
+            if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
+            
+            else if( udp_request ){
+                udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
+            }
+        }
+    
+        cat("/qspi/minext.txt");
+        
+        
+        //*------------ formatando a saida ----------------*//
         strcpy( last_cmd, tmp_cmd );
-        //debug_buf[ 0 ] = 0;
-        //bufptr = 0;
         bufptr = 0;
         for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
+        
         if( tcp_session ) tcp_client.send_all( "\n\r> " , strlen( "\n\r> " ) );
         
         else if( udp_request ){
@@ -248,11 +225,15 @@
         fclose( fserext );
         fclose( fudpport );
         fclose( ftcpport );
+        fclose( fmax );
+        fclose( fmin );
     }    
     
     if (type == 'i' ){
         // Check if files exist, if not create the files
+        //fixme criar um bool pra cada file
         bool exists = true;
+        
         fip = fopen("/qspi/myip.txt", "r");
         if( fip == NULL){
             set_ip( __MY_IP__ );
@@ -320,6 +301,18 @@
             exists = false;
         }
         
+        fmax = fopen("/qspi/maxext.txt", "r" );
+        if( fmax == NULL ){
+            set_max_ext( MAX_EXT );
+            exists = false;
+        }
+        
+        fmin = fopen("/qspi/minext.txt", "r" );
+        if( fmin == NULL ){
+            set_min_ext( MIN_EXT );
+            exists = false;
+        }
+        
         if( !exists ){ 
             pc.printf("\n\rDefault configurations set!\n\r");
             if( from_eth ){
@@ -350,6 +343,8 @@
         ftcpport = fopen( "/qspi/tcpport.txt", "r" );
         ftip = fopen("/qspi/telemetry_ip.txt", "r" );
         ftport = fopen("/qspi/telemetry_port.txt", "r" );
+        fmax = fopen("/qspi/maxext.txt", "r" );
+        fmin = fopen("/qspi/minext.txt", "r" );
     }
         
     if( type == 'w'){
@@ -379,6 +374,10 @@
             
         set_telemetry_port( __TELEMETRY_SERVER_PORT__ );
         
+        set_max_ext( MAX_EXT );
+            
+        set_min_ext( MIN_EXT );
+        
         strcpy( last_cmd, tmp_cmd );
         
         pc.printf("\n\rDefault configurations set!\n\r");
@@ -411,6 +410,8 @@
         ftcpport = fopen( "/qspi/tcpport.txt", "w" );
         ftip = fopen("/qspi/telemetry_ip.txt", "w" );
         ftport = fopen("/qspi/telemetry_port.txt", "w" );
+        fmax = fopen("/qspi/maxext.txt", "w" );
+        fmin = fopen("/qspi/minext.txt", "w" );
         
         //FIXME verificar se deveria colocar tudo para %s
         fprintf( fip, "%s\n\r", ""  ); 
@@ -430,6 +431,9 @@
         fprintf( ftip, "%s\n\r","" );
         fprintf( ftport, "%i\n\r",0 );
         
+        fprintf( fmax, "%i\n\r", 0 );
+        fprintf( fmin, "%i\n\r", 0 );
+        
         files('c');
         
         pc.printf("\n\rErased configurations set!\n\r");
@@ -441,18 +445,12 @@
             }else if( udp_request ){
                 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
             }
-            //debug_buf[ 0 ] = 0;
-            //bufptr = 0;
             bufptr = 0;
             for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
         } 
     }
 }
 
-void init_tcp_wdt( void ){
-    //tcp_wdt.Configure( 600.0 );
-}
-
 void init_fsystem(){                 
    //  init file system and check if files exist
     if (!qspifs.isformatted()) {
@@ -461,7 +459,7 @@
     }
     files('i');   // check if the files are created
     files('c');
-    pc.printf("\n\r*******File System Ready*******\n\r");
+    send_msg("******* File System Ready *******");
 }
 
 void init_prompt_eth(){
@@ -470,7 +468,7 @@
     tcp_server.set_blocking( false, 1 );
     udp_server.set_blocking( false, 2 );
     udp_server.bind( UDP_PORT_LISTENER );    
-    pc.printf("*******Prompt eth Ready*******\n\r");
+    pc.printf("******* Prompt eth Ready *******\n\r");
 }
 
 // main prompt process
@@ -517,7 +515,6 @@
         eth_buffer[ 0 ] = 0;
         bufret = 0;
     }
-    wdt.kick(); 
     if( tcp_session ){
         //if( !( (int)tcp_timer.read_ms() % 100 ) ){
             tcp_client.set_blocking( false, 1 );
@@ -548,10 +545,12 @@
                     bufret = 0;
                     return( NULL );
                 }else if( !( strcmp( eth_buffer, "alive" ) ) ){
-                    //tcp_wdt.kick();
                     char wake_msg[ 8 ];
-                    strcpy( wake_msg, "wakeup" );
-                    tcp_client.send_all( wake_msg, strlen( wake_msg ) );
+                    external_wdt = EXTERN_WDT_IDLE;
+                    strcpy( wake_msg, "wakeup\n" );
+                    while( !( tcp_client.send_all( wake_msg, strlen( wake_msg ) ) ) );
+                    strcpy( eth_buffer, "0" );
+                    bufret = 0;
                 }
             }else{
                 debug_buf = __debug_buf__;
@@ -770,8 +769,20 @@
             set_server_ip( debug_buf + 9 );
             files('s');
         }
+        
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maxext ", 7 ) ){
+            miss_match = false;
+            set_max_ext( atoi( debug_buf + 7 ) );
+            files('s');
+        }
+        
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "minext ", 7 ) ){
+            miss_match = false;
+            set_min_ext( atoi( debug_buf + 7 ) );
+            files('s');
+        }
 
-        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ",7 ) ){
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ", 7 ) ){
             miss_match = false;
             set_server_port( atoi( debug_buf + 7 ) );
             files('s');
@@ -827,6 +838,11 @@
             list = true;
         }
         
+        else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ls -l" ) ){
+            miss_match = false;
+            long_list = true;
+        }
+        
         else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "tt" ) ){
             miss_match = false;
             main_test = !main_test;
@@ -843,6 +859,16 @@
             list = true;
         }
         
+        else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "wdt" ) ){
+            miss_match = false;
+            debug_wdt = true;
+        }
+        
+        else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "eth" ) ){
+            miss_match = false;
+            debug_eth = true;
+        }
+        
         else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "types" ) ){
             miss_match = false;
             
@@ -1008,6 +1034,69 @@
             }
         }
         
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dmuted ", 7 ) ){
+            if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ){
+                miss_match = false;
+                pc.printf( "\n\rMuted Debug ON\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug On\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_muted = true;
+            }
+            if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
+                miss_match = false;
+                pc.printf( "\n\rMuted Debug OFF\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug Off\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_muted = false;
+            }
+        }
+        
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dwdt ", 5 ) ){
+            if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on", 2 ) ){
+                miss_match = false;
+                pc.printf( "\n\rWdt Debug ON\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug On\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                wdt_show = true;
+            }
+            if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
+                miss_match = false;
+                pc.printf( "\n\rWdt Debug OFF\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug Off\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                wdt_show = false;
+            }
+        }
+        
+        else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "drefresh ", 9 ) ){
+            if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "on", 2 ) ){
+                miss_match = false;
+                pc.printf( "\n\rRefresh Debug ON\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug On\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_refresh= true;
+            }
+            if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "off",3 )) {
+                miss_match = false;
+                pc.printf( "\n\rRefresh Debug OFF\n\r" );
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug Off\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_refresh = false;
+            }
+        }
+        
         else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dping ", 6 ) ){
             if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ){
                 miss_match = false;
@@ -1142,7 +1231,7 @@
                     snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Invite Debug On\n\r" );
                     debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
                 }
-                debug_invite = 1;
+                debug_invite = true;
             }
             if( xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "off",3 )) {
                 miss_match = false;
@@ -1322,25 +1411,25 @@
 
         else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "cks",3 )) {
             miss_match = false;
-            pcks_s = 1;
+            pcks_s = true;
         }
 
         else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "showcb",6 )) {
             miss_match = false;
-            pshowcb = 1;
+            pshowcb = true;
         }
         
         else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_main ", 11 )) {
-            if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on",2 )) {
+            if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on", 2 )) {
                 miss_match = false;
                 pc.printf("\r\nDebug Main ON");
                 if( from_eth ){
                     snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main On\n\r" );
                     debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
                 }
-                debug_main = 1;
+                debug_main = true;
             }
-            if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
+            if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off", 3 )) {
                 miss_match = false;
                 pc.printf("\r\nDebug Main OFF");
                 if( from_eth ){
@@ -1351,6 +1440,27 @@
             }
         }
         
+        else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dout ", 5 ) ){
+            if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "on", 2 ) ){
+                miss_match = false;
+                pc.printf("\r\nOut Debug ON");
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug On\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_out_of_range = true;
+            }
+            if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "off", 3 ) ){
+                miss_match = false;
+                pc.printf("\r\nOut Debug OFF");
+                if( from_eth ){
+                    snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug Off\n\r" );
+                    debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
+                }
+                debug_out_of_range = false;
+            }
+        }
+        
         else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_cb_rx ", 12 )) {
             if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "on",2 )) {
                 miss_match = false;
@@ -1359,7 +1469,7 @@
                     snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Cbx On Rx on\n\r" );
                     debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
                 }
-                debug_cb_rx = 1;
+                debug_cb_rx = true;
             }
             if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "off",3 )) {
                 miss_match = false;
@@ -1380,7 +1490,7 @@
                     snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File On\n\r" );
                     debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
                 }
-                debug_cb_rx = 1;
+                debug_cb_rx = true;
             }
             if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
                 miss_match = false;
@@ -1553,6 +1663,26 @@
                 }
             }
             
+            pc.printf("maxext                          - Configura o maior ramal possivel de ser registrado nesse ramo\n\r");
+            if( from_eth ){
+                snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maxext                          - Configura o maior ramal possivel de ser registrado nesse ramo\n\r" );
+                if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
+                
+                else if( udp_request ){
+                    udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
+                }
+            }
+            
+            pc.printf("minext                          - Configura o menor ramal possivel de ser registrado nesse ramo\n\r");
+            if( from_eth ){
+                snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "minext                          - Configura o menor ramal possivel de ser registrado nesse ramo\n\r" );
+                if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
+                
+                else if( udp_request ){
+                    udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
+                }
+            }
+            
             pc.printf("showcb                          - lista os Cbx registrados na header\n\r");
             if( from_eth ){
                 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb                          - lista os Cbx registrados na header\n\r" );
@@ -1794,77 +1924,4 @@
         pc.printf("> ");
     }    
     return( NULL );
-} 
-
-void set_ip( char * new_header_ip ){
-    fip = fopen("/qspi/myip.txt", "w");
-    fprintf( fip, "%s\n\r", new_header_ip  );
-    fclose( fip );
-}
-
-void set_header_ext( int new_header_ext ){
-    fext = fopen( "/qspi/myext.txt", "w" );
-    fprintf( fext, "%i\n\r", new_header_ext );
-    fclose( fext );
-}
-
-void set_header_sip_port( int new_header_sip_port ){
-    fport = fopen("/qspi/mysipport.txt", "w");
-    fprintf( fport,"%i\n\r", new_header_sip_port );
-    fclose( fport );
-}
-
-void set_server_ip( char * new_server_ip ){
-    fsip = fopen("/qspi/serverip.txt", "w");
-    fprintf( fsip,"%s\n\r", new_server_ip );
-    fclose( fsip );
-}
-
-void set_server_ext( int new_server_ext ){
-    fserext = fopen("/qspi/peerext.txt", "w");
-    fprintf( fserext , "%i\n\r", new_server_ext );
-    fclose( fserext );
-}
-
-void set_server_port( int new_server_port ){
-    fsport = fopen("/qspi/serverport.txt", "w");   
-    fprintf(fsport,"%i\n\r", new_server_port );
-    fclose( fsport );
-}
-
-void set_mask( char * new_mask ){
-    fmask = fopen("/qspi/mymask.txt", "w");
-    fprintf(fmask,"%s\n\r",new_mask );
-    fclose( fmask );
-}
-
-void set_gateway( char * new_gateway ){
-    //fgate = fopen("/qspi/mygateway.txt", "w");
-    fgate = fopen("/qspi/mygate.txt", "w");
-    fprintf(fgate,"%s\n\r", new_gateway );
-    fclose( fgate );
-}
-
-void set_udp_port_listener( int new_udp_port_listener ){
-    fudpport = fopen( "/qspi/udpport.txt", "w" );
-    fprintf( fudpport, "%i\n\r",new_udp_port_listener );
-    fclose( fudpport );
-}
-
-void set_tcp_port_listener( int new_tcp_port_listener ){
-    ftcpport = fopen( "/qspi/tcpport.txt", "w" );
-    fprintf( ftcpport, "%i\n\r",new_tcp_port_listener );
-    fclose( ftcpport );
-}
-
-void set_telemetry_ip( char * new_telemetry_ip ){
-    ftip = fopen("/qspi/telemetry_ip.txt", "w" );
-    fprintf(ftip,"%s\n\r", new_telemetry_ip );
-    fclose( ftip );
-}
-
-void set_telemetry_port( int new_telemetry_port ){
-    ftport = fopen("/qspi/telemetry_port.txt", "w" );
-    fprintf(ftport,"%i\n\r", new_telemetry_port );
-    fclose( ftport );
 }
\ No newline at end of file