diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index 5d45b963ad..35becd937c 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -261,6 +261,11 @@ out: payload->req_opcode = payload->opcode; payload->opcode = kRspNak; payload->size = 1; + + if (r_errno == EEXIST) { + errorCode = kErrFailFileExists; + } + payload->data[0] = errorCode; if (errorCode == kErrFailErrno) { diff --git a/src/modules/mavlink/mavlink_ftp.h b/src/modules/mavlink/mavlink_ftp.h index ef2152b3d4..5d4cb94643 100644 --- a/src/modules/mavlink/mavlink_ftp.h +++ b/src/modules/mavlink/mavlink_ftp.h @@ -117,7 +117,9 @@ public: kErrInvalidSession, ///< Session is not currently open kErrNoSessionsAvailable, ///< All available Sessions in use kErrEOF, ///< Offset past end of file for List and Read commands - kErrUnknownCommand ///< Unknown command opcode + kErrUnknownCommand, ///< Unknown command opcode + kErrFailFileExists, ///< File exists already + kErrFailFileProtected ///< File is write protected }; unsigned get_size();