/* debug.c */
/*
    This file is part of the Crypto-avr-lib/microcrypt-lib.
    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
/***************************
*
*
*
****************************/
#include "config.h"

#if DEBUG == uart
 #include "uart.h"
#else
  #error "Your DEBUG methode is not suported!"
#endif

#ifdef DEBUG
 void debug_init(void){
 #if DBUG==uart
  uart_init();
 #else
  #error "Your DEBUG methode is not suported!"
 #endif
 }
 
 void debug_char(char c){
	static char initialised = 0;
	if (!initialised){
		uart_init();
		initialised=1;
	}	
	uart_putc(c);
 }
 
 void debug_str(char* s){
 	while (*s)
 		debug_char(*s++);
 }
 


 void debug_byte(char b){
 	char table[] = "0123456789ABCDEF";
 	debug_char(table[(b>>4) & 0xf]);
 	debug_char(table[b&0xf]);
 }

#endif //DEBUG

