Browse Source

No 'ls' if media isn't mounted

vanilla_fb_2.0.x
Scott Lahteine 4 years ago
committed by Scott Lahteine
parent
commit
f7cb9455c8
  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_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define STR_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: " #define STR_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define STR_FILE_PRINTED "Done printing file" #define STR_FILE_PRINTED "Done printing file"
#define STR_NO_MEDIA "No media"
#define STR_BEGIN_FILE_LIST "Begin file list" #define STR_BEGIN_FILE_LIST "Begin file list"
#define STR_END_FILE_LIST "End file list" #define STR_END_FILE_LIST "End file list"
#define STR_INVALID_EXTRUDER "Invalid extruder" #define STR_INVALID_EXTRUDER "Invalid extruder"

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

@ -31,9 +31,13 @@
* M20: List SD card to serial output * M20: List SD card to serial output
*/ */
void GcodeSuite::M20() { void GcodeSuite::M20() {
SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST); if (card.flag.mounted) {
card.ls(); SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST);
SERIAL_ECHOLNPGM(STR_END_FILE_LIST); card.ls();
SERIAL_ECHOLNPGM(STR_END_FILE_LIST);
}
else
SERIAL_ECHO_MSG(STR_NO_MEDIA);
} }
#endif // SDSUPPORT #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 // List all files on the SD card
// //
void CardReader::ls() { void CardReader::ls() {
root.rewind(); if (flag.mounted) {
printListing(root); root.rewind();
printListing(root);
}
} }
#if ENABLED(LONG_FILENAME_HOST_SUPPORT) #if ENABLED(LONG_FILENAME_HOST_SUPPORT)

Loading…
Cancel
Save