xy-plotter / xy

:pencil2: node.js for Makeblock XY plotter v2.0
MIT License
24 stars 6 forks source link
arduino-firmware makeblock nodejs plotter

XY

node.js for makeblock XY plotter v2.0

version Standard License

Table of contents

Installation

Node

npm install --save arnaudjuracek/xy

Note: xy depends on node-canvas to export image files. You may encounter some build errors at the installation if you don't have node-gyp or python 2.7 installed. If so, you might want to check this :

Note: this module has not been tested with the official makeblock firmwares

Firmware

Note: this firmware has not been tested with the official makeblock softwares

Server

Although you can control the plotter using any node.js script on your client computer (see usage below), keeping an open serial connection for several hours can become tedious. That is why I'm using a raspberry pi as a printing server. See arnaudjuracek/xy-server.

Usage

node.js
const plotter = require('xy-plotter')()
const job = plotter.Job('my-job-name')

job.rect(10, 10, 100, 100)
   .circle(10, 10, 100)
   .pen_down()
   .move(100, 100)

const serial = plotter.Serial('/dev/tty.wchusbserial1410')
serial.send(job).then(() => {
  console.log('the job is done !')
})
more

See examples for more advanced usages.

API

API reference

Contribute

Issues

Feel free to submit any issue or request.

Pull Request

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we I review your changes

Be sure to merge the latest from "upstream" before making a pull request !

Wiki and examples

Contributions to the examples are very welcome !

Credits

The Arduino firmware is based on Michael Fogleman's one. Thanks to the work in Python of Michael Fogleman and Anders Hoff, which helped me establish a working communication between the XY and nodejs.

License

MIT.