diff --git a/adafruit_pn532/i2c.py b/adafruit_pn532/i2c.py index 63c4365..84d5b7d 100644 --- a/adafruit_pn532/i2c.py +++ b/adafruit_pn532/i2c.py @@ -49,6 +49,42 @@ class PN532_I2C(PN532): """Create an instance of the PN532 class using I2C. Note that PN532 uses clock stretching. Optional IRQ pin (not used), 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 DigitalInOut reset: board pin the PN532 reset is connected to + :param DigitalInOut req: board pin the PN532 P32 is connected to + :param bool debug: if true print additional debug statements + + **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._req = req diff --git a/adafruit_pn532/spi.py b/adafruit_pn532/spi.py index 72afa18..ad58fc1 100644 --- a/adafruit_pn532/spi.py +++ b/adafruit_pn532/spi.py @@ -61,7 +61,40 @@ class PN532_SPI(PN532): reset: Optional[DigitalInOut] = None, debug: bool = False ) -> 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 DigitalInOut cs: board pin the PN532 chip select line is connected to + :param DigitalInOut irq: board pin the PN532 P32 is connected to + :param DigitalInOut reset: board pin the PN532 reset is connected to + :param bool debug: if true print additional debug statements + + **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.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._spi = spi_device.SPIDevice(spi, cs_pin) super().__init__(debug=debug, irq=irq, reset=reset) diff --git a/adafruit_pn532/uart.py b/adafruit_pn532/uart.py index 57548c3..597b1c2 100644 --- a/adafruit_pn532/uart.py +++ b/adafruit_pn532/uart.py @@ -37,6 +37,34 @@ class PN532_UART(PN532): ) -> None: """Create an instance of the PN532 class using Serial connection. Optional reset pin and debugging output. + + :param busio.UART i2c: The I2C bus the PN532 is connected to. + :param DigitalInOut reset: board pin the PN532 reset is connected to + :param bool debug: if true print additional debug statements + + **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._uart = uart