Browse Source

No 'ls' if media isn't mounted

vanilla_fb_2.0.x
Scott Lahteine 4 years ago
parent
commit
14314b68ec
  1. 1
      Marlin/src/core/language.h
  2. 4
      Marlin/src/gcode/sd/M20.cpp
  3. 2
      Marlin/src/sd/cardreader.cpp

1
Marlin/src/core/language.h

@ -120,6 +120,7 @@
#define STR_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define STR_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define STR_FILE_PRINTED "Done printing file"
#define STR_NO_MEDIA "No media"
#define STR_BEGIN_FILE_LIST "Begin file list"
#define STR_END_FILE_LIST "End file list"
#define STR_INVALID_EXTRUDER "Invalid extruder"

4
Marlin/src/gcode/sd/M20.cpp

@ -31,9 +31,13 @@
* M20: List SD card to serial output
*/
void GcodeSuite::M20() {
if (card.flag.mounted) {
SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST);
card.ls();
SERIAL_ECHOLNPGM(STR_END_FILE_LIST);
}
else
SERIAL_ECHO_MSG(STR_NO_MEDIA);
}
#endif // SDSUPPORT

2
Marlin/src/sd/cardreader.cpp

@ -276,9 +276,11 @@ void CardReader::printListing(SdFile parent, const char * const prepend/*=nullpt
// List all files on the SD card
//
void CardReader::ls() {
if (flag.mounted) {
root.rewind();
printListing(root);
}
}
#if ENABLED(LONG_FILENAME_HOST_SUPPORT)

Loading…
Cancel
Save