mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 04:53:33 +08:00
Merged
This commit is contained in:
@@ -56,26 +56,48 @@
|
||||
|
||||
__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_save(const char* param_file_name);
|
||||
static void do_load(const char* param_file_name);
|
||||
static void do_import(const char* param_file_name);
|
||||
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";
|
||||
|
||||
int
|
||||
param_main(int argc, char *argv[])
|
||||
{
|
||||
if (argc >= 2) {
|
||||
if (!strcmp(argv[1], "save"))
|
||||
do_save();
|
||||
if (!strcmp(argv[1], "save")) {
|
||||
if (argc >= 3) {
|
||||
do_save(argv[2]);
|
||||
} else {
|
||||
do_save(param_get_default_file());
|
||||
}
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "load"))
|
||||
do_load();
|
||||
if (!strcmp(argv[1], "load")) {
|
||||
if (argc >= 3) {
|
||||
do_load(argv[2]);
|
||||
} else {
|
||||
do_load(param_get_default_file());
|
||||
}
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "import"))
|
||||
do_import();
|
||||
if (!strcmp(argv[1], "import")) {
|
||||
if (argc >= 3) {
|
||||
do_import(argv[2]);
|
||||
} else {
|
||||
do_import(param_get_default_file());
|
||||
}
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "select")) {
|
||||
if (argc >= 3) {
|
||||
param_set_default_file(argv[2]);
|
||||
} else {
|
||||
param_set_default_file(NULL);
|
||||
}
|
||||
warnx("selected parameter file %s", param_get_default_file());
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "show"))
|
||||
if (argc >= 3) {
|
||||
@@ -84,12 +106,12 @@ param_main(int argc, char *argv[])
|
||||
do_show(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
errx(1, "expected a command, try 'load', 'import', 'show' or 'save'\n");
|
||||
|
||||
errx(1, "expected a command, try 'load', 'import', 'show', 'select' or 'save'");
|
||||
}
|
||||
|
||||
static void
|
||||
do_save(void)
|
||||
do_save(const char* param_file_name)
|
||||
{
|
||||
/* delete the parameter file in case it exists */
|
||||
unlink(param_file_name);
|
||||
@@ -112,7 +134,7 @@ do_save(void)
|
||||
}
|
||||
|
||||
static void
|
||||
do_load(void)
|
||||
do_load(const char* param_file_name)
|
||||
{
|
||||
int fd = open(param_file_name, O_RDONLY);
|
||||
|
||||
@@ -122,14 +144,18 @@ do_load(void)
|
||||
int result = param_load(fd);
|
||||
close(fd);
|
||||
|
||||
if (result < 0)
|
||||
if (result < 0) {
|
||||
errx(1, "error importing from '%s'", param_file_name);
|
||||
} else {
|
||||
/* set default file name for next storage operation */
|
||||
param_set_default_file(param_file_name);
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
static void
|
||||
do_import(void)
|
||||
do_import(const char* param_file_name)
|
||||
{
|
||||
int fd = open(param_file_name, O_RDONLY);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user