osr-emu

0.7.0 • Public • Published

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.

Package Sidebar

Install

npm i osr-emu

Weekly Downloads

8

Version

0.7.0

License

MIT

Unpacked Size

16.4 MB

Total Files

5

Last publish

Collaborators

  • soritesparadox