diff options
author | Ben Hilburn <ben.hilburn@ettus.com> | 2014-07-17 18:16:58 -0700 |
---|---|---|
committer | Ben Hilburn <ben.hilburn@ettus.com> | 2014-07-17 18:16:58 -0700 |
commit | d2be9455d61981e465e3bab748f9a9a500c97925 (patch) | |
tree | 48b6a76cdcaf99426488618a0078a86e96c89410 /firmware | |
parent | 0efddecd45ff4756b046e5ebeb8626e54ffb19ff (diff) | |
parent | afb4cb4d4a3869131530fa6c5d76b812d6fea0aa (diff) | |
download | uhd-d2be9455d61981e465e3bab748f9a9a500c97925.tar.gz uhd-d2be9455d61981e465e3bab748f9a9a500c97925.tar.bz2 uhd-d2be9455d61981e465e3bab748f9a9a500c97925.zip |
Merge branch 'origin/x300/bug469' into maint
Fixing empty GPS NMEA strings on X300
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/x300/x300/x300_main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/x300/x300/x300_main.c b/firmware/x300/x300/x300_main.c index d7fd32ac3..d865e1d09 100644 --- a/firmware/x300/x300/x300_main.c +++ b/firmware/x300/x300/x300_main.c @@ -1,4 +1,4 @@ -// Copyright 2013 Ettus Research LLC +// Copyright 2013-2014 Ettus Research LLC #include "x300_init.h" #include "x300_defs.h" @@ -345,12 +345,12 @@ static void handle_uarts(void) static uint32_t rxoffset = 0; for (int rxch = wb_uart_getc(UART0_BASE); rxch != -1; rxch = wb_uart_getc(UART0_BASE)) { - rxoffset = (rxoffset+1) % (NUM_POOL_WORDS32*4); + rxoffset++; const int shift = ((rxoffset%4) * 8); static uint32_t rxword32 = 0; if (shift == 0) rxword32 = 0; - rxword32 |= ((uint32_t) rxch) << ((rxoffset%4) * 8); - rxpool[rxoffset/4] = rxword32; + rxword32 |= ((uint32_t) rxch & 0xFF) << shift; + rxpool[(rxoffset/4) % NUM_POOL_WORDS32] = rxword32; shmem[X300_FW_SHMEM_UART_RX_INDEX] = rxoffset; } |