speed log
This commit is contained in:
@@ -2521,3 +2521,13 @@
|
||||
2026-04-20T14:04:29.744Z ::ffff:172.21.0.5: G28
|
||||
2026-04-20T14:05:42.215Z ::ffff:172.21.0.5: FShow
|
||||
2026-04-20T14:05:43.968Z ::ffff:172.21.0.5: G91 G1 Y-5 F100
|
||||
2026-04-20T14:09:48.441Z ::ffff:172.21.0.5: FShow
|
||||
2026-04-20T14:10:05.670Z ::ffff:172.21.0.5: FShow
|
||||
2026-04-20T14:10:07.166Z ::ffff:172.21.0.5: G91 G1 Y-5 F100
|
||||
2026-04-20T14:18:19.041Z ::ffff:172.21.0.5: FShow
|
||||
2026-04-20T14:18:22.769Z ::ffff:172.21.0.5: G28
|
||||
2026-04-20T14:18:35.198Z ::ffff:172.21.0.5: G91 G1 Y-5 F100
|
||||
2026-04-20T14:20:42.573Z ::ffff:172.21.0.5: G91 G1 Y-5 F100
|
||||
2026-04-20T14:22:23.960Z ::ffff:172.21.0.5: FShow
|
||||
2026-04-20T14:22:35.328Z ::ffff:172.21.0.5: G28
|
||||
2026-04-20T14:22:45.712Z ::ffff:172.21.0.5: G91 G1 Y-5 F100
|
||||
|
||||
118
logs/pings.log
118
logs/pings.log
@@ -11936,3 +11936,121 @@
|
||||
2026-04-20T14:06:32.584Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:06:37.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:06:42.583Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:06:47.584Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:06:47.585Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:07:42.909Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:07:47.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:07:47.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:07:52.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:07:57.084Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:02.584Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:07.584Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:12.571Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:17.582Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:22.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:27.569Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:32.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:37.570Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:42.571Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:47.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:47.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:52.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:08:57.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:09:47.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:09:53.219Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:09:58.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:03.218Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:10.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:15.583Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:20.583Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:25.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:30.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:35.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:40.581Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:45.581Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:47.570Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:50.570Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:10:55.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:11:00.580Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:11:05.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:11:47.569Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:11:47.570Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:12:47.567Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:12:47.568Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:13:47.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:13:55.779Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:00.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:05.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:10.666Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:15.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:20.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:47.584Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:14:47.585Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:15:47.569Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:15:47.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:16:47.585Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:16:55.581Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:00.570Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:05.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:10.580Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:15.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:20.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:35.127Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:35.436Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:40.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:47.580Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:50.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:17:55.573Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:00.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:05.586Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:10.571Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:15.443Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:23.798Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:29.568Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:33.796Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:39.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:44.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:47.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:49.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:54.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:18:59.583Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:04.568Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:09.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:15.099Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:19.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:24.577Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:29.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:34.571Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:47.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:19:47.580Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:41.095Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:43.802Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:47.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:48.798Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:53.808Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:20:59.582Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:04.575Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:09.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:14.569Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:19.572Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:24.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:29.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:34.585Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:39.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:44.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:47.581Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:21:49.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:29.571Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:33.733Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:38.730Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:43.738Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:47.581Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:47.582Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:49.582Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:54.589Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:22:59.574Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:23:04.579Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:23:09.568Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:23:14.576Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:23:19.578Z ::ffff:172.21.0.5: Ping
|
||||
2026-04-20T14:23:24.573Z ::ffff:172.21.0.5: Ping
|
||||
|
||||
@@ -83,6 +83,8 @@ class GCode{
|
||||
|
||||
if(g == undefined) return;
|
||||
|
||||
console.log("🔵 GCode.receiveGCode: Incoming command: " + g);
|
||||
|
||||
g = g.toString("utf8");
|
||||
|
||||
var multipleCommands = g.split(" G");
|
||||
@@ -120,7 +122,7 @@ class GCode{
|
||||
if(s.toUpperCase().includes("B")){ robot.theta += Number(s.substring(1, s.length)); robot.bMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("C")){ robot.psi += Number(s.substring(1, s.length)); robot.cMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("E")){ robot.e += Number(s.substring(1, s.length)); robot.eMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("F")){ robot.feedrate = Number(s.substring(1, s.length)); }
|
||||
if(s.toUpperCase().includes("F")){ robot.feedrate = Number(s.substring(1, s.length)); console.log(" 📌 Feedrate set to: " + robot.feedrate); }
|
||||
});
|
||||
}
|
||||
else if(g[0] == "M1" && robot.moveRelative){
|
||||
@@ -147,7 +149,7 @@ class GCode{
|
||||
if(s.toUpperCase().includes("B")){ robot.theta = Number(s.substring(1, s.length)); robot.bMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("C")){ robot.psi = Number(s.substring(1, s.length)); robot.cMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("E")){ robot.e = Number(s.substring(1, s.length)); robot.eMotorChanged = true;}
|
||||
if(s.toUpperCase().includes("F")){ robot.feedrate = Number(s.substring(1, s.length)); }
|
||||
if(s.toUpperCase().includes("F")){ robot.feedrate = Number(s.substring(1, s.length)); console.log(" 📌 Feedrate set to: " + robot.feedrate); }
|
||||
});
|
||||
}
|
||||
else if(g[0] == "M1" && !robot.moveRelative){
|
||||
|
||||
@@ -6,7 +6,7 @@ class Robot{
|
||||
constructor(l1, l2, l3) {
|
||||
// Umgebungsvariablen-Logik
|
||||
const DEFAULT_FEEDRATE = process.env.ROBOT_DEFAULT_FEEDRATE ?
|
||||
Number(process.env.ROBOT_DEFAULT_FEEDRATE) : 200;
|
||||
Number(process.env.ROBOT_DEFAULT_FEEDRATE) : 1000;
|
||||
this.useSpeedCalc = process.env.ROBOT_USE_SPEED_CALC === 'true' ||
|
||||
process.env.ROBOT_USE_SPEED_CALC === '1';
|
||||
|
||||
|
||||
@@ -77,27 +77,27 @@ module.exports = class TelnetSenderGRBL{
|
||||
|
||||
var data = strCommand.toString("utf-8");
|
||||
|
||||
if(this.xAxisGrbl == "x" && mNew.xMotorChanged){
|
||||
if(this.xAxisGrbl == "x" && mNew.xMotorChanged && Number.isFinite(mNew.x)){
|
||||
data += " x" + (mNew.x).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "y" && mNew.yMotorChanged){
|
||||
if(this.xAxisGrbl == "y" && mNew.yMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " x" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "z" && mNew.zMotorChanged){
|
||||
if(this.xAxisGrbl == "z" && mNew.zMotorChanged && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " x" + ((mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "a" && mNew.aMotorChanged){
|
||||
if(this.xAxisGrbl == "a" && mNew.aMotorChanged && Number.isFinite(mNew.a)){
|
||||
// This is the case for the Ellbow, when the Motor is connected to the X-Port of the FluidNC
|
||||
data += " x" + (mNew.a * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged)){
|
||||
if(this.xAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " x" + (mNew.b * 180 / Math.PI+(mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.xAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b) && Number.isFinite(mNew.c)){
|
||||
// Runs correctly, substracts the "b" axis, uses the "c" axis to send to the x-Motor wich is in this case the hand-twist
|
||||
data += " x" + ((-1)*mNew.b * 180 / Math.PI + (mNew.c * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.xAxisGrbl == "e" && mNew.eMotorChanged){
|
||||
if(this.xAxisGrbl == "e" && mNew.eMotorChanged && Number.isFinite(mNew.b) && Number.isFinite(mNew.c) && Number.isFinite(mNew.e)){
|
||||
//This is the case for the Hand, when the Open-Close Motor is connected to the X-Port of FluidNC
|
||||
var handUpDown = mNew.b * 180 * factorTurnLift / Math.PI ;
|
||||
var handTurn = mNew.c*180/Math.PI ;
|
||||
@@ -106,100 +106,100 @@ module.exports = class TelnetSenderGRBL{
|
||||
|
||||
|
||||
|
||||
if(this.yAxisGrbl == "x" && mNew.xMotorChanged){
|
||||
if(this.yAxisGrbl == "x" && mNew.xMotorChanged && Number.isFinite(mNew.x)){
|
||||
data += " y" + (mNew.x ).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "y" && mNew.yMotorChanged){
|
||||
if(this.yAxisGrbl == "y" && mNew.yMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " y" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "z" && mNew.zMotorChanged){
|
||||
if(this.yAxisGrbl == "z" && mNew.zMotorChanged && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " y" + ((mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "a" && mNew.aMotorChanged){
|
||||
if(this.yAxisGrbl == "a" && mNew.aMotorChanged && Number.isFinite(mNew.a)){
|
||||
data += " y" + (mNew.a * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.yAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " y" + (mNew.b * 180 / Math.PI+(mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.yAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b) && Number.isFinite(mNew.c)){
|
||||
// This is the case if the hand-rotation-turner is connected to the FluidNC-Y
|
||||
var handUpDown = (mNew.b * 180 / Math.PI ) * factorTurnLift;
|
||||
var handTurn = ( mNew.c*180/Math.PI ) ;
|
||||
data += " y" + (-1.0*(handUpDown) + handTurn).toFixed(2).toString();
|
||||
}
|
||||
if(this.yAxisGrbl == "e" && (mNew.eMotorChanged)){
|
||||
if(this.yAxisGrbl == "e" && (mNew.eMotorChanged) && Number.isFinite(mNew.e)){
|
||||
data += " y" + (mNew.e * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
|
||||
|
||||
if(this.zAxisGrbl == "x" && mNew.xMotorChanged){
|
||||
if(this.zAxisGrbl == "x" && mNew.xMotorChanged && Number.isFinite(mNew.x)){
|
||||
data += " z" + (mNew.x).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "y" && mNew.yMotorChanged){
|
||||
if(this.zAxisGrbl == "y" && mNew.yMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " z" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "z" && mNew.zMotorChanged){
|
||||
if(this.zAxisGrbl == "z" && mNew.zMotorChanged && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " z" + ((mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "a" && mNew.aMotorChanged){
|
||||
if(this.zAxisGrbl == "a" && mNew.aMotorChanged && Number.isFinite(mNew.a)){
|
||||
data += " z" + (mNew.a * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.zAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b)){
|
||||
// This is the case of the Hand, when the Up-Down-Motor is connected to the FluidNC-Z
|
||||
data += " z" + ( mNew.b * 180 / Math.PI ).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.zAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.c) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " z" + (mNew.c * 180 / Math.PI + (mNew.b * 180 / Math.PI) + (mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.zAxisGrbl == "e" && (mNew.eMotorChanged)){
|
||||
if(this.zAxisGrbl == "e" && (mNew.eMotorChanged) && Number.isFinite(mNew.e)){
|
||||
|
||||
data += " z" + (mNew.e * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(this.aAxisGrbl == "x" && mNew.xMotorChanged){
|
||||
if(this.aAxisGrbl == "x" && mNew.xMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " a" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "y" && mNew.yMotorChanged){
|
||||
if(this.aAxisGrbl == "y" && mNew.yMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " a" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "z" && mNew.zMotorChanged){
|
||||
if(this.aAxisGrbl == "z" && mNew.zMotorChanged && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " a" + ((mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "a" && mNew.aMotorChanged){
|
||||
if(this.aAxisGrbl == "a" && mNew.aMotorChanged && Number.isFinite(mNew.a)){
|
||||
data += " a" + (mNew.a * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.aAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " a" + (mNew.b * 180 / Math.PI+(mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.aAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.c) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " a" + (mNew.c * 180 / Math.PI + (mNew.b * 180 / Math.PI) + (mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.aAxisGrbl == "e" && mNew.eMotorChanged){
|
||||
if(this.aAxisGrbl == "e" && mNew.eMotorChanged && Number.isFinite(mNew.e)){
|
||||
// ToDo Mai 2024
|
||||
data += " a" + (mNew.e * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
|
||||
if(this.bAxisGrbl == "x" && mNew.xMotorChanged){
|
||||
if(this.bAxisGrbl == "x" && mNew.xMotorChanged && Number.isFinite(mNew.x)){
|
||||
data += " b" + (mNew.x).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "y" && mNew.yMotorChanged){
|
||||
if(this.bAxisGrbl == "y" && mNew.yMotorChanged && Number.isFinite(mNew.y)){
|
||||
data += " b" + (mNew.y * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "z" && mNew.zMotorChanged){
|
||||
if(this.bAxisGrbl == "z" && mNew.zMotorChanged && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " b" + ((mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI) ).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "a" && mNew.aMotorChanged){
|
||||
if(this.bAxisGrbl == "a" && mNew.aMotorChanged && Number.isFinite(mNew.a)){
|
||||
data += " b" + (mNew.a * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.bAxisGrbl == "b" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.b)){
|
||||
data += " b" + (mNew.b * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged)){
|
||||
if(this.bAxisGrbl == "c" && (mNew.bMotorChanged || mNew.cMotorChanged || mNew.zMotorChanged) && Number.isFinite(mNew.c) && Number.isFinite(mNew.b) && Number.isFinite(mNew.z) && Number.isFinite(mNew.y)){
|
||||
data += " b" + (mNew.c * 180 / Math.PI + (mNew.b * 180 / Math.PI) + (mNew.z * 180 / Math.PI) - (mNew.y * 180 / Math.PI)).toFixed(2).toString();
|
||||
}
|
||||
if(this.bAxisGrbl == "e" && mNew.eMotorChanged){
|
||||
if(this.bAxisGrbl == "e" && mNew.eMotorChanged && Number.isFinite(mNew.e)){
|
||||
data += " b" + (mNew.e * 180 / Math.PI).toFixed(2).toString();
|
||||
}
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ describe('GCode Speed Tests', () => {
|
||||
|
||||
});
|
||||
|
||||
test('G1 without Feedrate - should use default f200', () => {
|
||||
test('G1 without Feedrate - should use default f1000', () => {
|
||||
const L1 = 300;
|
||||
const L2 = 300;
|
||||
const L3 = 20;
|
||||
@@ -93,8 +93,8 @@ describe('GCode Speed Tests', () => {
|
||||
|
||||
// Check default feedrate
|
||||
expect(telnetSender1.tSocket.written).toContain('G1');
|
||||
expect(telnetSender1.tSocket.written).toContain('f200');
|
||||
expect(telnetSender1.tSocket.written).toMatch(/f200\.00/);
|
||||
expect(telnetSender1.tSocket.written).toContain('f1000');
|
||||
expect(telnetSender1.tSocket.written).toMatch(/f1000\.00/);
|
||||
});
|
||||
|
||||
test('G1 with different Feedrate F500 - multiple senders', () => {
|
||||
|
||||
Reference in New Issue
Block a user