pull/153/head
openbuilds-engineer 2020-03-30 17:26:11 +02:00
rodzic fbc0b41360
commit 28b41fc57f
12 zmienionych plików z 154 dodań i 81 usunięć

Wyświetl plik

@ -1,4 +1,5 @@
v1.0.216: Internal Testing Build
v1.0.220: New XYZ and Custom Probe wizards, new Probe Button on Main toolbar, fixed File Assocation Opening (Bug #119 ), added loaded Filename to titlebar (Issue #116), changed Keybinding for Devtools to ctrl+shift+i, added shortcut key F6 to jump to console (Issue #112)
v1.0.216-219: Internal Testing versions only
v1.0.215: Fixed bug with Z Plate retract where plate is thicker than 10mm
v1.0.214: Fixed bug with Z-Zero plate probing routine, added Z Plate thickness setting back
v1.0.213: Updated Authenticode Signing certificate

Wyświetl plik

@ -40,7 +40,7 @@
<ul class="tabs-holder">
<li><a id="controlTab" href="#section-two" onclick="manualcontrolPanel();"><i class="fas fa-fw fa-play"></i> Control</a></li>
<li id="grblSettings" style="display: none;"><a id="grblTab" href="#section-grbl" onclick="grblPanel();"><i class="fas fa-fw fa-sliders-h"></i> Grbl Settings</a></li>
<li><a href="#section-troubleshooting" onclick="troubleshootingPanel();"><i class="fas fa-fw fa-file-medical-alt"></i> Troubleshooting</a></li>
<li><a href="#section-troubleshooting" id="troubleshootingTab" onclick="troubleshootingPanel();"><i class="fas fa-fw fa-file-medical-alt"></i> Troubleshooting</a></li>
</ul>
<div class="content-holder">
<div class="section" id="section-grbl">
@ -133,30 +133,23 @@
<button class="button alert" style="display:none;" onclick="closePort()" id="disconnectBtn" type="button" style="margin: 5px;">Disconnect</button>
<button class="button small secondary disabled" disabled style="display:none;" id="flashBtn" type="button" style="margin: 5px;">please wait...</button>
<button class="button small primary float-right" onclick="socket.emit('opendriverspage', true);" id="driverBtn" type="button" style="margin: 5px;">Install Drivers</button>
<div class="ribbon-group" id="grblButtons">
<hr>
<button class="ribbon-icon-button" onclick="sendGcode(String.fromCharCode(0x18))">
<span class="icon">
<span class="mif-loop"></span>
</span>
<span class="caption">Restart Grbl</span>
</button>
</div>
</form>
</div>
<span class="title">Machine Interface</span>
</div>
<div class="group" id="grblButtons" style="display: none;">
<div class="ribbon-group">
<button class="ribbon-icon-button" onclick="sendGcode(String.fromCharCode(0x18))">
<span class="icon">
<span class="mif-loop"></span>
</span>
<span class="caption">Reset</span>
</button>
<br>
<button class="ribbon-icon-button" onclick="sendGcode('$$'); sendGcode('$I');">
<span class="icon">
<span class="mif-cogs"></span>
</span>
<span class="caption">Settings</span>
</button>
</div>
<span class="title" id="firmwarename"></span>
</div>
<div class="group">
<div>
<button id="openGcodeBtn" class="ribbon-button dropdown-toggle" title="Open a GCODE file">
@ -171,7 +164,7 @@
</ul>
</div>
<button id="runBtn" class="ribbon-button" onclick="socket.emit('runJob', {data: editor.getValue(), isJob: true});" title="Run a Job">
<button id="runBtn" class="ribbon-button" onclick="socket.emit('runJob', {data: editor.getValue(), isJob: true, fileName : loadedFileName});" title="Run a Job">
<span class="icon">
<i class="fas fa-play"></i>
</span>
@ -208,6 +201,18 @@
</span>
<span class="caption">Stop<br>Job</span>
</button>
<button id="grblProbeMenu" class="ribbon-button" onclick="openProbeDialog();" disabled>
<span class="icon">
<span class="fa-layers fa-fw">
<i class="fas fa-podcast fa-rotate-180"></i>
</span>
</span>
<span class="caption grblmode">Probe</span>
<span class="badge bg-green fg-white">New!</span>
</button>
<button id="chkSize" class="ribbon-button">
<span class="icon">
<i class="far fa-square"></i>
@ -284,12 +289,10 @@
</span>
</span>
<span class="caption">Wizards<br>& Tools</span>
<span class="badge bg-red fg-white">New!</span>
</button>
<ul class="ribbon-dropdown grblmode" data-role="dropdown" data-duration="100">
<li><a href="#" onclick="populateSurfaceToolForm();"><i class="fas fa-exchange-alt"></i> Surfacing / Flattening Wizard</a></li>
<li><a href="#" onclick="jogWidget();"><i class="fas fa-mobile-alt"></i> Mobile Jog Widget</a></li>
<li class="disabled grblProbeMenu" onclick="openProbeDialog();"><a href="#"><span class="fas fa-podcast fa-rotate-180 icon"></span> Probing Wizards</a></li>
<li class="divider fg-lightGray"></li>
<li class="disabled grblCalibrationMenu" onclick="xstepscalibrate();"><a href="#"><i class="fas fa-wrench fa-fw"></i> Calibrate X-Axes Steps/mm</a></li>
<li class="disabled grblCalibrationMenu" onclick="ystepscalibrate();"><a href="#"><i class="fas fa-wrench fa-fw"></i> Calibrate Y-Axes Steps/mm</a></li>
@ -441,8 +444,8 @@
<li><a href="#" onclick="sendGcode( 'G0 X0')"><span class="fas fa-chart-line fg-red icon"></span>Goto X0 (Work Coord) (G0 X0)</a></li>
<li id="gotoXzeroMpos"><a href="#" onclick="sendGcode( 'G53 G0 X0')"><span class="fas fa-chart-line fg-red icon"></span>Goto X0 (Machine Coord) (G53 G0 X0)</a></li>
<li class="divider"></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeXDialog()"><span class="fas fa-podcast fa-rotate-180 fg-red icon"></span>Probe X-Zero Wizard</a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-red icon"></span>Probe XYZ-Zero Wizard</a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeXDialog()"><span class="fas fa-podcast fa-rotate-180 fg-red icon"></span>Probe X-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-red icon"></span>Probe XYZ-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
</ul>
</div>
</td>
@ -476,8 +479,8 @@
<li><a href="#" onclick="sendGcode( 'G0 Y0')"><span class="fas fa-chart-line fg-green icon"></span>Goto Y0 (Work Coord) (G0 Y0)</a></li>
<li id="gotoYzeroMpos"><a href="#" onclick="sendGcode( 'G53 G0 Y0')"><span class="fas fa-chart-line fg-green icon"></span>Goto Y0 (Machine Coord) (G53 G0 Y0)</a></li>
<li class="divider"></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeYDialog()"><span class="fas fa-podcast fa-rotate-180 fg-green icon"></span>Probe Y-Zero Wizard</a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-green icon"></span>Probe XYZ-Zero Wizard</a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeYDialog()"><span class="fas fa-podcast fa-rotate-180 fg-green icon"></span>Probe Y-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-green icon"></span>Probe XYZ-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
</ul>
</div>
</td>
@ -512,8 +515,8 @@
<li id="gotoZzeroMpos"><a href="#" onclick="sendGcode( 'G53 G0 Z0')"><span class="fas fa-chart-line fg-blue icon"></span>Goto Z0 (Machine Coord) (G53 G0 Z0)</a></li>
<li class="divider"></li>
<!-- <li><a href="#" onclick="z0probe()()"><span class="fas fa-podcast fa-rotate-180 fg-blue icon"></span>Probe Z-Zero Wizard</a></li> -->
<li><a href="#" onclick="openProbeZDialog()"><span class="fas fa-podcast fa-rotate-180 fg-blue icon"></span>Probe Z-Zero Wizard</a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-blue icon"></span>Probe XYZ-Zero Wizard</a></li>
<li><a href="#" onclick="openProbeZDialog()"><span class="fas fa-podcast fa-rotate-180 fg-blue icon"></span>Probe Z-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
<li class="needsXYZProbe"><a href="#" onclick="openProbeDialog()"><span class="fas fa-podcast fa-rotate-180 fg-blue icon"></span>Probe XYZ-Zero Wizard <span class="badge inline bg-red fg-white">New!</span></a></li>
</ul>
</div>
</td>
@ -748,12 +751,12 @@
<div id="console"></div>
<div class="fixed-bottom m-3 mb-9">
<form class="inline-form" id="commandform" autocomplete="off">
<input data-prepend="&nbsp;<i class='fas fa-terminal'></i>" data-role="input" data-clear-button="false" data-role="input" id="command" type="text" autocomplete="on" class=" dark needs-connection"
style="width: calc(100vw - 170px);" data-editable="true" />
<button id="sendCommand" class="button dark needs-connection" type="button" data-role="hint" data-hint-position="top" data-hint-text="Execute Command" data-cls-hint="bg-light fg-dark drop-shadow">
<input title="Tip: Press F6 anywhere on the CONTROL window to quickly jump to this input" data-prepend="&nbsp;<i class='fas fa-terminal'></i>" data-role="input" data-clear-button="false" data-role="input" id="command"
type="text" autocomplete="on" class=" dark needs-connection" style="width: calc(100vw - 170px);" data-editable="true" />
<button id="sendCommand" class="button dark needs-connection" type="button" title="Execute command">
<i class="fa fa-play" style="margin-right: 10px;"></i> Send
</button>
<button class="button dark emptylog" type="button" onclick="$('#console').empty();" data-role="hint" data-hint-position="top" data-hint-text="Empty console log" data-cls-hint="bg-light fg-dark drop-shadow">
<button class="button dark emptylog" type="button" onclick="$('#console').empty();" title="Clear the Log screen">
<i class="fa fa-trash"></i>
</button>
</form>
@ -772,7 +775,8 @@
<button title="Redo" class="button dark" onclick="editor.execCommand('redo')"><i class="fas fa-redo"></i> Redo</button>&nbsp;
<button title="Go to End" class="button dark" onclick="editor.execCommand('gotoend')"><i class="fas fa-chevron-down"></i></button>&nbsp;
<button title="Go to Start" class="button dark" onclick="editor.execCommand('gotostart')"><i class="fas fa-chevron-up"></i></button>&nbsp;
<button title="Clear Editor" class="button dark" onclick="editor.execCommand('selectall'); editor.execCommand('del'); parseGcodeInWebWorker(editor.getValue());"><i class="fas fa-eraser"></i> Clear</button>&nbsp;
<button title="Clear Editor" class="button dark" onclick="editor.execCommand('selectall'); editor.execCommand('del'); parseGcodeInWebWorker(editor.getValue()); loadedFileName = ''; setWindowTitle()"><i class="fas fa-eraser"></i>
Clear</button>&nbsp;
<!-- </form> -->
</div>
</div>
@ -1204,7 +1208,7 @@
<small id="changelogupdate"></small>
</div>
<div class="dialog-actions">
<button class="button js-dialog-close">Not right now please</button>
<button class="button js-dialog-close">Not right now (snooze for 1hr)</button>
<button class="button success js-dialog-close" onclick="socket.emit('applyUpdate', true)">OK, Proceed with Update</button>
</div>
</div>
@ -1461,7 +1465,7 @@
<label>Probe Type: </label>
<a class="button" id="context_toggle"><span id="probetypebtn"><span class="icon"><img src="./img/xyzprobe/ztouch.png" /></span>OpenBuilds Z Touch Plate</a>
<a class="button" id="context_toggle"><span id="probetypebtn"><span class="icon"><img src="./img/xyzprobe/xyztouch.png" /></span> OpenBuilds XYZ Probe</a>
<ul class="d-menu context" data-role="dropdown" data-toggle-element="#context_toggle">
<li onclick="probetype('xyz');"><a href="#"><span class="icon"><img src="./img/xyzprobe/xyztouch.png" /></span> OpenBuilds XYZ Probe</a></li>
<li onclick="probetype('z');"><a href="#"><span class="icon"><img src="./img/xyzprobe/ztouch.png" /></span>OpenBuilds Z Touch Plate</a></li>

Wyświetl plik

@ -50,7 +50,6 @@ function grblSettings(data) {
// $('#grblFirmwareBtn').removeAttr('disabled');
$('#grblSettings').show()
$('.grblCalibrationMenu').removeClass("disabled")
$('.grblProbeMenu').removeClass("disabled")
if (grblParams['$22'] == 1) {
@ -417,7 +416,8 @@ function grblSaveSettings() {
console.log("commands", commands)
socket.emit('runJob', {
data: commands,
isJob: false
isJob: false,
fileName: ""
});
grblParams = {};

Wyświetl plik

@ -521,7 +521,8 @@ $(document).ready(function() {
}
socket.emit('runJob', {
data: moves,
isJob: false
isJob: false,
fileName: ""
});
});

Wyświetl plik

@ -67,19 +67,17 @@ function bindKeys() {
// Bind for Electron Devtools
document.addEventListener('keydown', function(evt) {
if (evt.which === 123) {
try {
var focusedWindow = require('electron').remote.getCurrentWindow();
if (focusedWindow.isDevToolsOpened()) {
focusedWindow.closeDevTools();
} else {
focusedWindow.openDevTools();
}
} catch (error) {
console.warn(error);
}
} else if (evt.which === 116) {
if (evt.which === 116) {
// F5 - reload interface
location.reload();
} else if (evt.which === 117) {
// F6 - switch to serial console and focus on Console Input
$("#controlTab").click();
$("#consoletab").click();
$("#command").focus();
} else if (evt.which === 112) {
// F1 - troubleshooting
$("#troubleshootingTab").click();
}
});
@ -301,7 +299,8 @@ function bindKeys() {
if (laststatus.comms.connectionStatus == 1 || laststatus.comms.connectionStatus == 2) {
socket.emit('runJob', {
data: editor.getValue(),
isJob: true
isJob: true,
fileName: ""
});
} else if (laststatus.comms.connectionStatus == 3) {
socket.emit('pause', true);
@ -418,7 +417,9 @@ function keyboardShortcutsEditor() {
<input type="text" class="keyboardshortcutinput" readonly id="stepPnewKey" value="` + keyboardShortcuts.stepP + `" onclick="$('.keyboardshortcutinput').removeClass('alert').removeClass('newKeyAssignment'); $('#stepPnewKey').addClass('alert').addClass('newKeyAssignment')">
</div>
</div>
</form>
</div>`
Metro.dialog.create({

Wyświetl plik

@ -1,7 +1,32 @@
var gcode;
var loadedFileName = "";
var editor;
var isJogWidget = false;
function setWindowTitle(status) {
var string = "OpenBuilds CONTROL"
if (status) {
string += " v" + status.driver.version
} else {
string += " v" + laststatus.driver.version
}
if (loadedFileName.length > 0) {
string += " / " + loadedFileName
}
if (!nostatusyet && laststatus.comms.interfaces.activePort) {
string += " / connected to " + laststatus.comms.interfaces.activePort
}
$('#windowtitle').html(string)
}
function getChangelog() {
$("#changelog").empty()
var template2 = `<ul>`
@ -31,7 +56,6 @@ function getChangelog() {
$(document).ready(function() {
initDiagnostics(); // run second time to ensure checkboxes are ticked
if (!isJogWidget) {
@ -107,6 +131,10 @@ $(document).ready(function() {
$('#splash').fadeOut(500);
}, 100)
setInterval(function() {
setWindowTitle();
}, 1000)
});
@ -135,6 +163,8 @@ function loadFile(f) {
r.readAsText(f);
r.onload = function(event) {
editor.session.setValue(this.result);
loadedFileName = f.name;
setWindowTitle()
if (webgl) {
printLog('<span class="fg-red">[ GCODE Parser ]</span><span class="fg-green"> GCODE File Loaded, please wait while we render a preview... </span>');
} else {

Wyświetl plik

@ -41,9 +41,6 @@ $(document).ready(function() {
console.log("Enabling XYZ Probing")
$(".needsXYZProbe").show()
}
} else {
console.log("Disabling XYZ Probing")
$(".needsXYZProbe").hide()
}
});
@ -73,11 +70,10 @@ function openProbeDialog() {
}, 100)
}
} else {
probetype("z")
setTimeout(function() {
probezplatetab()
probexyztab()
$(".probetabxyz").removeClass("active")
$("#probezplatetab").addClass("active")
$("#probexyztab").addClass("active")
}, 100)
}
}
@ -100,8 +96,11 @@ function openProbeXDialog() {
}, 100)
}
} else {
probetype("z");
// error - needs XYZ probe
setTimeout(function() {
probextab()
$(".probetabxyz").removeClass("active")
$("#probextab").addClass("active")
}, 100)
}
}
@ -123,8 +122,11 @@ function openProbeYDialog() {
}, 100)
}
} else {
probetype("z");
// error - needs XYZ probe
setTimeout(function() {
probeytab()
$(".probetabxyz").removeClass("active")
$("#probeytab").addClass("active")
}, 100)
}
}
@ -146,8 +148,11 @@ function openProbeZDialog() {
}, 100)
}
} else {
probetype("z");
// error - needs XYZ probe
setTimeout(function() {
probeztab()
$(".probetabxyz").removeClass("active")
$("#probeztab").addClass("active")
}, 100)
}
}
@ -457,7 +462,8 @@ function runProbeNew() {
socket.emit('runJob', {
data: xmacro,
isJob: false,
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... "
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... ",
fileName: ""
});
}
@ -480,7 +486,8 @@ function runProbeNew() {
socket.emit('runJob', {
data: ymacro,
isJob: false,
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... "
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... ",
fileName: ""
});
}
@ -504,7 +511,8 @@ function runProbeNew() {
socket.emit('runJob', {
data: zmacro,
isJob: false,
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... "
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... ",
fileName: ""
});
}
@ -531,7 +539,8 @@ function runProbeNew() {
socket.emit('runJob', {
data: zmacro,
isJob: false,
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... "
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... ",
fileName: ""
});
}
@ -561,7 +570,7 @@ function runProbeNew() {
G10 P1 L20 X` + xoffset + ` ; set X as offset and half endmill diameter
G0 X` + (xoffset - 2).toFixed(3) + `
G0 Z` + (zoffset + 5) + ` ; retract
; Probe Y
G0 X15 Y-20 ; position to front side and move right a little to be closer to center of edge
G0 Z0 ; drop down to be next to plate
@ -583,7 +592,8 @@ function runProbeNew() {
socket.emit('runJob', {
data: xyzmacro,
isJob: false,
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... "
completedMsg: "Probe Complete: Remove the Probe Clip and Probe Plate before continuing... ",
fileName: ""
});
}

Wyświetl plik

@ -117,7 +117,8 @@ function runGcodeSection(startline, endline) {
console.log(newGcodeString)
socket.emit('runJob', {
data: newGcodeString,
isJob: true
isJob: true,
fileName: ""
});
}

Wyświetl plik

@ -122,6 +122,7 @@ function setControlBar(val, status) {
$('#runToolsBtn').hide().attr('disabled', true);
$('#runBtn').hide().attr('disabled', true);
}
$('#grblProbeMenu').show().attr('disabled', true);
$('#chkSize').show().attr('disabled', true);
$('#resumeBtn').hide().attr('disabled', true);
$('#pauseBtn').hide().attr('disabled', true);
@ -135,9 +136,9 @@ function setControlBar(val, status) {
$('#homeBtn').hide().attr('disabled', true);
}
}
$('.estop').hide()
} else if (val == 1 || val == 2) { // Connected, but not Playing yet
$('#grblProbeMenu').show().attr('disabled', false);
if (typeof ace !== 'undefined') {
if (toolchanges.length) {
$('#runToolsBtn').show().attr('disabled', editor.session.getLength() < 2);
@ -176,6 +177,8 @@ function setControlBar(val, status) {
}
$('.estop').show()
} else if (val == 3) { // Busy Streaming GCODE
$('#grblProbeMenu').show().attr('disabled', true);
if (toolchanges.length) {
$('#runToolsBtn').hide().attr('disabled', true);
$('#runBtn').hide().attr('disabled', true);
@ -198,6 +201,8 @@ function setControlBar(val, status) {
}
$('.estop').show()
} else if (val == 4) { // Paused
$('#grblProbeMenu').show().attr('disabled', true);
if (toolchanges.length) {
$('#runToolsBtn').hide().attr('disabled', true);
$('#runBtn').hide().attr('disabled', true);
@ -220,6 +225,8 @@ function setControlBar(val, status) {
}
$('.estop').show()
} else if (val == 5) { // Alarm State
$('#grblProbeMenu').show().attr('disabled', true);
if (toolchanges.length) {
$('#runToolsBtn').show().attr('disabled', true);
$('#runBtn').hide().attr('disabled', true);
@ -243,6 +250,8 @@ function setControlBar(val, status) {
}
$('.estop').show()
} else if (val == 6) { // Firmware Upgrade State
$('#grblProbeMenu').show().attr('disabled', true);
if (toolchanges.length) {
$('#runToolsBtn').hide().attr('disabled', true);
$('#runBtn').hide().attr('disabled', true);

Wyświetl plik

@ -78,8 +78,10 @@ function initSocket() {
socket.on('gcodeupload', function(data) {
printLog("Received new GCODE from API")
editor.session.setValue(data);
parseGcodeInWebWorker(data)
editor.session.setValue(data.gcode);
loadedFileName = data.filename;
setWindowTitle()
parseGcodeInWebWorker(data.gcode)
$('#controlTab').click()
if (webgl) {
$('#gcodeviewertab').click();
@ -299,7 +301,8 @@ function initSocket() {
socket.on('status', function(status) {
if (nostatusyet) {
$('#windowtitle').html("OpenBuilds CONTROL v" + status.driver.version)
// $('#windowtitle').html("OpenBuilds CONTROL v" + status.driver.version)
setWindowTitle(status)
if (status.driver.operatingsystem == "rpi") {
$('#windowtitlebar').hide();
}

Wyświetl plik

@ -172,7 +172,7 @@ if (isElectron()) {
// repeat every minute
setTimeout(function() {
io.sockets.emit('updateready', availversion);
}, 15 * 60 * 1000) // 15 mins
}, 60 * 60 * 1000) // 60 mins
updateIsDownloading = false;
});
} else {
@ -1682,7 +1682,11 @@ function readFile(path) {
} = require('electron')
shell.openExternal('https://cam.openbuilds.com')
} else { // GCODE
io.sockets.emit('gcodeupload', data);
var payload = {
gcode: data,
filename: path
}
io.sockets.emit('gcodeupload', payload);
uploadedgcode = data;
return data
}
@ -2166,9 +2170,18 @@ if (isElectron()) {
electronApp.on('second-instance', (event, commandLine, workingDirectory) => {
//Someone tried to run a second instance, we should focus our window.
// debug_log('SingleInstance')
// debug_log(commandLine)
function checkFileType(fileName) {
var fileNameLC = fileName.toLowerCase();
if (fileNameLC.endsWith('.obc') || fileName.endsWith('.gcode') || fileName.endsWith('.gc') || fileName.endsWith('.tap') || fileName.endsWith('.nc') || fileName.endsWith('.cnc')) {
return fileName;
}
}
debug_log(commandLine)
lauchGUI = true;
var openFilePath = commandLine[1];
var openFilePath = commandLine.find(checkFileType);
if (openFilePath !== "") {
readFile(openFilePath);
if (openFilePath !== undefined) {

Wyświetl plik

@ -1,6 +1,6 @@
{
"name": "OpenBuildsCONTROL",
"version": "1.0.219-internal-test",
"version": "1.0.220",
"license": "AGPL-3.0",
"description": "Machine Interface Driver for OpenBuilds",
"author": "github.com/openbuilds <webmaster@openbuilds.com>",