pull/110/head
openbuilds-engineer 2018-06-29 21:48:34 +02:00
rodzic 97a237db38
commit 36beaa9e74
5 zmienionych plików z 93 dodań i 57 usunięć

Wyświetl plik

@ -472,12 +472,12 @@
</table>
</div>
<div class="cell" id="frocell">
<input id="fro" data-on-stop="feedOverride(arguments[0])" data-role="slider" data-vertical="true" data-size="160" data-accuracy="10" data-min="-50" data-max="200" data-value="100" data-hint="true" data-hint-always="true" data-hint-position="bottom" data-hint-mask="Feed: $1%"
<input id="fro" data-on-stop="feedOverride(arguments[0])" data-role="slider" data-vertical="true" data-size="170" data-accuracy="10" data-min="-50" data-max="200" data-value="100" data-hint="true" data-hint-always="true" data-hint-position="bottom" data-hint-mask="Feed: $1%"
data-cls-hint="bg-light
fg-dark shadow-1" data-cls-complete="bg-grayBlue">
</div>
<div class="cell" id="trocell">
<input id="tro" data-on-stop="spindleOverride(arguments[0])" data-role="slider" data-vertical="true" data-size="160" data-accuracy="10" data-min="-50" data-max="200" data-value="100" data-hint="true" data-hint-always="true" data-hint-position="bottom"
<input id="tro" data-on-stop="spindleOverride(arguments[0])" data-role="slider" data-vertical="true" data-size="170" data-accuracy="10" data-min="-50" data-max="200" data-value="100" data-hint="true" data-hint-always="true" data-hint-position="bottom"
data-hint-mask="Tool: $1%" data-cls-hint="bg-light
fg-dark shadow-1" data-cls-complete="bg-grayBlue">
</div>

Wyświetl plik

@ -74,51 +74,51 @@ function grblPopulate() {
<td>Step pulse invert</td>
<td>
<select id="val-` + 2 + `-input" value="` + grblParams['$2'] + `">
<option value="0">X:&#xf10c Y:&#xf10c Z:&#xf10c</option>
<option value="1">X:&#xf111 Y:&#xf10c Z:&#xf10c</option>
<option value="2">X:&#xf10c Y:&#xf111 Z:&#xf10c</option>
<option value="4">X:&#xf10c Y:&#xf10c Z:&#xf111</option>
<option value="3">X:&#xf111 Y:&#xf111 Z:&#xf10c</option>
<option value="5">X:&#xf111 Y:&#xf10c Z:&#xf111</option>
<option value="6">X:&#xf10c Y:&#xf111 Z:&#xf111</option>
<option value="7">X:&#xf111 Y:&#xf111 Z:&#xf111</option>
<option value="0">X:&#9898; Y:&#9898; Z:&#9898;</option>
<option value="1">X:&#9899; Y:&#9898; Z:&#9898;</option>
<option value="2">X:&#9898; Y:&#9899; Z:&#9898;</option>
<option value="4">X:&#9898; Y:&#9898; Z:&#9899;</option>
<option value="3">X:&#9899; Y:&#9899; Z:&#9898;</option>
<option value="5">X:&#9899; Y:&#9898; Z:&#9899;</option>
<option value="6">X:&#9898; Y:&#9899; Z:&#9899;</option>
<option value="7">X:&#9899; Y:&#9899; Z:&#9899;</option>
</select>
</td>
</tr>
<tr><td>$</td><td>3</td><td>Step direction invert</td><td><select id="val-` + 3 + `-input" value="` + grblParams['$3'] + `">
<option value="0">X:&#xf10c Y:&#xf10c Z:&#xf10c</option>
<option value="1">X:&#xf111 Y:&#xf10c Z:&#xf10c</option>
<option value="2">X:&#xf10c Y:&#xf111 Z:&#xf10c</option>
<option value="4">X:&#xf10c Y:&#xf10c Z:&#xf111</option>
<option value="3">X:&#xf111 Y:&#xf111 Z:&#xf10c</option>
<option value="5">X:&#xf111 Y:&#xf10c Z:&#xf111</option>
<option value="6">X:&#xf10c Y:&#xf111 Z:&#xf111</option>
<option value="7">X:&#xf111 Y:&#xf111 Z:&#xf111</option>
<option value="0">X:&#9898; Y:&#9898; Z:&#9898;</option>
<option value="1">X:&#9899; Y:&#9898; Z:&#9898;</option>
<option value="2">X:&#9898; Y:&#9899; Z:&#9898;</option>
<option value="4">X:&#9898; Y:&#9898; Z:&#9899;</option>
<option value="3">X:&#9899; Y:&#9899; Z:&#9898;</option>
<option value="5">X:&#9899; Y:&#9898; Z:&#9899;</option>
<option value="6">X:&#9898; Y:&#9899; Z:&#9899;</option>
<option value="7">X:&#9899; Y:&#9899; Z:&#9899;</option>
</select></td></tr>
<tr><td>$</td><td>4</td><td>Invert step enable pin</td><td><select id="val-` + 4 + `-input" value="` + grblParams['$4'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>5</td><td>Invert limit pins</td><td><select id="val-` + 5 + `-input" value="` + grblParams['$5'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>6</td><td>Invert probe pin</td><td><select id="val-` + 6 + `-input" value="` + grblParams['$6'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>4</td><td>Invert step enable pin</td><td><select id="val-` + 4 + `-input" value="` + grblParams['$4'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>5</td><td>Invert limit pins</td><td><select id="val-` + 5 + `-input" value="` + grblParams['$5'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>6</td><td>Invert probe pin</td><td><select id="val-` + 6 + `-input" value="` + grblParams['$6'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>10</td><td>Status report options</td><td><select id="val-` + 10 + `-input" value="` + grblParams['$10'] + `">
<option value="0">WPos:&#xf111 MPos:&#xf10c Buf:&#xf10c</option>
<option value="1">WPos:&#xf10c MPos:&#xf111 Buf:&#xf10c</option>
<option value="2">WPos:&#xf111 MPos:&#xf10c Buf:&#xf111</option>
<option value="0">WPos:&#9899; MPos:&#9898; Buf:&#9898;</option>
<option value="1">WPos:&#9898; MPos:&#9899; Buf:&#9898;</option>
<option value="2">WPos:&#9899; MPos:&#9898; Buf:&#9899;</option>
</select></td></tr>
<tr><td>$</td><td>11</td><td>Junction deviation, millimeters</td><td><input type="text" value="` + grblParams['$11'] + `" id="val-` + 11 + `-input"></td></tr>
<tr><td>$</td><td>12</td><td>Arc tolerance, millimeters</td><td><input type="text" value="` + grblParams['$12'] + `" id="val-` + 12 + `-input"></td></tr>
<tr><td>$</td><td>13</td><td>Report in inches</td><td><select id="val-` + 13 + `-input" value="` + grblParams['$13'] + `"><option value="0">&#xf10c Disable</option><option value="1">&#xf111 Enable</option></select></td></tr>
<tr><td>$</td><td>13</td><td>Report in inches</td><td><select id="val-` + 13 + `-input" value="` + grblParams['$13'] + `"><option value="0">&#9898; Disable</option><option value="1">&#9899; Enable</option></select></td></tr>
<tr><td>$</td><td>20</td><td>Soft limits enable <small>(Enable and Save Homing first before enabling)<small></td><td><select id="val-` + 20 + `-input" value="` + grblParams['$20'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>21</td><td>Hard limits enable</td><td><select id="val-` + 21 + `-input" value="` + grblParams['$21'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>22</td><td>Homing cycle enable</td><td><select id="val-` + 22 + `-input" value="` + grblParams['$22'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>20</td><td>Soft limits enable <small>(Enable and Save Homing first before enabling)<small></td><td><select id="val-` + 20 + `-input" value="` + grblParams['$20'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>21</td><td>Hard limits enable</td><td><select id="val-` + 21 + `-input" value="` + grblParams['$21'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>22</td><td>Homing cycle enable</td><td><select id="val-` + 22 + `-input" value="` + grblParams['$22'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>23</td><td>Homing direction invert</td><td><select id="val-` + 23 + `-input" value="` + grblParams['$23'] + `">
<option value="0">X:&#xf10c Y:&#xf10c Z:&#xf10c</option>
<option value="1">X:&#xf111 Y:&#xf10c Z:&#xf10c</option>
<option value="2">X:&#xf10c Y:&#xf111 Z:&#xf10c</option>
<option value="4">X:&#xf10c Y:&#xf10c Z:&#xf111</option>
<option value="3">X:&#xf111 Y:&#xf111 Z:&#xf10c</option>
<option value="5">X:&#xf111 Y:&#xf10c Z:&#xf111</option>
<option value="6">X:&#xf10c Y:&#xf111 Z:&#xf111</option>
<option value="7">X:&#xf111 Y:&#xf111 Z:&#xf111</option>
<option value="0">X:&#9898; Y:&#9898; Z:&#9898;</option>
<option value="1">X:&#9899; Y:&#9898; Z:&#9898;</option>
<option value="2">X:&#9898; Y:&#9899; Z:&#9898;</option>
<option value="4">X:&#9898; Y:&#9898; Z:&#9899;</option>
<option value="3">X:&#9899; Y:&#9899; Z:&#9898;</option>
<option value="5">X:&#9899; Y:&#9898; Z:&#9899;</option>
<option value="6">X:&#9898; Y:&#9899; Z:&#9899;</option>
<option value="7">X:&#9899; Y:&#9899; Z:&#9899;</option>
</select></td></tr>
<tr><td>$</td><td>24</td><td>Homing locate feed rate, mm/min</td><td><input type="text" value="` + grblParams['$24'] + `" id="val-` + 24 + `-input"></td></tr>
<tr><td>$</td><td>25</td><td>Homing search seek rate, mm/min</td><td><input type="text" value="` + grblParams['$25'] + `" id="val-` + 25 + `-input"></td></tr>
@ -127,7 +127,7 @@ function grblPopulate() {
<tr><td>$</td><td>30</td><td>Maximum spindle speed, RPM</td><td><input type="text" value="` + grblParams['$30'] + `" id="val-` + 30 + `-input"></td></tr>
<tr><td>$</td><td>31</td><td>Minimum spindle speed, RPM</td><td><input type="text" value="` + grblParams['$31'] + `" id="val-` + 31 + `-input"></td></tr>
<tr><td>$</td><td>32</td><td>Laser-mode enable</td><td><select id="val-` + 32 + `-input" value="` + grblParams['$32'] + `"><option value="0">&#xf00d Disable</option><option value="1">&#xf00c Enable</option></select></td></tr>
<tr><td>$</td><td>32</td><td>Laser-mode enable</td><td><select id="val-` + 32 + `-input" value="` + grblParams['$32'] + `"><option value="0">&#x2717; Disable</option><option value="1">&#x2713; Enable</option></select></td></tr>
<tr><td>$</td><td>100</td><td>X-axis steps per millimeter</td><td><input type="text" value="` + grblParams['$100'] + `" id="val-` + 100 + `-input"></td></tr>
<tr><td>$</td><td>101</td><td>Y-axis steps per millimeter</td><td><input type="text" value="` + grblParams['$101'] + `" id="val-` + 101 + `-input"></td></tr>
@ -138,7 +138,7 @@ function grblPopulate() {
<tr><td>$</td><td>112</td><td>Z-axis maximum rate, mm/min</td><td><input type="text" value="` + grblParams['$112'] + `" id="val-` + 112 + `-input"></td></tr>
<tr><td>$</td><td>120</td><td>X-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$120'] + `" id="val-` + 120 + `-input"></td></tr>
<tr><td>$</td><td>121</td><td>Y-axis acceleration, mm/sec<sup>2</sup>]</td><td><input type="text" value="` + grblParams['$121'] + `" id="val-` + 121 + `-input"></td></tr>
<tr><td>$</td><td>121</td><td>Y-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$121'] + `" id="val-` + 121 + `-input"></td></tr>
<tr><td>$</td><td>122</td><td>Z-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$122'] + `" id="val-` + 122 + `-input"></td></td></tr>
<tr><td>$</td><td>130</td><td>X-axis maximum travel, millimeters</td><td><input type="text" value="` + grblParams['$130'] + `" id="val-` + 130 + `-input"></td></tr>

Wyświetl plik

@ -41,7 +41,7 @@ function printLog(string) {
var template = '<p class="pf">';
var time = new Date();
template += '<span class="fg-brandColor1">[' + time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds() + ']</span> ';
template += '<span class="fg-brandColor1">[' + (time.getHours() < 10 ? '0' : '') + time.getHours() + ":" + (time.getMinutes() < 10 ? '0' : '') + time.getMinutes() + ":" + (time.getSeconds() < 10 ? '0' : '') + time.getSeconds() + ']</span> ';
template += string;
$('#console').append(template);
$('#console').scrollTop($("#console")[0].scrollHeight - $("#console").height());
@ -60,6 +60,15 @@ function initSocket() {
printLog("Websocket Disconnected. Driver probably quit or crashed")
});
socket.on('gcodeupload', function(data) {
printLog("Received new GCODE from API")
editor.session.setValue(data);
});
socket.on('data', function(data) {
// console.log(data.length, data)
var toPrint = data.response;

Wyświetl plik

@ -299,8 +299,10 @@ app.use(express.static(path.join(__dirname, "app")));
// JSON API
app.get('/api/version', (req, res) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
data = {
"application": "OpenBuilds Machine Driver",
"application": "OMD",
"version": require('./package').version,
"ipaddress": ip.address() + ":" + config.webPort
}
@ -308,11 +310,15 @@ app.get('/api/version', (req, res) => {
})
app.get('/upload', (req, res) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.sendFile(__dirname + '/app/upload.html');
})
// File Post
app.post('/upload', function(req, res) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// console.log(req)
uploadprogress = 0
var form = new formidable.IncomingForm();
@ -343,21 +349,10 @@ app.post('/upload', function(req, res) {
// form.parse(req);
form.parse(req, function(err, fields, files) {
console.log(util.inspect({
fields: fields,
files: files
}));
// runpycam(files.file.path)
console.log("Done, now lets work with " + files.file.path)
fs.readFile(files.file.path, 'utf8',
function(err, data) {
if (err) {
console.log(err);
process.exit(1);
}
// GCODE FILE CONTENT
console.log(data);
});
// console.log(util.inspect({
// fields: fields,
// files: files
// }));
});
// form.on('fileBegin', function(name, file) {
@ -377,8 +372,40 @@ app.post('/upload', function(req, res) {
form.on('file', function(name, file) {
// Emitted whenever a field / file pair has been received. file is an instance of File.
console.log('Uploaded ' + file.path);
// console.log('Uploaded ' + file.path);
// io.sockets.in('sessionId').emit('doneupload', 'COMPLETE');
if (jogWindow === null) {
createJogWindow();
jogWindow.show()
jogWindow.focus();
jogWindow.once('did-finish-load', () => {
// Send Message
})
} else {
jogWindow.show()
jogWindow.focus();
}
// console.log("Done, now lets work with " + file.path)
setTimeout(function() {
fs.readFile(file.path, 'utf8',
function(err, data) {
if (err) {
console.log(err);
process.exit(1);
}
// GCODE FILE CONTENT
// console.log(data);
io.sockets.emit('gcodeupload', data);
});
appIcon.displayBalloon({
icon: nativeImage.createFromPath(iconPath),
title: "GCODE Received",
content: "OpenBuilds Machine Driver received new GCODE"
})
}, 1000);
});
form.on('aborted', function() {

Wyświetl plik

@ -1,6 +1,6 @@
{
"name": "OpenBuildsMachineDriver",
"version": "1.0.11",
"version": "1.0.13",
"license": "AGPL-3.0",
"description": "Machine Interface Driver for OpenBuilds",
"author": "github.com/openbuilds",