mirror of https://gitee.com/openkylin/linux.git
iio: iio_generic_buffer: Add --trigger-num option
Signed-off-by: Crestez Dan Leonard <leonard.crestez@intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
de397db8ab
commit
7c7e9dad70
|
@ -254,7 +254,9 @@ void print_usage(void)
|
|||
" --device-name -n <name>\n"
|
||||
" --device-num -N <num>\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");
|
||||
}
|
||||
|
||||
|
@ -320,6 +322,8 @@ void register_cleanup(void)
|
|||
static const struct option longopts[] = {
|
||||
{ "device-name", 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)
|
|||
|
||||
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) {
|
||||
case 'a':
|
||||
autochannels = AUTOCHANNELS_ENABLED;
|
||||
|
@ -391,6 +395,12 @@ int main(int argc, char **argv)
|
|||
case 't':
|
||||
trigger_name = strdup(optarg);
|
||||
break;
|
||||
case 'T':
|
||||
errno = 0;
|
||||
trig_num = strtoul(optarg, &dummy, 10);
|
||||
if (errno)
|
||||
return -errno;
|
||||
break;
|
||||
case 'w':
|
||||
errno = 0;
|
||||
timedelay = strtoul(optarg, &dummy, 10);
|
||||
|
@ -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) {
|
||||
/*
|
||||
* Build the trigger name. If it is device associated
|
||||
|
@ -481,8 +507,6 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
printf("iio trigger number being used is %d\n", trig_num);
|
||||
} else {
|
||||
printf("trigger-less mode selected\n");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue