|
|
|
@ -540,18 +540,52 @@
|
|
|
|
|
#define HAS_PID_FOR_BOTH (ENABLED(PIDTEMP) && ENABLED(PIDTEMPBED))
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* SINGLENOZZLE needs to differentiate EXTRUDERS and HOTENDS
|
|
|
|
|
* And all "extruders" are in the same place.
|
|
|
|
|
* Extruders have some combination of stepper motors and hotends
|
|
|
|
|
* so we separate these concepts into the defines:
|
|
|
|
|
*
|
|
|
|
|
* EXTRUDERS - Number of Selectable Tools
|
|
|
|
|
* HOTENDS - Number of hotends, whether connected or separate
|
|
|
|
|
* E_STEPPERS - Number of actual E stepper motors
|
|
|
|
|
* TOOL_E_INDEX - Index to use when getting/setting the tool state
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#if ENABLED(SINGLENOZZLE)
|
|
|
|
|
#if ENABLED(SINGLENOZZLE) // One hotend, multi-extruder
|
|
|
|
|
#define HOTENDS 1
|
|
|
|
|
#define E_STEPPERS EXTRUDERS
|
|
|
|
|
#define TOOL_E_INDEX current_block->active_extruder
|
|
|
|
|
#undef TEMP_SENSOR_1_AS_REDUNDANT
|
|
|
|
|
#undef HOTEND_OFFSET_X
|
|
|
|
|
#undef HOTEND_OFFSET_Y
|
|
|
|
|
#define HOTEND_OFFSET_X { 0 }
|
|
|
|
|
#define HOTEND_OFFSET_Y { 0 }
|
|
|
|
|
#else
|
|
|
|
|
#elif ENABLED(SWITCHING_EXTRUDER) // One E stepper, unified E axis, two hotends
|
|
|
|
|
#define HOTENDS EXTRUDERS
|
|
|
|
|
#define E_STEPPERS 1
|
|
|
|
|
#define TOOL_E_INDEX 0
|
|
|
|
|
#ifndef HOTEND_OFFSET_Z
|
|
|
|
|
#define HOTEND_OFFSET_Z { 0 }
|
|
|
|
|
#endif
|
|
|
|
|
#elif ENABLED(MIXING_EXTRUDER) // Multi-stepper, unified E axis, one hotend
|
|
|
|
|
#define HOTENDS 1
|
|
|
|
|
#define E_STEPPERS MIXING_STEPPERS
|
|
|
|
|
#define TOOL_E_INDEX 0
|
|
|
|
|
#else // One stepper, E axis, and hotend per tool
|
|
|
|
|
#define HOTENDS EXTRUDERS
|
|
|
|
|
#define E_STEPPERS EXTRUDERS
|
|
|
|
|
#define TOOL_E_INDEX current_block->active_extruder
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Default hotend offsets, if not defined
|
|
|
|
|
*/
|
|
|
|
|
#if HOTENDS > 1
|
|
|
|
|
#ifndef HOTEND_OFFSET_X
|
|
|
|
|
#define HOTEND_OFFSET_X { 0 } // X offsets for each extruder
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef HOTEND_OFFSET_Y
|
|
|
|
|
#define HOTEND_OFFSET_Y { 0 } // Y offsets for each extruder
|
|
|
|
|
#endif
|
|
|
|
|
#if !defined(HOTEND_OFFSET_Z) && (ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_EXTRUDER))
|
|
|
|
|
#define HOTEND_OFFSET_Z { 0 }
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|