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.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
|
||||
|
|
|
@ -1433,11 +1433,22 @@
|
|||
<div class="row mb-2 border-bottom bd-gray">
|
||||
<label class="cell-sm-6">Spindle RPM</label>
|
||||
<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>
|
||||
</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 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
|
||||
|
|
|
@ -636,7 +636,7 @@ var grblSettingsTemplate2 = {
|
|||
key: `$70`,
|
||||
title: `Network Services`,
|
||||
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: ``
|
||||
},
|
||||
300: {
|
||||
|
|
|
@ -533,15 +533,12 @@ function runProbeNew() {
|
|||
var zoffset = probemode.probe.zoffset // not *-1 as its offset in z pos
|
||||
|
||||
var zmacro = `
|
||||
; Header
|
||||
G21 ; mm mode
|
||||
G10 P0 L20 Z0 ; zero out current location
|
||||
|
||||
; Probe Z
|
||||
G38.2 Z-25 F100 ; Probe Z
|
||||
G21
|
||||
G10 P0 L20 Z0
|
||||
G38.2 Z-25 F100
|
||||
G4 P0.4
|
||||
G10 P0 L20 Z` + zoffset + ` ; Set Z` + zoffset + ` where ` + zoffset + ` is thickness of plate
|
||||
$J=G91G21Z5F1000 ; retract
|
||||
G10 P0 L20 Z` + zoffset + `
|
||||
$J=G91G21Z5F1000
|
||||
`
|
||||
|
||||
socket.off('prbResult'); // Disable old listeners
|
||||
|
|
|
@ -11,6 +11,8 @@ function populateSurfaceToolForm() {
|
|||
surfaceX: 200,
|
||||
surfaceY: 300,
|
||||
surfaceDepth: 3,
|
||||
surfaceCoolant: "enabled",
|
||||
surfaceRPM: 1000
|
||||
};
|
||||
}
|
||||
$("#surfaceDiameter").val(data.surfaceDiameter);
|
||||
|
@ -19,6 +21,8 @@ function populateSurfaceToolForm() {
|
|||
$("#surfaceX").val(data.surfaceX);
|
||||
$("#surfaceY").val(data.surfaceY);
|
||||
$("#surfaceDepth").val(data.surfaceDepth);
|
||||
$('#surfaceCoolant').val(data.surfaceCoolant)
|
||||
$('#surfaceRPM').val(data.surfaceRPM)
|
||||
var $radios = $("input:radio[name=surfaceType]");
|
||||
$radios.filter("[value=" + data.surfaceType + "]").prop("checked", true);
|
||||
Metro.dialog.open("#surfacingDialog");
|
||||
|
@ -33,7 +37,8 @@ function createSurfaceGcode() {
|
|||
surfaceY: $("#surfaceY").val(),
|
||||
surfaceDepth: $("#surfaceDepth").val(),
|
||||
surfaceType: $("input[name='surfaceType']:checked").val(),
|
||||
surfaceRPM: $('#surfaceRPM').val()
|
||||
surfaceRPM: $('#surfaceRPM').val(),
|
||||
surfaceCoolant: $('#surfaceCoolant').val()
|
||||
};
|
||||
console.log(data);
|
||||
localStorage.setItem("lastSurfacingTool", JSON.stringify(data));
|
||||
|
@ -67,7 +72,14 @@ G54; Work Coordinates
|
|||
G21; mm-mode
|
||||
G90; Absolute Positioning
|
||||
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 X0 Y0
|
||||
G1 F` +
|
||||
|
@ -148,6 +160,10 @@ G1 X` +
|
|||
|
||||
gcode += `M5 S0\n`;
|
||||
|
||||
if (data.surfaceCoolant == "enabled") {
|
||||
gcode += `M9 ; Coolant Off`
|
||||
}
|
||||
|
||||
editor.session.setValue(gcode);
|
||||
parseGcodeInWebWorker(gcode)
|
||||
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();
|
||||
});
|
||||
|
||||
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) {
|
||||
debug_log('Run Command (' + data.replace('\n', '|') + ')');
|
||||
if (status.comms.connectionStatus > 0) {
|
||||
|
@ -1941,6 +1952,7 @@ io.on("connection", function(socket) {
|
|||
switch (status.machine.firmware.type) {
|
||||
case 'grbl':
|
||||
clearInterval(queueCounter);
|
||||
jogWindow.setProgressBar(0);
|
||||
addQRealtime(String.fromCharCode(0x18)); // ctrl-x
|
||||
setTimeout(function() {
|
||||
addQRealtime('$X\n');
|
||||
|
@ -2048,6 +2060,7 @@ function machineSend(gcode, realtime) {
|
|||
io.sockets.emit("queueCount", data);
|
||||
// debug_log(gcode)
|
||||
port.write(gcode);
|
||||
debug_log("SENT: " + gcode)
|
||||
}
|
||||
} else {
|
||||
debug_log("PORT NOT OPEN")
|
||||
|
@ -2093,6 +2106,7 @@ function runJob(object) {
|
|||
// Start interval for qCount messages to socket clients
|
||||
queueCounter = setInterval(function() {
|
||||
status.comms.queue = gcodeQueue.length - queuePointer
|
||||
jogWindow.setProgressBar(queuePointer / gcodeQueue.length)
|
||||
}, 500);
|
||||
send1Q(); // send first line
|
||||
status.comms.connectionStatus = 3;
|
||||
|
@ -2107,6 +2121,7 @@ function runJob(object) {
|
|||
function stopPort() {
|
||||
clearInterval(queueCounter);
|
||||
clearInterval(statusLoop);
|
||||
jogWindow.setProgressBar(0);
|
||||
status.comms.interfaces.activePort = false;
|
||||
status.comms.interfaces.activeBaud = false;
|
||||
status.comms.connectionStatus = 0;
|
||||
|
@ -2126,7 +2141,7 @@ function stopPort() {
|
|||
}
|
||||
|
||||
function parseFeedback(data) {
|
||||
debug_log(data)
|
||||
//debug_log(data)
|
||||
var state = data.substring(1, data.search(/(,|\|)/));
|
||||
status.comms.runStatus = state
|
||||
if (state == "Alarm") {
|
||||
|
@ -2143,7 +2158,7 @@ function parseFeedback(data) {
|
|||
} else if (state == "Hold:0") {
|
||||
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!)
|
||||
var startWCO = data.search(/wco:/i) + 4;
|
||||
var wco;
|
||||
|
@ -2614,6 +2629,7 @@ function send1Q() {
|
|||
}
|
||||
status.comms.connectionStatus = 2; // finished
|
||||
clearInterval(queueCounter);
|
||||
jogWindow.setProgressBar(0);
|
||||
gcodeQueue.length = 0; // Dump the Queye
|
||||
queuePointer = 0;
|
||||
status.comms.connectionStatus = 2; // finished
|
||||
|
@ -3013,6 +3029,7 @@ function stop(data) {
|
|||
break;
|
||||
}
|
||||
clearInterval(queueCounter);
|
||||
jogWindow.setProgressBar(0);
|
||||
status.comms.queue = 0
|
||||
queuePointer = 0;
|
||||
gcodeQueue.length = 0; // Dump the queue
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "OpenBuildsCONTROL",
|
||||
"version": "1.0.338",
|
||||
"version": "1.0.339",
|
||||
"license": "AGPL-3.0",
|
||||
"description": "OpenBuildsCONTROL CNC Machine Host Software",
|
||||
"author": "github.com/openbuilds <support@openbuilds.com>",
|
||||
|
|
|
@ -11,8 +11,8 @@ sudo apt install -y tightvncserver
|
|||
sudo apt install -y xrdp
|
||||
echo "(4/10) Installing GIT..."
|
||||
sudo apt-get install -y git
|
||||
echo "(5/10) Installing NodeJS 12.x..."
|
||||
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
|
||||
echo "(5/10) Installing NodeJS 19.x..."
|
||||
curl -sL https://deb.nodesource.com/setup_19.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
echo "(6/10) Updating npm..."
|
||||
sudo npm install -g npm@latest
|
||||
|
|
Ładowanie…
Reference in New Issue