osr-emu
v0.7.0
Published
A web-based graphical emulator for open source strokers.
Downloads
79
Maintainers
Readme
osr-emu
A simple, web-based graphical emulator for Open Source Multi Axis Stroker Robots. TCode can be sent to an instance of the emulator as if it were an actual device, and the movements that would be generated are simulated on a 3D model of an OSR. Both the OSR2+ and SR6 are supported.
The following axes are available on the OSR2+:
L0 (stroke/up)
R0 (twist)
R1 (roll)
R2 (pitch)
The SR6 model allows for an additional two axes:
L1 (forward/back)
L2 (left/right)
Quick Start
In a browser, the OSR Emulator can be imported as an ES6 module using a CDN such as unpkg, and initialized into a target html element:
OSR2 (default):
<!DOCTYPE html>
<body>
<div id="canvas"></div>
<script type="module">
import { OSREmulator } from 'https://unpkg.com/osr-emu';
const osr = new OSREmulator('#canvas');
// Write t-code to device to simulate movement.
osr.write('L0000I500\n');
</script>
</body>
SR6:
<!DOCTYPE html>
<body>
<div id="canvas"></div>
<script type="module">
import { OSREmulator } from 'https://unpkg.com/osr-emu';
const osr = new OSREmulator('#canvas', {
model: 'SR6'
});
// Write t-code to device to simulate movement.
osr.write('L0000I500 L1000I500\n');
</script>
</body>
NPM
The OSR Emulator is also available as an NPM package.
npm install osr-emu
...
import { OSREmulator } from 'osr-emu';
Resizing
The emulator automatically sizes itself to the target element, and will resize itself when the target element's size changes.
Cleanup
When you are finished with the emulator, you must destroy the instance in order to prevent memory leaks.
osr.destroy();
This disposes of the 3D renderer and cancels resize event listeners.
Examples
Live, interval, and speed based commands are supported on all available axes.
See the following editable codepen example.