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. 10
      Marlin/src/gcode/sd/M20.cpp
  3. 6
      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"

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

@ -31,9 +31,13 @@
* M20: List SD card to serial output
*/
void GcodeSuite::M20() {
SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST);
card.ls();
SERIAL_ECHOLNPGM(STR_END_FILE_LIST);
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

6
Marlin/src/sd/cardreader.cpp

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

Loading…
Cancel
Save