✨ M21 P / S / U - Select Volume (#23780)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
39001bd8d2
commit
feafb7d49a
|
@ -1631,7 +1631,10 @@
|
|||
// Enable if SD detect is rendered useless (e.g., by using an SD extender)
|
||||
//#define NO_SD_DETECT
|
||||
|
||||
// Multiple volume support - EXPERIMENTAL.
|
||||
/**
|
||||
* Multiple volume support - EXPERIMENTAL.
|
||||
* Adds 'M21 Pm' / 'M21 S' / 'M21 U' to mount SD Card / USB Drive.
|
||||
*/
|
||||
//#define MULTI_VOLUME
|
||||
#if ENABLED(MULTI_VOLUME)
|
||||
#define VOLUME_SD_ONBOARD
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
*
|
||||
*** Print from Media (SDSUPPORT) ***
|
||||
* M20 - List SD card. (Requires SDSUPPORT)
|
||||
* M21 - Init SD card. (Requires SDSUPPORT)
|
||||
* M21 - Init SD card. (Requires SDSUPPORT) With MULTI_VOLUME select a drive with `M21 Pn` / 'M21 S' / 'M21 U'.
|
||||
* M22 - Release SD card. (Requires SDSUPPORT)
|
||||
* M23 - Select SD file: "M23 /path/file.gco". (Requires SDSUPPORT)
|
||||
* M24 - Start/resume SD print. (Requires SDSUPPORT)
|
||||
|
|
|
@ -142,6 +142,11 @@ void GcodeSuite::M115() {
|
|||
// SDCARD (M20, M23, M24, etc.)
|
||||
cap_line(F("SDCARD"), ENABLED(SDSUPPORT));
|
||||
|
||||
// MULTI_VOLUME (M21 S/M21 U)
|
||||
#if ENABLED(SDSUPPORT)
|
||||
cap_line(F("MULTI_VOLUME"), ENABLED(MULTI_VOLUME));
|
||||
#endif
|
||||
|
||||
// REPEAT (M808)
|
||||
cap_line(F("REPEAT"), ENABLED(GCODE_REPEAT_MARKERS));
|
||||
|
||||
|
|
|
@ -29,8 +29,21 @@
|
|||
|
||||
/**
|
||||
* M21: Init SD Card
|
||||
*
|
||||
* With MULTI_VOLUME:
|
||||
* P0 or S - Change to the SD Card and mount it
|
||||
* P1 or U - Change to the USB Drive and mount it
|
||||
*/
|
||||
void GcodeSuite::M21() { card.mount(); }
|
||||
void GcodeSuite::M21() {
|
||||
#if ENABLED(MULTI_VOLUME)
|
||||
const int8_t vol = parser.intval('P', -1);
|
||||
if (vol == 0 || parser.seen_test('S')) // "S" for SD Card
|
||||
card.changeMedia(&card.media_driver_sdcard);
|
||||
else if (vol == 1 || parser.seen_test('U')) // "U" for USB
|
||||
card.changeMedia(&card.media_driver_usbFlash);
|
||||
#endif
|
||||
card.mount();
|
||||
}
|
||||
|
||||
/**
|
||||
* M22: Release SD Card
|
||||
|
|
Loading…
Reference in a new issue