aboutsummaryrefslogtreecommitdiff
path: root/apps/systemcmds
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2012-11-01 08:11:36 +0100
committerLorenz Meier <lm@inf.ethz.ch>2012-11-01 08:11:36 +0100
commit4d6ac93affe0e8f219d071baa5f8217016a1068d (patch)
treed7a16962c48735f8ae27b06aac80f7b8c41e74f7 /apps/systemcmds
parent137afdbd3cf8c9356fabf15e8acbb41661daf40b (diff)
downloadpx4-firmware-4d6ac93affe0e8f219d071baa5f8217016a1068d.tar.gz
px4-firmware-4d6ac93affe0e8f219d071baa5f8217016a1068d.tar.bz2
px4-firmware-4d6ac93affe0e8f219d071baa5f8217016a1068d.zip
Print selectively by name
Diffstat (limited to 'apps/systemcmds')
-rw-r--r--apps/systemcmds/param/param.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/systemcmds/param/param.c b/apps/systemcmds/param/param.c
index 68dbd822e..67ffb531a 100644
--- a/apps/systemcmds/param/param.c
+++ b/apps/systemcmds/param/param.c
@@ -59,7 +59,7 @@ __EXPORT int param_main(int argc, char *argv[]);
static void do_save(void);
static void do_load(void);
static void do_import(void);
-static void do_show(void);
+static void do_show(const char* search_string);
static void do_show_print(void *arg, param_t param);
static const char *param_file_name = "/eeprom/parameters";
@@ -78,7 +78,11 @@ param_main(int argc, char *argv[])
do_import();
if (!strcmp(argv[1], "show"))
- do_show();
+ if (argc >= 3) {
+ do_show(argv[2]);
+ } else {
+ do_show(NULL);
+ }
}
errx(1, "expected a command, try 'load', 'import', 'show' or 'save'\n");
@@ -142,10 +146,10 @@ do_import(void)
}
static void
-do_show(void)
+do_show(const char* search_string)
{
printf(" + = saved, * = unsaved\n");
- param_foreach(do_show_print, NULL, false);
+ param_foreach(do_show_print, search_string, false);
exit(0);
}
@@ -155,6 +159,11 @@ do_show_print(void *arg, param_t param)
{
int32_t i;
float f;
+ const char *search_string = (const char*)arg;
+
+ /* print nothing if search string valid and not matching */
+ if (arg != NULL && (strcmp(search_string, param_name(param) != 0)))
+ return;
printf("%c %s: ",
param_value_unsaved(param) ? '*' : (param_value_is_default(param) ? ' ' : '+'),