class:: DigitalIO
summary:: Read or write data to a digital pin
related:: Classes/AnalogIn, Classes/AnalogOut, Classes/DigitalIn, Classes/DigitalOut
categories::  UGens>Bela


Description::

Reads or writes digital data from or to a digital pin.
The pin number of this UGen can be modulated, as well as its I/O mode, which allows to tri-state the pin.

note::
This UGen only works on Bela.
::

note::
If you do not need to change the pin mode or the pin, you should use the UGen link::Classes/DigitalIn:: or link::Classes/DigitalOut::
::

classmethods::

method::ar

The output of this UGen is always the last value read when the digital pin was an input.

argument::digitalPin

Digital pin number to write to. Pin numbers begin at 0. This value can be modulated at audiorate.

argument::output

Value to write out to the pin - the value will be 1 when the argument is larger than 0, otherwise 0. This value can be modulated at audio rate.

argument::pinMode

Value to write out to the pin - the pin will be an input when the argument is smaller than 0.5, otherwise an output. This value can be modulated at audiorate.

argument::mul

argument::add

method::kr

The output of this UGen is always the last value read when the digital pin was an input.

argument::digitalPin

Digital pin number to write to. Pin numbers begin at 0.

argument::output

Value to write out to the pin - the value will be 1 when the argument is larger than 0, otherwise 0.

argument::pinMode

Value to write out to the pin - the pin will be an input when the argument is smaller than 0.5, otherwise an output.

argument::mul

argument::add

Examples::

code::
// write a sine oscillator's output to a pin, and read the pin value at other times

(
SynthDef("help-DigitalIO",{ arg out=0;
    DigitalIO.ar( 0, SinOsc.ar( 10 ),LFPulse.kr( 0.1 ) ).poll;
}).play;
)

::
