Load filaments executes custom config.ini
-
Hi. I have my filaments configured. I have set loading routines, and also in the custom config.ini file I set stand by and active temperatures and also a routine for heating the heated chamber to the particular temperature required for that filament.
I execute from the interface LOAD FILAMENT, it runs the load.g file perfectly. But at the end In seeng the chamber being heated up. I dont execute the custom config.ini in the load.g file, so why it is being executed?The files:
LOAD.G
M291 P"Please insert filament on main extruder" R"Loading ABS_PRO" S3 T10 ; Display message
G28 X0 Y0
M83
T0
M302 P1
M291 P"Please check filament is being feed..." R"Loading ABS_PRO" T15 ; Display new message
M913 E43 ;bajo corriente al 30
M302 P1 ; permito movimiento en frio del extrusor
G1 E-3 ; retraigo un poco por las dudas de que el extrusor ya este marcado como en stall
M400;
M915 E0 S4 ; activo stall detection en sensibilidad 5
G1 H4 E200 F1000 ; extruyo 1mts para dar tiempo suficiente al usario de ingresar el material
M400 ;
M913 E100 ; restablezco corriente al 100 para extrusor.
G10 S220
M116 P0
G1 X350 Y5 F2000
M400
G1 E20 F80
M400
G10 S210
G1 E50 F80
G1 E-2
M400
G10 S0
M302 P0
M291 P"Filament Loaded..." R"Finished" S1 T0; Display new message
M568 P0 S230 R130 A0config.g
M307 H0 S1
M141 S85
M116 C0
M307 H0 S0.85Board: duet3 with SBC config, firmware 3.4 stable
-
@tinchus M703 is needed to run the filament config.g
-
@stephen6309 Well, that is not happening: after the load.g is run, config.g runs, without being called by any M703.
-
@tinchus Checking on mine. It loads the current filament config.g since you loaded a filament and that the prior filament config.g may not be good for the current selected filament.
-
@stephen6309 Ok, I understand. The oint is: that is not what it is documented. custom config.g should be loaded using M703 command.
If this is what is happening: it is something that must be corrected on the docs OR it i a bug and should not be happening.
-
@tinchus said in Load filaments executes custom config.ini:
it is something that must be corrected on the docs OR it i a bug and should not be happening.
The docs say this:
If a filament is already loaded and you only want to change it, there is another option in the popover for this purpose. In principle DuetWebControl will select the clicked tool (unless already selected), run the unload macro of the currently loaded filament and then the load macro for the chosen other filament. If you want to make use of this mechanism, it is advised to add extra blocking prompts using M291 to the load and/or unload macros.
There's a difference between single gCodes and the user interface of DWC.
-
If you look at the console, when you select "load filament" or "change filament", it sends
M701 S"PLA" M703
orM702 M701 S"PLA" M703
So it sends all the necessary commands to complete the process in one line. This is logical.
It has always done so.
If you do not wish for the filament config.g to be applied from DWC then a work around could be to put code at the start to leave the macro unless it was called with a parameter.
Of course that means you have to use that parameter when you DO want to execute it.if !exists(param.A) M99 ;cancel out of macro if no parameter passed
DWC will likely still mark the filament as loaded and update filaments.csv accordingly
This is untested! -
@infiniteloop Sorry, dont understand your point. We are talking about the custom config.g file being excuted without any call from the M703, so what is your point? The info you psted talks about load and unload scripts, not the config.g file we are talking about
-
@tinchus when you click the 'Load Filament' button in Duet Web Control, DWC calls M703 as well.
-
@tinchus said in Load filaments executes custom config.ini:
The info you psted talks about load and unload scripts, not the config.g file we are talking about
Would you have studied my link from which I've got the citation, you would have seen that the DWC manual spells the calls it emits in detail. This includes the gCodes it sends when and why. I hoped that you could gain a better understanding of when and why your filament-specific config.g is called.
You are a perfect proof of my mantra: better read before you write
-
@infiniteloop I did read that page a lot of times. And it clearly states:
"In addition to the macros for loading and unloading a filament, you can also use the M703 gcode to load a custom filament specific config.g to modify settings pertinent to your chosen filament."
"YOU CAN ALSO USE.." it does not say the command is already neing used or will be executed, means it is optional. In wich part of the docs you read that? Because M703 is mentioned only twice and none of those mentions describes this behaviour.
-
@tinchus I think that section of the docs is a bit unclear - seems it is referring to if you sent the M701/M702 manually yourself rather than via the DWC interface buttons.
I think @OwenD 's answer explains what is actually going on and why the filament specific config is run.
@droftarts / @Phaedrux , can the DWC docs page be updated to be clearer on when DWC runs the filament specific config.
-
@tinchus True, from what you cite, the usage of M703 looks to be optional. At the bottom of the page, however, the DWC manual states that
the filament mechanism utilizes three GCodes:
M701 to load a filament
M702 to unload a filament
M703 to load a custom filament config.gReading this, I expected to see exactly the commands @OwenD kindly grabbed from the console (that is: M907 included in "load" and "change"). That’s why I interpret the sentence you cite as a hint that M703 could also be used stand-alone. I think @engikeneer has addressed this ambiguity by calling for proper action.