Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
69:65665afbad5d
Parent:
67:cdedc64d9921
Child:
72:895ca792c647
--- a/prompt.h	Fri Nov 07 17:57:55 2014 +0000
+++ b/prompt.h	Wed Nov 12 13:25:54 2014 +0000
@@ -1,3 +1,11 @@
+/**
+ * @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
 
@@ -8,99 +16,362 @@
 #include "parallelcpld.h"
 #include "flood.h"
 
-#define TCP_IDLE_MAX_TIME 45
+#define TCP_IDLE_MAX_TIME 45 
+///< Define o tempo maximo de espera por um novo comando via eth, dado que já estamos em uma sessão TCP
+
 #define DEBUGBUFSIZE 50
+///< Define o tamanho do buffer de entrada de dados.
 
 extern uint8_t debug_sip;
+///< Variável de controle que ativa o debug sip.
 extern uint8_t debug_alive;
+///< Variável de controle que ativa o debug de impressao periódica dos cbx registrados na lógica.
 extern uint8_t debug_prompt;
+///< Variável de controle que ativa o debug do prompt.
 extern uint8_t debug_vector;
+///< Variável de controle que ativa o debug do vector.
 extern uint8_t debug_cb;
+///< Variável de controle que ativa o debug da classe Call_box.
 extern uint8_t debug_main;
+///< Variável de controle que ativa o debug da main.
 extern uint8_t debug_cks;
+///< Variável de controle que ativa o debug do ckechsum dos pacotes recebidos.
 extern uint8_t debug_cb_rx;
+///< Variável de controle que ativa o debug dos pacotes recebidos do CBx.
 extern uint8_t debug_cb_tx;
+///< Variável de controle que ativa o debug dos pacotes enviados para o CBx.
 extern uint8_t debug_eth_rx;
+///< Variável de controle que ativa o debug dos pacotes recebidos da eth \note não implementado.
 extern uint8_t debug_eth_tx;
+///< Variável de controle que ativa o debug dos pacotes enviados para a eth \note não implementado.
 extern uint8_t debug_prompt_eth;
+///< Variável de controle que ativa o debug do prompt eth.
 extern uint8_t debug_file;
+///< Variável de controle que ativa o debug do sistema de arquivos.
 extern bool dbl;
+///< Variável de controle que ativa o debug do protocolo de bootloader dos CBx
     
 extern uint8_t test_debug;
+///< Variável de controle que ativa o debug de test.
 
 extern uint8_t pcks_s;
+///< Variável de controle que ativa a exibição dos contadores de cks dos pacotes.
 extern uint8_t pshowcb;
+///< Variável de controle que ativa a exibição dos CBx registrados.
 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 FILE *fmask;         // mascara de rede
-extern FILE *fgate;         // gateway ip
+/**
+ * @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();
 
-extern FILE *fip;           // header ip
-extern FILE *fext;          // header ext
-extern FILE *fport;         // header sip port
+/**
+ * @Synopsis Inicializa o prompt e os sockets de conexão eth
+ *
+ * Exemplo:
+ * @code
+ * ...
+ *  init_prompt();
+ * ...
+ * @endcode
+ */
+void init_prompt();
+
+/**
+ * @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 );
 
-extern FILE *fsip;          // server sip ip
-extern FILE *fserext;       // server sip ext
-extern FILE *fsport;        // server sip port
+/**
+ * @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 );
 
-extern FILE *fudpport;      // porta udp que a header escuta
-extern FILE *ftcpport;      // porta tcp que a header escuta
-extern FILE *ftip;          // IP do servidor para envio de telemetria
-extern FILE *ftport;        // Porta UDP do servidor para envio de telemetria
+/**
+ * @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 );
 
-char * prompt_process( char * ethernet_pkg );
-void init_fsystem();
-void init_prompt();
-void set_ip( char * new_header_ip );
-void set_header_ext( int new_header_ext );
-void set_header_sip_port( int new_header_sip_port );
-void set_server_ip( char * new_server_ip );
-void set_server_ext( int new_server_ext );
-void set_server_port( int new_server_port );
-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/mygate.txt
+ *
+ * @param new_gateway Atualiza o valor de /qspi/mygate.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 bool from_eth;
+///< Variável de controle que indica se o comando processado veio do teclado ( serial ) ou se via eth.
 extern bool tcp_session;
+///< Variável de controle que indica se estamos ou não em uma sessão TCP com algum usuàrio.
 extern TCPSocketServer tcp_server;
+///< Socket responsavel por ouvir determinado porta TCP.
 extern TCPSocketConnection tcp_client;
+///< Representa a presença de algum cliente logado em uma sessão TCP.
 extern Timer tcp_timer;
+///< Timer responsavel por dar timeout por não utilização de recurso.
 
 extern UDPSocket udp_server;
+///< Socket responsavel por ouvir determinada porta udp.
 extern Endpoint udp_client;
+///< Representa a presença de algum cliente udp.
 
-extern bool from_eth;
 extern bool udp_request;
+///< Variável de controle que nos diz se trata-se de um request vindo da porta UDP.
 extern char * debug_buf;
+///< Buffer de entrada dos dados via serial.
 
 extern bool cb_session;
+///< Não utilizada atualmente.
 extern bool cb_status;
+///< Não utilizada atualmente.
 extern bool reset_cks;
+///< Variável de controle que reseta os contadores de cks dos pacotes.
 extern bool debug_telemetry;
+///< Variável de controle que aciona o debug de telemetria.
 extern bool main_test;
+///< Variável de controle para acionamento de algum comando de interesse.
 extern bool list;
+///< Variável de controle para listar os CBx registrados na lógica da Header.
 extern bool rx;
+///< Variável de controle para exibição do ultima pacote recebido dos CBx
 extern bool tx;
+///< Variável de controle para exibição do ultimo pacote enviado para o CBx.
 extern bool stats;
+///< Variável de controle para exibição dos contadores de pacotes recebidos por tipo.
 extern bool r_stats;
+///< Variável de controle para resetar os contadores de pacotes recebidos por tipo.
 extern bool delayed_flood;
+///< Variável de controle do envio de pacotes de flood off
 
-extern uint16_t boot_counter; 
+extern uint16_t boot_counter;
+///< Contador dos pacotes de BOOT recebidos
 extern uint16_t registry_counter; 
+///< Contador dos pacotes de REGISTRY recebidos
 extern uint16_t invite_counter; 
+///< Contador dos pacotes de INVITE recebidos
 extern uint16_t audio_counter; 
+///< Contador dos pacotes de AUDIO recebidos
 extern uint16_t telemetry_counter; 
+///< Contador dos pacotes de TELEMETRY recebidos
 extern uint16_t cb_bye_counter; 
+///< Contador dos pacotes de CB_BYE recebidos
 extern uint16_t prompt_counter; 
+///< Contador dos pacotes de PROMPT recebidos
 extern uint16_t flood_counter;
+///< Contador dos pacotes de FLOOD recebidos
 extern uint16_t bootloader_cbx_counter;
+///< Contador dos pacotes de BOOTLOADER_CBX recebidos
 
 extern Timer udp_timer;
+///< Timer controlador do timeout de requests UDP.
 
-int convert_ext_to_port( int );
+/**
+ * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental
+ * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre
+ * se manteve a mesma, o CBx esta configurado como ramal 5000 e porta 5000, assim como o ramal 5100 e porta 5000, em outras palavras
+ * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero.
+ *
+ * @param ext O ramal do qual se quer calcular a porta vinculada.
+ *
+ * @return O valor calculado da porta.
+ *
+ * Exemplo:
+ * @code
+ * ...
+ *  int ext = 5220;
+ *  int port = convert_ext_to_port( ext );
+ * ...
+ * @endcode
+ */
+int convert_ext_to_port( int ext );
 
 #endif
\ No newline at end of file