Palette:firmata

From TouchDesigner Documentation
Revision as of 12:11, 11 May 2020 by Markus Heckmann (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Summary
[edit]

Firmata is an Arduino sketch allowing for configuration and control of the Arduino using messages formatted as MIDI. More information on the firmata protocol can be found here: https://github.com/firmata/protocol

PythonIcon.pngPalette:firmata Ext


Getting Started

  • Install the latest Arduino IDE on your computer and connect your Arduino board.
  • In the Arduino IDE, under `File`, select `Examples>Firmata>Standard Firmata` and upload it to your board.
  • Close the IDE and select the port your Arduino is conencted to on the firmata COMP's Port parameter.
  • Toggle the Active parameter. The component will attempt to communicate with the Arduino and create all necessary parameters for pin-modes and pin-values.
  • Via the now available Pin Modes and Pin Values pages, setup and control your Arduino.
  • The CHOP output form the component contains all pin values.


Parameters - Firmata Page

Help Help - Opens this page.  

Version Version - THe current version of this component.  

Firmata Type Firmatatype - The installed firmata type as reported by the arduino board.  

Firmata Version Firmataversion - The installed firmata version as reported by the arduino board.  

Active Active - Toggle to establish a connection between the component and the arduino board.  

Port Port - Select the port the arduino board is connected to.  

Baud Rate Baudrate - Set the Baud Rate for the serial connection.  

Reset Reset - Reset all stored settings of the arduino board.  

Query Version Queryver - Request the installed firmata type and version from the arduino board.  

Query Board Capabilities Querycap - The capability query provides a list of all modes supported by each pin.  

Query Pin States Querystates - The pin state is any data written to the pin (it is important to note that pin state != pin value).  

Query Analog Mapping Queryanalog - The analog mapping query provides the information about which pins (as used with Firmata's pin mode message) correspond to the analog channels.  

Report Analog Pins Reportanalog - Enable the reporting of analog pin values from the arduino.  

Report Digital Pins Reportdigital - Enable the reporting of digital pin values from the arduino.  

Sampling Interval Samplinginterval - The sampling interval sets how often analog data and i2c data is reported to the client. The default for the arduino implementation is 19ms.  


Parameters - Pin Modes Page

This page will have a list of menu parameters the length of the number of pins on the arduino board. For each pin, the menu will reflect the pins supported modes:

  • DIGITAL_INPUT
  • DIGITAL_OUTPUT
  • ANALOG_INPUT
  • PWM
  • SERVO
  • SHIFT
  • I2C
  • ONEWIRE
  • STEPPER
  • ENCODER
  • SERIAL
  • INPUT_PULLUP



Parameters - Pin Values Page

This page will have a list of either float and toggle parameters for each pin depending on the pin's mode. Pins set to an input type will be read-only.



Parameters - Servo Page

Min Pulse Minpulse -  

Max Pulse Maxpulse -  


Operator Outputs

  • Output 0 - The CHOP output reflects the arduino's pin values.


Palette
Palette • Palette:arcBallCamera • Palette:arcBallGeometry • Palette:audioAnalysis • Palette:audioSet • Palette:battery • Palette:blendModes • Palette:bloom • Palette:cameraBrowser • Palette:camSchnappr • Palette:changeColor • Palette:changeToColor • Palette:checker • Palette:chromaKey • Palette:colorThreshold • Palette:compareComp • Palette:convolve • Palette:cornerPinSOP • Palette:customAttributes • Palette:dent • Palette:depthExtract • Palette:dilate • Palette:equalizer • Palette:feedback • Palette:feedbackEdge • Palette:firmata • Palette:geoPanel • Palette:gestureCapture • Palette:graphPlot • Palette:histogram • Palette:hsvBlur • Palette:imageSearch • Palette:julia • Palette:kantanMapper • Palette:kinectCalibration • Palette:kinectPointcloud • Palette:leapPaint • Palette:lightTunnel • Palette:mandelbrot • Palette:mesh • Palette:monochrome • Palette:motionSense • Palette:moviePlayer • Palette:multiLevel • Palette:multiMix • Palette:noise • Palette:onScreenKeyboard • Palette:opticalFlow • Palette:particlesGpu • Palette:pixelate • Palette:pixelRelocator • Palette:pointGenerator • Palette:pointillize • Palette:pointMerge • Palette:pointRender • Palette:pointRepack • Palette:pointTransform • Palette:pointWeight • Palette:popDialog • Palette:probe • Palette:projectorBlend • Palette:pushPins • Palette:puzzle • Palette:radialBlur • Palette:remotePanel • Palette:rgbaBlur • Palette:rgbaDelay • Palette:rgbContrast • Palette:search • Palette:searchReplace • Palette:sharpen • Palette:softenAlpha • Palette:solarize • Palette:sopRender • Palette:stitcher • Palette:stoner • Palette:superFormula • Palette:sweetSpotPreviz • Palette:TDVR • Palette:transitMap • Palette:twirl • Palette:vectorScope • Palette:virtualFile • Palette:waveformMonitor • Palette:webBrowser • Palette:xyScope

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also Network Path.

An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.

To pulse a parameter is to send it a signal from a CHOP or python or a mouse click that causes a new action to occur immediately. A pulse via python is via the .pulse() function on a pulse-type parameter, such as Reset in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.

A built-in panel in TouchDesigner that contains a library of components and media that can be dragged-dropped into a TouchDesigner network.