mirror of
https://github.com/Doodle3D/Doodle3D-Slicer.git
synced 2024-12-23 11:33:49 +01:00
fixed some problems with communication
updated communication shell see http://www.doodle3d.com/help/api-documentation
This commit is contained in:
parent
33576ad45b
commit
69e5534d0d
156
build/d3d.js
vendored
156
build/d3d.js
vendored
@ -1,7 +1,7 @@
|
||||
/******************************************************
|
||||
*
|
||||
* Utils
|
||||
* requires jQuery, Three.js
|
||||
* requires jQuery, Three.js, Clipper.js
|
||||
*
|
||||
******************************************************/
|
||||
|
||||
@ -147,6 +147,8 @@ var requestAnimFrame = (function () {
|
||||
* Box
|
||||
* Representation of de Doodle3DBox
|
||||
* Handles all communication with the doodle box
|
||||
* JavaScript shell for api communication
|
||||
* Check http://www.doodle3d.com/help/api-documentation
|
||||
*
|
||||
******************************************************/
|
||||
|
||||
@ -237,12 +239,12 @@ D3D.Box.prototype.printBatch = function () {
|
||||
var gcode = this.printBatches.shift();
|
||||
|
||||
sendAPI(this.api + "printer/print", {
|
||||
"start": ((this.currentBatch === 0) ? "true" : "false"),
|
||||
"first": ((this.currentBatch === 0) ? "true" : "false"),
|
||||
"start": ((this.currentBatch === 0) ? true : false),
|
||||
"first": ((this.currentBatch === 0) ? true : false),
|
||||
"gcode": gcode.join("\n")
|
||||
}, function (data) {
|
||||
|
||||
console.log("batch sent: " + self.currentBatch, data);
|
||||
|
||||
if (self.printBatches.length > 0) {
|
||||
//sent new batch
|
||||
self.currentBatch ++;
|
||||
@ -254,7 +256,7 @@ D3D.Box.prototype.printBatch = function () {
|
||||
self.updateState();
|
||||
});
|
||||
};
|
||||
D3D.Box.prototype.stop = function () {
|
||||
D3D.Box.prototype.stopPrint = function () {
|
||||
"use strict";
|
||||
|
||||
this.printBatches = [];
|
||||
@ -275,140 +277,160 @@ D3D.Box.prototype.stop = function () {
|
||||
|
||||
sendAPI(this.api + "printer/stop", {
|
||||
"gcode": finishMove.join("\n")
|
||||
//"gcode": {}
|
||||
}, function (data) {
|
||||
console.log("Printer stop command sent");
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setConfig = function (data) {
|
||||
D3D.Box.prototype.setConfig = function (data, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "config", data);
|
||||
sendAPI(this.api + "config", data, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getInfoLog = function (callback) {
|
||||
D3D.Box.prototype.getInfo = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "info/logfiles", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "info", callback);
|
||||
};
|
||||
D3D.Box.prototype.downloadInfoLog = function (callback) {
|
||||
//works in google chrome... not tested in other browsers
|
||||
//some browsers may redirect using this code
|
||||
"use strict";
|
||||
|
||||
return this;
|
||||
window.location = this.api + "info/logfiles";
|
||||
};
|
||||
D3D.Box.prototype.getInfoAcces = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "info/acces", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "info/access", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetwerkScan = function (callback) {
|
||||
D3D.Box.prototype.getNetworkScan = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "network/scan", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/scan", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkKnown = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "network/known", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/known", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkStatus = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "network/status", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/status", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkAssosiate = function (data) {
|
||||
D3D.Box.prototype.setNetworkAssosiate = function (data, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(self.api + "network/assosiate", data);
|
||||
sendAPI(this.api + "network/associate", data, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkDisassosiate = function (data) {
|
||||
D3D.Box.prototype.setNetworkDisassosiate = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(self.api + "network/displayassosiate", data);
|
||||
sendAPI(this.api + "network/disassociate", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkOpenap = function (data) {
|
||||
D3D.Box.prototype.setNetworkOpenAP = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(self.api + "network/openap", data);
|
||||
sendAPI(this.api + "network/openap", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkRemove = function (ssid) {
|
||||
D3D.Box.prototype.setNetworkRemove = function (ssid, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(self.api + "network/displayassosiate", {ssid: ssid});
|
||||
sendAPI(this.api + "network/remove", {
|
||||
ssid: ssid
|
||||
}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkAlive = function (callback) {
|
||||
//works but returns empty array
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "network/alive", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/alive", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getPrinterListAll = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "printer/listall", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "printer/listall", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setPrinterHeatup = function (data) {
|
||||
D3D.Box.prototype.setPrinterHeatup = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(self.api + "printer/heatup", data);
|
||||
sendAPI(this.api + "printer/heatup", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getVersion = function (data) {
|
||||
D3D.Box.prototype.getSystemVersions = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(self.api + "system/fwversion", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "system/fwversions", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getUpdateStatus = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "update/status", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateDownload = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/download", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateInstall = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/install", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateClear = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/clear", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
@ -499,7 +521,11 @@ D3D.Slicer = function () {
|
||||
D3D.Slicer.prototype.setGeometry = function (geometry) {
|
||||
"use strict";
|
||||
|
||||
this.geometry = geometry;
|
||||
if (geometry instanceof THREE.BufferGeometry) {
|
||||
geometry = new THREE.Geometry().fromBufferGeometry(geometry);
|
||||
}
|
||||
|
||||
this.geometry = geometry.clone();
|
||||
this.geometry.mergeVertices();
|
||||
|
||||
this.createLines();
|
||||
@ -909,11 +935,11 @@ D3D.Slicer.prototype.drawPaths = function (printer, min, max) {
|
||||
for (var i = 0; i < paths.length; i ++) {
|
||||
var path = paths[i];
|
||||
|
||||
context.moveTo((path[0].X- 100) * 6.0 + 200, (path[0].Y- 100) * 6.0 + 200);
|
||||
context.moveTo((path[0].X * 2), (path[0].Y * 2));
|
||||
|
||||
for (var j = 0; j < path.length; j ++) {
|
||||
var point = path[j];
|
||||
context.lineTo((point.X- 100) * 6.0 + 200, (point.Y- 100) * 6.0 + 200);
|
||||
context.lineTo((point.X * 2), (point.Y * 2));
|
||||
}
|
||||
//context.closePath();
|
||||
}
|
||||
|
2
build/d3d.min.js
vendored
2
build/d3d.min.js
vendored
File diff suppressed because one or more lines are too long
19
index.html
19
index.html
@ -23,19 +23,23 @@ $(document).ready(function () {
|
||||
listDoodle.append("<li><a href='doodle.html#192.168.5.1'>Wired Printer</a></li>");
|
||||
listSliceTest.append("<li><a href='slice_test.html#192.168.5.1'>Wired Printer</a></li>");
|
||||
|
||||
/*printers.push({
|
||||
/*
|
||||
printers.push({
|
||||
name: "wired box",
|
||||
d3dbox: new D3D.Box("192.168.5.1")
|
||||
});*/
|
||||
});
|
||||
*/
|
||||
|
||||
getAPI(api + "list.php", function (boxes) {
|
||||
for (var i = 0; i < boxes.length; i ++) {
|
||||
var box = boxes[i];
|
||||
|
||||
/*printers.push({
|
||||
/*
|
||||
printers.push({
|
||||
name: box.wifiboxid,
|
||||
d3dbox: new D3D.Box(box.localip)
|
||||
});*/
|
||||
});
|
||||
*/
|
||||
|
||||
listDoodle.append("<li><a href='doodle.html#" + box.localip + "'>" + box.wifiboxid + "</a></li>");
|
||||
listSliceTest.append("<li><a href='slice_test.html#" + box.localip + "'>" + box.wifiboxid + "</a></li>");
|
||||
@ -49,7 +53,8 @@ $(document).ready(function () {
|
||||
|
||||
<p>Slice Test</p>
|
||||
<ul id="printers-slicetest"></ul>
|
||||
<!--<table>
|
||||
<!--
|
||||
<table>
|
||||
<tr>
|
||||
<th>localip</th>
|
||||
<th>wifiboxid</th>
|
||||
@ -60,7 +65,7 @@ $(document).ready(function () {
|
||||
<td>wifiboxid</td>
|
||||
<td>date</td>
|
||||
</tr>
|
||||
</table>-->
|
||||
|
||||
</table>
|
||||
-->
|
||||
</body>
|
||||
</html>
|
@ -87,7 +87,7 @@ var geometry = (function () {
|
||||
var hole = new THREE.Path();
|
||||
hole.absarc(0, 0, 5, 0, Math.PI*2, true );
|
||||
|
||||
//circle.holes.push(hole);
|
||||
circle.holes.push(hole);
|
||||
|
||||
var matrix = new THREE.Matrix4();
|
||||
matrix.makeRotationX(Math.PI*1.5);
|
||||
@ -123,7 +123,8 @@ var layer = 149;
|
||||
var img = slicer.drawPaths(printer, layer, layer + 1);
|
||||
context.drawImage(img, 0, 0);
|
||||
|
||||
/*var loader = new THREE.STLLoader();
|
||||
/*
|
||||
var loader = new THREE.STLLoader();
|
||||
loader.load('stl/overhang_test.stl', function (geometry) {
|
||||
|
||||
var matrix = new THREE.Matrix4();
|
||||
@ -140,8 +141,14 @@ loader.load('stl/overhang_test.stl', function (geometry) {
|
||||
|
||||
var slicer = new D3D.Slicer().setGeometry(geometry);
|
||||
|
||||
//gcode = slicer.getGcode(printer);
|
||||
});*/
|
||||
var layer = 149;
|
||||
var img = slicer.drawPaths(printer, layer, layer + 1);
|
||||
context.drawImage(img, 0, 0);
|
||||
|
||||
var gcode = slicer.getGcode(printer);
|
||||
console.log(gcode);
|
||||
});
|
||||
*/
|
||||
|
||||
(function animate () {
|
||||
"use strict";
|
||||
|
152
src/box.js
152
src/box.js
@ -3,6 +3,8 @@
|
||||
* Box
|
||||
* Representation of de Doodle3DBox
|
||||
* Handles all communication with the doodle box
|
||||
* JavaScript shell for api communication
|
||||
* Check http://www.doodle3d.com/help/api-documentation
|
||||
*
|
||||
******************************************************/
|
||||
|
||||
@ -93,12 +95,12 @@ D3D.Box.prototype.printBatch = function () {
|
||||
var gcode = this.printBatches.shift();
|
||||
|
||||
sendAPI(this.api + "printer/print", {
|
||||
"start": ((this.currentBatch === 0) ? "true" : "false"),
|
||||
"first": ((this.currentBatch === 0) ? "true" : "false"),
|
||||
"start": ((this.currentBatch === 0) ? true : false),
|
||||
"first": ((this.currentBatch === 0) ? true : false),
|
||||
"gcode": gcode.join("\n")
|
||||
}, function (data) {
|
||||
|
||||
console.log("batch sent: " + self.currentBatch, data);
|
||||
|
||||
if (self.printBatches.length > 0) {
|
||||
//sent new batch
|
||||
self.currentBatch ++;
|
||||
@ -110,7 +112,7 @@ D3D.Box.prototype.printBatch = function () {
|
||||
self.updateState();
|
||||
});
|
||||
};
|
||||
D3D.Box.prototype.stop = function () {
|
||||
D3D.Box.prototype.stopPrint = function () {
|
||||
"use strict";
|
||||
|
||||
this.printBatches = [];
|
||||
@ -131,148 +133,160 @@ D3D.Box.prototype.stop = function () {
|
||||
|
||||
sendAPI(this.api + "printer/stop", {
|
||||
"gcode": finishMove.join("\n")
|
||||
//"gcode": {}
|
||||
}, function (data) {
|
||||
console.log("Printer stop command sent");
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setConfig = function (data) {
|
||||
D3D.Box.prototype.setConfig = function (data, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "config", data);
|
||||
sendAPI(this.api + "config", data, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getInfoLog = function (callback) {
|
||||
D3D.Box.prototype.getInfo = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "info/logfiles", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "info", callback);
|
||||
};
|
||||
D3D.Box.prototype.downloadInfoLog = function (callback) {
|
||||
//works in google chrome... not tested in other browsers
|
||||
//some browsers may redirect using this code
|
||||
"use strict";
|
||||
|
||||
return this;
|
||||
window.location = this.api + "info/logfiles";
|
||||
};
|
||||
D3D.Box.prototype.getInfoAcces = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
//error
|
||||
//cannot call function or module 'info/acces' ('module/function 'info/acces' does not exist')
|
||||
|
||||
getAPI(this.api + "info/acces", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "info/access", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetwerkScan = function (callback) {
|
||||
D3D.Box.prototype.getNetworkScan = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "network/scan", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/scan", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkKnown = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "network/known", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/known", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkStatus = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "network/status", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/status", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkAssosiate = function (data) {
|
||||
D3D.Box.prototype.setNetworkAssosiate = function (data, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "network/assosiate", data);
|
||||
sendAPI(this.api + "network/associate", data, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkDisassosiate = function (data) {
|
||||
D3D.Box.prototype.setNetworkDisassosiate = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "network/displayassosiate", data);
|
||||
sendAPI(this.api + "network/disassociate", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkOpenap = function (data) {
|
||||
D3D.Box.prototype.setNetworkOpenAP = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "network/openap", data);
|
||||
sendAPI(this.api + "network/openap", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setNetworkRemove = function (ssid) {
|
||||
D3D.Box.prototype.setNetworkRemove = function (ssid, callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "network/displayassosiate", {ssid: ssid});
|
||||
sendAPI(this.api + "network/remove", {
|
||||
ssid: ssid
|
||||
}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getNetworkAlive = function (callback) {
|
||||
//works but returns empty array
|
||||
"use strict";
|
||||
|
||||
//emty?
|
||||
|
||||
getAPI(this.api + "network/alive", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "network/alive", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getPrinterListAll = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "printer/listall", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "printer/listall", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setPrinterHeatup = function (data) {
|
||||
D3D.Box.prototype.setPrinterHeatup = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "printer/heatup", data);
|
||||
sendAPI(this.api + "printer/heatup", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getVersion = function (data) {
|
||||
D3D.Box.prototype.getSystemVersions = function (callback) {
|
||||
//works
|
||||
"use strict";
|
||||
|
||||
//error
|
||||
//cannot call function or module 'system/fwversion' ('module/function 'system/fwversion' does not exist')
|
||||
|
||||
getAPI(this.api + "system/fwversion", function (data) {
|
||||
if (callback !== undefined) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
getAPI(this.api + "system/fwversions", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.getUpdateStatus = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
getAPI(this.api + "update/status", callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateDownload = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/download", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateInstall = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/install", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
||||
D3D.Box.prototype.setUpdateClear = function (callback) {
|
||||
//not tested
|
||||
"use strict";
|
||||
|
||||
sendAPI(this.api + "update/clear", {}, callback);
|
||||
|
||||
return this;
|
||||
};
|
Loading…
Reference in New Issue
Block a user