Marlin inprovement: Use all steppers for X,YZ

I asked for a feature request for marlin. The abilatity to set EXTRUDERS = 0 so we can use all steppers vor X,Y,Z movement. I made a working beta which is a pull request right now. I you like this feature, please react (positively) at the issue/pull request at GitHub.

I looked through it, no wonder I could not get that to work, jeez. Nice work! They are probably going to want a 2.0 version as well. Right now we seem to be stuck in twice the work limbo.

This is the link of the feature request: https://github.com/MarlinFirmware/Marlin/issues/8936

FYI, the workaround is to set the E0 pins to something bogus (I think Ryan chose 70). I can imagine a lot of push back on this one, but I sure would like it. I bet you there will be a lot of tools, like repetier that won’t work smoothly with zero Extruders.

I know about the workaround, but if it is standardly included, its mutch nicer. That’s why I ask you guys to support and react on the issue on GitHub. No developer of marlin is reading this forum.

Don’t get too upset. I don’t think it’s based on the number of users that thumbs up a PR. My approval isn’t going to mean much.

(((This is my personal opinion, and it’s not worth much, so please don’t get upset)))
I would like to be able to set the extruders to 0. But I don’t actually think it should. This forks the code in many many places, and each one of those is a change in the number of configurations. It is going to add a ton of work down the line to maintainers of the code, and for each new feature, the code will have to be developed, inspected, and tested in each branch. All this, so that “Optimized firmware for RepRap 3D printers” can support configurations with no extruders. Using it for CNC milling is great, because it’s a great tool. It’s especially nice because it leaves it easy to convert an MPCNC to a 3D printer. But this is a fraction of a fraction of users. I prefer just remapping the pins. It just seems like it’s not worth it to me. Feel free to push on it without my support. I’m not going to argue against it in github, but in the end, it will be thinkyhead’s decision. That’s my $0.02.

I just finished my MPCNC, and used all 5 stepper drivers and dual endstops using Marlin V2. The way I solved the E0 driver issue was to change the E0, E1 and E2 pins in the pins_RAMPS.h (pin configuration file). Changes shown below.

//Dummy out E0
#define E0_STEP_PIN 1
#define E0_DIR_PIN 1
#define E0_ENABLE_PIN 1
#define E0_CS_PIN 1
//Added the E1 and E2 for use as X2 and Y2
//Mapped E1->E0 pins and E2->E1 pins
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#define E1_CS_PIN 42

#define E2_STEP_PIN 36
#define E2_DIR_PIN 34
#define E2_ENABLE_PIN 30
#define E2_CS_PIN 44

I just finished my MPCNC, and used all 5 stepper drivers and dual endstops using Marlin V2. The way I solved the E0 driver issue was to change the E0, E1 and E2 pins in the pins_RAMPS.h (pin configuration file). Changes shown below.

//Dummy out E0
#define E0_STEP_PIN 1
#define E0_DIR_PIN 1
#define E0_ENABLE_PIN 1
#define E0_CS_PIN 1
//Added the E1 and E2 for use as X2 and Y2
//Mapped E1->E0 pins and E2->E1 pins
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#define E1_CS_PIN 42

#define E2_STEP_PIN 36
#define E2_DIR_PIN 34
#define E2_ENABLE_PIN 30
#define E2_CS_PIN 44

I know the quick and dirty solution. I have my board running with it, but this leaves useless menu item. If I can get my solution into the official build then those menu items wil be gone for everybody define extruders 0. I have the 1.1.x bugfix version ready and the 2.0.x bugfix wil be out soon.