evil-mad / robopaint

The software for your friendly painting robot kit!
125 stars 34 forks source link
drawing electron robopaint robot svg watercolor watercolorbot

RoboPaint!

Join the chat at https://gitter.im/evil-mad/robopaint

Software for drawing robots, and your friendly painting robot kit, the WaterColorBot!

Downloads / Install

Click here to download the current beta release. This release has many changes that improve the functinality of RoboPaint. Since this a beta release you may expierence bugs. If you do please report it by creating an issue here

Click here for the latest official release, then click the green button below the release notes that matches your operating system to download the install package.

Linux users: Simply copy folder from zip file to your desktop or other folder, then run the executable inside. System installer in the works!

Features

Projects:

RoboPaint is made of modes that are their very own independent projects! This project repository holds all the code to manage the modes, global settings, running the API, and the connection to a robot. The modes are their own web applications that run (almost) completely on their own through the mode API.

Here's a list of all the modes that currently ship with RoboPaint. If you have an issue or a feature to add to any of these, open it in the mode's own project instead of this one.

Problems?

Stuck on something? Submit an issue! Click the issues tab and see if someone is covering your question or problem, if not, ask away! Someone will be around to help soon.

Logging

RoboPaint 2.1.0 introduces full application logging. If you have a problem starting or running the app, submit your logs with your issue or to Evil Mad Scientist and we should be able to help you a lot more directly.

Log data locations:

Know how to fix a problem? Or want to add a new feature?? Submit a pull request! Just fork the repo using the button on the RoboPaint github homepage, and this will give you your own version of RoboPaint. Make your change in a few commits to your branch, then click the pull request button at the top! Talk about what changes you made and submit. A maintainer of the project will check your work, possibly ask you to fix a few more things, and then if all is well, your work will be merged into the project!

Contributing to the Project

Want to help be a part of RoboPaint? Maybe spruce it up, or hack it to bits into your own thing? Here's a rough and tumble guide to getting set up:

Pre-requisites

Electron

RoboPaint is an HTML5/Node.js application that runs in electron. Though the main.html code may somewhat render in a regular browser window, it's still a node.js application that requires its low level file access and other APIs. This is installed via npm install when run at the root.

Install Node for node & npm

Required for automated builds and installation content. The build and dependency system all uses node.js. npm is installed along with it. If you already have node installed, you can skip this part.

Build Tools!

Windows
OSX
Linux

Building natively for Electron

  1. Pull down/clone your fork of the RoboPaint repository with git (or just download a zip of the files).

    1. In your terminal/command line interface, go to that folder and run npm install to install dependencies, if there is not a prebuilt serialport module for your architecture npm will try to build serialport for Electron. You may see some errors, but it should re-compile everything that needs it. run npm run rebuild to attempt to rebuild for electron for experimental builds of serialport.

    2. That's it! You should now be installed and ready to hack. To update CNC server just run npm install cncserver from the project root and it should pull from the latest master, and you'll likely need to rebuild serialport for Electron with npm run fix-serialport.

Running RoboPaint from source

ETC.

This open source project is built on top of the CNC server project which provides a speedy framework of API calls to interact with serial connected drawing robots, while RoboPaint is the clean interface in an easy to install app!

All code MIT licensed. Created by TechNinja, with support and collaboration from Evil Mad Scientist. Don't forget, you can discover more crazy maker fun with Sylvia's Super-Awesome Maker Show!