Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

debug.h

Committer:
klauss
Date:
2014-11-12
Revision:
69:65665afbad5d
Parent:
48:195c97f12e8e
Child:
72:895ca792c647

File content as of revision 69:65665afbad5d:

/**
 * @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 "configs.h"
#include "prompt.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

/**
 * @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