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
path: root/Maths
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2017-07-11 00:03:29 +0300
committerDavid Crocker <dcrocker@eschertech.com>2017-07-11 00:03:44 +0300
commit68b457a29ae43fac1ef3f36b92177528664506e7 (patch)
tree040532f8c80bb886b6a023585bd634dec737ffe3 /Maths
parentea0ea134efa034a3b8dd1d882619d1d4a8714f39 (diff)
Version 1.19beta9
New and changed features: - Experimental resume-after-power-failure support on Duet WiFi/Ethernet. See https://duet3d.com/wiki/Setting_up_to_resume_a_print_after_a_power_failure. - Partly implemented bed levelling using multiple independent Z motors (M671). See https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors. - If the G10 command is used to set the standby temperature of a tool that is on standby, the live temperature is adjusted accordingly - SCARA parameters configured using M669 now include X and Y bed origin offsets - Baby stepping is no longer cleared when you home the printer or probe the bed - The Y axis can now be mapped in a similar way to the X axis - When the WiFi module is in access point mode, M122 displays the number of connected clients (needs DuetWiFiServer 1.19beta9) - The M305 command now uses the S parameter to set the heater name instead of the H parameter - The meaning of the first M669 crosstalk parameter for a SCARA printer has changed. A zero value now means that the proximal motor does not affect the proximal-to-distal arm angle. - The CoreXY kinematics calculations have been changed to conform to the way they are defined in other firmwares and at CoreXY.com. See the important upgrade notes. The CoreXZ and CoreXYU kinematics have been changed similarly. - The maximum allowed target temperature for auto tuning now depends on the configured maximum temperature for that heater - The heater gain that provokes a warning when setting heater model parameters with M307 or after auto tuning now depends on the configured maximum temperature for that heater Bug fixes: - G2 and G3 arc movement commands didn't work when the X axis was mapped - On an IDEX machine there was unwanted movement of the new tool after a tool change occurred - Duet WiFiServer 1.19-beta9: fixed a bug that sometimes caused WiFi connection failures - On the Duet WiFi, if the own access point parameters were configurds but the list of remembered host access points was empty, the own access point name appeared in the remembered list displayed by M587 - On a SCARA mnachine, sending G92 X0 Y0 caused the Duet to return position data containing NaNs to Duet Web Control, which caused it to disconnect Upgrade notes: - **Important!** On a CoreXY machine, you need to either swap the X and Y motor connections, or set the Y axis factor to -1 in the M667 command. Similarly for CoreXZ and CoreXYU machines.
Diffstat (limited to 'Maths')
-rw-r--r--Maths/BedLevelling-2-point.wxm57
-rw-r--r--Maths/BedLevelling-3-point.wxm57
-rw-r--r--Maths/BedLevelling-4-point.wxm71
3 files changed, 185 insertions, 0 deletions
diff --git a/Maths/BedLevelling-2-point.wxm b/Maths/BedLevelling-2-point.wxm
new file mode 100644
index 00000000..27876d05
--- /dev/null
+++ b/Maths/BedLevelling-2-point.wxm
@@ -0,0 +1,57 @@
+/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
+/* [ Created with wxMaxima version 14.12.1 ] */
+
+/* [wxMaxima: input start ] */
+eq1:h=H+a*x+b*y;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq2:h0=H+a*x0+b*y0;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq3:h1=H+a*x1+b*y1;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq4:h2=H+a*(x0+y1-y0)+b*(y0-(x1-x0));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq5:h2=h0;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq6:subst(eq5,eq4);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq7:solve([eq2,eq3,eq6],[a,b,H]);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq8:subst(eq7,eq1);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq9:dhbydh0=factor(diff(rhs(eq8),h0));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq10:dhbydh1=factor(diff(rhs(eq8),h1));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq11:expand((x1-x0)^2+(y1-y0)^2)=d^2;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq12:subst(eq11,eq9);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq13:subst(eq11,eq10);
+/* [wxMaxima: input end ] */
+
+/* Maxima can't load/batch files which end with a comment! */
+"Created with wxMaxima"$
diff --git a/Maths/BedLevelling-3-point.wxm b/Maths/BedLevelling-3-point.wxm
new file mode 100644
index 00000000..6ec01b62
--- /dev/null
+++ b/Maths/BedLevelling-3-point.wxm
@@ -0,0 +1,57 @@
+/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
+/* [ Created with wxMaxima version 14.12.1 ] */
+
+/* [wxMaxima: input start ] */
+eq1:h=H+a*x+b*y;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq2:h0=H+a*x0+b*y0;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq3:h1=H+a*x1+b*y1;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq4:h2=H+a*x2+b*y2;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq5:solve([eq2,eq3,eq4],[a,b,H]);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq6:subst(eq5,eq1);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq7:dhbydh0=factor(diff(rhs(eq6),h0));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq8:dhbydh1=factor(diff(rhs(eq6),h1));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq9:dhbydh2=factor(diff(rhs(eq6),h2));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq10:x1*y2-x0*y2-x2*y1+x0*y1+x2*y0-x1*y0=d;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq11:subst(eq10,eq7);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq12:subst(eq10,eq8);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq13:subst(eq10,eq9);
+/* [wxMaxima: input end ] */
+
+/* Maxima can't load/batch files which end with a comment! */
+"Created with wxMaxima"$
diff --git a/Maths/BedLevelling-4-point.wxm b/Maths/BedLevelling-4-point.wxm
new file mode 100644
index 00000000..2fe1f63f
--- /dev/null
+++ b/Maths/BedLevelling-4-point.wxm
@@ -0,0 +1,71 @@
+/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
+/* [ Created with wxMaxima version 14.12.1 ] */
+
+/* [wxMaxima: input start ] */
+eq1:h=H+a*x+b*y+c*x*y;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq2:h0=H+a*x0+b*y0+c*x0*y0;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq3:h1=H+a*x1+b*y1+c*x1*y1;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq4:h2=H+a*x2+b*y2+c*x2*y2;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq5:h3=H+a*x3+b*y3+c*x3*y3;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq6:solve([eq2,eq3,eq4,eq5],[a,b,c,H]);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq7:subst(eq6,eq1);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq8:dhbydh0=factor(diff(rhs(eq7),h0));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq9:dhbydh1=factor(diff(rhs(eq7),h1));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq10:dhbydh2=factor(diff(rhs(eq7),h2));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq11:dhbydh3=factor(diff(rhs(eq7),h3));
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq12:(x1*x3*y2*y3-x0*x3*y2*y3-x1*x2*y2*y3+x0*x2*y2*y3-x2*x3*y1*y3+x0*
+x3*y1*y3+x1*x2*y1*y3-x0*x1*y1*y3+x2*x3*y0*y3-x1*x3*y0*y3-x0*x2*y0*y3+x0*x1*y0*y3+x2*x3*y1*y2-x1*x3*y1*y2-x0*x2*y1*y2+x0*x1*y1*y2-x2*x3*y0*y2+x0*x3*y0*y2+x1*x2*y0*y2-x0*x1*y0*
+y2+x1*x3*y0*y1-x0*x3*y0*y1-x1*x2*y0*y1+x0*x2*y0*y1)=d;
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq13:subst(eq12,eq8);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq14:subst(eq12,eq9);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq15:subst(eq12,eq10);
+/* [wxMaxima: input end ] */
+
+/* [wxMaxima: input start ] */
+eq16:subst(eq12,eq11);
+/* [wxMaxima: input end ] */
+
+/* Maxima can't load/batch files which end with a comment! */
+"Created with wxMaxima"$