No 'ls' if media isn't mounted

This commit is contained in:
Scott Lahteine 2020-09-04 19:57:07 -05:00 committed by Scott Lahteine
parent d94b5b5ad0
commit f7cb9455c8
3 changed files with 12 additions and 5 deletions

View File

@ -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"

View File

@ -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

View File

@ -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)