Merge pull request #65 from tcfranks/main

add addtional RTD info
This commit is contained in:
jposada202020 2023-04-09 11:38:34 -04:00 committed by GitHub
commit 8aa8ac30d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 111 additions and 3 deletions

View file

@ -28,7 +28,6 @@ Implementation Notes
import time import time
from digitalio import Direction from digitalio import Direction
from micropython import const from micropython import const
try: try:
@ -164,7 +163,7 @@ class PN532:
*, *,
debug: bool = False, debug: bool = False,
irq: Optional[DigitalInOut] = None, irq: Optional[DigitalInOut] = None,
reset: Optional[DigitalInOut] = None reset: Optional[DigitalInOut] = None,
) -> None: ) -> None:
"""Create an instance of the PN532 class""" """Create an instance of the PN532 class"""
self.low_power = True self.low_power = True

View file

@ -49,6 +49,46 @@ class PN532_I2C(PN532):
"""Create an instance of the PN532 class using I2C. Note that PN532 """Create an instance of the PN532 class using I2C. Note that PN532
uses clock stretching. Optional IRQ pin (not used), uses clock stretching. Optional IRQ pin (not used),
resetp pin and debugging output. resetp pin and debugging output.
:param ~busio.I2C i2c: The I2C bus the PN532 is connected to.
:param int address: The I2C device address. Defaults to :const:`0x24`
:param digitalio.DigitalInOut irq: board pin the PN532 IRQ is connected to
:param digitalio.DigitalInOut reset: board pin the PN532 RSTOUT_N is connected to
:param digitalio.DigitalInOut req: board pin the PN532 P32 is connected to
:param bool debug: if True print additional debug statements. Defaults to False
**Quickstart: Importing and using the device**
Here is an example of using the :class:`PN532_I2C` class.
First you will need to import the libraries to use the sensor
.. code-block:: python
import board
import busio
from digitalio import DigitalInOut
from adafruit_pn532.i2c import PN532_I2C
Once this is done you can define your `board.I2C` object and define your object
.. code-block:: python
i2c = busio.I2C(board.SCL, board.SDA)
reset_pin = DigitalInOut(board.D6)
# On Raspberry Pi, you must also connect a pin to P32 "H_Request" for hardware
# wakeup! this means we don't need to do the I2C clock-stretch thing
req_pin = DigitalInOut(board.D12)
pn532 = PN532_I2C(i2c, debug=False, reset=reset_pin, req=req_pin)
# Configure PN532 to communicate with MiFare cards
pn532.SAM_configuration()
Now you have access to the attributes and functions of the PN532 RFID/NFC
shield or breakout
.. code-block:: python
uid = pn532.read_passive_target(timeout=0.5)
""" """
self.debug = debug self.debug = debug
self._req = req self._req = req

View file

@ -61,7 +61,43 @@ class PN532_SPI(PN532):
reset: Optional[DigitalInOut] = None, reset: Optional[DigitalInOut] = None,
debug: bool = False debug: bool = False
) -> None: ) -> None:
"""Create an instance of the PN532 class using SPI""" """Create an instance of the PN532 class using SPI
Optional IRQ pin (not used)
:param ~busio.SPI spi: The spi bus the PN532 is connected to.
:param digitalio.DigitalInOut cs: board pin the PN532 chip select line is connected to
:param digitalio.DigitalInOut irq: board pin the PN532 P32 is connected to
:param digitalio.DigitalInOut reset: board pin the PN532 RSTOUT_N is connected to
:param bool debug: if True print additional debug statements. Defaults to False
**Quickstart: Importing and using the device**
Here is an example of using the :class:`PN532_SPI` class.
First you will need to import the libraries to use the sensor
.. code-block:: python
import board
import busio
from digitalio import DigitalInOut
from adafruit_pn532.spi import PN532_SPI
Once this is done you can define your `busio.SPI` object and define your PN532 object
.. code-block:: python
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
cs_pin = DigitalInOut(board.D5)
pn532 = PN532_SPI(spi, cs_pin, debug=False)
Now you have access to the attributes and functions of the PN532 RFID/NFC
shield or breakout
.. code-block:: python
uid = pn532.read_passive_target(timeout=0.5)
"""
self.debug = debug self.debug = debug
self._spi = spi_device.SPIDevice(spi, cs_pin) self._spi = spi_device.SPIDevice(spi, cs_pin)
super().__init__(debug=debug, irq=irq, reset=reset) super().__init__(debug=debug, irq=irq, reset=reset)

View file

@ -37,6 +37,37 @@ class PN532_UART(PN532):
) -> None: ) -> None:
"""Create an instance of the PN532 class using Serial connection. """Create an instance of the PN532 class using Serial connection.
Optional reset pin and debugging output. Optional reset pin and debugging output.
:param ~busio.UART uart: The uart object the PN532 is connected to.
:param digitalio.DigitalInOut reset: board pin the PN532 RSTOUT_N is connected to
:param bool debug: if True print additional debug statements. Defaults to False
**Quickstart: Importing and using the device**
Here is an example of using the :class:`PN532_I2C` class.
First you will need to import the libraries to use the sensor
.. code-block:: python
import board
import busio
from digitalio import DigitalInOut
from adafruit_pn532.uart import PN532_UART
Once this is done you can define your `busio.UART` object and define your PN532 object
.. code-block:: python
uart = busio.UART(board.TX, board.RX, baudrate=115200, timeout=0.1)
pn532 = PN532_UART(uart, debug=False)
Now you have access to the attributes and functions of the PN532 RFID/NFC
shield or breakout
.. code-block:: python
uid = pn532.read_passive_target(timeout=0.5)
""" """
self.debug = debug self.debug = debug
self._uart = uart self._uart = uart

View file

@ -39,6 +39,8 @@ intersphinx_mapping = {
"CircuitPython": ("https://docs.circuitpython.org/en/latest/", None), "CircuitPython": ("https://docs.circuitpython.org/en/latest/", None),
} }
autoclass_content = "both"
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"] templates_path = ["_templates"]