Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Wed Nov 19 13:36:33 2014 +0000
Revision:
72:895ca792c647
Parent:
69:65665afbad5d
Child:
74:81c47fff88a5
send_to_cbx | send2callbox under development -- antes de modularizar melhor o src.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 69:65665afbad5d 1 /**
klauss 69:65665afbad5d 2 * @file prompt.h
klauss 69:65665afbad5d 3 * @Synopsis Implementa as funcionalidades de prompt/prompt-eth da Header.
klauss 69:65665afbad5d 4 * @author Fernando Cola / Jhontan Casale
klauss 69:65665afbad5d 5 * @version 1
klauss 69:65665afbad5d 6 * @date 2014-11-05
klauss 69:65665afbad5d 7 */
klauss 69:65665afbad5d 8
klauss 17:67a6b557eda5 9 #ifndef _PROMPT_H
klauss 17:67a6b557eda5 10 #define _PROMPT_H
klauss 17:67a6b557eda5 11
klauss 44:cc4996469404 12 #include "mbed.h"
klauss 44:cc4996469404 13 #include "stdint.h"
klauss 72:895ca792c647 14
klauss 44:cc4996469404 15 #include "configs.h"
klauss 72:895ca792c647 16
klauss 44:cc4996469404 17 #include "vz_protocol.h"
klauss 72:895ca792c647 18
klauss 44:cc4996469404 19 #include "parallelcpld.h"
klauss 72:895ca792c647 20
klauss 44:cc4996469404 21 #include "flood.h"
klauss 44:cc4996469404 22
klauss 69:65665afbad5d 23 #define TCP_IDLE_MAX_TIME 45
klauss 69:65665afbad5d 24 ///< Define o tempo maximo de espera por um novo comando via eth, dado que já estamos em uma sessão TCP
klauss 69:65665afbad5d 25
klauss 58:af7e8788f106 26 #define DEBUGBUFSIZE 50
klauss 69:65665afbad5d 27 ///< Define o tamanho do buffer de entrada de dados.
klauss 44:cc4996469404 28
klauss 27:98f824719d1c 29 extern uint8_t debug_sip;
klauss 69:65665afbad5d 30 ///< Variável de controle que ativa o debug sip.
klauss 17:67a6b557eda5 31 extern uint8_t debug_alive;
klauss 69:65665afbad5d 32 ///< Variável de controle que ativa o debug de impressao periódica dos cbx registrados na lógica.
klauss 17:67a6b557eda5 33 extern uint8_t debug_prompt;
klauss 69:65665afbad5d 34 ///< Variável de controle que ativa o debug do prompt.
klauss 29:7246460b73f8 35 extern uint8_t debug_vector;
klauss 69:65665afbad5d 36 ///< Variável de controle que ativa o debug do vector.
klauss 30:8dfb6d8de53d 37 extern uint8_t debug_cb;
klauss 69:65665afbad5d 38 ///< Variável de controle que ativa o debug da classe Call_box.
klauss 31:bb5fb28a77df 39 extern uint8_t debug_main;
klauss 69:65665afbad5d 40 ///< Variável de controle que ativa o debug da main.
klauss 31:bb5fb28a77df 41 extern uint8_t debug_cks;
klauss 69:65665afbad5d 42 ///< Variável de controle que ativa o debug do ckechsum dos pacotes recebidos.
klauss 31:bb5fb28a77df 43 extern uint8_t debug_cb_rx;
klauss 69:65665afbad5d 44 ///< Variável de controle que ativa o debug dos pacotes recebidos do CBx.
klauss 31:bb5fb28a77df 45 extern uint8_t debug_cb_tx;
klauss 69:65665afbad5d 46 ///< Variável de controle que ativa o debug dos pacotes enviados para o CBx.
klauss 31:bb5fb28a77df 47 extern uint8_t debug_eth_rx;
klauss 69:65665afbad5d 48 ///< Variável de controle que ativa o debug dos pacotes recebidos da eth \note não implementado.
klauss 31:bb5fb28a77df 49 extern uint8_t debug_eth_tx;
klauss 69:65665afbad5d 50 ///< Variável de controle que ativa o debug dos pacotes enviados para a eth \note não implementado.
klauss 43:455522f98de5 51 extern uint8_t debug_prompt_eth;
klauss 69:65665afbad5d 52 ///< Variável de controle que ativa o debug do prompt eth.
klauss 31:bb5fb28a77df 53 extern uint8_t debug_file;
klauss 69:65665afbad5d 54 ///< Variável de controle que ativa o debug do sistema de arquivos.
klauss 67:cdedc64d9921 55 extern bool dbl;
klauss 69:65665afbad5d 56 ///< Variável de controle que ativa o debug do protocolo de bootloader dos CBx
klauss 29:7246460b73f8 57
klauss 28:94aec56c6329 58 extern uint8_t test_debug;
klauss 69:65665afbad5d 59 ///< Variável de controle que ativa o debug de test.
klauss 29:7246460b73f8 60
Cola 22:d2a4b5939115 61 extern uint8_t pcks_s;
klauss 69:65665afbad5d 62 ///< Variável de controle que ativa a exibição dos contadores de cks dos pacotes.
Cola 24:270b436a1bb0 63 extern uint8_t pshowcb;
klauss 69:65665afbad5d 64 ///< Variável de controle que ativa a exibição dos CBx registrados.
klauss 17:67a6b557eda5 65 extern uint8_t dog;
klauss 69:65665afbad5d 66 ///< Variável de controle que ativa a mensagem de boas vindas.
klauss 69:65665afbad5d 67
klauss 69:65665afbad5d 68 extern FILE *fmask; ///< arquivo de mascara de rede
klauss 69:65665afbad5d 69 extern FILE *fgate; ///< arquivo de gateway ip
klauss 69:65665afbad5d 70
klauss 69:65665afbad5d 71 extern FILE *fip; ///< arquivo de header ip
klauss 69:65665afbad5d 72 extern FILE *fext; ///< arquivo de header ext
klauss 69:65665afbad5d 73 extern FILE *fport; ///< arquivo de header sip port
klauss 69:65665afbad5d 74
klauss 69:65665afbad5d 75 extern FILE *fsip; ///< arquivo de server sip ip
klauss 69:65665afbad5d 76 extern FILE *fserext; ///< arquivo de server sip ext
klauss 69:65665afbad5d 77 extern FILE *fsport; ///< arquivo de server sip port
klauss 69:65665afbad5d 78
klauss 69:65665afbad5d 79 extern FILE *fudpport; ///< arquivo de porta udp que a header escuta
klauss 69:65665afbad5d 80 extern FILE *ftcpport; ///< arquivo de porta tcp que a header escuta
klauss 69:65665afbad5d 81 extern FILE *ftip; ///< arquivo de IP do servidor para envio de telemetria
klauss 69:65665afbad5d 82 extern FILE *ftport; ///< arquivo de Porta UDP do servidor para envio de telemetria
klauss 17:67a6b557eda5 83
klauss 69:65665afbad5d 84 /**
klauss 69:65665afbad5d 85 * @Synopsis Principal função de processamento de comandos.
klauss 69:65665afbad5d 86 *
klauss 69:65665afbad5d 87 * \note Apesar de formalmente receber apenas um parâmetro, esta função verifica uma porta TCP para verificar eventual
klauss 69:65665afbad5d 88 * envio de comandos, processando qualquer comando enviado por um usuário ligado na rede.
klauss 69:65665afbad5d 89 *
klauss 69:65665afbad5d 90 * @param ethernet_pkg Uma string de comando que será analisada, caso seja um comando válido, executa-o.
klauss 69:65665afbad5d 91 *
klauss 69:65665afbad5d 92 * @return NULL, sempre retorna NULL.
klauss 69:65665afbad5d 93 *
klauss 69:65665afbad5d 94 * Exemplo:
klauss 69:65665afbad5d 95 * @code
klauss 69:65665afbad5d 96 * ...
klauss 69:65665afbad5d 97 * char * returned_prompt = prompt_process( NULL );
klauss 69:65665afbad5d 98 * ...
klauss 69:65665afbad5d 99 * @endcode
klauss 69:65665afbad5d 100 */
klauss 69:65665afbad5d 101 char * prompt_process( char * ethernet_pkg );
klauss 69:65665afbad5d 102
klauss 69:65665afbad5d 103 /**
klauss 69:65665afbad5d 104 * @Synopsis Init file system and check if files exist
klauss 69:65665afbad5d 105 *
klauss 69:65665afbad5d 106 * Exemplo:
klauss 69:65665afbad5d 107 * @code
klauss 69:65665afbad5d 108 * ...
klauss 69:65665afbad5d 109 * init_fsystem();
klauss 69:65665afbad5d 110 * ...
klauss 69:65665afbad5d 111 * @endcode
klauss 69:65665afbad5d 112 */
klauss 69:65665afbad5d 113 void init_fsystem();
klauss 28:94aec56c6329 114
klauss 69:65665afbad5d 115 /**
klauss 69:65665afbad5d 116 * @Synopsis Inicializa o prompt e os sockets de conexão eth
klauss 69:65665afbad5d 117 *
klauss 69:65665afbad5d 118 * Exemplo:
klauss 69:65665afbad5d 119 * @code
klauss 69:65665afbad5d 120 * ...
klauss 69:65665afbad5d 121 * init_prompt();
klauss 69:65665afbad5d 122 * ...
klauss 69:65665afbad5d 123 * @endcode
klauss 69:65665afbad5d 124 */
klauss 69:65665afbad5d 125 void init_prompt();
klauss 69:65665afbad5d 126
klauss 69:65665afbad5d 127 /**
klauss 69:65665afbad5d 128 * @Synopsis Altera o valor default contido no arquivo /qspi/myip.txt
klauss 69:65665afbad5d 129 *
klauss 69:65665afbad5d 130 * @param new_header_ip Atualiza o valor de /qspi/myip.txt sobrescrevendo-o com o valor de new_header_ip
klauss 69:65665afbad5d 131 *
klauss 69:65665afbad5d 132 * Exemplo:
klauss 69:65665afbad5d 133 * @code
klauss 69:65665afbad5d 134 * ...
klauss 69:65665afbad5d 135 * set_ip( "192.168.120.2" );
klauss 69:65665afbad5d 136 * ...
klauss 69:65665afbad5d 137 * @endcode
klauss 69:65665afbad5d 138 */
klauss 69:65665afbad5d 139 void set_ip( char * new_header_ip );
klauss 28:94aec56c6329 140
klauss 69:65665afbad5d 141 /**
klauss 69:65665afbad5d 142 * @Synopsis Altera o valor default contido no arquivo /qspi/myext.txt
klauss 69:65665afbad5d 143 *
klauss 69:65665afbad5d 144 * @param new_header_ext Atualiza o valor de /qspi/myext.txt sobrescrevendo-o com o valor de new_header_ext
klauss 69:65665afbad5d 145 *
klauss 69:65665afbad5d 146 * Exemplo:
klauss 69:65665afbad5d 147 * @code
klauss 69:65665afbad5d 148 * ...
klauss 69:65665afbad5d 149 * set_header_ext( 912 );
klauss 69:65665afbad5d 150 * ...
klauss 69:65665afbad5d 151 * @endcode
klauss 69:65665afbad5d 152 */
klauss 69:65665afbad5d 153 void set_header_ext( int new_header_ext );
klauss 69:65665afbad5d 154
klauss 69:65665afbad5d 155 /**
klauss 69:65665afbad5d 156 * @Synopsis Altera o valor default contido no arquivo /qspi/mysipport.txt
klauss 69:65665afbad5d 157 *
klauss 69:65665afbad5d 158 * @param new_header_sip_port Atualiza o valor de /qspi/mysipport.txt sobrescrevendo-o com o valor de new_header_sip_port
klauss 69:65665afbad5d 159 *
klauss 69:65665afbad5d 160 * Exemplo:
klauss 69:65665afbad5d 161 * @code
klauss 69:65665afbad5d 162 * ...
klauss 69:65665afbad5d 163 * set_header_sip_port( 820 );
klauss 69:65665afbad5d 164 * ...
klauss 69:65665afbad5d 165 * @endcode
klauss 69:65665afbad5d 166 */
klauss 69:65665afbad5d 167 void set_header_sip_port( int new_header_sip_port );
klauss 28:94aec56c6329 168
klauss 69:65665afbad5d 169 /**
klauss 69:65665afbad5d 170 * @Synopsis Altera o valor default contido no arquivo /qspi/serverip.txt
klauss 69:65665afbad5d 171 *
klauss 69:65665afbad5d 172 * @param new_server_ip Atualiza o valor de /qspi/serverip.txt sobrescrevendo-o com o valor de new_server_ip
klauss 69:65665afbad5d 173 *
klauss 69:65665afbad5d 174 * Exemplo:
klauss 69:65665afbad5d 175 * @code
klauss 69:65665afbad5d 176 * ...
klauss 69:65665afbad5d 177 * set_header_sip_port( "192.168.120.231" );
klauss 69:65665afbad5d 178 * ...
klauss 69:65665afbad5d 179 * @endcode
klauss 69:65665afbad5d 180 */
klauss 69:65665afbad5d 181 void set_server_ip( char * new_server_ip );
klauss 69:65665afbad5d 182
klauss 69:65665afbad5d 183 /**
klauss 69:65665afbad5d 184 * @Synopsis Altera o valor default contido no arquivo /qspi/peerext.txt
klauss 69:65665afbad5d 185 *
klauss 69:65665afbad5d 186 * @param new_server_ext Atualiza o valor de /qspi/peerext.txt sobrescrevendo-o com o valor de new_server_ext
klauss 69:65665afbad5d 187 *
klauss 69:65665afbad5d 188 * Exemplo:
klauss 69:65665afbad5d 189 * @code
klauss 69:65665afbad5d 190 * ...
klauss 69:65665afbad5d 191 * set_header_sip_port( 1011 );
klauss 69:65665afbad5d 192 * ...
klauss 69:65665afbad5d 193 * @endcode
klauss 69:65665afbad5d 194 */
klauss 69:65665afbad5d 195 void set_server_ext( int new_server_ext );
klauss 69:65665afbad5d 196
klauss 69:65665afbad5d 197 /**
klauss 69:65665afbad5d 198 * @Synopsis Altera o valor default contido no arquivo /qspi/serverport.txt
klauss 69:65665afbad5d 199 *
klauss 69:65665afbad5d 200 * @param new_server_port Atualiza o valor de /qspi/serverport.txt sobrescrevendo-o com o valor de new_server_port
klauss 69:65665afbad5d 201 *
klauss 69:65665afbad5d 202 * Exemplo:
klauss 69:65665afbad5d 203 * @code
klauss 69:65665afbad5d 204 * ...
klauss 69:65665afbad5d 205 * set_header_sip_port( 1562 );
klauss 69:65665afbad5d 206 * ...
klauss 69:65665afbad5d 207 * @endcode
klauss 69:65665afbad5d 208 */
klauss 69:65665afbad5d 209 void set_server_port( int new_server_port );
klauss 69:65665afbad5d 210
klauss 69:65665afbad5d 211 /**
klauss 69:65665afbad5d 212 * @Synopsis Altera o valor default contido no arquivo /qspi/udpport.txt
klauss 69:65665afbad5d 213 *
klauss 69:65665afbad5d 214 * @param new_udp_port_listener Atualiza o valor de /qspi/udpport.txt sobrescrevendo-o com o valor de new_udp_port_listener
klauss 69:65665afbad5d 215 *
klauss 69:65665afbad5d 216 * Exemplo:
klauss 69:65665afbad5d 217 * @code
klauss 69:65665afbad5d 218 * ...
klauss 69:65665afbad5d 219 * set_udp_port_listener( 11147 );
klauss 69:65665afbad5d 220 * ...
klauss 69:65665afbad5d 221 * @endcode
klauss 69:65665afbad5d 222 */
klauss 69:65665afbad5d 223 void set_udp_port_listener( int new_udp_port_listener );
klauss 45:c80574f24dc3 224
klauss 69:65665afbad5d 225 /**
klauss 69:65665afbad5d 226 * @Synopsis Altera o valor default contido no arquivo /qspi/tcpport.txt
klauss 69:65665afbad5d 227 *
klauss 69:65665afbad5d 228 * @param new_tcp_port_listener Atualiza o valor de /qspi/tcpport.txt sobrescrevendo-o com o valor de new_tcp_port_listener
klauss 69:65665afbad5d 229 *
klauss 69:65665afbad5d 230 * Exemplo:
klauss 69:65665afbad5d 231 * @code
klauss 69:65665afbad5d 232 * ...
klauss 69:65665afbad5d 233 * set_tcp_port_listener( 7178 );
klauss 69:65665afbad5d 234 * ...
klauss 69:65665afbad5d 235 * @endcode
klauss 69:65665afbad5d 236 */
klauss 56:c64bcbaa621a 237 void set_tcp_port_listener( int new_tcp_port_listener );
klauss 69:65665afbad5d 238
klauss 69:65665afbad5d 239 /**
klauss 69:65665afbad5d 240 * @Synopsis Altera o valor default contido no arquivo /qspi/telemetry_ip.txt
klauss 69:65665afbad5d 241 *
klauss 69:65665afbad5d 242 * @param new_telemetry_ip Atualiza o valor de /qspi/telemetry_ip.txt sobrescrevendo-o com o valor de new_telemetry_ip
klauss 69:65665afbad5d 243 *
klauss 69:65665afbad5d 244 * Exemplo:
klauss 69:65665afbad5d 245 * @code
klauss 69:65665afbad5d 246 * ...
klauss 69:65665afbad5d 247 * set_telemetry_ip( "192.154.123.7" )
klauss 69:65665afbad5d 248 * ...
klauss 69:65665afbad5d 249 * @endcode
klauss 69:65665afbad5d 250 */
klauss 56:c64bcbaa621a 251 void set_telemetry_ip( char * new_telemetry_ip );
klauss 69:65665afbad5d 252
klauss 69:65665afbad5d 253 /**
klauss 69:65665afbad5d 254 * @Synopsis Altera o valor default contido no arquivo /qspi/telemetry_port.txt
klauss 69:65665afbad5d 255 *
klauss 69:65665afbad5d 256 * @param new_telemetry_port Atualiza o valor de /qspi/telemetry_port.txt sobrescrevendo-o com o valor de new_telemetry_port
klauss 69:65665afbad5d 257 *
klauss 69:65665afbad5d 258 * Exemplo:
klauss 69:65665afbad5d 259 * @code
klauss 69:65665afbad5d 260 * ...
klauss 69:65665afbad5d 261 * set_telemetry_port( 9193 );
klauss 69:65665afbad5d 262 * ...
klauss 69:65665afbad5d 263 * @endcode
klauss 69:65665afbad5d 264 */
klauss 56:c64bcbaa621a 265 void set_telemetry_port( int new_telemetry_port );
klauss 69:65665afbad5d 266
klauss 69:65665afbad5d 267 /**
klauss 69:65665afbad5d 268 * @Synopsis Altera o valor default contido no arquivo /qspi/mymask.txt
klauss 69:65665afbad5d 269 *
klauss 69:65665afbad5d 270 * @param new_mask Atualiza o valor de /qspi/mymask.txt sobrescrevendo-o com o valor de new_mask
klauss 69:65665afbad5d 271 *
klauss 69:65665afbad5d 272 * Exemplo:
klauss 69:65665afbad5d 273 * @code
klauss 69:65665afbad5d 274 * ...
klauss 69:65665afbad5d 275 * set_mask( "255.255.0.0" );
klauss 69:65665afbad5d 276 * ...
klauss 69:65665afbad5d 277 * @endcode
klauss 69:65665afbad5d 278 */
klauss 55:2f5e7374af9d 279 void set_mask( char * new_mask );
klauss 69:65665afbad5d 280
klauss 69:65665afbad5d 281 /**
klauss 69:65665afbad5d 282 * @Synopsis Altera o valor default contido no arquivo /qspi/mygate.txt
klauss 69:65665afbad5d 283 *
klauss 69:65665afbad5d 284 * @param new_gateway Atualiza o valor de /qspi/mygate.txt sobrescrevendo-o com o valor de new_gateway
klauss 69:65665afbad5d 285 *
klauss 69:65665afbad5d 286 * Exemplo:
klauss 69:65665afbad5d 287 * @code
klauss 69:65665afbad5d 288 * ...
klauss 69:65665afbad5d 289 * set_gateway( "192.168.118.2" );
klauss 69:65665afbad5d 290 * ...
klauss 69:65665afbad5d 291 * @endcode
klauss 69:65665afbad5d 292 */
klauss 55:2f5e7374af9d 293 void set_gateway( char * new_gateway );
klauss 17:67a6b557eda5 294
klauss 38:af5ecd6997ab 295 extern bool from_eth;
klauss 69:65665afbad5d 296 ///< Variável de controle que indica se o comando processado veio do teclado ( serial ) ou se via eth.
klauss 44:cc4996469404 297 extern bool tcp_session;
klauss 69:65665afbad5d 298 ///< Variável de controle que indica se estamos ou não em uma sessão TCP com algum usuàrio.
klauss 45:c80574f24dc3 299 extern TCPSocketServer tcp_server;
klauss 69:65665afbad5d 300 ///< Socket responsavel por ouvir determinado porta TCP.
klauss 45:c80574f24dc3 301 extern TCPSocketConnection tcp_client;
klauss 69:65665afbad5d 302 ///< Representa a presença de algum cliente logado em uma sessão TCP.
klauss 41:69bf7091c2ca 303 extern Timer tcp_timer;
klauss 69:65665afbad5d 304 ///< Timer responsavel por dar timeout por não utilização de recurso.
klauss 45:c80574f24dc3 305
klauss 45:c80574f24dc3 306 extern UDPSocket udp_server;
klauss 69:65665afbad5d 307 ///< Socket responsavel por ouvir determinada porta udp.
klauss 45:c80574f24dc3 308 extern Endpoint udp_client;
klauss 69:65665afbad5d 309 ///< Representa a presença de algum cliente udp.
klauss 45:c80574f24dc3 310
klauss 44:cc4996469404 311 extern bool udp_request;
klauss 69:65665afbad5d 312 ///< Variável de controle que nos diz se trata-se de um request vindo da porta UDP.
klauss 44:cc4996469404 313 extern char * debug_buf;
klauss 69:65665afbad5d 314 ///< Buffer de entrada dos dados via serial.
klauss 17:67a6b557eda5 315
klauss 72:895ca792c647 316 extern bool dparallel;
klauss 72:895ca792c647 317
klauss 48:195c97f12e8e 318 extern bool cb_session;
klauss 69:65665afbad5d 319 ///< Não utilizada atualmente.
klauss 48:195c97f12e8e 320 extern bool cb_status;
klauss 69:65665afbad5d 321 ///< Não utilizada atualmente.
klauss 52:12930cef17c4 322 extern bool reset_cks;
klauss 69:65665afbad5d 323 ///< Variável de controle que reseta os contadores de cks dos pacotes.
klauss 53:bb492a8f115a 324 extern bool debug_telemetry;
klauss 69:65665afbad5d 325 ///< Variável de controle que aciona o debug de telemetria.
klauss 54:448d57291be6 326 extern bool main_test;
klauss 69:65665afbad5d 327 ///< Variável de controle para acionamento de algum comando de interesse.
klauss 62:07e5bdc9f8f7 328 extern bool list;
klauss 69:65665afbad5d 329 ///< Variável de controle para listar os CBx registrados na lógica da Header.
klauss 62:07e5bdc9f8f7 330 extern bool rx;
klauss 69:65665afbad5d 331 ///< Variável de controle para exibição do ultima pacote recebido dos CBx
klauss 63:0d95da692bb4 332 extern bool tx;
klauss 69:65665afbad5d 333 ///< Variável de controle para exibição do ultimo pacote enviado para o CBx.
klauss 63:0d95da692bb4 334 extern bool stats;
klauss 69:65665afbad5d 335 ///< Variável de controle para exibição dos contadores de pacotes recebidos por tipo.
klauss 63:0d95da692bb4 336 extern bool r_stats;
klauss 69:65665afbad5d 337 ///< Variável de controle para resetar os contadores de pacotes recebidos por tipo.
klauss 65:0b653cfe95db 338 extern bool delayed_flood;
klauss 69:65665afbad5d 339 ///< Variável de controle do envio de pacotes de flood off
klauss 63:0d95da692bb4 340
klauss 69:65665afbad5d 341 extern uint16_t boot_counter;
klauss 69:65665afbad5d 342 ///< Contador dos pacotes de BOOT recebidos
klauss 63:0d95da692bb4 343 extern uint16_t registry_counter;
klauss 69:65665afbad5d 344 ///< Contador dos pacotes de REGISTRY recebidos
klauss 63:0d95da692bb4 345 extern uint16_t invite_counter;
klauss 69:65665afbad5d 346 ///< Contador dos pacotes de INVITE recebidos
klauss 63:0d95da692bb4 347 extern uint16_t audio_counter;
klauss 69:65665afbad5d 348 ///< Contador dos pacotes de AUDIO recebidos
klauss 63:0d95da692bb4 349 extern uint16_t telemetry_counter;
klauss 69:65665afbad5d 350 ///< Contador dos pacotes de TELEMETRY recebidos
klauss 63:0d95da692bb4 351 extern uint16_t cb_bye_counter;
klauss 69:65665afbad5d 352 ///< Contador dos pacotes de CB_BYE recebidos
klauss 63:0d95da692bb4 353 extern uint16_t prompt_counter;
klauss 69:65665afbad5d 354 ///< Contador dos pacotes de PROMPT recebidos
klauss 67:cdedc64d9921 355 extern uint16_t flood_counter;
klauss 69:65665afbad5d 356 ///< Contador dos pacotes de FLOOD recebidos
klauss 67:cdedc64d9921 357 extern uint16_t bootloader_cbx_counter;
klauss 69:65665afbad5d 358 ///< Contador dos pacotes de BOOTLOADER_CBX recebidos
klauss 67:cdedc64d9921 359
klauss 67:cdedc64d9921 360 extern Timer udp_timer;
klauss 69:65665afbad5d 361 ///< Timer controlador do timeout de requests UDP.
klauss 48:195c97f12e8e 362
klauss 69:65665afbad5d 363 /**
klauss 69:65665afbad5d 364 * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental
klauss 69:65665afbad5d 365 * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre
klauss 69:65665afbad5d 366 * 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
klauss 69:65665afbad5d 367 * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero.
klauss 69:65665afbad5d 368 *
klauss 69:65665afbad5d 369 * @param ext O ramal do qual se quer calcular a porta vinculada.
klauss 69:65665afbad5d 370 *
klauss 69:65665afbad5d 371 * @return O valor calculado da porta.
klauss 69:65665afbad5d 372 *
klauss 69:65665afbad5d 373 * Exemplo:
klauss 69:65665afbad5d 374 * @code
klauss 69:65665afbad5d 375 * ...
klauss 69:65665afbad5d 376 * int ext = 5220;
klauss 69:65665afbad5d 377 * int port = convert_ext_to_port( ext );
klauss 69:65665afbad5d 378 * ...
klauss 69:65665afbad5d 379 * @endcode
klauss 69:65665afbad5d 380 */
klauss 69:65665afbad5d 381 int convert_ext_to_port( int ext );
klauss 50:d9b6577a70f5 382
klauss 17:67a6b557eda5 383 #endif