aboutsummaryrefslogtreecommitdiff
path: root/kernel/uart.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/uart.c')
-rw-r--r--kernel/uart.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/kernel/uart.c b/kernel/uart.c
index 80ff2b4..ec015e5 100644
--- a/kernel/uart.c
+++ b/kernel/uart.c
@@ -25,7 +25,6 @@
#include <stdint.h>
#include <stdio.h>
#include <avr/io.h>
-#include <avr/wdt.h>
#include <avr/interrupt.h>
#include <util/setbaud.h>
#include "kernel.h"
@@ -33,8 +32,6 @@
FILE uart_stream = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);
-uint8_t (*data)(void);
-
#ifdef USE_RXCIE
ISR(SIG_UART_RECV)
{
@@ -47,27 +44,16 @@ ISR(SIG_UART_RECV)
/* FALLTHROUGH */
case 'R': /* reboot */
case '-': /* reboot */
- wdt_enable(WDTO_15MS);
+ reboot();
break;
case 'D': /* dump */
for (p = (uint8_t *)0; p <= (uint8_t *)RAMEND; p++)
uart_putchar(*p, NULL);
break;
- case 'L':
- data = rqlen;
- UCSRB |= _BV(UDRIE);
- break;
case 'T':
- data = running;
- UCSRB |= _BV(UDRIE);
- break;
- case 'S':
- data = semaphore;
UCSRB |= _BV(UDRIE);
break;
- case 'l':
case 't':
- case 's':
UCSRB &= ~_BV(UDRIE);
break;
case '\r':
@@ -81,7 +67,7 @@ ISR(SIG_UART_RECV)
ISR(SIG_UART_DATA)
{
- uint8_t r = data();
+ uint8_t r = running();
UDR = r ? '0' + r : '.';
}