#ifndef DEBUG_H_
#define DEBUG_H_

#define DEBUG_PRINTF         DEBUG_Printf
#define DEBUG_HEX_PRINTF     DEBUG_HexPrintf


void DEBUG_Enable(void);
void DEBUG_Disable(void);
int  DEBUG_Printf(char *format, ...);
int  DEBUG_HexPrintf(unsigned char *pHex, int len);
int  DEBUG_PrintfNone(char *format, ...);

#define APP_REPORT          printf


#define DEBUG_USB_REG       DEBUG_PrintfNone
#define DEBUG_USB_PORT      DEBUG_PrintfNone
#define DEBUG_USB           printf
#define DEBUG_USB_ISR       DEBUG_PrintfNone       
#define DEBUG_USB_DEVICE    printf

#define DEBUG_FLASH         DEBUG_PrintfNone
#define DEBUG_SDCARD        DEBUG_PrintfNone
#define DEBUG_ENET          DEBUG_PrintfNone


//

#define DEBUG_PRINT_ENABLED

#ifdef DEBUG_PRINT_ENABLED
#include <stdio.h>
#define DEBUG(x) {printf x;}
#else
#define DEBUG(x) 
#endif

// setup debug option for each common module
#define DEBUG_APP
#define DEBUG_AUDIOx
#define DEBUG_I2Cx
#define DEBUG_FAT

#endif /*DEBUG_H_*/
