Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2020-09-30 13:22:35 +0300
committerDavid Crocker <dcrocker@eschertech.com>2020-09-30 13:22:35 +0300
commit2e6f7d25cdcd0cfbcfd5e30d9d632ce56157d1e2 (patch)
tree2fae7beda86c5de7f02e0dc749ec99964c38c0e7 /src/Heating
parentcb8ff1a35e39cb546aab98e821d56f9fd1afb457 (diff)
Improved the instructions displayed when heater tuning completes
Diffstat (limited to 'src/Heating')
-rw-r--r--src/Heating/LocalHeater.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/Heating/LocalHeater.cpp b/src/Heating/LocalHeater.cpp
index 9994e108..aeefb930 100644
--- a/src/Heating/LocalHeater.cpp
+++ b/src/Heating/LocalHeater.cpp
@@ -539,7 +539,7 @@ void LocalHeater::GetAutoTuneStatus(const StringRef& reply) const noexcept
/* Notes on the auto tune algorithm
*
- * Most 3D printer firmwares use the Åström-Hägglund relay tuning method (sometimes called Ziegler-Nichols + relay).
+ * Most 3D printer firmwares use the �str�m-H�gglund relay tuning method (sometimes called Ziegler-Nichols + relay).
* This gives results of variable quality, but they seem to be generally satisfactory.
*
* We use Cohen-Coon tuning instead. This models the heating process as a first-order process (i.e. one that with constant heating
@@ -861,9 +861,19 @@ void LocalHeater::CalculateModel() noexcept
if (rslt == GCodeResult::ok || rslt == GCodeResult::warning)
{
reprap.GetPlatform().MessageF(LoggedGenericMessage,
- "Auto tune heater %u completed in %" PRIu32 " sec\n"
- "Use M307 H%u to see the result, or M500 to save the result in config-override.g\n",
- GetHeaterNumber(), (millis() - tuningBeginTime)/(uint32_t)SecondsToMillis, GetHeaterNumber());
+ "Auto tuning heater %u completed in %" PRIu32 " seconds. This heater needs the following M307 command:\n"
+ " M307 H%u A%.1f C%.1f D%.1f S%.2f V%.1f\n",
+ GetHeaterNumber(), (millis() - tuningBeginTime)/(uint32_t)SecondsToMillis,
+ GetHeaterNumber(), (double)GetModel().GetGain(), (double)GetModel().GetTimeConstant(), (double)GetModel().GetDeadTime(),
+ (double)GetModel().GetMaxPwm(), (double)GetModel().GetVoltage());
+ if (reprap.GetGCodes().SawM501InConfigFile())
+ {
+ reprap.GetPlatform().Message(GenericMessage, "Send M500 to save this command in config-override.g\n");
+ }
+ else
+ {
+ reprap.GetPlatform().MessageF(GenericMessage, "Edit the M307 %u command in config.g to match this.\n", GetHeaterNumber());
+ }
}
else
{