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>2018-11-18 17:22:11 +0300
committerDavid Crocker <dcrocker@eschertech.com>2018-11-18 17:22:11 +0300
commit8517a025917ef5823de26dee39f0065a0059f761 (patch)
treeee8ef795321936d2598792dedef0b7f39fe9d166
parentb301b0f51f944707e4e5b731005139aea0380e15 (diff)
Final (I hope) fixes for release 2.02RC42.02RC4
Fixed G30 S-1 when initial tool Z offset is not zero Fixed M557 P parameter for circular beds with even numbers of points
-rw-r--r--src/BugList.txt39
-rw-r--r--src/GCodes/GCodes.cpp2
-rw-r--r--src/GCodes/GCodes3.cpp8
-rw-r--r--src/Movement/BedProbing/RandomProbePointSet.cpp4
-rw-r--r--src/Version.h2
5 files changed, 35 insertions, 20 deletions
diff --git a/src/BugList.txt b/src/BugList.txt
index a5cc32cb..faec99ce 100644
--- a/src/BugList.txt
+++ b/src/BugList.txt
@@ -94,6 +94,7 @@ Closed investigations:
- [problem gone away] chrishamm's watchdog issue, see his email of 2018-08-01
- [tested, pause/resume works as intended] Check M106 R1 parameter, see https://forum.duet3d.com/topic/6538/resuming-print-fan-after-pause
- [tested 2018-10-30, ok] Test extruder stall detection, https://forum.duet3d.com/topic/7300/issues-using-stall-detection-when-loading-filament
+- [no fault] Limits wrong when using workplace coordinates, also in thread https://forum.duet3d.com/topic/7523/g30-s-2-not-working-anymore
Open investigations:
- [check] if a homing command in an SD print file is aborted due to e.g. G1 Z5 in the homing file, error message should be written to both DWC and PanelDue
@@ -120,40 +121,46 @@ To be fixed in 2.02 release:
- [done, ok] Support conversion from numeric or boolean to string in variable substitution
- [done, ok] G30 H parameters don't work if deployprobe.g or retractprobe.g file present
- [done, ok] Execute residual babystepping immediately
-- [done, test] Warning message if trying to move motors on internal drivers but VIN too low or too high
-- [done, test] increase min fullsteps for motor open detection from 4 to 20
-- [done, test] I2C addresses can be specified in hex format e.g. "0x71" or "x71"
-- [done, test] M584 can now use dummy (high) driver numbers to assign an axis or extruder to no driver
-- [done, test] M122 to tell you if the drivers are enabled (power good), or disabled and waiting for the correct voltage
- [done] Special support for coast-to-end in RecalculateMove
- [done] Bring RADDS build up to date and use RTOS (not tested)
- [done, ok] Improved 'page not found' message
- [done, ok] Fix M600, it stops the machine
-- [done, test on Duet+DueX] Watchdog init
+- [done, ok] Watchdog init
- [possible fix implemented in 2.02RC4] 3 independent Z motors, https://forum.duet3d.com/topic/6974/problem-with-3-independent-z-axis-motors-and-endstops/26
-- [done, test DueX] Use a I2C mutex instead of a critical section lock
-- [done, test DueX + extra SX1509B] Rewrote i2C driver
-- [done, test] M557 P parameter not working, also not documented
-- [done, test] G30 S-2 tool offset is set in the wrong direction, https://forum.duet3d.com/topic/7523/g30-s-2-not-working-anymore
-- [done] After G30 S-2, update user coordinates to account for new tool offset
-- [no fault] Limits wrong when using workplace coordinates, also in thread https://forum.duet3d.com/topic/7523/g30-s-2-not-working-anymore
+- [done, ok] Use a I2C mutex instead of a critical section lock
+- [done, tested DueX + extra SX1509B] Rewrote i2C driver
- [done, ok] M918 to do dispay reset, https://forum.duet3d.com/topic/7316/firmware-2-02-release-candidate-3-now-available/67
- [done, ok] When simulating ELM-absolute on delta, it knows there are 26 layers but only counts to 13. ELM-Kossel only counts to 17.
- [done, ok] 12864 display buttons sometimes disappear when moving between them, https://forum.duet3d.com/topic/7641/duet-maestro-12864-lcd-button-display-glitches
- [done, ok] 12864 display: last byte of images didn't display correctly
- [done, ok] 12864 display: in button commands, "#0" should be substituted, not "menu"
-- [done, test] Don't start executing a G30 S-2 command if no tool is selected
- [done] http responses now use \r\n as the line ending, not \n
- [done] Lookahead errors were occasionally caused by rounding, https://forum.duet3d.com/topic/7644/lookahead-error-and-possibly-related-layer-shifting
- [done, ok] 12864 display item numbers 79, 179 and 279 were not implemented
- [done, ok] 12864 display corrected error message timeout, also error messages can be acknowledged by a button press
-- [rewritten i2C driver, test] DueX endstop not always updating, https://forum.duet3d.com/topic/7500/a-endstop-being-stuck-on/4
+- [done, seems ok] DueX endstop not always updating, https://forum.duet3d.com/topic/7500/a-endstop-being-stuck-on/4
- [done, ok] Use an interrupt to better track changes to the DueXn endstop input status
-- [done] M260 can now receive I2C bytes as well as send them
-- [done] Added 'deprecated' message when legacy 3-, 4- or 5-point bed compensation is used
+- [done, ok] M260 can now receive I2C bytes as well as send them
- [done, ok] Idle task is now included in task list
+- [done, ok] Added 'deprecated' message when legacy 3-, 4- or 5-point bed compensation is used
+- [done, ok] Warning message if trying to move motors on internal drivers but VIN too low or too high
+- [done, ok] increase min fullsteps for motor open detection from 4 to 20
+- [done, ok] I2C addresses can be specified in hex format e.g. "0x71" or "x71"
+- [done, ok] M584 can now use dummy (high) driver numbers to assign an axis or extruder to no driver
+- [done, ok] M122 to tell you if the drivers are enabled (power good), or disabled and waiting for the correct voltage
+- [done, partial fail] M557 P parameter not working, also not documented
+- [done, partial fail] G30 S-2 tool offset is set in the wrong direction, https://forum.duet3d.com/topic/7523/g30-s-2-not-working-anymore
+- [done, partial fail] After G30 S-2, update user coordinates to account for new tool offset
+- [done, ok] Don't start executing a G30 S-2 command if no tool is selected
+
+Failed tests:
+- [fixed, ok] G32 "Points must be in clockwise order starting near X=0 Y=0" => "starting near minimum X and Y"
+- [fixed, ok] G30 S-2 works OK when initial tool Z offset is 0 but not otherwise
+- [fixed, ok] M557 with even P parameter on circular bed does too few points
+- [bad connection on hot end] Crane Quad hot end reads about 60C at room temperature
Future:
+- Option for an endstop input to trigger an emergency pause
- After looking for G1 Z commands in gcode file analyser, check that there is extrusion after it
- M260 allow bytes to be specified in hex, more generally allow hex anywhere?
- Auto mount SD card when it is inserted
diff --git a/src/GCodes/GCodes.cpp b/src/GCodes/GCodes.cpp
index 834e0096..e6ef6b65 100644
--- a/src/GCodes/GCodes.cpp
+++ b/src/GCodes/GCodes.cpp
@@ -1367,7 +1367,7 @@ void GCodes::RunStateMachine(GCodeBuffer& gb, const StringRef& reply)
}
else
{
- tool->SetOffset(Z_AXIS, tool->GetOffset(Z_AXIS) - g30zHeightError, true);
+ tool->SetOffset(Z_AXIS, -g30zHeightError, true);
ToolOffsetInverseTransform(moveBuffer.coords, currentUserPosition); // update user coordinates to reflect the new tool offset
}
}
diff --git a/src/GCodes/GCodes3.cpp b/src/GCodes/GCodes3.cpp
index 5e8abd5e..bf5f8acd 100644
--- a/src/GCodes/GCodes3.cpp
+++ b/src/GCodes/GCodes3.cpp
@@ -358,6 +358,10 @@ GCodeResult GCodes::DefineGrid(GCodeBuffer& gb, const StringRef &reply)
if (seenP && numPoints[0] >= 2)
{
effectiveXRadius = radius - 0.1;
+ if (numPoints[1] % 2 == 0)
+ {
+ effectiveXRadius *= sqrtf(1.0 - 1.0/(float)((numPoints[1] - 1) * (numPoints[1] - 1)));
+ }
spacings[0] = (2 * effectiveXRadius)/(numPoints[0] - 1);
}
else
@@ -371,6 +375,10 @@ GCodeResult GCodes::DefineGrid(GCodeBuffer& gb, const StringRef &reply)
if (seenP && numPoints[1] >= 2)
{
effectiveYRadius = radius - 0.1;
+ if (numPoints[0] % 2 == 0)
+ {
+ effectiveYRadius *= sqrtf(1.0 - 1.0/(float)((numPoints[0] - 1) * (numPoints[0] - 1)));
+ }
spacings[1] = (2 * effectiveYRadius)/(numPoints[1] - 1);
}
else
diff --git a/src/Movement/BedProbing/RandomProbePointSet.cpp b/src/Movement/BedProbing/RandomProbePointSet.cpp
index 68edbd91..f1d99d6e 100644
--- a/src/Movement/BedProbing/RandomProbePointSet.cpp
+++ b/src/Movement/BedProbing/RandomProbePointSet.cpp
@@ -95,10 +95,10 @@ bool RandomProbePointSet::SetProbedBedEquation(size_t numPoints, const StringRef
{
if (!GoodProbePointOrdering(numPoints))
{
- reply.printf("Probe points P0 to P%u must be in clockwise order starting near X=0 Y=0", min<unsigned int>(numPoints, 4) - 1);
+ reply.printf("Probe points P0 to P%u must be in clockwise order starting near minimum X and Y", min<unsigned int>(numPoints, 4) - 1);
if (numPoints >= 5)
{
- reply.cat(" and P4 must be near the centre");
+ reply.cat(", and P4 must be near the centre");
}
return true;
}
diff --git a/src/Version.h b/src/Version.h
index afa2821d..cc1d7e99 100644
--- a/src/Version.h
+++ b/src/Version.h
@@ -22,7 +22,7 @@
#endif
#ifndef DATE
-# define DATE "2018-11-17b6"
+# define DATE "2018-11-18b5"
#endif
#define AUTHORS "reprappro, dc42, chrishamm, t3p3, dnewman, printm3d"