Commit 7c7e9dad authored by Crestez Dan Leonard's avatar Crestez Dan Leonard Committed by Jonathan Cameron

iio: iio_generic_buffer: Add --trigger-num option

Signed-off-by: default avatarCrestez Dan Leonard <leonard.crestez@intel.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent de397db8
...@@ -254,7 +254,9 @@ void print_usage(void) ...@@ -254,7 +254,9 @@ void print_usage(void)
" --device-name -n <name>\n" " --device-name -n <name>\n"
" --device-num -N <num>\n" " --device-num -N <num>\n"
" Set device by name or number (mandatory)\n" " Set device by name or number (mandatory)\n"
" -t <name> Set trigger name\n" " --trigger-name -t <name>\n"
" --trigger-num -T <num>\n"
" Set trigger by name or number\n"
" -w <n> Set delay between reads in us (event-less mode)\n"); " -w <n> Set delay between reads in us (event-less mode)\n");
} }
...@@ -320,6 +322,8 @@ void register_cleanup(void) ...@@ -320,6 +322,8 @@ void register_cleanup(void)
static const struct option longopts[] = { static const struct option longopts[] = {
{ "device-name", 1, 0, 'n' }, { "device-name", 1, 0, 'n' },
{ "device-num", 1, 0, 'N' }, { "device-num", 1, 0, 'N' },
{ "trigger-name", 1, 0, 't' },
{ "trigger-num", 1, 0, 'T' },
{ }, { },
}; };
...@@ -348,7 +352,7 @@ int main(int argc, char **argv) ...@@ -348,7 +352,7 @@ int main(int argc, char **argv)
register_cleanup(); register_cleanup();
while ((c = getopt_long(argc, argv, "ac:egl:n:N:t:w:", longopts, NULL)) != -1) { while ((c = getopt_long(argc, argv, "ac:egl:n:N:t:T:w:", longopts, NULL)) != -1) {
switch (c) { switch (c) {
case 'a': case 'a':
autochannels = AUTOCHANNELS_ENABLED; autochannels = AUTOCHANNELS_ENABLED;
...@@ -391,6 +395,12 @@ int main(int argc, char **argv) ...@@ -391,6 +395,12 @@ int main(int argc, char **argv)
case 't': case 't':
trigger_name = strdup(optarg); trigger_name = strdup(optarg);
break; break;
case 'T':
errno = 0;
trig_num = strtoul(optarg, &dummy, 10);
if (errno)
return -errno;
break;
case 'w': case 'w':
errno = 0; errno = 0;
timedelay = strtoul(optarg, &dummy, 10); timedelay = strtoul(optarg, &dummy, 10);
...@@ -444,7 +454,23 @@ int main(int argc, char **argv) ...@@ -444,7 +454,23 @@ int main(int argc, char **argv)
} }
} }
if (!notrigger) { if (notrigger) {
printf("trigger-less mode selected\n");
} if (trig_num > 0) {
char *trig_dev_name;
ret = asprintf(&trig_dev_name, "%strigger%d", iio_dir, trig_num);
if (ret < 0) {
return -ENOMEM;
}
trigger_name = malloc(IIO_MAX_NAME_LENGTH);
ret = read_sysfs_string("name", trig_dev_name, trigger_name);
free(trig_dev_name);
if (ret < 0) {
fprintf(stderr, "Failed to read trigger%d name from\n", trig_num);
return ret;
}
printf("iio trigger number being used is %d\n", trig_num);
} else {
if (!trigger_name) { if (!trigger_name) {
/* /*
* Build the trigger name. If it is device associated * Build the trigger name. If it is device associated
...@@ -481,8 +507,6 @@ int main(int argc, char **argv) ...@@ -481,8 +507,6 @@ int main(int argc, char **argv)
} }
printf("iio trigger number being used is %d\n", trig_num); printf("iio trigger number being used is %d\n", trig_num);
} else {
printf("trigger-less mode selected\n");
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment