![](/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:
- 2015-05-25
- Revision:
- 128:3ae1c74773a8
- Parent:
- 127:e7160a463b6c
- Child:
- 132:05cd37f7e007
File content as of revision 128:3ae1c74773a8:
/** * @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 "bits.h" #include "mbed.h" #include "debug.h" #include "flood.h" #include "vz_protocol.h" #include "shared_variables.h" #include "power_source_monitoring.h" #include <stdlib.h> const uint8_t PVERSION = 25; const uint8_t PROMPT_UDP_COMMAND_SIZE = 64; const uint8_t PERSISTENT_TCP_IDLE_MAX_TIME = 30; const uint16_t TCP_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. const uint16_t 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. const uint16_t PROMPT_ETH_BUFFER_SIZE = 1024; ///< Representa o tamanho máximo do pacote recebido pelo prompt da Header. const uint16_t DEBUGBUFSIZE = PROMPT_ETH_BUFFER_SIZE; ///< 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 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 * msg_from_cb, int length ); /** * @Synopsis Inicializa o prompt e os sockets de conexão eth * * Exemplo: * @code * ... * init_prompt(); * ... * @endcode */ int init_prompt_eth ( void ); extern char * debug_buf; ///< Buffer de entrada dos dados via serial. inline void reconnect_udp_prompt_process( void ) { udp_client.close(); udp_client.set_blocking( false, 0 ); udp_client.bind( UDP_PORT_LISTENER ); } #endif