diff --git a/src/kiri/main.js b/src/kiri/main.js index 0782cfa4..be098cdf 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -391,6 +391,43 @@ }, 1000); } + // frame message api + WIN.addEventListener('message', msg => { + let { origin, source, target, data } = msg; + if (source.window === target.window) return; + let send = source.window.postMessage; + if (data.mode) { API.mode.set(data.mode.toUpperCase()) } + if (data.view) { API.view.set(VIEWS[data.view.toUpperCase()]) } + if (data.function) { API.function[data.function.toLowerCase()]() } + if (data.event) { + API.event.on(data.event, (evd) => { + send({event: data.event, data: evd}); + }); + } + if (data.emit) API.event.emit(data.emit, data.message) + switch (data.get) { + case "all": send({all: settings}); break; + case "mode": send({mode: settings.mode}); break; + case "device": send({device: settings.device}); break; + case "process": send({process: settings.process}); break; + } + switch (data.set) { + case "features": + Object.assign(feature, data.features); + break; + case "device": + Object.assign(settings.device, data.options); + saveSettings(); + break; + case "process": + Object.assign(settings.process, data.options); + saveSettings(); + break; + } + if (data.alert) alert2(data.alert, data.time); + if (data.progress >= 0) setProgress(data.progress, data.message); + }); + /** ****************************************************************** * Stats accumulator ******************************************************************* */ diff --git a/web/kiri/engine.html b/web/kiri/engine.html index 956b6000..7480e722 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -120,7 +120,7 @@
javascript
-
123
+
diff --git a/web/kiri/frame.html b/web/kiri/frame.html new file mode 100644 index 00000000..a26014d7 --- /dev/null +++ b/web/kiri/frame.html @@ -0,0 +1,146 @@ + + + Kiri:Moto Frame Message API + + + + + + + + + + + + + + + + + +

Kiri:Moto Frame Message API

+
+
+
message
+
+
+
output
+
+
+
+
frame
+ +
+
+
+

Message API

+
  • - where URL points to an STL
  • +
  • - where data is a string or binary STL
  • +
  • - FDM, CAM, LASER, SLA
  • +
  • - function to receive engine progress messages
  • +
  • - change default object parameters
  • +
  • - change default process parameters
  • +
  • - absolute move origin of loaded object
  • +
  • - relative move origin of loaded object
  • +
  • - scale axes of loaded object
  • +
  • - rotate axes of loaded object in radians
  • +
  • - async slice loaded object
  • +
  • - async path routing of slice data
  • +
  • - async gcode generation from path routing
  • +
    + +