What's the difference...
-
@Nightowl999 Here is another use case where one might want to put macros in a .sys folder rather than in the macros folder. It's a bit complicated but then I have a rather complicated printer .
Essentially, I have multiple hot end configurations that I swap between (6 input mixing, 6 input multi-material, single input and dual input etc). I use M505 to change configurations which changes the path for .sys. Effectively, this gives me multiple .sys folders. I also have macros called "pre-print" and "post-print". These take care of everything that is needed to happen immediately before a print commences (i.e heat the bed, heat the hot end heater(s), home all, purge and wipe nozzle etc etc). So I simply turn on the printer, change the configuration path if necessary, select a file, hit print and come back a few hours later to retrieve the part. My slicer has just a single command in the start and end gcode sections which are M98 P"PrePrint.g" and M98 P"PostPrint" respectively.
Note that there is no path in that statement because the pre and post print macros reside in those sub folders of .sys not in the .macros folder. The reason is that "pre-print" and "post-print" do different things depending on which hot end I have the configuration set to (e.g. purging 6 tools would have undesirable consequences if only one tool is configured). So I have multiple copies of "pre-print" and "post-print" which have the same file names but exist in different locations and which do different things. Hence I never have to change the line in my slicer start gcode - it will always be M98 P "PrePrint.g" but it will point to a different file depending on the path set by M505.
If I put the pre and post print files in the macros folder, these would be common to all configurations. So I would need to have multiple files with different names (i.e. PrePrint6InputMixing, PrePrintSingleInput etc) and I would have to constantly edit the slicer start and end gcode to call the correct macro.
In summary, anything in ".sys" is common to a particular configuration but anything in "macros" is common across multiple configurations. In practice the vast majority of users will only have a single configuration so will never need to bother about it.
-
@deckingman said in What's the difference...:
In summary, anything in ".sys" is common to a particular configuration but anything in "macros" is common across multiple configurations.
That's a good way to put it!
-
@deckingman said in What's the difference...:
In summary, anything in ".sys" is common to a particular configuration but anything in "macros" is common across multiple configurations. In practice the vast majority of users will only have a single configuration so will never need to bother about it.
with the proviso that you are using M505 so switch the /sys path.
But yes this sort of flexibility is what RRF is designed to support.
-
@deckingman said in What's the difference...:
In summary, anything in ".sys" is common to a particular configuration but anything in "macros" is common across multiple configurations.
Well the exception proves the rule, as they say. I have Macros that are unique to a given printer.
For example, I have one printer with a mountable Z probe, so I have Macros for Mount Probe and Unmount Probe.
Now generally I don't need to use them but sometimes things don't go quite the way I planned and I use them to put things back in "sync".
Frederick
-
@fcwilt FYI, there is no need to have the numbers in the displayed name if you want to manually enforce an order. if you put the number followed by an underscore, the numbers will be omitted in the display, but used for ordering. See here: https://docs.duet3d.com/User_manual/Tuning/Macros_tasks#naming-and-ordering-macros
-
@bot said in What's the difference...:
@fcwilt FYI, there is no need to have the numbers in the displayed name if you want to manually enforce an order. if you put the number followed by an underscore, the numbers will be omitted in the display, but used for ordering. See here: https://docs.duet3d.com/User_manual/Tuning/Macros_tasks#naming-and-ordering-macros
Thanks.
I learn something new everyday.
Frederick
-
@fcwilt said in What's the difference...:
@deckingman said in What's the difference...:
In summary, anything in ".sys" is common to a particular configuration but anything in "macros" is common across multiple configurations.
Well the exception proves the rule, as they say. I have Macros that are unique to a given printer.
For example, I have one printer with a mountable Z probe, so I have Macros for Mount Probe and Unmount Probe.
Now generally I don't need to use them but sometimes things don't go quite the way I planned and I use them to put things back in "sync".
Frederick
I don't wish to "nit-pick" but you were selective in what you chose to quote. The second part of what I said in summary was........
" In practice the vast majority of users will only have a single configuration so will never need to bother about it".
..........
So because your macros are unique to a given printer, your "exception" is not valid because you only have a single configuration on that printer. Therefore, you only have single macro rather than multiple macros with the same name but which do different things depending on the machine configuration. -
@deckingman said in What's the difference...:
So because your macros are unique to a given printer, your "exception" is not valid because you only have a single configuration on that printer. Therefore, you only have single macro rather than multiple macros with the same name but which do different things depending on the machine configuration.
Then I don't understand what you mean by but anything in "macros" is common across multiple configurations..
I have a few macros that appear on certain machines but not others.
They are in macros, they qualify as anything but all machines do not have them in common - so I am just confused.
Frederick
-
@fcwilt said in What's the difference...:
@deckingman said in What's the difference...:
So because your macros are unique to a given printer, your "exception" is not valid because you only have a single configuration on that printer. Therefore, you only have single macro rather than multiple macros with the same name but which do different things depending on the machine configuration.
Then I don't understand what you mean by but anything in "macros" is common across multiple configurations..
I have a few macros that appear on certain machines but not others.
They are in macros, they qualify as anything but all machines do not have them in common - so I am just confused.
Frederick
You are confusing machines with configurations. A machine is a machine. A configuration is a configuration for a particular machine. So of course anything which exists in a macro folder (or a sys folder) can only be pertinent to the one machine on which that macros folder exists (unless you managed to hook everything up to a central NAS or some such but I don't think it's possible to specify a macro path to a network location).
BUT some machines (like mine) may have different configurations for the same machine - as I detailed in my previous post - I suggest you read it again. This is the usage case where macros which reside in the macros folder will be common across every configuration (for that machine) while macros which reside in the sys folder will only be pertinent to a single configuration for that machine.
-
@deckingman said in What's the difference...:
You are confusing machines with configurations.
Thanks for the clarification.
Frederick