-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SINGLENOZZLE: EXTRUDERS versus HOTENDS #3980
Comments
@MoonshineSG What about the recent changes is getting in your way? As long as If you're able to rebase your custom Marlin onto |
With the changes I made after you posted the initial SINGLENOZZLE codes, I leave the SINGLENOZZLE enabled and using M890 N(1|2) i change the nozzle X offsets 9,9 or 18 (in my case) and add a single bool variable
With the new changes I see alot of checks |
Well of course that code was totally incomplete. So, the main difference that
It should! From that commit I can perhaps figure out how to adapt |
Ok, so… How are your steppers and extruders related? Or, what are the two setups that you're switching between, exactly? With With multiple extruders ( So what you need is a new feature, essentially, that allows you to switch your particular setup. It can mimic |
There's nothing really special about my setup. Imagine a dual extruder prusa with e3d chimera hotend. When I want to print dual colours I take out the heat breakers & 2 heater blocks and replace them with the 2 in 1 out E3D cyclops heater block. That has 2 extruders, 1 heater, 1 thermistor and one nozzle Currently when I use cyclops I add an additional thermistor to the empty slot so Marlin doesn't throw a thermal error. unless you have 2 separate printers, I am very sure this is common setup M890 allow to change the offset between |
So the two configurations you need to be able to swap:
Are you using the same set of 2 steppers, or 4 steppers total? I'm not sure that we can (or want to) create a general feature to support changing setups in this manner (because then we need to support many other kinds of setups). But if you were able to do it with the incomplete |
Using the same set of 2 steppers (left-right). Basically I just change the heater block (with thermistors). Ah... so I take latest marlin with the new ("complicated") that might work... what features from the complete SINGLENOZZLE would I be missing ? |
I'll see if I can illustrate what I mean, using your branch, reworking it so it doesn't collide with
Well the idea of |
It depends on how much of For your customization, you don't want the "feature" of Basically, if you do a global search on |
I did that... thats why I called it "complicated" :D But I guess I can give it another try. For now I will go with the renamed simple version (probably find a better name than I'll shout for help if need be... |
Sounds good. I will be working in parallel on this also, because it intrigues me to see what is required. |
Integrating your changes into RCBugFix… https://github.com/thinkyhead/Marlin/tree/rc_singlenozzle_M890 |
:D You're fast. I was only half way there... I'll port the changes to my repo and run some tests. |
I've just cleaned it up a bit. I will probably leave it where it's at for now… |
No worries, I can take over from here. The idea of having a separate setting for this case was what saved me. I don't need to care about extruder/hotend code changes.... |
I cleaned up my code, added some extra checks and seams like everything is ok. I managed to do an update to the latest RCBugFix version without conflicts, so that's good. (I managed to mess my github and now by default it compares with RC instead of RCBugFix... No idea how to revert that... grrrr..... ) |
That's how it has been for a long while. In fact, one of the main reasons I made the |
I am pretty sure previously it was reporting "This branch is X commits ahead, Y commits behind MarlinFirmware:RCBugFix". |
When? Where? How? Why? The default branch is |
@MoonshineSG Can we close this issue ? |
yes. it's all good. Thanks. |
@thinkyhead I was away for a while and now I looked at the changes and noticed "SWITCHING_EXTRUDER" and "MIXING_EXTRUDER" on top of "SINGLENOZZLE"... Would this conflict or replace the functionality of my implementation of "SWAPPABLE_EXTRUDER" ? |
The new options try to compartmentalize their behavior, so they shouldn't get too much in the way. The main changes they apply are in the
This block in /**
* 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) // One hotend, multi-extruder
#define HOTENDS 1
#define E_STEPPERS EXTRUDERS
#define E_MANUAL EXTRUDERS
#define TOOL_E_INDEX current_block->active_extruder
#undef TEMP_SENSOR_1_AS_REDUNDANT
#undef HOTEND_OFFSET_X
#undef HOTEND_OFFSET_Y
#elif ENABLED(SWITCHING_EXTRUDER) // One E stepper, unified E axis, two hotends
#define HOTENDS EXTRUDERS
#define E_STEPPERS 1
#define E_MANUAL 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 E_MANUAL 1
#define TOOL_E_INDEX 0
#else // One stepper, E axis, and hotend per tool
#define HOTENDS EXTRUDERS
#define E_STEPPERS EXTRUDERS
#define E_MANUAL EXTRUDERS
#define TOOL_E_INDEX current_block->active_extruder
#endif For your feature, just add |
I did have an attempt to introduce my own |
True, but this is actually not too hard to work around. You can add your own (yet another) macro, define it as |
@thinkyhead so we can close this one again?? |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
The pull request #3895 from thinkyhead/rc_singlenozzle_part_2 to modify extruders vs hotends to support single nozzle added a ton of changes. Previously I was able to create a custom M890 to allow me to change between Single to Dual nozzle as and when I needed. With the new changes, that is not possible (easily)
Am I the only one that would swap between single and dual nozzle often enough to be annoyed by the need to flash a new firmware every time ?
Can the switch between single/multiple be done using a M code ?
action:tool
allows Octoprint to display the current selection, and even change it when a GCODE file is loaded, base on the slicing profile usedThe text was updated successfully, but these errors were encountered: