diff --git a/src/marlin_stubs/sdcard/M20-M30_M32-M34.cpp b/src/marlin_stubs/sdcard/M20-M30_M32-M34.cpp index 709fe52f11..095672d26b 100644 --- a/src/marlin_stubs/sdcard/M20-M30_M32-M34.cpp +++ b/src/marlin_stubs/sdcard/M20-M30_M32-M34.cpp @@ -1,9 +1,11 @@ #include #include "../../lib/Marlin/Marlin/src/gcode/gcode.h" +#include "../src/common/print_utils.hpp" #include "marlin_server.hpp" #include "media.hpp" #include "marlin_vars.hpp" +#include /** \addtogroup G-Codes * @{ @@ -124,7 +126,15 @@ void GcodeSuite::M29() { // M30 - Delete a file on the SD card void GcodeSuite::M30() { - // TODO + ArrayStringBuilder filepath; + filepath.append_printf("/usb/%s", parser.string_arg); + DeleteResult result = DeleteResult::GeneralError; + if (filepath.is_ok()) { + result = remove_file(filepath.str()); + } + SERIAL_ECHOPGM(result == DeleteResult::Success ? "File deleted:" : "Deletion failed:"); + SERIAL_ECHO(parser.string_arg); + SERIAL_ECHOLN("."); } // M32 - Select file and start SD print