Giter Site home page Giter Site logo

jewelbots-autodev's Introduction

jewelbots-autodev

A cli tool for compiling and uploading sketches for Jewelbots

looking for alpha testers please ๐Ÿ’–

How to install

Firstly, install the latest Arduino IDE. You do not have to have it open at all while using this tool.

Then:

npm install -g jewelbots-autodev

How to use

1. Create a JSON config file in your project directory's root, and save it as .jbauto

The config file needs to know four things:

  1. The path to the Jewelbots Arduino Library on your machine
  2. The location of the Arduino IDE on your machine
  3. Which directory you want the compiled files to be placed
  4. The path and filename of the sketch you're looking to compile

OSX Example:

{
  "jewelbots-lib": "/Users/noopkat/Library/Arduino15/packages/Jewelbots_Arduino_Library",
  "arduino-app": "/Applications/Arduino-1.6.13.app",
  "build-destination": "/Users/noopkat/code/jewelbots-fun/dist",
  "sketch-file": "/Users/noopkat/code/jewelbots-fun/sketches/blue.ino"
}

Windows and Linux config examples coming soon!

2. Run jewelbots-autodev from your project's directory

To compile:

jewelbots-autodev compile

You can also override the sketch-file property in .jbauto by specifying it as such:

jewelbots-autodev compile /path/to/my/sketch.ino

You can also use a relative path from your current folder.

jewelbots-autodev compile sketch.ino 

To upload:

Plug in your Jewelbot, and hold the action button to put it into coding mode first.

jewelbots-autodev upload

Stuck?

This is early stages! Raise an issue on this project's repo if you hit a bug or weird error, and pull requests are very welcome!

jewelbots-autodev's People

Contributors

glennblock avatar noopkat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

glennblock jmarca

jewelbots-autodev's Issues

data point, compile works on slackware linux, upload fails

On Linux (slackware 14.2), I have the following .jbauto file, that works. Also, I found that using ~ didn't resolve properly to /home/james...my first version had the jewelbots lib at ~/.arduino15....

{
  "jewelbots-lib": "/home/james/.arduino15/packages/Jewelbots_Arduino_Library",
  "arduino-app": "/opt/arduino",
  "build-destination": "dist",
  "sketch-file": "jingle_bells.ino"
}

But uploading it fails:

jewelbots-autodev upload
(node:23084) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'filter' of undefined
(node:23084) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

node version v7.2.0

uploading to Jewelbot is not currently supported on Linux

To quote the error message:

james@emma jewelbots_sketches$ jewelbots-autodev upload
found jewelbot on port /dev/ttyUSB0
Error: sorry, uploading to Jewelbot is not currently supported on Linux
    at /usr/local/lib/node_modules/jewelbots-autodev/lib/uploader.js:39:25
    at FSReqWrap.cb [as oncomplete] (fs.js:239:19)

I'll take a stab at it on my machine.

Add error handling for invalid paths

When running compile with invalid sketch-file / invalid build-destination, I did not get an error message. The CLI should verify all paths specified in the config are valid and error out if not.

feature request: reload or update default firmware

Hi, I can probably hack this out myself but it would take a while.

My daughter and I are just getting going with jewelbots and I stumbled on your package. Looks good, but one thing my daughter wants to do after turning on a light or whatnot is to reset the jewelbot to the default "friendship mode". How can that be accomplished with this app? Or does it need some hacking around with the internals?

I don't like the arduino IDE, and would much rather just do something like

jewelbots-autodev update-firmware

Thanks

Error message about .zip file

Hi! This is great and I'm excited. Upon testing locally I got the following error message when doing the upload:

Error: Invalid value for "-pkg" / "--package": Path "/Users/sara/Development/Jewelbots/arduino-library/test.ino.zip" does not exist.

I thought maybe I'd test zipping up the sketch, but that resulted in a different error.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.