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:
- 2014-11-24
- Revision:
- 74:81c47fff88a5
- Parent:
- 72:895ca792c647
- Child:
- 75:bd3c647b860b
File content as of revision 74:81c47fff88a5:
/** * @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 uint8_t debug_sip; ///< Variável de controle que ativa o debug sip. 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 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 uint8_t test_debug; ///< Variável de controle que ativa o debug de test. /** * @Synopsis Função usada anteriormente para formatação da string que debug, não esta mais em uso. * * @param size Tamanho do pacote que deve ser enviado. * @param pkg Ponteiro para inicio dos dados a serem transmitidos. */ void debug_pkg( int size, uint8_t * pkg ); #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); \ pc.printf( "%s\n\r", debug_msg1 ); \ if( tcp_session ){ \ strcat( debug_msg1, "\n\r" ); \ tcp_client.send_all( debug_msg1, strlen( debug_msg1 ) ); \ }else if( udp_request ){ \ udp_server.sendTo( udp_client, debug_msg1, strlen( debug_msg1 ) ); \ } \ } #define send_msg(...) _send_msg(__VA_ARGS__) #define _send_msg(...) { \ sprintf( msg_, __VA_ARGS__); \ pc.printf( "%s\n\r> ", msg_ ); \ if( tcp_session ){ \ strcat( msg_, "\n\r> " ); \ tcp_client.send_all( msg_, strlen( msg_ ) ); \ }else if( udp_request ){ \ udp_server.sendTo( udp_client, debug_msg1, strlen( debug_msg1 ) ); \ } \ } #endif