noopkat / avr-pizza

:cloud: :pizza: bespoke, artisinal, sketch Precompiler In ZZee Air
http://avr.pizza
MIT License
27 stars 3 forks source link

Release #1

Open noopkat opened 8 years ago

noopkat commented 8 years ago
weiway commented 8 years ago

Hi, just out of curiosity, sketches are compiled remotely right? Why not compile locally?

noopkat commented 8 years ago

@weiway Hello! Thanks for your question.

I realise the README was a little brief in how it explained "why compile remotely?". This tool is aimed for other tool authors to have the ability to compile sketches (should they need to) without needing to give their tool users additional instructions of how to do so. It's intended for magic background work to be done if a sketch needs compiling as part of a flow on another human's machine.

An example of this is would be a typical NodeJS robotics library, that asks a user some questions about their intended robot setup before rolling a bespoke C++ sketch file to flash to their Arduino. This eliminates the clunky step of instructing the user to do the following:

  1. Download the Arduino IDE
  2. Install
  3. Open the IDE
  4. Open the custom sketch produced, or even something like StandardFirmata
  5. Choose the correct Arduino board choice
  6. Click 'upload'
  7. Close the IDE and never open it ever again (likely)
  8. Feel confused and a little frustrated at this weird tangent when they just wanted to start writing cool Nodebots stuff.
  9. Realise you've asked the user to use 140MB+ of their data limit for a tiny step (data limits and internet speeds are still a common issue outside of the US).

We have tools such as avrdude and avrgirl-arduino to take care of the "flashing to the board" stuff, so this project is addressing a gap in the nice magic flow we can provide to a first time robotics user (or other use cases, whatever rocks your boat).


As an aside, it was in the plan to allow a 'local override' for avr-pizza, so that a local installation of the Arduino IDE could be used if preferred (no internet connection, faster, etc). This has been soft released as of today in v0.1.0, and I have also expanded the "what is this" section in the README to provide more info on why remote compilation can be useful.

Hope this helps, and thanks again for reaching out! 🍕

-- @noopkat