kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
rodzic
d2b1452861
commit
fff579d556
|
@ -1,3 +1,4 @@
|
||||||
|
v1.0.339: Updated grblHAL Binaries to fix Probe bug, Windows Taskbar jog Progress indicator, Updated Pi Install script with Node19x, Added coolant/vacuum to Surfacing Wizard
|
||||||
v1.0.338: Beta testing alternative GPU blacklist switch config for older computers, Fixed a couple Grbl Settings bugs
|
v1.0.338: Beta testing alternative GPU blacklist switch config for older computers, Fixed a couple Grbl Settings bugs
|
||||||
v1.0.337: Improved WebGL Detection
|
v1.0.337: Improved WebGL Detection
|
||||||
v1.0.334/5/6: Dark Mode theme (based off /pull/#223), Added Fullscreen Mode button, Updated Dependencies (/pull/260), Fixed bug in ATmega Custom flash option (#268), Updated Wizard's Graphics
|
v1.0.334/5/6: Dark Mode theme (based off /pull/#223), Added Fullscreen Mode button, Updated Dependencies (/pull/260), Fixed bug in ATmega Custom flash option (#268), Updated Wizard's Graphics
|
||||||
|
|
|
@ -1433,11 +1433,22 @@
|
||||||
<div class="row mb-2 border-bottom bd-gray">
|
<div class="row mb-2 border-bottom bd-gray">
|
||||||
<label class="cell-sm-6">Spindle RPM</label>
|
<label class="cell-sm-6">Spindle RPM</label>
|
||||||
<div class="cell-sm-6">
|
<div class="cell-sm-6">
|
||||||
<input id="surfaceRPM" type="number" data-role="input" data-append="mm" data-clear-button="false" value="1000" data-editable="true">
|
<input id="surfaceRPM" type="number" data-role="input" data-append="RPM" data-clear-button="false" value="1000" data-editable="true">
|
||||||
<small class="dark">Spindle RPM for variable spindles</small>
|
<small class="dark">Spindle RPM for variable spindles</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row mb-2 border-bottom bd-gray">
|
||||||
|
<label class="cell-sm-6">Enable Coolant/Vacuum</label>
|
||||||
|
<div class="cell-sm-6">
|
||||||
|
<select id="surfaceCoolant" data-role="input" data-clear-button="false">
|
||||||
|
<option value="enabled" selected>Enabled</option>
|
||||||
|
<option value="disabled">Disabled</option>
|
||||||
|
</select>
|
||||||
|
<small class="dark">Add M8/M9 commands to GCODE</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cell-sm-5">
|
<div class="cell-sm-5">
|
||||||
<small class="dark">NB: make sure your spindle is 100% perpendicular (trammed) to your bed, before running a Surfacing operation. Incorrectly trammed spindles will cause uneven machining of the surface, leading to pitting and
|
<small class="dark">NB: make sure your spindle is 100% perpendicular (trammed) to your bed, before running a Surfacing operation. Incorrectly trammed spindles will cause uneven machining of the surface, leading to pitting and
|
||||||
|
|
|
@ -636,7 +636,7 @@ var grblSettingsTemplate2 = {
|
||||||
key: `$70`,
|
key: `$70`,
|
||||||
title: `Network Services`,
|
title: `Network Services`,
|
||||||
description: `70`,
|
description: `70`,
|
||||||
template: `<input id="val--input" data-role="input" data-clear-button="false" data-append="mask" type="text" >`,
|
template: `<input id="val-70-input" data-role="input" data-clear-button="false" data-append="mask" type="text" >`,
|
||||||
utils: ``
|
utils: ``
|
||||||
},
|
},
|
||||||
300: {
|
300: {
|
||||||
|
|
|
@ -533,15 +533,12 @@ function runProbeNew() {
|
||||||
var zoffset = probemode.probe.zoffset // not *-1 as its offset in z pos
|
var zoffset = probemode.probe.zoffset // not *-1 as its offset in z pos
|
||||||
|
|
||||||
var zmacro = `
|
var zmacro = `
|
||||||
; Header
|
G21
|
||||||
G21 ; mm mode
|
G10 P0 L20 Z0
|
||||||
G10 P0 L20 Z0 ; zero out current location
|
G38.2 Z-25 F100
|
||||||
|
|
||||||
; Probe Z
|
|
||||||
G38.2 Z-25 F100 ; Probe Z
|
|
||||||
G4 P0.4
|
G4 P0.4
|
||||||
G10 P0 L20 Z` + zoffset + ` ; Set Z` + zoffset + ` where ` + zoffset + ` is thickness of plate
|
G10 P0 L20 Z` + zoffset + `
|
||||||
$J=G91G21Z5F1000 ; retract
|
$J=G91G21Z5F1000
|
||||||
`
|
`
|
||||||
|
|
||||||
socket.off('prbResult'); // Disable old listeners
|
socket.off('prbResult'); // Disable old listeners
|
||||||
|
|
|
@ -11,6 +11,8 @@ function populateSurfaceToolForm() {
|
||||||
surfaceX: 200,
|
surfaceX: 200,
|
||||||
surfaceY: 300,
|
surfaceY: 300,
|
||||||
surfaceDepth: 3,
|
surfaceDepth: 3,
|
||||||
|
surfaceCoolant: "enabled",
|
||||||
|
surfaceRPM: 1000
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
$("#surfaceDiameter").val(data.surfaceDiameter);
|
$("#surfaceDiameter").val(data.surfaceDiameter);
|
||||||
|
@ -19,6 +21,8 @@ function populateSurfaceToolForm() {
|
||||||
$("#surfaceX").val(data.surfaceX);
|
$("#surfaceX").val(data.surfaceX);
|
||||||
$("#surfaceY").val(data.surfaceY);
|
$("#surfaceY").val(data.surfaceY);
|
||||||
$("#surfaceDepth").val(data.surfaceDepth);
|
$("#surfaceDepth").val(data.surfaceDepth);
|
||||||
|
$('#surfaceCoolant').val(data.surfaceCoolant)
|
||||||
|
$('#surfaceRPM').val(data.surfaceRPM)
|
||||||
var $radios = $("input:radio[name=surfaceType]");
|
var $radios = $("input:radio[name=surfaceType]");
|
||||||
$radios.filter("[value=" + data.surfaceType + "]").prop("checked", true);
|
$radios.filter("[value=" + data.surfaceType + "]").prop("checked", true);
|
||||||
Metro.dialog.open("#surfacingDialog");
|
Metro.dialog.open("#surfacingDialog");
|
||||||
|
@ -33,7 +37,8 @@ function createSurfaceGcode() {
|
||||||
surfaceY: $("#surfaceY").val(),
|
surfaceY: $("#surfaceY").val(),
|
||||||
surfaceDepth: $("#surfaceDepth").val(),
|
surfaceDepth: $("#surfaceDepth").val(),
|
||||||
surfaceType: $("input[name='surfaceType']:checked").val(),
|
surfaceType: $("input[name='surfaceType']:checked").val(),
|
||||||
surfaceRPM: $('#surfaceRPM').val()
|
surfaceRPM: $('#surfaceRPM').val(),
|
||||||
|
surfaceCoolant: $('#surfaceCoolant').val()
|
||||||
};
|
};
|
||||||
console.log(data);
|
console.log(data);
|
||||||
localStorage.setItem("lastSurfacingTool", JSON.stringify(data));
|
localStorage.setItem("lastSurfacingTool", JSON.stringify(data));
|
||||||
|
@ -67,7 +72,14 @@ G54; Work Coordinates
|
||||||
G21; mm-mode
|
G21; mm-mode
|
||||||
G90; Absolute Positioning
|
G90; Absolute Positioning
|
||||||
M3 S` + data.surfaceRPM + `; Spindle On
|
M3 S` + data.surfaceRPM + `; Spindle On
|
||||||
G4 P1.8; Wait for spindle to come up to speed
|
`
|
||||||
|
|
||||||
|
if (data.surfaceCoolant == "enabled") {
|
||||||
|
gcode += `M8 ; Coolant On
|
||||||
|
`
|
||||||
|
}
|
||||||
|
|
||||||
|
gcode += `G4 P1.8; Wait for spindle to come up to speed
|
||||||
G0 Z10
|
G0 Z10
|
||||||
G0 X0 Y0
|
G0 X0 Y0
|
||||||
G1 F` +
|
G1 F` +
|
||||||
|
@ -148,6 +160,10 @@ G1 X` +
|
||||||
|
|
||||||
gcode += `M5 S0\n`;
|
gcode += `M5 S0\n`;
|
||||||
|
|
||||||
|
if (data.surfaceCoolant == "enabled") {
|
||||||
|
gcode += `M9 ; Coolant Off`
|
||||||
|
}
|
||||||
|
|
||||||
editor.session.setValue(gcode);
|
editor.session.setValue(gcode);
|
||||||
parseGcodeInWebWorker(gcode)
|
parseGcodeInWebWorker(gcode)
|
||||||
printLog("<span class='fg-red'>[ Surfacing / Flattening Wizard ] </span><span class='fg-green'>GCODE Loaded</span>")
|
printLog("<span class='fg-red'>[ Surfacing / Flattening Wizard ] </span><span class='fg-green'>GCODE Loaded</span>")
|
||||||
|
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
21
index.js
21
index.js
|
@ -1536,6 +1536,17 @@ io.on("connection", function(socket) {
|
||||||
send1Q();
|
send1Q();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
socket.on('serialInject', function(data) {
|
||||||
|
// Inject a live command into Serial stream in real-time (dev tool) even while a job is running, etc (straight Port.write from machineSend)
|
||||||
|
machineSend(data, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on("dump", function(data) {
|
||||||
|
console.log(queuePointer);
|
||||||
|
console.log(gcodeQueue);
|
||||||
|
console.log(sentBuffer);
|
||||||
|
})
|
||||||
|
|
||||||
socket.on('runCommand', function(data) {
|
socket.on('runCommand', function(data) {
|
||||||
debug_log('Run Command (' + data.replace('\n', '|') + ')');
|
debug_log('Run Command (' + data.replace('\n', '|') + ')');
|
||||||
if (status.comms.connectionStatus > 0) {
|
if (status.comms.connectionStatus > 0) {
|
||||||
|
@ -1941,6 +1952,7 @@ io.on("connection", function(socket) {
|
||||||
switch (status.machine.firmware.type) {
|
switch (status.machine.firmware.type) {
|
||||||
case 'grbl':
|
case 'grbl':
|
||||||
clearInterval(queueCounter);
|
clearInterval(queueCounter);
|
||||||
|
jogWindow.setProgressBar(0);
|
||||||
addQRealtime(String.fromCharCode(0x18)); // ctrl-x
|
addQRealtime(String.fromCharCode(0x18)); // ctrl-x
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
addQRealtime('$X\n');
|
addQRealtime('$X\n');
|
||||||
|
@ -2048,6 +2060,7 @@ function machineSend(gcode, realtime) {
|
||||||
io.sockets.emit("queueCount", data);
|
io.sockets.emit("queueCount", data);
|
||||||
// debug_log(gcode)
|
// debug_log(gcode)
|
||||||
port.write(gcode);
|
port.write(gcode);
|
||||||
|
debug_log("SENT: " + gcode)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
debug_log("PORT NOT OPEN")
|
debug_log("PORT NOT OPEN")
|
||||||
|
@ -2093,6 +2106,7 @@ function runJob(object) {
|
||||||
// Start interval for qCount messages to socket clients
|
// Start interval for qCount messages to socket clients
|
||||||
queueCounter = setInterval(function() {
|
queueCounter = setInterval(function() {
|
||||||
status.comms.queue = gcodeQueue.length - queuePointer
|
status.comms.queue = gcodeQueue.length - queuePointer
|
||||||
|
jogWindow.setProgressBar(queuePointer / gcodeQueue.length)
|
||||||
}, 500);
|
}, 500);
|
||||||
send1Q(); // send first line
|
send1Q(); // send first line
|
||||||
status.comms.connectionStatus = 3;
|
status.comms.connectionStatus = 3;
|
||||||
|
@ -2107,6 +2121,7 @@ function runJob(object) {
|
||||||
function stopPort() {
|
function stopPort() {
|
||||||
clearInterval(queueCounter);
|
clearInterval(queueCounter);
|
||||||
clearInterval(statusLoop);
|
clearInterval(statusLoop);
|
||||||
|
jogWindow.setProgressBar(0);
|
||||||
status.comms.interfaces.activePort = false;
|
status.comms.interfaces.activePort = false;
|
||||||
status.comms.interfaces.activeBaud = false;
|
status.comms.interfaces.activeBaud = false;
|
||||||
status.comms.connectionStatus = 0;
|
status.comms.connectionStatus = 0;
|
||||||
|
@ -2126,7 +2141,7 @@ function stopPort() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseFeedback(data) {
|
function parseFeedback(data) {
|
||||||
debug_log(data)
|
//debug_log(data)
|
||||||
var state = data.substring(1, data.search(/(,|\|)/));
|
var state = data.substring(1, data.search(/(,|\|)/));
|
||||||
status.comms.runStatus = state
|
status.comms.runStatus = state
|
||||||
if (state == "Alarm") {
|
if (state == "Alarm") {
|
||||||
|
@ -2143,7 +2158,7 @@ function parseFeedback(data) {
|
||||||
} else if (state == "Hold:0") {
|
} else if (state == "Hold:0") {
|
||||||
pause();
|
pause();
|
||||||
}
|
}
|
||||||
if (status.machine.firmware.type == "grbl" || status.machine.firmware.type == "grblhal") {
|
if (status.machine.firmware.type == "grbl") {
|
||||||
// Extract work offset (for Grbl > 1.1 only!)
|
// Extract work offset (for Grbl > 1.1 only!)
|
||||||
var startWCO = data.search(/wco:/i) + 4;
|
var startWCO = data.search(/wco:/i) + 4;
|
||||||
var wco;
|
var wco;
|
||||||
|
@ -2614,6 +2629,7 @@ function send1Q() {
|
||||||
}
|
}
|
||||||
status.comms.connectionStatus = 2; // finished
|
status.comms.connectionStatus = 2; // finished
|
||||||
clearInterval(queueCounter);
|
clearInterval(queueCounter);
|
||||||
|
jogWindow.setProgressBar(0);
|
||||||
gcodeQueue.length = 0; // Dump the Queye
|
gcodeQueue.length = 0; // Dump the Queye
|
||||||
queuePointer = 0;
|
queuePointer = 0;
|
||||||
status.comms.connectionStatus = 2; // finished
|
status.comms.connectionStatus = 2; // finished
|
||||||
|
@ -3013,6 +3029,7 @@ function stop(data) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
clearInterval(queueCounter);
|
clearInterval(queueCounter);
|
||||||
|
jogWindow.setProgressBar(0);
|
||||||
status.comms.queue = 0
|
status.comms.queue = 0
|
||||||
queuePointer = 0;
|
queuePointer = 0;
|
||||||
gcodeQueue.length = 0; // Dump the queue
|
gcodeQueue.length = 0; // Dump the queue
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "OpenBuildsCONTROL",
|
"name": "OpenBuildsCONTROL",
|
||||||
"version": "1.0.338",
|
"version": "1.0.339",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"description": "OpenBuildsCONTROL CNC Machine Host Software",
|
"description": "OpenBuildsCONTROL CNC Machine Host Software",
|
||||||
"author": "github.com/openbuilds <support@openbuilds.com>",
|
"author": "github.com/openbuilds <support@openbuilds.com>",
|
||||||
|
|
|
@ -11,8 +11,8 @@ sudo apt install -y tightvncserver
|
||||||
sudo apt install -y xrdp
|
sudo apt install -y xrdp
|
||||||
echo "(4/10) Installing GIT..."
|
echo "(4/10) Installing GIT..."
|
||||||
sudo apt-get install -y git
|
sudo apt-get install -y git
|
||||||
echo "(5/10) Installing NodeJS 12.x..."
|
echo "(5/10) Installing NodeJS 19.x..."
|
||||||
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
|
curl -sL https://deb.nodesource.com/setup_19.x | sudo -E bash -
|
||||||
sudo apt-get install -y nodejs
|
sudo apt-get install -y nodejs
|
||||||
echo "(6/10) Updating npm..."
|
echo "(6/10) Updating npm..."
|
||||||
sudo npm install -g npm@latest
|
sudo npm install -g npm@latest
|
||||||
|
|
Ładowanie…
Reference in New Issue