![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: prompt.cpp
- 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