From TouchDesigner Documentation
Jump to: navigation, search


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:

PythonIcon.pngPalette:firmata Ext

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:

  • PWM
  • I2C

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: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

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.

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.

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