Skip to content

Commit 1712c75

Browse files
committed
docs: Digital IO guide updates.
1 parent 42d4653 commit 1712c75

File tree

1 file changed

+27
-29
lines changed

1 file changed

+27
-29
lines changed

docs/programming_guide/01_digital_io.rst

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -129,20 +129,11 @@ but you can use any digital output from your board):
129129

130130
The :py:class:`digitalio.DigitalInOut` class is your gateway for controlling
131131
both digital inputs and outputs. By default when you create an instance of one
132-
it starts as a digital input, however you can call the
133-
:py:func:`digitalio.DigitalInOut.switch_to_output` function to turn it into a
134-
digital output:
135-
136-
>>> led.switch_to_output()
137-
138-
Or you can set the :py:attr:`digitalio.DigitalInOut.direction` property to be an
139-
output:
132+
it starts as a digital input, however you can set the
133+
:py:attr:`digitalio.DigitalInOut.direction` property to make it an output:
140134

141135
>>> led.direction = digitalio.Direction.OUTPUT
142136

143-
Either calling switch_to_output or setting the direction property will work the
144-
same way to make the pin an output.
145-
146137
Once a digital output is created and initialized you simply change the value of
147138
its :py:attr:`digitalio.DigitalInOut.value` property to turn the output on or
148139
off. For example to turn the LED on set value to true:
@@ -200,14 +191,8 @@ saw previously with digital outputs. For example using pin A1 of a board:
200191

201192
By default :py:class:`digitalio.DigitalInOut` objects are created as digital
202193
inputs so you don't need to do anything else to read the switch. However if you
203-
were doing other things with the pin you can use the
204-
:py:func:`digitalio.DigitalInOut.switch_to_input` function:
205-
206-
>>> switch.switch_to_input()
207-
208-
Or just like with digital outputs you can also change the pin direction using
209-
the :py:attr:`digitalio.DigitalInOut.direction` property and setting it to an
210-
input:
194+
were doing other things with the pin you can use
195+
:py:attr:`digitalio.DigitalInOut.direction` property and set it to an input:
211196

212197
>>> switch.direction = digitalio.Direction.INPUT
213198

@@ -267,19 +252,10 @@ level. Then when the switch is flipped and connected to ground / low logic it
267252
will 'overpower' the small pull-up resistor and read a low digital logic level.
268253

269254
To enable a digital input with a pull-up (or pull-down) resistor you can do so
270-
with a parameter to the :py:func:`digitalio.DigitalInOut.switch_to_input`
271-
function:
272-
273-
>>> switch.switch_to_input(pull=digitalio.Pull.UP)
274-
275-
Or you set the :py:attr:`digitalio.DigitalInOut.pull` property:
255+
with the :py:attr:`digitalio.DigitalInOut.pull` property:
276256

277257
>>> switch.pull = digitalio.Pull.UP
278258

279-
Just like with setting direction you can use either the pull parameter to the
280-
switch_to_input function or the pull property to set an input's pull-up or
281-
pull-down resistor.
282-
283259
Now the digital input is configured with a pull-up resistor! Try reading the
284260
value of the input with the use the :py:attr:`digitalio.DigitalInOut.value`
285261
attribute again:
@@ -317,3 +293,25 @@ different value for the pull parameter or attribute:
317293
Remove any pull-up or pull-down resistor. The input will read whatever
318294
logic level is connected to it and 'float' to random high or low values if
319295
nothing is connected!
296+
297+
Alternative Usage
298+
^^^^^^^^^^^^^^^^^
299+
300+
Above you saw how the :py:attr:`digitalio.DigitalInOut.direction` and
301+
:py:attr:`digitalio.DigitalInOut.pull` properties let you set the input/output
302+
and pull-up or pull-down resistor state of a pin. As an alternative you can use
303+
the :py:func:`digitalio.DigitalInOut.switch_to_output` and
304+
:py:func:`digitalio.DigitalInOut.switch_to_input` functions to also set the
305+
input/output and pull-up or pull-down resistor state. These functions are handy
306+
alternatives that can set both the direction and pull-up/pull-down state in one
307+
call (see the pull parameter to the
308+
:py:func:`digitalio.DigitalInOut.switch_to_input` function).
309+
310+
Remember you can explicitly import Python objects to make your code more compact
311+
too, for example:
312+
313+
>>> import board
314+
>>> from digitalio import DigitalInOut, Direction, Pull
315+
>>> led = DigitalInOut(board.A1)
316+
>>> led.direction = Direction.OUTPUT
317+
>>> led.pull = Pull.UP

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy