diff options
author | Yves Fischer <yvesf-git@xapek.org> | 2011-10-11 21:56:36 +0200 |
---|---|---|
committer | Yves Fischer <yvesf-git@xapek.org> | 2011-10-11 21:56:36 +0200 |
commit | cbc941282074856fc6179761b70a0c9879b0b64d (patch) | |
tree | ed15c6d9e20ceaf1ff01a05aa63054410bb8ed54 /firmware/debug.c | |
parent | 324c5ba9098c1010d0aa8c1e26b95509878ce9f2 (diff) | |
download | mini-octopus-cbc941282074856fc6179761b70a0c9879b0b64d.tar.gz mini-octopus-cbc941282074856fc6179761b70a0c9879b0b64d.zip |
update firmware to @319
Diffstat (limited to 'firmware/debug.c')
-rw-r--r-- | firmware/debug.c | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/firmware/debug.c b/firmware/debug.c index 539a3e2..5e7a950 100644 --- a/firmware/debug.c +++ b/firmware/debug.c @@ -1,4 +1,7 @@ #include <inttypes.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> #include <avr/io.h> #include "uart.h" @@ -8,21 +11,39 @@ #define UART_PORT 0 -void debug_init(void) { +void debug_dummy(char *fmt, ...) {} + +void debug_init() +{ +#ifdef DEBUG +#warning Compiling with debug-support! uart_init(UART_PORT); uart_baudrate(UART_PORT, 25, 0, 0, 0); uart_stopbits(UART_PORT, 1); uart_databits(UART_PORT, 8); uart_parity(UART_PORT, 'N'); + + static FILE mystdout = FDEV_SETUP_STREAM(debug_putchar, NULL, + _FDEV_SETUP_WRITE); + stdout = &mystdout; +#endif } -void debug_deinit(void) { - uart_deinit(UART_PORT); +int debug_putchar(char c, FILE *stream) +{ +#ifdef DEBUG + if (c == '\n') + uart_putchar(UART_PORT, '\r'); + uart_putchar(UART_PORT, c); +#endif + return 1; } -void debug_write(char *buf) { - while(*buf) - uart_putchar(UART_PORT, *buf++); +void debug_deinit(void) +{ +#ifdef DEBUG + uart_deinit(UART_PORT); +#endif } unsigned char debug_AsciiToHex(unsigned char high, unsigned char low) @@ -52,6 +73,7 @@ unsigned char debug_AsciiToHex(unsigned char high, unsigned char low) void debug_SendHex(unsigned char hex) { +#ifdef DEBUG unsigned char high,low; // get highnibble high = hex & 0xF0; @@ -69,4 +91,8 @@ void debug_SendHex(unsigned char hex) uart_putchar(UART_PORT, low+48); else uart_putchar(UART_PORT, low+87); + + //_debug_write("\r\n"); +#endif } + |