Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
56:c64bcbaa621a
Parent:
55:2f5e7374af9d
Child:
57:78f7191a8b69
--- a/prompt.cpp	Wed Oct 22 22:32:26 2014 +0000
+++ b/prompt.cpp	Thu Oct 23 14:35:28 2014 +0000
@@ -39,7 +39,7 @@
 char __debug_buf__[DEBUGBUFSIZE];
 char * debug_buf = __debug_buf__;
 char last_debug_buf[ DEBUGBUFSIZE ] = "help";
-FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport;
+FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ftip, *ftport;
 uint8_t debug_prompt = 0;
 uint8_t bufptr = 0;
 uint8_t last_bufptr = 0;
@@ -108,9 +108,11 @@
 void files( const char type ){
     // show files       
     if (type == 's' ){
-        pc.printf("\n\rHeader IP " );
+        //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__, "\n\rHeader IP " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header IP " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -119,9 +121,11 @@
         }
         cat("/qspi/myip.txt");
         
-        pc.printf("\n\rHeader ext ");
+        //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__, "\n\rHeader ext " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header ext " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -130,9 +134,11 @@
         }
         cat("/qspi/myext.txt");
         
-        pc.printf("\n\rHeader port ");
+        //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__, "\n\rHeader port " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header port " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -141,9 +147,11 @@
         }
         cat("/qspi/mysipport.txt");
         
-        pc.printf("\n\rServer IP ");
+        //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__, "\n\rServer IP " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server IP " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -152,9 +160,11 @@
         }
         cat("/qspi/serverip.txt");
         
-        pc.printf("\n\rServer ext ");
+        //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__, "\n\rServer ext " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server ext " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -163,9 +173,11 @@
         }
         cat("/qspi/peerext.txt");
         
-        pc.printf("\n\rServer port ");
+        //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__, "\n\rServer port " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server port " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -174,9 +186,11 @@
         }
         cat("/qspi/serverport.txt");
         
-        pc.printf("\n\rMascara de rede ");
+        //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__, "\n\rMascara de rede " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Mascara de rede " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -185,9 +199,11 @@
         }
         cat("/qspi/mymask.txt");
         
-        pc.printf("\n\rGateway IP ");
+        //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__, "\n\rGateway IP " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Gateway IP " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -196,9 +212,11 @@
         }
         cat("/qspi/mygate.txt");
         
-        pc.printf("\n\rUDP Port ");
+        //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__, "\n\rUDP Port " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "UDP Port " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -207,9 +225,11 @@
         }
         cat("/qspi/udpport.txt");
         
-        pc.printf("\n\rTCP Port ");
+        //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__, "\n\rTCP Port " );
+            snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP Port " );
             if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
             
             else if( udp_request ){
@@ -218,6 +238,32 @@
         }
         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 ) 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/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 ) 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/telemetry_port.txt");
+        
         debug_buf[ 0 ] = 0;
         bufptr = 0;
         if( tcp_session ) tcp_client.send_all( "\n\r>" , strlen( "\n\r>" ) );
@@ -227,7 +273,8 @@
         }
     }
     
-    if (type == 'c' ){                // close all files
+    if (type == 'c' ){                
+        // close all files
         fclose( fip );
         fclose( fmask );
         fclose( fgate );
@@ -240,73 +287,98 @@
         fclose( ftcpport );
     }    
     
-    if (type == 'i' ){                // Check if files exist, if not create the files
+    if (type == 'i' ){
+        // Check if files exist, if not create the files
         bool exists = true;
         fip = fopen("/qspi/myip.txt", "r");
-        if (fip == NULL){
-            fip = fopen("/qspi/myip.txt", "w");
+        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
+            //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
-             exists = false;
+        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
+            //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");
+             //fsip = fopen("/qspi/serverip.txt", "w");
              //fprintf(fsip, "%s\n\r",__SERVER_IP__ );  //asterisk ip
-             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
+             //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
+            //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
+            //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
+            //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 );
+            //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 );
+            //ftcpport = fopen("/qspi/tcpport.txt", "w");
+            //fprintf( ftcpport, "%i\n\r", TCP_PORT_LISTENER );
+            set_tcp_port_listener( TCP_PORT_LISTENER );
             exists = false;
         }
+        
+        ftip = fopen("/qspi/telemetry_ip.txt", "r" );
+        if( ftip == NULL ){
+            set_telemetry_ip( __TELEMETRY_SERVER_IP__ );
+            exists = false;
+        }
+        
+        ftport = fopen("/qspi/telemetry_port.txt", "r" );
+        if( ftport == NULL ){
+            set_telemetry_port( __TELEMETRY_SERVER_PORT__ );
+            exists = false;
+        }
+        
         if( !exists ){ 
             pc.printf("\n\rDefault configurations set!\n\r");
             if( from_eth ){
@@ -321,7 +393,8 @@
         }
     }
     
-    if (type == 'r' ){                // Just open for read
+    if (type == 'r' ){
+        // Just open for read
         fip = fopen("/qspi/myip.txt", "r");
         fmask = fopen("/qspi/mymask.txt", "r");
         fgate = fopen("/qspi/mygateway.txt", "r");
@@ -332,43 +405,36 @@
         fserext = fopen( "/qspi/peerext.txt", "r" );
         fudpport = fopen( "/qspi/udpport.txt", "r" );
         ftcpport = fopen( "/qspi/tcpport.txt", "r" );
+        ftip = fopen("/qspi/telemetry_ip.txt", "r" );
+        ftport = fopen("/qspi/telemetry_port.txt", "r" );
     }
         
     if( type == 'w'){
         // Create and write the default configs
-        //fip = fopen("/qspi/myip.txt", "w");
-        //fmask = fopen("/qspi/mymask.txt", "w");
-        //fgate = fopen("/qspi/mygateway.txt", "w");
-        //fport = fopen("/qspi/mysipport.txt", "w");
-        //fsip = fopen("/qspi/serverip.txt", "w");
-        //fsport = fopen("/qspi/serverport.txt", "w");   
-        //fext = fopen( "/qspi/myext.txt", "w" );
-        //fserext = fopen( "/qspi/peerext.txt", "w" );
-        fudpport = fopen( "/qspi/udpport.txt", "w" );
-        ftcpport = fopen( "/qspi/tcpport.txt", "w" );
+        
+        set_ip( __MY_IP__ );
         
-        //fprintf( fip, "%s\n\r", __MY_IP__  );   //myip
-        set_ip( __MY_IP__ );
-        //fprintf( fport, "%i\n\r", __MY_PORT__ );  //mysipport // isso pode dar pala
         set_header_sip_port( __MY_PORT__ );
-        //fprintf( fext, "%i\n\r", __MY_EXT__ );  //myext
+        
         set_header_ext( __MY_EXT__ );
         
-        //fprintf( fsip, "%s\n\r", __SERVER_IP__  );  //asterisk ip
         set_server_ip( __SERVER_IP__ );
-        //fprintf( fserext, "%i\n\r",__PEER_EXT__ );  //asterisk port
+        
         set_server_ext( __PEER_EXT__ );
-        //fprintf( fsport, "%i\n\r",__SERVER_PORT__ );  //asterisk port
+        
         set_server_port( __SERVER_PORT__ );
+    
+        set_mask( __MY_MSK__ );
         
-        //fprintf( fmask, "%s\n\r",__MY_MSK__ );     //mymask
-        set_mask( __MY_MSK__ );
-        //fprintf( fgate, "%s\n\r", __MY_GTW__ );    //mygateway
         set_gateway( __MY_GTW__ );
-        fprintf( fudpport, "%i\n\r",UDP_PORT_LISTENER );
-        fprintf( ftcpport, "%i\n\r",TCP_PORT_LISTENER );
+        
+        set_udp_port_listener( UDP_PORT_LISTENER );
         
-        files('c');
+        set_tcp_port_listener( TCP_PORT_LISTENER );
+        
+        set_telemetry_ip( __TELEMETRY_SERVER_IP__ );
+            
+        set_telemetry_port( __TELEMETRY_SERVER_PORT__ );
         
         pc.printf("\n\rDefault configurations set!\n\r");
         if( from_eth ){
@@ -384,7 +450,8 @@
         } 
     }
     
-    if (type == 'e'){                 // Create and write the default configs
+    if (type == 'e'){
+        //Erase configs
         fip = fopen("/qspi/myip.txt", "w");
         fmask = fopen("/qspi/mymask.txt", "w");
         fgate = fopen("/qspi/mygateway.txt", "w");
@@ -395,21 +462,27 @@
         fserext = fopen( "/qspi/peerext.txt", "w" );
         fudpport = fopen( "/qspi/udpport.txt", "w" );
         ftcpport = fopen( "/qspi/tcpport.txt", "w" );
-        
-        fprintf( fip, "%s\n\r", ""  );   //myip
-        fprintf( fport, "%i\n\r", "" );  //mysipport // isso pode dar pala
-        fprintf( fext, "%i\n\r", "" );  //myext
+        ftip = fopen("/qspi/telemetry_ip.txt", "w" );
+        ftport = fopen("/qspi/telemetry_port.txt", "w" );
         
-        fprintf( fsip, "%s\n\r", ""  );  //asterisk ip
-        fprintf( fserext, "%i\n\r","" );  //asterisk port
-        fprintf( fsport, "%i\n\r","" );  //asterisk port
+        //FIXME verificar se deveria colocar tudo para %s
+        fprintf( fip, "%s\n\r", ""  ); 
+        fprintf( fport, "%i\n\r", "" );
+        fprintf( fext, "%i\n\r", "" ); 
         
-        fprintf( fmask, "%s\n\r","" );     //mymask
-        fprintf( fgate, "%s\n\r", "" );    //mygateway
+        fprintf( fsip, "%s\n\r", ""  );
+        fprintf( fserext, "%i\n\r","" );
+        fprintf( fsport, "%i\n\r","" ); 
+        
+        fprintf( fmask, "%s\n\r","" );  
+        fprintf( fgate, "%s\n\r", "" );
         
         fprintf( fudpport, "%i\n\r","" );
         fprintf( ftcpport, "%i\n\r","" );
         
+        fprintf( ftip, "%s\n\r","" );
+        fprintf( ftport, "%i\n\r","" );
+        
         files('c');
         
         pc.printf("\n\rErased configurations set!\n\r");
@@ -698,6 +771,17 @@
             files('s');
         }
 
+        if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "telemetry_ip ", 13 ) ){
+            miss_match = false;
+            set_telemetry_ip( debug_buf + 13 );
+            files('s');
+        }
+        
+        if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "telemetry_port ", 15 ) ){
+            miss_match = false;
+            set_telemetry_port( atoi( debug_buf + 15 ) );
+            files('s');
+        }
 
         if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dconfig" ) ){
             miss_match = false;
@@ -1197,6 +1281,25 @@
                     udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
                 }
             }
+            pc.printf("telemetry_ip                    - Configura o IP do servidor de telemetria\n\r");
+            if( from_eth ){
+                snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "telemetry_ip                    - Configura o IP do servidor de telemetria\n\r" );
+                if( tcp_session ) 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("telemetry_iport                 - Configura a port do servidor de telemetria\n\r");
+            if( from_eth ){
+                snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "telemetry_iport                 - Configura a port do servidor de telemetria\n\r" );
+                if( tcp_session ) 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" );
@@ -1400,4 +1503,28 @@
     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