797fd2e4cecce4ea3a0991ad44f6ef785e449913
[avr-crypto-lib.git] / test_src / debug.c
1 /* debug.c */
2 /*
3     This file is part of the AVR-Crypto-Lib.
4     Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
5
6     This program is free software: you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation, either version 3 of the License, or
9     (at your option) any later version.
10
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 /***************************
20 *
21 *
22 *
23 ****************************/
24 #include "config.h"
25
26 #if DEBUG_METHOD == uart
27  #include "uart_i.h"
28 #else
29   #error "Your DEBUG methode is not suported!"
30 #endif
31
32 #ifdef DEBUG_METHOD
33  void debug_init(void){
34  #if DEBUG_METHOD==uart
35   uart0_init();
36  #else
37   #error "Your DEBUG methode is not suported!"
38  #endif
39  }
40
41  void debug_char(char c){
42         static char initialised = 0;
43         if (!initialised){
44                 uart0_init();
45                 initialised=1;
46         }
47         uart0_putc(c);
48  }
49
50  void debug_str(char *s){
51         while (*s)
52                 debug_char(*s++);
53  }
54
55
56
57  void debug_byte(char b){
58         char table[] = "0123456789ABCDEF";
59         debug_char(table[(b>>4) & 0xf]);
60         debug_char(table[b&0xf]);
61  }
62
63 #endif //DEBUG
64