summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Foster <nick@nerdnetworks.org>2010-08-13 17:28:08 -0700
committerNick Foster <nick@nerdnetworks.org>2010-08-13 17:28:08 -0700
commitf626a4f21d7301e573bcb601f16bf6ba38352c34 (patch)
tree27f8d08cd53ad8ae3328ba404fbed9b1e014bf67
parentac899c005274ff974565c8ab5c125c51feed4d69 (diff)
downloaduhd-f626a4f21d7301e573bcb601f16bf6ba38352c34.tar.gz
uhd-f626a4f21d7301e573bcb601f16bf6ba38352c34.tar.bz2
uhd-f626a4f21d7301e573bcb601f16bf6ba38352c34.zip
Fixed behavior when no GPS present.
-rw-r--r--firmware/microblaze/lib/hal_io.c4
-rw-r--r--firmware/microblaze/lib/hal_uart.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/firmware/microblaze/lib/hal_io.c b/firmware/microblaze/lib/hal_io.c
index a8654bce7..261c8cc2a 100644
--- a/firmware/microblaze/lib/hal_io.c
+++ b/firmware/microblaze/lib/hal_io.c
@@ -256,9 +256,9 @@ int
fngets_timeout(hal_uart_name_t u, char * const s, int len)
{
char *x = s;
- while(((*x=(char)hal_uart_getc_timeout(u)) != '\n') && ((x-s) < len)) x++;
+
+ while(((*x=(char)hal_uart_getc_timeout(u)) != '\n') && (*x != -1) && ((x-s) < len)) x++;
*x = 0;
- if(x==s) return 0;
return (x-s);
}
diff --git a/firmware/microblaze/lib/hal_uart.c b/firmware/microblaze/lib/hal_uart.c
index 9697f5b20..0ac6abd69 100644
--- a/firmware/microblaze/lib/hal_uart.c
+++ b/firmware/microblaze/lib/hal_uart.c
@@ -108,8 +108,7 @@ hal_uart_getc_timeout(hal_uart_name_t u)
int timeout = 0;
while (((uart_regs[u].rxlevel) == 0) && (timeout++ < HAL_UART_TIMEOUT_MS))
mdelay(1);
-
- return (timeout == HAL_UART_TIMEOUT_MS) ? '\n' : uart_regs[u].rxchar; //return a newline if nothing there, this will trip fngets to quit
+ return (timeout == HAL_UART_TIMEOUT_MS) ? -1 : uart_regs[u].rxchar; //return -1 if nothing there, cause fngets to quit
}
int hal_uart_rx_flush(hal_uart_name_t u)