Archived
14
0
Fork 0

staging:iio: buffer example - add lots more runtime parameters

Add ability to control delay for event free buffers
Add ability to control length of buffer
Add ability to control how many read cycles occur

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Tested-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jonathan Cameron 2011-02-11 13:09:13 +00:00 committed by Greg Kroah-Hartman
parent 30268a3da9
commit 96df9799a4

View file

@ -29,9 +29,6 @@
#include <string.h>
#include "iio_utils.h"
const int buf_len = 128;
const int num_loops = 2;
/**
* size_from_channelarray() - calculate the storage size of a scan
* @channels: the channel info array
@ -119,6 +116,11 @@ void process_scan(char *data,
int main(int argc, char **argv)
{
unsigned long num_loops = 2;
unsigned long timedelay = 1000000;
unsigned long buf_len = 128;
int ret, c, i, j, toread;
FILE *fp_ev;
@ -136,10 +138,11 @@ int main(int argc, char **argv)
char *buffer_access, *buffer_event;
int scan_size;
int noevents = 0;
char *dummy;
struct iio_channel_info *infoarray;
while ((c = getopt(argc, argv, "et:n:")) != -1) {
while ((c = getopt(argc, argv, "l:w:c:et:n:")) != -1) {
switch (c) {
case 'n':
device_name = optarg;
@ -151,6 +154,15 @@ int main(int argc, char **argv)
case 'e':
noevents = 1;
break;
case 'c':
num_loops = strtoul(optarg, &dummy, 10);
break;
case 'w':
timedelay = strtoul(optarg, &dummy, 10);
break;
case 'l':
buf_len = strtoul(optarg, &dummy, 10);
break;
case '?':
return -1;
}
@ -285,7 +297,7 @@ int main(int argc, char **argv)
continue;
}
} else {
usleep(1000);
usleep(timedelay);
toread = 64;
}