No 'ls' if media isn't mounted
This commit is contained in:
		@@ -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"
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user