diff options
author | David Crocker <dcrocker@eschertech.com> | 2018-11-18 17:22:11 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2018-11-18 17:22:11 +0300 |
commit | 8517a025917ef5823de26dee39f0065a0059f761 (patch) | |
tree | ee8ef795321936d2598792dedef0b7f39fe9d166 | |
parent | b301b0f51f944707e4e5b731005139aea0380e15 (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.txt | 39 | ||||
-rw-r--r-- | src/GCodes/GCodes.cpp | 2 | ||||
-rw-r--r-- | src/GCodes/GCodes3.cpp | 8 | ||||
-rw-r--r-- | src/Movement/BedProbing/RandomProbePointSet.cpp | 4 | ||||
-rw-r--r-- | src/Version.h | 2 |
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" |