Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
debug.h
- Committer:
- klauss
- Date:
- 2015-03-13
- Revision:
- 106:a34fcf9f0e02
- Parent:
- 105:a930035b6556
- Child:
- 108:18a3702650f3
File content as of revision 106:a34fcf9f0e02:
/** * @file debug.h * @Synopsis Instrumenta o uso de debug no código da header. * @author Jhonatan Casale / PedroZN * @version 1 * @date 2014-11-05 */ #ifndef __DEBUG_H__ #define __DEBUG_H__ #include <stdint.h> #include <stdio.h> #include "mbed.h" #include "EthernetInterface.h" #include "string.h" #include "shared_variables.h" extern char debug_msg1[ 1024+64 ]; ///< Buffer usado na composisão da mensagem enviada pela macro debug_msg extern char debug_msg2[ 1024 ]; ///< Buffer usado na composisão da mensagem enviada pela macro debug_msg extern char msg_[ 1024 ]; ///< Buffer utilizado pela macro send_msg extern bool cb_session; ///< Não utilizada atualmente. extern bool cb_status; ///< Não utilizada atualmente. 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 sizes; extern bool debug_reconnect; extern uint16_t miss_debug_fw_send_pkg; extern uint16_t miss_sip_registry_send_pkg; extern uint16_t miss_sip_invite_send_pkg; extern uint16_t miss_sip_bye_send_pkg; extern uint16_t miss_sip_unregistry_send_pkg; extern uint16_t miss_sip_ok_send_pkg; extern uint16_t miss_sip_rcv_bye_send_pkg; extern uint16_t miss_wdt_send_pkg; extern uint16_t miss_sip_inc_pkg; extern uint16_t miss_udp_prompt_send_pkg; extern bool show_uptime; extern bool debug_sip; ///< Variável de controle que ativa o debug sip. extern bool debug_prompt; ///< Variável de controle que ativa o debug do prompt. extern bool debug_vector; ///< Variável de controle que ativa o debug do vector. extern bool debug_cb; ///< Variável de controle que ativa o debug da classe Call_box. extern bool debug_main; ///< Variável de controle que ativa o debug da main. extern bool debug_cks; ///< Variável de controle que ativa o debug do ckechsum dos pacotes recebidos. extern bool debug_cb_rx; ///< Variável de controle que ativa o debug dos pacotes recebidos do CBx. extern bool debug_cb_tx; ///< Variável de controle que ativa o debug dos pacotes enviados para o CBx. extern bool debug_eth_rx; ///< Variável de controle que ativa o debug dos pacotes recebidos da eth \note não implementado. extern bool debug_eth_tx; ///< Variável de controle que ativa o debug dos pacotes enviados para a eth \note não implementado. extern bool debug_prompt_eth; ///< Variável de controle que ativa o debug do prompt eth. extern bool 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 bool dparallel; ///< Variável de controle que aciona o debug de envio de pacotes pro cb, quando se ///< quer transmitir um pacote enquanto outro pacote, já esta em transmissao. extern bool test_debug; ///< Variável de controle que ativa o debug de test. extern bool debug_aging; ///< Variável de controle que ativa o debug da funçao de aging do registro. extern bool debug_invite; extern bool debug_wake; extern bool debug_muted; extern bool debug_cpld; extern bool debug_show_cpld; extern bool debug_cks_err; extern bool debug_ping; extern bool debug_refresh; extern bool long_list; extern bool debug_out_of_range; extern bool debug_wdt; extern bool debug_eth; extern bool wdt_show; extern bool debug_rtp; extern bool debug_memory; //extern bool debug_registry_rcv; extern bool debug_port_match; extern bool debug_fw; extern bool debug_gp; extern bool missed_send_udp_pkg; extern bool debug_boot; extern bool debug_fw_print; extern bool debug_uart3; extern bool big_bug_pkg; extern bool flood_bug_pkg; extern uint16_t miss_ftp_udp_send_pkg; extern bool reset_missed_send_udp_pkg; extern bool debug_missed; extern uint16_t deleted_sip; /** * @Synopsis Função usada anteriormente para formatação da string que debug, não esta mais em uso. * * * @param pkg Ponteiro para inicio dos dados a serem transmitidos. * @param size Tamanho do pacote que deve ser enviado. * */ int eth_fw_debug_pkgdebug_pkg( uint8_t * pkg, int size ); #define debug_msg(...) _debug_msg(__VA_ARGS__) #define _debug_msg(...) { \ sprintf(debug_msg1, "%s:%d ", __FILE__, __LINE__); \ sprintf(debug_msg2, __VA_ARGS__); \ strcat(debug_msg1, debug_msg2); \ if( debug_uart3 && !udp_query && !from_eth ) pc.printf( "%s\n\r> ", debug_msg1 ); \ if( tcp_session && !udp_query ){ \ strcat( debug_msg1, "\n\r" ); \ while( !( tcp_client.send_all( debug_msg1, strlen( debug_msg1 ) ) ) ); \ } \ if( udp_query ){ \ strcat( debug_msg1, "\n\r" ); \ int send = udp_client.sendTo( udp_server, debug_msg1, strlen( debug_msg1 ) ); \ if( send != strlen( debug_msg1 ) ) \ { \ if( debug_reconnect && debug_uart3 && !from_eth ) pc.printf("\r\nReconnect udp_query client"); \ reconnect_prompt_udp_socket(); \ miss_prompt_udp_send_pkg++; \ } \ } \ } #define send_msg(...) _send_msg(__VA_ARGS__) #define _send_msg(...) { \ sprintf( msg_, __VA_ARGS__); \ if( debug_uart3 && !udp_query && !from_eth ) pc.printf( "%s\n\r> ", msg_ ); \ if( tcp_session && !udp_query ){ \ strcat( msg_, "\n\r> " ); \ while( !( tcp_client.send_all( msg_, strlen( msg_ ) ) ) ); \ } \ if( udp_query ){ \ strcat( msg_, "\n\r> " ); \ int send = udp_client.sendTo( udp_server, msg_, strlen( msg_ ) ); \ if( send != strlen( msg_ ) ) \ { \ if( debug_reconnect && debug_uart3 ) pc.printf ("\n\rReconnect udp_query client\n\r"); \ reconnect_prompt_udp_socket(); \ miss_prompt_udp_send_pkg++; \ } \ } \ } #endif