Unsolved Increase maximum number of axii to 30?
-
@dc42 is there a gcode to allow the use of the lower case characters or is it still prefacing with the single quote?
-
@T3P3Tony it's still prefixing with single quote for now.
-
@dc42
That's wonderful to hear David!
I really appreciate your support in accommodating this feature so promptly.
I understand the change is still experimental and performance might be impacted.I still have some work to do with the slicer and hardware, but will report back when I have some meaningful results and can comment on any performance impact.
Thank you! You guys rock!
-
@Thorpydo said in Increase maximum number of axii to 30?:
will report back when I have some meaningful results
Video, or it didn't happen
We want to see this beast running. I have no idea what 29 axes will do simultaneously... -
@o_lampe Hah! You and me both!
@dc42 I'd like to make sure I understand the appropriate letters to be used.
My understanding is not adding up:
all lower case letters are available; 26 letters.
X,Y,Z,U,V,W,A,B,C,D uppercase letters are available; 10 letters.
It seems this nomenclature allows for 36 letters which doesn't jive with your comments of 30/32.I would like to use:
For extruders:
A,B,C,D
For motion:
X,Y,Z,U,V,W,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,tWill this letter assignment be acceptable?
-
@Thorpydo You don't have to assign multiple letters to extruders. They are just E0, E1, E2 a.s.o.
The letter "E" is the only drive letter, that allows different config values for steps/mm, motor current, acceleration a.s.o.Regarding the max axes number of 32: my best guess is that it's related to the bus width of the PWM registers or such.
Using more than 32 would mean twice the workload and memory-use I guess. -
@o_lampe Ahh, gotcha. Okay.
My modified understanding:
For extruders:
E1, E2, E3, E4
For motion:
X,Y,Z,U,V,W,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,t
(motion could use other lower case letters or A,B,C,D, but total number of axes cannot exceed3230 based on some internal limit)Thanks for clarifying!
-
@Thorpydo said in Increase maximum number of axii to 30?:
E1, E2, E3, E4
The internal extruder count starts with E0. Most slicers do the same.
@dc42 When a tool has more than one extruder, the only way of controlling them is via mixing ratio, right now?
Is there any change planned?
New nomenclatur could beG1 Xn Yn E0.3:0.0:-0.5:0.8 ; first extruder moves 0.3mm second does nothing, third retracts 0.5mm a.s.o
-
@o_lampe said in Increase maximum number of axii to 30?:
............... @dc42 When a tool has more than one extruder, the only way of controlling them is via mixing ratio, right now?
Is there any change planned?
New nomenclatur could beG1 Xn Yn E0.3:0.0:-0.5:0.8 ; first extruder moves 0.3mm second does nothing, third retracts 0.5mm a.s.o
I'd need to check but I'm 99% sure that the mixing ratio will only be applied if a G1 move contains a single En command. So I'm almost certain that your example of moving multiple extruders does already work.
-
@deckingman That would be cool, but I never stumbled across an FDM-printer with more than one nozzle per tool.
Maybe a burger-bot? To apply ketchup, mostard and special sauce in one move? -
@o_lampe said in Increase maximum number of axii to 30?:
@deckingman That would be cool, but I never stumbled across an FDM-printer with more than one nozzle per tool.
Maybe a burger-bot? To apply ketchup, mostard and special sauce in one move?Not sure I understand. I thought we were talking about tools with multiple extruders but a single nozzle. With such a set up (i.e. multiple inputs but a single output), then a G1 En command will move each extruder by whatever the mixing ratio is set to in order to extrude "n" mm of filament in total. However if the G1 command is in the format En1:En2:En3 then each extruder will move by those n1, n2 and n3 values. (At least I'm 99% sure it does).
-
@lampe
Okay, thanks, I now understand nomenclature should be E0,E1,E2,E3.What is the definition for a tool, as defined by the firmware?
Is the tool considered the XYZ motion system or is the tool considered something that can be attached or interchanged to the motion system?@deckingman
It's great to hear that there shouldn't be further issues here; that moving multiple extruders already does work.For this application, I don't want any mixing ratio applied.
I believe I want 4 tools, each with its own nozzle."... if the G1 command is in the format En1:En2:En3 then each extruder will move by those n1, n2 and n3 values ..."
Great, this is the desired output.
As I understand, Gcode output should be G1 Xn Yn En0:En1:En2:En3 -
@Thorpydo If you want to have all extruders work at the same time, you have to define one tool with 4 heaters, 4 drivers for extruders, all axis' drivers, all hotend- and partcooling-fans.
But there is of course no slicer right now able to control all the axes at once. You'd have to write your own script for that. -
@deckingman said in Increase maximum number of axii to 30?:
I thought we were talking about tools with multiple extruders but a single nozzle.
Until now, we don't know what the thread starter is planning to do. But I doubt, he needs a motion system with 25? axes to move only one nozzle?
-
@o_lampe
I might not have made it clear before:
All motion systems and all extruders moving at the same time. Multiple extruders, moving independently, extruding at the same time. Four heaters, four extruders, four filaments being driven, etc. (all at the same time)
I understand there is currently no slicer available to be able to control what I am asking.
Writing the slicer is part of my scope of work. I am writing the slicer and that's why I need to understand explicitly the proper way to communicate with RRF and command with Gcode, all four extruders, and all motion axes, simultaneously.It's still not clear to me if format should be:
G1 Xn Yn En0:En1:En2:En3
Or:
G1 Xn Yn En0:n1:n2:n3
(where n0, n1, n2, n3 represent feeding material in mm/s)Based on your input, it sounds like the later?
G1 Xn Yn En0:n1:n2:n3 -
@Thorpydo See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#examples
Example there is:G1 E10:10:5:0:0 F300 ; with a tool that has 5 extruder drives, extrude 10mm on drive 0, 10mm on drive 1, 5mm on drive 2 and 0mm on drive 3 and 4.
Ian
-
@droftarts
Perfect, that jives with above. Thank you! -
@Thorpydo I'm glad this concept already exists. I'm not at all an expert in the latest gcode implementations...
Just for clarity, the line should look like:G1 Xn Yn Un Vn Wn {...etc. all axes receive their data at once followed by} En0:n1:n2:n3
Let's hope the line length doesn't exceed the planner buffer,
but @dc42 will surely find a way to help out.
//edit there's M595 command whichs allows setting the look ahead buffer for both queues. I thought, it was only for the second queue -
@o_lampe
Thanks!
I might have to clarify how to use the M595/look ahead buffer when I'm ready for that.Currently, the slicer outputs extrusion in absolute mode but I would like to change to relative extrusion mode. It looks like that will be no problem and I can use M83 in start Gcode to do so.
Here's a single line gcode output; I believe this matches what has been discussed and aligned on in this thread:
G1 X556.90665 Y559.4645 Z559.4645 U556.90665 V564.15183 W564.15183 a556.90665 b559.4645 c559.4645 d556.90665 e564.15183 f564.15183 g556.90665 h559.4645 i559.4645 j556.90665 k564.15183 l564.15183 m111.49454 n113.41718 o113.41718 p111.49454 q111.36289 r111.36289 t-14886 E0:2712.35717:1611.15904:25136.476 F250
Thank you all for guiding me here!
-
@Thorpydo The lower letters will still need a single quote to mark them as axis.
I'm also not sure if the motion planner can handle coordinates with 5 digits behind the colon? Maybe it ignores the least significant digits?