From d7264418e829aa2f1653459cf86d21c2bf31ee19 Mon Sep 17 00:00:00 2001 From: Ludwig Ortmann Date: Tue, 16 Jul 2013 17:57:52 +0200 Subject: [PATCH] native cc110x_ng support --- native/drivers/native-uart0.c | 15 +++++++++++---- native/include/board_internal.h | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/native/drivers/native-uart0.c b/native/drivers/native-uart0.c index 3af009eee4df..fc5eed29c3a8 100644 --- a/native/drivers/native-uart0.c +++ b/native/drivers/native-uart0.c @@ -27,6 +27,10 @@ void _native_handle_uart0_input() char buf[42]; int nread; + if (!FD_ISSET(_native_uart_in, &_native_rfds)) { + DEBUG("_native_handle_uart0_input - nothing to do\n"); + return; + } DEBUG("_native_handle_uart0_input\n"); _native_in_syscall = 0; _native_in_isr = 1; @@ -44,15 +48,18 @@ void _native_handle_uart0_input() cpu_switch_context_exit(); } +int _native_set_uart_fds(void) +{ + DEBUG("_native_set_uart_fds"); + FD_SET(_native_uart_in, &_native_rfds); + return _native_uart_in; +} + void _native_init_uart0() { _native_uart_out = STDOUT_FILENO; _native_uart_in = STDIN_FILENO; - /* set fds for select in lpm */ - FD_ZERO(&_native_uart_rfds); - FD_SET(_native_uart_in, &_native_uart_rfds); - puts("RIOT native uart0 initialized."); } diff --git a/native/include/board_internal.h b/native/include/board_internal.h index 752cbcdfb533..368d5287de63 100644 --- a/native/include/board_internal.h +++ b/native/include/board_internal.h @@ -1,6 +1,6 @@ #ifdef MODULE_UART0 #include -extern fd_set _native_uart_rfds; void _native_handle_uart0_input(void); void _native_init_uart0(void); +int _native_set_uart_fds(void); #endif