diff options
| author | Philip Balister <philip@opensdr.com> | 2010-04-02 19:49:45 +0000 | 
|---|---|---|
| committer | Philip Balister <philip@opensdr.com> | 2010-04-02 19:49:45 +0000 | 
| commit | d8052db8e5614935241a4824a3f9711bfe34507d (patch) | |
| tree | e70c2fa0d9d273b29bc353daa6d144a10bab1536 | |
| parent | 80b2b928df6e3c1caf68dee199593a0af1cb91ae (diff) | |
| download | uhd-d8052db8e5614935241a4824a3f9711bfe34507d.tar.gz uhd-d8052db8e5614935241a4824a3f9711bfe34507d.tar.bz2 uhd-d8052db8e5614935241a4824a3f9711bfe34507d.zip  | |
Convert to use register include file. Fix peek/poke16 program.
Add program to cycle through LED's and test buttons. Only pushbuttons tested
at the moment.
| -rw-r--r-- | host/apps/omap_debug/Makefile | 14 | ||||
| -rw-r--r-- | host/apps/omap_debug/usrp-e-button.c | 56 | ||||
| -rw-r--r-- | host/apps/omap_debug/usrp-e-ctl.c | 20 | ||||
| -rw-r--r-- | host/apps/omap_debug/usrp-e-led.c | 35 | ||||
| -rwxr-xr-x | host/apps/omap_debug/usrp-e-uart | bin | 0 -> 7143 bytes | 
5 files changed, 112 insertions, 13 deletions
diff --git a/host/apps/omap_debug/Makefile b/host/apps/omap_debug/Makefile index 13b834e28..f292379f4 100644 --- a/host/apps/omap_debug/Makefile +++ b/host/apps/omap_debug/Makefile @@ -1,6 +1,6 @@ -CFLAGS=-Wall +CFLAGS=-Wall -I../../lib/usrp/usrp_e/ -all : usrp-e-spi usrp-e-i2c usrp-e-rw usrp-e-uart +all : usrp-e-spi usrp-e-i2c usrp-e-rw usrp-e-uart usrp-e-led usrp-e-ctl usrp-e-button  usrp-e-spi : usrp-e-spi.c @@ -11,9 +11,17 @@ usrp-e-rw : usrp-e-rw.c  usrp-e-uart : usrp-e-uart.c +usrp-e-led : usrp-e-led.c + +usrp-e-ctl : usrp-e-ctl.c + +usrp-e-button : usrp-e-button.c +  clean :  	rm -f usrp-e-spi  	rm -f usrp-e-i2c  	rm -f usrp-e-rw  	rm -f usrp-e-uart - +	rm -f usrp-e-led +	rm -f usrp-e-ctl +	rm -f usrp-e-button diff --git a/host/apps/omap_debug/usrp-e-button.c b/host/apps/omap_debug/usrp-e-button.c new file mode 100644 index 000000000..fca501833 --- /dev/null +++ b/host/apps/omap_debug/usrp-e-button.c @@ -0,0 +1,56 @@ +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <fcntl.h> +#include <string.h> +#include <sys/ioctl.h> +#include <unistd.h> + +#include "usrp_e.h" +#include "usrp_e_regs.hpp" + +// Usage: usrp_e_uart <string> + +#define PB1 (1<<8) +#define PB2 (1<<9) +#define PB3 (1<<10) +#define P1 (0) +#define P2 (0xFF) +#define P3 (0xAA) +#define P4 (0x55) + +int main(int argc, char *argv[]) +{ +	int fp, ret; +	struct usrp_e_ctl16 d; +	int pb1=0, pb2=0, pb3=0, p1=0, p2=0, p3=0, p4=0; + +	fp = open("/dev/usrp_e0", O_RDWR); +	printf("fp = %d\n", fp); + +	d.offset = 6; +	d.count = 1; + +	do { +		ret = ioctl(fp, USRP_E_READ_CTL16, &d); +		if (d.buf[0] & PB1) { +			pb1 = 1; +			printf("Pushbutton 1 hit\n"); +		} + +		if (d.buf[0] & PB2) { +			pb2 = 1; +			printf("Pushbutton 2 hit\n"); +		} + +		if (d.buf[0] & PB3) { +			pb3 = 1; +			printf("Pushbutton 3 hit\n"); +		} + +		sleep(1); + +	} while (!(pb1 && pb2 && pb3)); + +	return 0; +} diff --git a/host/apps/omap_debug/usrp-e-ctl.c b/host/apps/omap_debug/usrp-e-ctl.c index 045e7ce19..501a4870e 100644 --- a/host/apps/omap_debug/usrp-e-ctl.c +++ b/host/apps/omap_debug/usrp-e-ctl.c @@ -2,44 +2,44 @@  #include <stdlib.h>  #include <sys/types.h>  #include <fcntl.h> -#include <linux/ioctl.h> +#include <sys/ioctl.h> -#include "usrp1_e.h" +#include "usrp_e.h" -// Usage: usrp1_e_ctl w|r offset number_of_values val1 val2 .... +// Usage: usrp_e_ctl w|r offset number_of_values val1 val2 ....  int main(int argc, char *argv[])  {  	int fp, i, cnt, ret; -	struct usrp1_e_ctl *ctl_data; +	struct usrp_e_ctl16 *ctl_data;  	if (argc < 4) { -		printf("Usage: usrp1_e_ctl w|r offset number_of_values val1 val2 ....\n"); +		printf("Usage: usrp_e_ctl w|r offset number_of_values val1 val2 ....\n");  		exit(-1);  	}  	cnt = atoi(argv[3]); -	ctl_data = malloc(sizeof(struct usrp1_e_ctl) + cnt*2); +	ctl_data = malloc(sizeof(struct usrp_e_ctl16) + cnt*2);  	ctl_data->offset = atoi(argv[2]);  	ctl_data->count  = cnt; -	printf("Sizeof usrp1_e_ctl struct = %d\n", sizeof(struct usrp1_e_ctl)); +	printf("Sizeof usrp1_e_ctl struct = %d\n", sizeof(struct usrp_e_ctl16)); -	fp = open("/dev/usrp1_e0", O_RDWR); +	fp = open("/dev/usrp_e0", O_RDWR);  	printf("fp = %d\n", fp);  	if (*argv[1] == 'w') {  		for (i=0; i<cnt; i++)  			ctl_data->buf[i] = atoi(argv[4+i]); -		ret = ioctl(fp, USRP1_E_WRITE_CTL, ctl_data); +		ret = ioctl(fp, USRP_E_WRITE_CTL16, ctl_data);  		printf("Return value from write ioctl = %d\n", ret);  	}  	if (*argv[1] == 'r') { -		ret = ioctl(fp, USRP1_E_READ_CTL, ctl_data); +		ret = ioctl(fp, USRP_E_READ_CTL16, ctl_data);  		printf("Return value from write ioctl = %d\n", ret);  		for (i=0; i<ctl_data->count; i++) { diff --git a/host/apps/omap_debug/usrp-e-led.c b/host/apps/omap_debug/usrp-e-led.c new file mode 100644 index 000000000..159251c8a --- /dev/null +++ b/host/apps/omap_debug/usrp-e-led.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <fcntl.h> +#include <string.h> +#include <sys/ioctl.h> +#include <unistd.h> + +#include "usrp_e.h" +#include "usrp_e_regs.hpp" + +// Usage: usrp_e_uart <string> + + +int main(int argc, char *argv[]) +{ +	int fp, i, ret; +	struct usrp_e_ctl16 d; + +	fp = open("/dev/usrp_e0", O_RDWR); +	printf("fp = %d\n", fp); + +	d.offset = 4; +	d.count = 1; + +	while (1) { +		for (i=0; i<8; i++) { +			d.buf[0] = i; +			ret = ioctl(fp, USRP_E_WRITE_CTL16, &d); +			sleep(1); +		} +	} + +	return 0; +} diff --git a/host/apps/omap_debug/usrp-e-uart b/host/apps/omap_debug/usrp-e-uart Binary files differnew file mode 100755 index 000000000..5781f0db2 --- /dev/null +++ b/host/apps/omap_debug/usrp-e-uart  | 
