Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1734 - 1
/*
2
      ___                         ___           ___           ___          _____
3
     /  /\                       /__/\         /  /\         /__/\        /  /::\
4
    /  /::\                     |  |::\       /  /::\        \  \:\      /  /:/\:\
5
   /  /:/\:\    ___     ___     |  |:|:\     /  /:/\:\        \  \:\    /  /:/  \:\
6
  /  /:/~/::\  /__/\   /  /\  __|__|:|\:\   /  /:/  \:\   _____\__\:\  /__/:/ \__\:|
7
 /__/:/ /:/\:\ \  \:\ /  /:/ /__/::::| \:\ /__/:/ \__\:\ /__/::::::::\ \  \:\ /  /:/
8
 \  \:\/:/__\/  \  \:\  /:/  \  \:\~~\__\/ \  \:\ /  /:/ \  \:\~~\~~\/  \  \:\  /:/
9
  \  \::/        \  \:\/:/    \  \:\        \  \:\  /:/   \  \:\  ~~~    \  \:\/:/
10
   \  \:\         \  \::/      \  \:\        \  \:\/:/     \  \:\         \  \::/
11
    \  \:\         \__\/        \  \:\        \  \::/       \  \:\         \__\/
12
     \__\/                       \__\/         \__\/         \__\/
13
      ___           ___           ___           ___           ___           ___
14
     /  /\         /  /\         /__/\         /__/\         /  /\         /__/\
15
    /  /:/        /  /::\       |  |::\       |  |::\       /  /::\        \  \:\
16
   /  /:/        /  /:/\:\      |  |:|:\      |  |:|:\     /  /:/\:\        \  \:\
17
  /  /:/  ___   /  /:/  \:\   __|__|:|\:\   __|__|:|\:\   /  /:/  \:\   _____\__\:\
18
 /__/:/  /  /\ /__/:/ \__\:\ /__/::::| \:\ /__/::::| \:\ /__/:/ \__\:\ /__/::::::::\
19
 \  \:\ /  /:/ \  \:\ /  /:/ \  \:\~~\__\/ \  \:\~~\__\/ \  \:\ /  /:/ \  \:\~~\~~\/
20
  \  \:\  /:/   \  \:\  /:/   \  \:\        \  \:\        \  \:\  /:/   \  \:\  ~~~
21
   \  \:\/:/     \  \:\/:/     \  \:\        \  \:\        \  \:\/:/     \  \:\
22
    \  \::/       \  \::/       \  \:\        \  \:\        \  \::/       \  \:\
23
     \__\/         \__\/         \__\/         \__\/         \__\/         \__\/
24
 
25
 
26
*
27
* Error handling functions.
28
*/
29
 
30
#ifndef __ERROR__
31
#define __ERROR__
32
 
33
#include <avr/pgmspace.h>
34
#include <stdbool.h>
35
#include "main.h"
36
 
37
 
38
#ifdef DEBUG
39
 
40
void error_init(void);
41
 
42
void error_putc(const char c);
43
 
44
void assert (bool condition, const char *msg);
45
void info (const char *msg);
46
void warn(const char *msg);
47
void debug(const char *msg);
48
void Error(const char *msg);
49
 
50
void assert_pgm(bool condition, const prog_char *msg);
51
void info_pgm (const prog_char *msg);
52
void warn_pgm(const prog_char *msg);
53
void debug_pgm(const prog_char *msg);
54
void error_pgm(const prog_char *msg);
55
 
56
void byte_to_hex(uint8_t byte);
57
 
58
#else
59
 
60
#define error_init() {}
61
 
62
 
63
#define error_putc(c) {}
64
 
65
#define assert(cond, msg) {}
66
#define info(msg) {}
67
#define warn(msg) {}
68
#define debug(msg) {}
69
#define error(msg) {}
70
 
71
#define assert_pgm(cond, msg) {}
72
#define info_pgm(msg) {}
73
#define warn_pgm(msg) {}
74
#define debug_pgm(msg) {}
75
#define error_pgm(msg) {}
76
#define byte_to_hex(byte) {}
77
#endif
78
 
79
#endif  //__ERROR__