![](/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
prompt.h
- Committer:
- klauss
- Date:
- 2014-12-16
- Revision:
- 79:9bc12aa305a9
- Parent:
- 78:1353744f01e1
- Child:
- 81:3656f00ab3db
File content as of revision 79:9bc12aa305a9:
/** * @file prompt.h * @Synopsis Implementa as funcionalidades de prompt/prompt-eth da Header. * @author Fernando Cola / Jhontan Casale * @version 1 * @date 2014-11-05 */ #ifndef _PROMPT_H #define _PROMPT_H #include <stdint.h> #include "mbed.h" #include "EthernetInterface.h" #include "telemetry.h" // used for __TELEMETRY_SERVER_IP__ and __TELEMETRY_SERVER_PORT__ #include "utils.h" // need for convert_ext_to_port() #include "flood.h" #include "shared_variables.h" #include "debug.h" #include "wdt_manager.h" #include "file_system_manager.h" #define TCP_IDLE_MAX_TIME 360//90 ///< Define o tempo maximo de espera por um novo comando via eth, dado que já estamos em uma sessão TCP. #define TCP_ALIVE_IDLE_MAX_TIME 360 ///< Define o tempo maximo de espera por um novo comando via eth dado que já estamos em uma sessão TCP e a flag tcp_alive esta on. #define DEBUGBUFSIZE 50 ///< Define o tamanho do buffer de entrada de dados. extern uint8_t dog; ///< Variável de controle que ativa a mensagem de boas vindas. extern FILE *fmask; ///< arquivo de mascara de rede extern FILE *fgate; ///< arquivo de gateway ip extern FILE *fip; ///< arquivo de header ip extern FILE *fext; ///< arquivo de header ext extern FILE *fport; ///< arquivo de header sip port extern FILE *fsip; ///< arquivo de server sip ip extern FILE *fserext; ///< arquivo de server sip ext extern FILE *fsport; ///< arquivo de server sip port extern FILE *fudpport; ///< arquivo de porta udp que a header escuta extern FILE *ftcpport; ///< arquivo de porta tcp que a header escuta extern FILE *ftip; ///< arquivo de IP do servidor para envio de telemetria extern FILE *ftport; ///< arquivo de Porta UDP do servidor para envio de telemetria extern bool flood_silence; extern bool delayed_flood; ///< Variável de controle do envio de pacotes de flood off extern bool tcp_alive; ///< Flag que indica para não dar timeout na conexão tcp extern Timer tcp_timer; ///< Timer responsavel por dar timeout por não utilização de recurso. /** * @Synopsis Principal função de processamento de comandos. * * \note Apesar de formalmente receber apenas um parâmetro, esta função verifica uma porta TCP para verificar eventual * envio de comandos, processando qualquer comando enviado por um usuário ligado na rede. * * @param ethernet_pkg Uma string de comando que será analisada, caso seja um comando válido, executa-o. * * @return NULL, sempre retorna NULL. * * Exemplo: * @code * ... * char * returned_prompt = prompt_process( NULL ); * ... * @endcode */ char * prompt_process( char * ethernet_pkg ); /** * @Synopsis Init file system and check if files exist * * Exemplo: * @code * ... * init_fsystem(); * ... * @endcode */ void init_fsystem(); /** * @Synopsis Inicializa o prompt e os sockets de conexão eth * * Exemplo: * @code * ... * init_prompt(); * ... * @endcode */ void init_prompt_eth(); /** * @Synopsis Altera o valor default contido no arquivo /qspi/myip.txt * * @param new_header_ip Atualiza o valor de /qspi/myip.txt sobrescrevendo-o com o valor de new_header_ip * * Exemplo: * @code * ... * set_ip( "192.168.120.2" ); * ... * @endcode */ void set_ip( char * new_header_ip ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/myext.txt * * @param new_header_ext Atualiza o valor de /qspi/myext.txt sobrescrevendo-o com o valor de new_header_ext * * Exemplo: * @code * ... * set_header_ext( 912 ); * ... * @endcode */ void set_header_ext( int new_header_ext ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/mysipport.txt * * @param new_header_sip_port Atualiza o valor de /qspi/mysipport.txt sobrescrevendo-o com o valor de new_header_sip_port * * Exemplo: * @code * ... * set_header_sip_port( 820 ); * ... * @endcode */ void set_header_sip_port( int new_header_sip_port ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/serverip.txt * * @param new_server_ip Atualiza o valor de /qspi/serverip.txt sobrescrevendo-o com o valor de new_server_ip * * Exemplo: * @code * ... * set_header_sip_port( "192.168.120.231" ); * ... * @endcode */ void set_server_ip( char * new_server_ip ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/peerext.txt * * @param new_server_ext Atualiza o valor de /qspi/peerext.txt sobrescrevendo-o com o valor de new_server_ext * * Exemplo: * @code * ... * set_header_sip_port( 1011 ); * ... * @endcode */ void set_server_ext( int new_server_ext ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/serverport.txt * * @param new_server_port Atualiza o valor de /qspi/serverport.txt sobrescrevendo-o com o valor de new_server_port * * Exemplo: * @code * ... * set_header_sip_port( 1562 ); * ... * @endcode */ void set_server_port( int new_server_port ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/udpport.txt * * @param new_udp_port_listener Atualiza o valor de /qspi/udpport.txt sobrescrevendo-o com o valor de new_udp_port_listener * * Exemplo: * @code * ... * set_udp_port_listener( 11147 ); * ... * @endcode */ void set_udp_port_listener( int new_udp_port_listener ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/tcpport.txt * * @param new_tcp_port_listener Atualiza o valor de /qspi/tcpport.txt sobrescrevendo-o com o valor de new_tcp_port_listener * * Exemplo: * @code * ... * set_tcp_port_listener( 7178 ); * ... * @endcode */ void set_tcp_port_listener( int new_tcp_port_listener ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/telemetry_ip.txt * * @param new_telemetry_ip Atualiza o valor de /qspi/telemetry_ip.txt sobrescrevendo-o com o valor de new_telemetry_ip * * Exemplo: * @code * ... * set_telemetry_ip( "192.154.123.7" ) * ... * @endcode */ void set_telemetry_ip( char * new_telemetry_ip ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/telemetry_port.txt * * @param new_telemetry_port Atualiza o valor de /qspi/telemetry_port.txt sobrescrevendo-o com o valor de new_telemetry_port * * Exemplo: * @code * ... * set_telemetry_port( 9193 ); * ... * @endcode */ void set_telemetry_port( int new_telemetry_port ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/mymask.txt * * @param new_mask Atualiza o valor de /qspi/mymask.txt sobrescrevendo-o com o valor de new_mask * * Exemplo: * @code * ... * set_mask( "255.255.0.0" ); * ... * @endcode */ void set_mask( char * new_mask ); /** * @Synopsis Altera o valor default contido no arquivo /qspi/mygateway.txt * * @param new_gateway Atualiza o valor de /qspi/mygateway.txt sobrescrevendo-o com o valor de new_gateway * * Exemplo: * @code * ... * set_gateway( "192.168.118.2" ); * ... * @endcode */ void set_gateway( char * new_gateway ); extern char * debug_buf; ///< Buffer de entrada dos dados via serial. void init_tcp_wdt( void ); #endif