Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
prompt.h
- Committer:
- klauss
- Date:
- 2015-04-20
- Revision:
- 114:472502b31a12
- Parent:
- 113:db67ae00550e
- Child:
- 116:39a41ebb675c
File content as of revision 114:472502b31a12:
/**
* @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"
#include "fw.h"
#define PVERSION 25
#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();
extern char * debug_buf;
///< Buffer de entrada dos dados via serial.
#endif
