From 4ddf93bd065ef5fb0f78ce2ff6b7654841946eaa Mon Sep 17 00:00:00 2001 From: px4dev Date: Mon, 20 Aug 2012 09:55:53 -0700 Subject: [PATCH] Tweak the MAVlink parameter load/save path to deal with NXFFS. --- apps/mavlink/mavlink_parameters.c | 33 ++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/apps/mavlink/mavlink_parameters.c b/apps/mavlink/mavlink_parameters.c index ab788c461b..bc13f05402 100644 --- a/apps/mavlink/mavlink_parameters.c +++ b/apps/mavlink/mavlink_parameters.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -145,20 +146,27 @@ int mavlink_pm_send_param(param_t param) return mavlink_missionlib_send_message(&tx_msg); } +static const char *mavlink_parameter_file = "/eeprom/parameters"; + static int mavlink_pm_save_eeprom() { - const char* name = "/eeprom"; - int fd = open("/eeprom", O_WRONLY | O_CREAT | O_EXCL); + unlink(mavlink_parameter_file); - if (fd < 0) - warn(1, "opening '%s' failed", name); + int fd = open(mavlink_parameter_file, O_WRONLY | O_CREAT | O_EXCL); + + if (fd < 0) { + warn(1, "opening '%s' failed", mavlink_parameter_file); + return -1; + } int result = param_export(fd, false); close(fd); if (result < 0) { - warn(1, "error exporting to '%s'", name); + unlink(mavlink_parameter_file); + warn(1, "error exporting to '%s'", mavlink_parameter_file); + return -1; } return 0; @@ -167,17 +175,20 @@ mavlink_pm_save_eeprom() static int mavlink_pm_load_eeprom() { - const char* name = "/eeprom"; - int fd = open(name, O_RDONLY); + int fd = open(mavlink_parameter_file, O_RDONLY); - if (fd < 0) - warn(1, "open '%s' failed", name); + if (fd < 0) { + warn(1, "open '%s' failed", mavlink_parameter_file); + return -1; + } int result = param_import(fd); close(fd); - if (result < 0) - warn(1, "error importing from '%s'", name); + if (result < 0) { + warn(1, "error importing from '%s'", mavlink_parameter_file); + return -1; + } return 0; }