Skip to content

Commit 8ec0ac1

Browse files
committed
cleanup
1 parent 1df9e84 commit 8ec0ac1

14 files changed

+101
-93
lines changed

Marlin/Configuration.h

+14-10
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787

8888
// Choose the name from boards.h that matches your setup
8989
#ifndef MOTHERBOARD
90-
#define MOTHERBOARD BOARD_LINUX_RAMPS
90+
#define MOTHERBOARD BOARD_RAMPS_14_EFB
9191
#endif
9292

9393
/**
@@ -225,7 +225,7 @@
225225

226226
// This defines the number of extruders
227227
// :[0, 1, 2, 3, 4, 5, 6, 7, 8]
228-
#define EXTRUDERS 2
228+
#define EXTRUDERS 1
229229

230230
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
231231
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
@@ -255,21 +255,25 @@
255255
*/
256256
//#define MMU_MODEL PRUSA_MMU2
257257

258+
// Switch extruders by bumping toolhead, requires EVENT_GCODE_TOOLCHANGE_#
259+
//#define MECHANICAL_SWITCHING_EXTRUDER
260+
258261
// A dual extruder that uses a single stepper motor
259-
#define SWITCHING_EXTRUDER
262+
//#define SWITCHING_EXTRUDER
260263
#if ENABLED(SWITCHING_EXTRUDER)
261-
#define SWITCHING_EXTRUDER_MECHANICAL // Switch extruders by bumping toolhead into gantry sides, require EVENT_GCODE_TOOLCHANGE_#
262264
#define SWITCHING_EXTRUDER_SERVO_NR 0
263265
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3]
264266
#if EXTRUDERS > 3
265267
#define SWITCHING_EXTRUDER_E23_SERVO_NR 1
266268
#endif
267269
#endif
268270

271+
// Switch nozzles by bumping toolhead, requires EVENT_GCODE_TOOLCHANGE_#
272+
//#define SWITCHING_NOZZLE_MECHANICAL
273+
269274
// A dual-nozzle that uses a servomotor to raise/lower one (or both) of the nozzles, can be combined with SWITCHING_EXTRUDER
270-
#define SWITCHING_NOZZLE
275+
//#define SWITCHING_NOZZLE
271276
#if ENABLED(SWITCHING_NOZZLE)
272-
#define SWITCHING_NOZZLE_MECHANICAL // Switch nozzles by bumping toolhead into gantry sides, require EVENT_GCODE_TOOLCHANGE_#
273277
#define SWITCHING_NOZZLE_SERVO_NR 0
274278
//#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second
275279
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo)
@@ -385,7 +389,7 @@
385389
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
386390
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
387391
// For the other hotends it is their distance from the extruder 0 hotend.
388-
#define HOTEND_OFFSET_X { 0.0, 25.00 } // (mm) relative X-offset for each nozzle
392+
//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
389393
//#define HOTEND_OFFSET_Y { 0.0, 5.00 } // (mm) relative Y-offset for each nozzle
390394
//#define HOTEND_OFFSET_Z { 0.0, 0.00 } // (mm) relative Z-offset for each nozzle
391395

@@ -532,7 +536,7 @@
532536
*
533537
*/
534538
#define TEMP_SENSOR_0 1
535-
#define TEMP_SENSOR_1 1
539+
#define TEMP_SENSOR_1 0
536540
#define TEMP_SENSOR_2 0
537541
#define TEMP_SENSOR_3 0
538542
#define TEMP_SENSOR_4 0
@@ -1668,10 +1672,10 @@
16681672
#define Y_BED_SIZE 200
16691673

16701674
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
1671-
#define X_MIN_POS -20
1675+
#define X_MIN_POS 0
16721676
#define Y_MIN_POS 0
16731677
#define Z_MIN_POS 0
1674-
#define X_MAX_POS X_BED_SIZE+20
1678+
#define X_MAX_POS X_BED_SIZE
16751679
#define Y_MAX_POS Y_BED_SIZE
16761680
#define Z_MAX_POS 200
16771681
//#define I_MIN_POS 0

Marlin/Configuration_adv.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -2454,11 +2454,11 @@
24542454
/**
24552455
* Extra G-code to run while executing tool-change commands. Can be used to use an additional
24562456
* stepper motor (e.g., I axis in Configuration.h) to drive the tool-changer.
2457-
* Requred by SWITCHING_EXTRUDER_MECHANICAL and SWITCHING_NOZZLE_MECHANICAL.
2457+
* Required by MECHANICAL_SWITCHING_EXTRUDER and MECHANICAL_SWITCHING_NOZZLE.
24582458
*/
24592459
#define EVENT_GCODE_TOOLCHANGE_T0 "G1 X-20" // Extra G-code to run while executing tool-change command T0
24602460
#define EVENT_GCODE_TOOLCHANGE_T1 "G1 X220" // Extra G-code to run while executing tool-change command T1
2461-
//#define EVENT_GCODE_TOOLCHANGE_ALWAYS_RUN // Always execute above G-code sequences. Use with caution!
2461+
//#define EVENT_GCODE_TOOLCHANGE_ALWAYS_RUN // Always execute above G-code sequences. Use with caution!
24622462

24632463
/**
24642464
* Tool Sensors detect when tools have been picked up or dropped.

Marlin/src/MarlinCore.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,7 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
665665
&& ELAPSED(ms, gcode.previous_move_ms + SEC_TO_MS(EXTRUDER_RUNOUT_SECONDS))
666666
&& !planner.has_blocks_queued()
667667
) {
668-
#if ENABLED(SWITCHING_EXTRUDER)
668+
#if HAS_SWITCHING_EXTRUDER
669669
bool oldstatus;
670670
switch (active_extruder) {
671671
default: oldstatus = stepper.AXIS_IS_ENABLED(E_AXIS, 0); stepper.ENABLE_EXTRUDER(0); break;
@@ -679,7 +679,7 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
679679
#endif // E_STEPPERS > 2
680680
#endif // E_STEPPERS > 1
681681
}
682-
#else // !SWITCHING_EXTRUDER
682+
#else // !HAS_SWITCHING_EXTRUDER
683683
bool oldstatus;
684684
switch (active_extruder) {
685685
default:
@@ -695,7 +695,7 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
695695
planner.set_e_position_mm(olde);
696696
planner.synchronize();
697697

698-
#if ENABLED(SWITCHING_EXTRUDER)
698+
#if HAS_SWITCHING_EXTRUDER
699699
switch (active_extruder) {
700700
default: if (oldstatus) stepper.ENABLE_EXTRUDER(0); else stepper.DISABLE_EXTRUDER(0); break;
701701
#if E_STEPPERS > 1
@@ -705,12 +705,12 @@ inline void manage_inactivity(const bool no_stepper_sleep=false) {
705705
#endif // E_STEPPERS > 2
706706
#endif // E_STEPPERS > 1
707707
}
708-
#else // !SWITCHING_EXTRUDER
708+
#else // !HAS_SWITCHING_EXTRUDER
709709
switch (active_extruder) {
710710
#define _CASE_RESTORE(N) case N: if (oldstatus) stepper.ENABLE_EXTRUDER(N); else stepper.DISABLE_EXTRUDER(N); break;
711711
REPEAT(E_STEPPERS, _CASE_RESTORE);
712712
}
713-
#endif // !SWITCHING_EXTRUDER
713+
#endif // !HAS_SWITCHING_EXTRUDER
714714

715715
gcode.reset_stepper_timeout(ms);
716716
}
@@ -1542,7 +1542,7 @@ void setup() {
15421542
SETUP_RUN(move_extruder_servo(0)); // Initialize extruder servo
15431543
#endif
15441544

1545-
#if ENABLED(SWITCHING_NOZZLE) && DISABLED(SWITCHING_NOZZLE_MECHANICAL)
1545+
#if ENABLED(SWITCHING_NOZZLE)
15461546
SETUP_LOG("SWITCHING_NOZZLE");
15471547
// Initialize nozzle servo(s)
15481548
#if SWITCHING_NOZZLE_TWO_SERVOS

Marlin/src/gcode/config/M281.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ void GcodeSuite::M281_report(const bool forReplay/*=true*/) {
5959
LOOP_L_N(i, NUM_SERVOS) {
6060
switch (i) {
6161
default: break;
62-
#if ENABLED(SWITCHING_EXTRUDER) && DISABLED(SWITCHING_EXTRUDER_MECHANICAL)
62+
#if ENABLED(SWITCHING_EXTRUDER)
6363
case SWITCHING_EXTRUDER_SERVO_NR:
6464
#if EXTRUDERS > 3
6565
case SWITCHING_EXTRUDER_E23_SERVO_NR:
6666
#endif
67-
#elif ENABLED(SWITCHING_NOZZLE) && DISABLED(SWITCHING_NOZZLE_MECHANICAL)
67+
#elif ENABLED(SWITCHING_NOZZLE)
6868
case SWITCHING_NOZZLE_SERVO_NR:
6969
#elif ENABLED(BLTOUCH) || (HAS_Z_SERVO_PROBE && defined(Z_SERVO_ANGLES))
7070
case Z_PROBE_SERVO_NR:

Marlin/src/inc/Conditionals_LCD.h

+15-10
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,9 @@
591591
#define EXTRUDERS 0
592592
#undef SINGLENOZZLE
593593
#undef SWITCHING_EXTRUDER
594+
#undef MECHANICAL_SWITCHING_EXTRUDER
594595
#undef SWITCHING_NOZZLE
596+
#undef MECHANICAL_SWITCHING_NOZZLE
595597
#undef MIXING_EXTRUDER
596598
#undef HOTEND_IDLE_TIMEOUT
597599
#undef DISABLE_E
@@ -601,12 +603,19 @@
601603
#define E_TERN_(N) TERN_(HAS_MULTI_EXTRUDER, N)
602604
#define E_TERN0(N) TERN0(HAS_MULTI_EXTRUDER, N)
603605

606+
#if EITHER(SWITCHING_EXTRUDER, MECHANICAL_SWITCHING_EXTRUDER)
607+
#define HAS_SWITCHING_EXTRUDER 1
608+
#endif
609+
#if EITHER(SWITCHING_NOZZLE, MECHANICAL_SWITCHING_NOZZLE)
610+
#define HAS_SWITCHING_NOZZLE 1
611+
#endif
612+
604613
#if ENABLED(E_DUAL_STEPPER_DRIVERS) // E0/E1 steppers act in tandem as E0
605614

606615
#define E_STEPPERS 2
607616
#define E_MANUAL 1
608617

609-
#elif ENABLED(SWITCHING_EXTRUDER) // One stepper for every two EXTRUDERS
618+
#elif HAS_SWITCHING_EXTRUDER // One stepper for every two EXTRUDERS
610619

611620
#if EXTRUDERS > 4
612621
#define E_STEPPERS 3
@@ -615,7 +624,7 @@
615624
#else
616625
#define E_STEPPERS 1
617626
#endif
618-
#if DISABLED(SWITCHING_NOZZLE)
627+
#if !HAS_SWITCHING_NOZZLE
619628
#define HOTENDS E_STEPPERS
620629
#endif
621630

@@ -640,7 +649,7 @@
640649
#endif
641650

642651
// No inactive extruders with SWITCHING_NOZZLE or Průša MMU1
643-
#if ENABLED(SWITCHING_NOZZLE) || HAS_PRUSA_MMU1
652+
#if HAS_SWITCHING_NOZZLE || HAS_PRUSA_MMU1
644653
#undef DISABLE_INACTIVE_EXTRUDER
645654
#endif
646655

@@ -1005,10 +1014,8 @@
10051014
#endif
10061015

10071016
// Switching extruder has its own servo?
1008-
#if ENABLED(SWITCHING_EXTRUDER) && (DISABLED(SWITCHING_NOZZLE) || SWITCHING_EXTRUDER_SERVO_NR != SWITCHING_NOZZLE_SERVO_NR)
1009-
#if DISABLED(SWITCHING_EXTRUDER_MECHANICAL)
1010-
#define DO_SWITCH_EXTRUDER 1
1011-
#endif
1017+
#if ENABLED(SWITCHING_EXTRUDER) && !(HAS_SWITCHING_NOZZLE && SWITCHING_EXTRUDER_SERVO_NR == SWITCHING_NOZZLE_SERVO_NR)
1018+
#define DO_SWITCH_EXTRUDER 1
10121019
#endif
10131020

10141021
/**
@@ -1041,9 +1048,7 @@
10411048
#ifdef Z_PROBE_SERVO_NR
10421049
#define HAS_Z_SERVO_PROBE 1
10431050
#endif
1044-
#if HAS_Z_SERVO_PROBE \
1045-
|| (ENABLED(SWITCHING_EXTRUDER) && DISABLED(SWITCHING_EXTRUDER_MECHANICAL)) \
1046-
|| (ENABLED(SWITCHING_NOZZLE) && DISABLED(SWITCHING_NOZZLE_MECHANICAL))
1051+
#if ANY(HAS_Z_SERVO_PROBE, SWITCHING_EXTRUDER, SWITCHING_NOZZLE)
10471052
#define HAS_SERVO_ANGLES 1
10481053
#endif
10491054
#if !HAS_SERVO_ANGLES

Marlin/src/inc/Conditionals_adv.h

+20-24
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,26 @@
3030
#define AXIS_RELATIVE_MODES {}
3131
#endif
3232

33-
#ifdef SWITCHING_NOZZLE_E1_SERVO_NR
34-
#if DISABLED(SWITCHING_NOZZLE_MECHANICAL)
35-
#define SWITCHING_NOZZLE_TWO_SERVOS 1
36-
#endif
33+
#if defined(SWITCHING_NOZZLE_E1_SERVO_NR) && DISABLED(MECHANICAL_SWITCHING_NOZZLE)
34+
#define SWITCHING_NOZZLE_TWO_SERVOS 1
3735
#endif
3836

3937
// Determine NUM_SERVOS if none was supplied
4038
#ifndef NUM_SERVOS
4139
#define NUM_SERVOS 0
42-
#if ANY(HAS_Z_SERVO_PROBE, CHAMBER_VENT, SWITCHING_TOOLHEAD, SPINDLE_SERVO)
43-
#if NUM_SERVOS <= Z_PROBE_SERVO_NR
44-
#undef NUM_SERVOS
45-
#define NUM_SERVOS (Z_PROBE_SERVO_NR + 1)
46-
#endif
47-
#if NUM_SERVOS <= CHAMBER_VENT_SERVO_NR
48-
#undef NUM_SERVOS
49-
#define NUM_SERVOS (CHAMBER_VENT_SERVO_NR + 1)
50-
#endif
51-
#if NUM_SERVOS <= SWITCHING_TOOLHEAD_SERVO_NR
52-
#undef NUM_SERVOS
53-
#define NUM_SERVOS (SWITCHING_TOOLHEAD_SERVO_NR + 1)
54-
#endif
55-
#if NUM_SERVOS <= SPINDLE_SERVO_NR
56-
#undef NUM_SERVOS
57-
#define NUM_SERVOS (SPINDLE_SERVO_NR + 1)
58-
#endif
40+
#if HAS_Z_SERVO_PROBE && NUM_SERVOS <= Z_PROBE_SERVO_NR
41+
#undef NUM_SERVOS
42+
#define NUM_SERVOS (Z_PROBE_SERVO_NR + 1)
5943
#endif
60-
#if ENABLED(SWITCHING_NOZZLE) && DISABLED(SWITCHING_NOZZLE_MECHANICAL)
44+
#if ENABLED(CHAMBER_VENT) && NUM_SERVOS <= CHAMBER_VENT_SERVO_NR
45+
#undef NUM_SERVOS
46+
#define NUM_SERVOS (CHAMBER_VENT_SERVO_NR + 1)
47+
#endif
48+
#if ENABLED(SWITCHING_TOOLHEAD) && NUM_SERVOS <= SWITCHING_TOOLHEAD_SERVO_NR
49+
#undef NUM_SERVOS
50+
#define NUM_SERVOS (SWITCHING_TOOLHEAD_SERVO_NR + 1)
51+
#endif
52+
#if ENABLED(SWITCHING_NOZZLE)
6153
#if NUM_SERVOS <= SWITCHING_NOZZLE_SERVO_NR
6254
#undef NUM_SERVOS
6355
#define NUM_SERVOS (SWITCHING_NOZZLE_SERVO_NR + 1)
@@ -67,8 +59,8 @@
6759
#define NUM_SERVOS (SWITCHING_NOZZLE_E1_SERVO_NR + 1)
6860
#endif
6961
#endif
70-
#if ENABLED(SWITCHING_EXTRUDER) && DISABLED(SWITCHING_EXTRUDER_MECHANICAL)
71-
#if NUM_SERVOS <= SWITCHING_EXTRUDER_SERVO_NR
62+
#if ENABLED(SWITCHING_EXTRUDER)
63+
#if NUM_SERVOS <= SWITCHING_EXTRUDER_SERVO_NR
7264
#undef NUM_SERVOS
7365
#define NUM_SERVOS (SWITCHING_EXTRUDER_SERVO_NR + 1)
7466
#endif
@@ -77,6 +69,10 @@
7769
#define NUM_SERVOS (SWITCHING_EXTRUDER_E23_SERVO_NR + 1)
7870
#endif
7971
#endif
72+
#if ENABLED(SPINDLE_SERVO) && NUM_SERVOS <= SPINDLE_SERVO_NR
73+
#undef NUM_SERVOS
74+
#define NUM_SERVOS (SPINDLE_SERVO_NR + 1)
75+
#endif
8076
#endif
8177

8278
// Convenience override for a BLTouch alone

0 commit comments

Comments
 (0)