Config-override.g ignored on startup?
-
I am setting up a new Duet Ethernet and I was doing the initial tuning of my heaters with M303. This worked just fine and M307 H1 reported new PID parameters, which I then saved with M500. This created my config-override.g file for the first time (there was none present beforehand, don't know if that's important). However after resetting the Duet, I find that my new PID parameters are back to default values?
Looking in the System Editor panel of the Settings in DWC, I can see my config-override.g, and it contains the saved PID parameters. If I copy the M307 parameters from the config-override.g back to my config.g, they are still active after a reset (as expected). It is only while they are into config-override.g that they do not work.
Presumably this is not normal? I am running Firmware 1.18.1. My config-override.g is at the bottom.
Here is a log from DWC showing the problem (remember that the logs are reversed and are read bottom to top!):
8:20:51 PM M307 H1 Heater 1 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, mode: PID Computed PID parameters for setpoint change: P13.4, I0.095, D51.4 Computed PID parameters for load change: P13.4, I0.949, D51.4 8:20:38 PM Connection established! 8:18:30 PM M500 8:17:15 PM M307 H1 Heater 1 model: gain 378.8, time constant 217.5, dead time 5.5, max PWM 1.00, mode: PID Computed PID parameters for setpoint change: P18.6, I0.086, D71.7 Computed PID parameters for load change: P18.6, I1.185, D71.7 8:17:10 PM M307 8:17:03 PM Auto tune heater 1 completed in 374 sec Use M307 H1 to see the result, or M500 to save the result in config-override.g 8:13:43 PM Auto tune phase 3, peak temperature was 243.0 8:13:35 PM Auto tune phase 2, heater off 8:10:55 PM Auto tune phase 1, heater on 8:10:49 PM M303 H1 S240 Auto tuning heater 1 using target temperature 240.0C and PWM 1.00 - do not leave printer unattended 8:05:24 PM Connection established!
Contents of config-override.g:
; This is a system-generated file - do not edit ; Heater model parameters M307 H0 A90.0 C700.0 D10.0 S1.00 B1 M307 H1 A378.8 C217.5 D5.5 S1.00 B0 M307 H2 A378.8 C217.5 D5.5 S1.00 B0 M307 H4 A340.0 C140.0 D5.5 S1.00 B0 M307 H5 A340.0 C140.0 D5.5 S1.00 B0 M307 H6 A340.0 C140.0 D5.5 S1.00 B0 M307 H7 A340.0 C140.0 D5.5 S1.00 B0 ; Z probe parameters G31 T1 P25 X-9.0 Y-50.0 Z1.20 G31 T3 P500 X0.0 Y0.0 Z0.70 G31 T4 P500 X0.0 Y0.0 Z0.00
-
To process config-override,.g at startup, you need a M501 command at the very end of config.g; or if you have a T0 command at the end of config,g then put it, right before the T0 line.
-
Indeed, adding M501 in config.g was enough to fix this. Thanks!
I am surprised this is not included in the default configuration, because it means M500 will never work unless you also have M501 in your config.
Cheers,
Ben. -
….....................I am surprised this is not included in the default configuration, because it means M500 will never work unless you also have M501 in your config.
Cheers,
Ben.On the other hand, those of use that prefer not to use a config-overide file would be pretty miffed if the default configuration did have M501 in it.
-
On the other hand, those of use that prefer not to use a config-overide file would be pretty miffed if the default configuration did have M501 in it.
…but if you don't use a config-override.g, then you would also not have used M500 to create it. I would have at least expected the default config file to have M501 with a comment that says "comment this out if you don't want to use config-override.g", as it does for many other things.
I am a recent convert from Marlin and Smoothie where those features work out of the box, I am slowly getting used to the way RRF works where everything is explicit. This is more complicated to configure initially but far more powerful, it just takes some getting used to.
Cheers,
Ben. -
If you created your config.g file using configtool, you will have selected whether or not config-override.g is processed.