diff options
author | Philip Balister <philip@opensdr.com> | 2010-04-03 14:55:16 +0000 |
---|---|---|
committer | Philip Balister <philip@opensdr.com> | 2010-04-03 14:55:16 +0000 |
commit | 317fc2d16288dcc621761a88119f279e1cfeafd6 (patch) | |
tree | 1259620f19fa5298eea28a54553216a98e6564b1 /host/apps/omap_debug | |
parent | dd2b11c4c77175da291beea02df0337989d6533a (diff) | |
download | uhd-317fc2d16288dcc621761a88119f279e1cfeafd6.tar.gz uhd-317fc2d16288dcc621761a88119f279e1cfeafd6.tar.bz2 uhd-317fc2d16288dcc621761a88119f279e1cfeafd6.zip |
Add ability to change uart baud rate. (works)
Diffstat (limited to 'host/apps/omap_debug')
-rw-r--r-- | host/apps/omap_debug/usrp-e-uart.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/host/apps/omap_debug/usrp-e-uart.c b/host/apps/omap_debug/usrp-e-uart.c index b0b14626a..2956c407f 100644 --- a/host/apps/omap_debug/usrp-e-uart.c +++ b/host/apps/omap_debug/usrp-e-uart.c @@ -16,15 +16,26 @@ int main(int argc, char *argv[]) int fp, i, ret; struct usrp_e_ctl16 d; char *str = argv[1]; + __u16 clkdiv; if (argc < 2) { - printf("Usage: usrp_e_uart <string>n"); + printf("Usage: usrp_e_uart <string> <opt clkdiv>\n"); + printf("clkdiv = 278 is 230.4k \n"); + printf("clkdiv = 556 is 115.2k \n"); exit(-1); } fp = open("/dev/usrp_e0", O_RDWR); printf("fp = %d\n", fp); + if (argc == 3) { + clkdiv = atoi(argv[2]); + d.offset = UE_REG_UART_CLKDIV; + d.count = 1; + d.buf[0] = clkdiv; + ret = ioctl(fp, USRP_E_WRITE_CTL16, &d); + } + for (i=0; i<strlen(str); i++) { d.offset = UE_REG_UART_TXCHAR; d.count = 1; |