Git Product home page Git Product logo

vvvvirmata's Introduction

Welcome to the Firmata Plugin for VVVV
**************************************

A straight forward implementation of the Firmata protocol for VVVV. See http://firmata.org for details on the protocol. This implementation is designed from the protocol, rather than from the Arduino board perspective. This enables it to easily interface with a Firmata prepared Arduino board with a StandardFirmata, but is not bound to this (e.g. other boards, other Firmata). Thus it can be extened with additional modules, rather than plugins to use other Firmata enabled hardware.

This is still beta, but stable as far as we could test. Don't fear to report any issues or feature request to [the issues here on github](https://github.com/jens-a-e/VirmataEncoder/issues).
hahahaha

Installation & Use
******************

To use it with a standard Arduino, as this is the prefered use case, do the following:

1) Upload the StandardFirmata (at least version 2.2) that somes with the Arduino IDE onto your board.
1.a) If you have a freshly purchased and never touched Arduino UNO board you mustlikely already have the standard Firmata uploaded already.
2) Prepare some LED and other things to use and test with it.

3) Download the released ZIP (e.g. https://github.com/jens-a-e/VirmataEncoder/zipball/beta1) and put it into your vvvv *plugins* folder of your vvvv installation

4) Open the _Arduino (StandardFirmata 2.2) help_ patch in the modules folder (the HELP!)

4.a) Make sure you follow the instructions there and have your board connected to the right comport!

5) To use it in your own patches, copy the Arduino node there and adujst as needed.



The use of the Firmata nodes
****************************

If you look inside the Arduino module you will discover the basic usage of the Firmata nodes. As the data we pass arround is encoded into an ANSI string you can also pass it arround the network easly (examples to come) through the *FirmataEncode* and save bandwidth compared to a _normal_ string usage. You should read the [wiki page on the design issues on firmata.org](http://firmata.org/wiki/Design_Issues9), if you want to know, why this is a nice protocol in terms of bandwidth.

We offer the follwing nodes:

* FirmataEncode - well encodes firmata and handles the setup of pins, etc.
* FirmataDecode - aha, yes: decodes firmata messages to a fixed number of analog and digital values as two seperate spreads (you can set the sizes in the inspector)
* I2CDecode - it basicall just puts the registers and the related data from Firmata into 16bit values. This **does not** decode any specific data from a specific sensor


Still missing nodes:

* I2CEncode - to setup I2C and send data to I2C devices connected to the Firmata device


As we hope this approach makes the use of firmata less stressful.

vvvvirmata's People

Contributors

wirmachenbunt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vvvvirmata's Issues

Arduino Leonardo

It seems like its not properly working with the Leonardo. I tested 5 Leonardo Boards now and I always get random highs and lows on the digital Pins.
Using the version that comes with vvvv_45beta31_x86

Versioning (VVVV "Version" Attribute)

At the moment there is thinking over the "version" attribute which can be set on a plugin and effects te node naming.
I am not sure, if this a good idea to bake in the protocol version as the attribute. At the moment i'd rather make an inspektor-only enum to choose. for sure, the attibute based versioning is the simplest, but is it valueable, i the version chnages to 3.x? The firmata github repo shows development for this version.

What i could live with is just sticking to the major version, which is 2 at this moment.

See the discussion about the pull-request on the vvvv-sdk here: vvvv/vvvv-sdk#49

addonpack

i want this in ze addon thingi plz with sugar on top ;)

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.