Add support for Průša MK2 Multiplexer
This commit is contained in:
parent
a4a587a897
commit
5b11b33854
|
@ -307,6 +307,11 @@
|
||||||
|
|
||||||
#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
|
#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
|
||||||
|
|
||||||
|
// MK2 Multiplexer forces SINGLENOZZLE to be enabled
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
#define SINGLENOZZLE
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extruders have some combination of stepper motors and hotends
|
* Extruders have some combination of stepper motors and hotends
|
||||||
* so we separate these concepts into the defines:
|
* so we separate these concepts into the defines:
|
||||||
|
@ -314,6 +319,7 @@
|
||||||
* EXTRUDERS - Number of Selectable Tools
|
* EXTRUDERS - Number of Selectable Tools
|
||||||
* HOTENDS - Number of hotends, whether connected or separate
|
* HOTENDS - Number of hotends, whether connected or separate
|
||||||
* E_STEPPERS - Number of actual E stepper motors
|
* E_STEPPERS - Number of actual E stepper motors
|
||||||
|
* E_MANUAL - Number of E steppers for LCD move options
|
||||||
* TOOL_E_INDEX - Index to use when getting/setting the tool state
|
* TOOL_E_INDEX - Index to use when getting/setting the tool state
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -9436,6 +9436,39 @@ inline void gcode_M503() {
|
||||||
|
|
||||||
#endif // ADVANCED_PAUSE_FEATURE
|
#endif // ADVANCED_PAUSE_FEATURE
|
||||||
|
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
|
||||||
|
inline void select_multiplexed_stepper(const uint8_t e) {
|
||||||
|
stepper.synchronize();
|
||||||
|
disable_e_steppers();
|
||||||
|
WRITE(E_MUX0_PIN, TEST(e, 0) ? HIGH : LOW);
|
||||||
|
WRITE(E_MUX1_PIN, TEST(e, 1) ? HIGH : LOW);
|
||||||
|
WRITE(E_MUX2_PIN, TEST(e, 2) ? HIGH : LOW);
|
||||||
|
safe_delay(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* M702: Unload all extruders
|
||||||
|
*/
|
||||||
|
inline void gcode_M702() {
|
||||||
|
for (uint8_t s = 0; s < E_STEPPERS; s++) {
|
||||||
|
select_multiplexed_stepper(e);
|
||||||
|
// TODO: standard unload filament function
|
||||||
|
// MK2 firmware behavior:
|
||||||
|
// - Make sure temperature is high enough
|
||||||
|
// - Raise Z to at least 15 to make room
|
||||||
|
// - Extrude 1cm of filament in 1 second
|
||||||
|
// - Under 230C quickly purge ~12mm, over 230C purge ~10mm
|
||||||
|
// - Change E max feedrate to 80, eject the filament from the tube. Sync.
|
||||||
|
// - Restore E max feedrate to 50
|
||||||
|
}
|
||||||
|
// Go back to the last active extruder
|
||||||
|
select_multiplexed_stepper(active_extruder);
|
||||||
|
disable_e_steppers();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // MK2_MULTIPLEXER
|
||||||
|
|
||||||
#if ENABLED(DUAL_X_CARRIAGE)
|
#if ENABLED(DUAL_X_CARRIAGE)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -10257,14 +10290,23 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
||||||
UNUSED(fr_mm_s);
|
UNUSED(fr_mm_s);
|
||||||
UNUSED(no_move);
|
UNUSED(no_move);
|
||||||
|
|
||||||
// Set the new active extruder
|
#if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH
|
||||||
active_extruder = tmp_extruder;
|
|
||||||
|
stepper.synchronize();
|
||||||
|
move_extruder_servo(tmp_extruder);
|
||||||
|
|
||||||
|
#elif ENABLED(MK2_MULTIPLEXER)
|
||||||
|
|
||||||
|
if (tmp_extruder >= E_STEPPERS)
|
||||||
|
return invalid_extruder_error(tmp_extruder);
|
||||||
|
|
||||||
|
select_multiplexed_stepper(tmp_extruder);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // HOTENDS <= 1
|
#endif // HOTENDS <= 1
|
||||||
|
|
||||||
#if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH
|
active_extruder = tmp_extruder;
|
||||||
move_extruder_servo(active_extruder);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, (int)active_extruder);
|
SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, (int)active_extruder);
|
||||||
|
@ -11001,6 +11043,12 @@ void process_next_command() {
|
||||||
break;
|
break;
|
||||||
#endif // DUAL_X_CARRIAGE
|
#endif // DUAL_X_CARRIAGE
|
||||||
|
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
case 702: // M702: Unload all extruders
|
||||||
|
gcode_M702();
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(LIN_ADVANCE)
|
#if ENABLED(LIN_ADVANCE)
|
||||||
case 900: // M900: Set advance K factor.
|
case 900: // M900: Set advance K factor.
|
||||||
gcode_M900();
|
gcode_M900();
|
||||||
|
@ -12968,6 +13016,12 @@ void setup() {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
SET_OUTPUT(E_MUX0_PIN);
|
||||||
|
SET_OUTPUT(E_MUX1_PIN);
|
||||||
|
SET_OUTPUT(E_MUX2_PIN);
|
||||||
|
#endif
|
||||||
|
|
||||||
lcd_init();
|
lcd_init();
|
||||||
#if ENABLED(SHOW_BOOTSCREEN)
|
#if ENABLED(SHOW_BOOTSCREEN)
|
||||||
#if ENABLED(DOGLCD)
|
#if ENABLED(DOGLCD)
|
||||||
|
|
|
@ -352,10 +352,21 @@
|
||||||
#error "EXTRUDERS must be 1 with HEATERS_PARALLEL."
|
#error "EXTRUDERS must be 1 with HEATERS_PARALLEL."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#elif ENABLED(MK2_MULTIPLEXER)
|
||||||
|
#error "MK2_MULTIPLEXER requires 2 or more EXTRUDERS."
|
||||||
#elif ENABLED(SINGLENOZZLE)
|
#elif ENABLED(SINGLENOZZLE)
|
||||||
#error "SINGLENOZZLE requires 2 or more EXTRUDERS."
|
#error "SINGLENOZZLE requires 2 or more EXTRUDERS."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sanity checking for the Průša MK2 Multiplexer
|
||||||
|
*/
|
||||||
|
#ifdef SNMM
|
||||||
|
#error "SNMM is now MK2_MULTIPLEXER. Please update your configuration."
|
||||||
|
#elif ENABLED(MK2_MULTIPLEXER) && DISABLED(ADVANCED_PAUSE_FEATURE)
|
||||||
|
#error "ADVANCED_PAUSE_FEATURE is required with MK2_MULTIPLEXER."
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Dual Nozzle carriage with switching servo
|
* A Dual Nozzle carriage with switching servo
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -139,6 +139,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -141,6 +141,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -158,6 +158,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -143,6 +143,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -141,6 +141,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -168,6 +168,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -160,6 +160,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -141,6 +141,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -142,6 +142,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -143,6 +143,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -138,6 +138,25 @@
|
||||||
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
// For Cyclops or any "multi-extruder" that shares a single nozzle.
|
||||||
//#define SINGLENOZZLE
|
//#define SINGLENOZZLE
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
||||||
|
*
|
||||||
|
* This device allows one stepper driver on a control board to drive
|
||||||
|
* two to eight stepper motors, one at a time, in a manner suitable
|
||||||
|
* for extruders.
|
||||||
|
*
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*/
|
||||||
|
//#define MK2_MULTIPLEXER
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Override the default DIO selector pins here, if needed.
|
||||||
|
// Some pins files may provide defaults for these pins.
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers
|
||||||
|
#endif
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
#if ENABLED(SWITCHING_EXTRUDER)
|
#if ENABLED(SWITCHING_EXTRUDER)
|
||||||
|
|
|
@ -115,6 +115,21 @@
|
||||||
#define LED_PIN 13
|
#define LED_PIN 13
|
||||||
#define CASE_LIGHT_PIN 9
|
#define CASE_LIGHT_PIN 9
|
||||||
|
|
||||||
|
//
|
||||||
|
// M3/M4/M5 - Spindle/Laser Control
|
||||||
|
//
|
||||||
|
// use P1 connector for spindle pins
|
||||||
|
#define SPINDLE_LASER_PWM_PIN 9 // MUST BE HARDWARE PWM
|
||||||
|
#define SPINDLE_LASER_ENABLE_PIN 18 // Pin should have a pullup!
|
||||||
|
#define SPINDLE_DIR_PIN 19
|
||||||
|
|
||||||
|
//
|
||||||
|
// Průša i3 MK2 Multiplexer Support
|
||||||
|
//
|
||||||
|
#define E_MUX0_PIN 17
|
||||||
|
#define E_MUX1_PIN 16
|
||||||
|
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
|
||||||
|
|
||||||
//
|
//
|
||||||
// LCD / Controller
|
// LCD / Controller
|
||||||
//
|
//
|
||||||
|
@ -143,12 +158,3 @@
|
||||||
|
|
||||||
#endif // NEWPANEL
|
#endif // NEWPANEL
|
||||||
#endif // ULTRA_LCD
|
#endif // ULTRA_LCD
|
||||||
|
|
||||||
//
|
|
||||||
// M3/M4/M5 - Spindle/Laser Control
|
|
||||||
//
|
|
||||||
|
|
||||||
// use P1 connector for spindle pins
|
|
||||||
#define SPINDLE_LASER_PWM_PIN 9 // MUST BE HARDWARE PWM
|
|
||||||
#define SPINDLE_LASER_ENABLE_PIN 18 // Pin should have a pullup!
|
|
||||||
#define SPINDLE_DIR_PIN 19
|
|
||||||
|
|
|
@ -142,6 +142,20 @@
|
||||||
#define FILWIDTH_PIN 3 // Analog Input
|
#define FILWIDTH_PIN 3 // Analog Input
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// M3/M4/M5 - Spindle/Laser Control
|
||||||
|
//
|
||||||
|
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
|
||||||
|
#define SPINDLE_LASER_ENABLE_PIN 31 // Pin should have a pullup!
|
||||||
|
#define SPINDLE_DIR_PIN 32
|
||||||
|
|
||||||
|
//
|
||||||
|
// Průša i3 MK2 Multiplexer Support
|
||||||
|
//
|
||||||
|
#define E_MUX0_PIN 17
|
||||||
|
#define E_MUX1_PIN 16
|
||||||
|
#define E_MUX2_PIN 84 // 84 in MK2 Firmware
|
||||||
|
|
||||||
//
|
//
|
||||||
// LCD / Controller
|
// LCD / Controller
|
||||||
//
|
//
|
||||||
|
@ -212,10 +226,3 @@
|
||||||
#endif // !NEWPANEL
|
#endif // !NEWPANEL
|
||||||
|
|
||||||
#endif // ULTRA_LCD
|
#endif // ULTRA_LCD
|
||||||
|
|
||||||
//
|
|
||||||
// M3/M4/M5 - Spindle/Laser Control
|
|
||||||
//
|
|
||||||
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
|
|
||||||
#define SPINDLE_LASER_ENABLE_PIN 31 // Pin should have a pullup!
|
|
||||||
#define SPINDLE_DIR_PIN 32
|
|
||||||
|
|
|
@ -214,6 +214,29 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// M3/M4/M5 - Spindle/Laser Control
|
||||||
|
//
|
||||||
|
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
|
||||||
|
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
|
||||||
|
#define SPINDLE_LASER_ENABLE_PIN 4 // Pin should have a pullup/pulldown!
|
||||||
|
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
|
||||||
|
#define SPINDLE_DIR_PIN 5
|
||||||
|
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \
|
||||||
|
&& (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2
|
||||||
|
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup/pulldown!
|
||||||
|
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
|
||||||
|
#define SPINDLE_DIR_PIN 65
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Průša i3 MK2 Multiplexer Support
|
||||||
|
//
|
||||||
|
#define E_MUX0_PIN 40 // Z_CS_PIN
|
||||||
|
#define E_MUX1_PIN 42 // E0_CS_PIN
|
||||||
|
#define E_MUX2_PIN 44 // E1_CS_PIN
|
||||||
|
|
||||||
//
|
//
|
||||||
// LCD / Controller
|
// LCD / Controller
|
||||||
//
|
//
|
||||||
|
@ -378,19 +401,3 @@
|
||||||
#endif // NEWPANEL
|
#endif // NEWPANEL
|
||||||
|
|
||||||
#endif // ULTRA_LCD
|
#endif // ULTRA_LCD
|
||||||
|
|
||||||
//
|
|
||||||
// M3/M4/M5 - Spindle/Laser Control
|
|
||||||
//
|
|
||||||
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
|
|
||||||
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
|
|
||||||
#define SPINDLE_LASER_ENABLE_PIN 4 // Pin should have a pullup/pulldown!
|
|
||||||
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
|
|
||||||
#define SPINDLE_DIR_PIN 5
|
|
||||||
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \
|
|
||||||
&& (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2
|
|
||||||
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup/pulldown!
|
|
||||||
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
|
|
||||||
#define SPINDLE_DIR_PIN 65
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -860,8 +860,14 @@ void Stepper::isr() {
|
||||||
|
|
||||||
nextAdvanceISR = eISR_Rate;
|
nextAdvanceISR = eISR_Rate;
|
||||||
|
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Even-numbered steppers are reversed
|
||||||
|
#define SET_E_STEP_DIR(INDEX) \
|
||||||
|
if (e_steps[INDEX]) E## INDEX ##_DIR_WRITE(e_steps[INDEX] < 0 ? !INVERT_E## INDEX ##_DIR ^ TEST(INDEX, 0) : INVERT_E## INDEX ##_DIR ^ TEST(INDEX, 0))
|
||||||
|
#else
|
||||||
#define SET_E_STEP_DIR(INDEX) \
|
#define SET_E_STEP_DIR(INDEX) \
|
||||||
if (e_steps[INDEX]) E## INDEX ##_DIR_WRITE(e_steps[INDEX] < 0 ? INVERT_E## INDEX ##_DIR : !INVERT_E## INDEX ##_DIR)
|
if (e_steps[INDEX]) E## INDEX ##_DIR_WRITE(e_steps[INDEX] < 0 ? INVERT_E## INDEX ##_DIR : !INVERT_E## INDEX ##_DIR)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define START_E_PULSE(INDEX) \
|
#define START_E_PULSE(INDEX) \
|
||||||
if (e_steps[INDEX]) E## INDEX ##_STEP_WRITE(!INVERT_E_STEP_PIN)
|
if (e_steps[INDEX]) E## INDEX ##_STEP_WRITE(!INVERT_E_STEP_PIN)
|
||||||
|
|
|
@ -472,8 +472,14 @@
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#define E_STEP_WRITE(v) E0_STEP_WRITE(v)
|
#define E_STEP_WRITE(v) E0_STEP_WRITE(v)
|
||||||
|
#if ENABLED(MK2_MULTIPLEXER)
|
||||||
|
// Even-numbered steppers are reversed
|
||||||
|
#define NORM_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR)
|
||||||
|
#define REV_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR)
|
||||||
|
#else
|
||||||
#define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR)
|
#define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR)
|
||||||
#define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR)
|
#define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // STEPPER_INDIRECTION_H
|
#endif // STEPPER_INDIRECTION_H
|
||||||
|
|
Loading…
Reference in a new issue