kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
Post API
rodzic
97a237db38
commit
36beaa9e74
|
@ -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>
|
||||
|
|
|
@ -74,51 +74,51 @@ function grblPopulate() {
|
|||
<td>Step pulse invert</td>
|
||||
<td>
|
||||
<select id="val-` + 2 + `-input" value="` + grblParams['$2'] + `">
|
||||
<option value="0">X: Y: Z:</option>
|
||||
<option value="1">X: Y: Z:</option>
|
||||
<option value="2">X: Y: Z:</option>
|
||||
<option value="4">X: Y: Z:</option>
|
||||
<option value="3">X: Y: Z:</option>
|
||||
<option value="5">X: Y: Z:</option>
|
||||
<option value="6">X: Y: Z:</option>
|
||||
<option value="7">X: Y: Z:</option>
|
||||
<option value="0">X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">X:⚪ Y:⚫ Z:⚪</option>
|
||||
<option value="4">X:⚪ Y:⚪ Z:⚫</option>
|
||||
<option value="3">X:⚫ Y:⚫ Z:⚪</option>
|
||||
<option value="5">X:⚫ Y:⚪ Z:⚫</option>
|
||||
<option value="6">X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">X:⚫ Y:⚫ Z:⚫</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: Y: Z:</option>
|
||||
<option value="1">X: Y: Z:</option>
|
||||
<option value="2">X: Y: Z:</option>
|
||||
<option value="4">X: Y: Z:</option>
|
||||
<option value="3">X: Y: Z:</option>
|
||||
<option value="5">X: Y: Z:</option>
|
||||
<option value="6">X: Y: Z:</option>
|
||||
<option value="7">X: Y: Z:</option>
|
||||
<option value="0">X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">X:⚪ Y:⚫ Z:⚪</option>
|
||||
<option value="4">X:⚪ Y:⚪ Z:⚫</option>
|
||||
<option value="3">X:⚫ Y:⚫ Z:⚪</option>
|
||||
<option value="5">X:⚫ Y:⚪ Z:⚫</option>
|
||||
<option value="6">X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">X:⚫ Y:⚫ Z:⚫</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"> Disable</option><option value="1"> 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"> Disable</option><option value="1"> 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"> Disable</option><option value="1"> 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">✗ Disable</option><option value="1">✓ 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">✗ Disable</option><option value="1">✓ 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">✗ Disable</option><option value="1">✓ 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: MPos: Buf:</option>
|
||||
<option value="1">WPos: MPos: Buf:</option>
|
||||
<option value="2">WPos: MPos: Buf:</option>
|
||||
<option value="0">WPos:⚫ MPos:⚪ Buf:⚪</option>
|
||||
<option value="1">WPos:⚪ MPos:⚫ Buf:⚪</option>
|
||||
<option value="2">WPos:⚫ MPos:⚪ Buf:⚫</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"> Disable</option><option value="1"> 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">⚪ Disable</option><option value="1">⚫ 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"> Disable</option><option value="1"> 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"> Disable</option><option value="1"> 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"> Disable</option><option value="1"> 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">✗ Disable</option><option value="1">✓ 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">✗ Disable</option><option value="1">✓ 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">✗ Disable</option><option value="1">✓ 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: Y: Z:</option>
|
||||
<option value="1">X: Y: Z:</option>
|
||||
<option value="2">X: Y: Z:</option>
|
||||
<option value="4">X: Y: Z:</option>
|
||||
<option value="3">X: Y: Z:</option>
|
||||
<option value="5">X: Y: Z:</option>
|
||||
<option value="6">X: Y: Z:</option>
|
||||
<option value="7">X: Y: Z:</option>
|
||||
<option value="0">X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">X:⚪ Y:⚫ Z:⚪</option>
|
||||
<option value="4">X:⚪ Y:⚪ Z:⚫</option>
|
||||
<option value="3">X:⚫ Y:⚫ Z:⚪</option>
|
||||
<option value="5">X:⚫ Y:⚪ Z:⚫</option>
|
||||
<option value="6">X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">X:⚫ Y:⚫ Z:⚫</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"> Disable</option><option value="1"> 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">✗ Disable</option><option value="1">✓ 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>
|
||||
|
|
|
@ -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;
|
||||
|
|
61
index.js
61
index.js
|
@ -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() {
|
||||
|
|
|
@ -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",
|
||||
|
|
Ładowanie…
Reference in New Issue