Skip to content

Commit 10ac710

Browse files
Use spidev instead of spi-py
- module init changes from (for example) `dev="/dev/spidev-0.1"` to `bus=0, device=1` - bump version
1 parent 0eda8df commit 10ac710

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

pirc522/__init__.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import time
22
import signal
33

4-
import spi as SPI
4+
import spidev
55
import RPi.GPIO as GPIO
66

77

8-
__version__ = "1.1.0"
8+
__version__ = "2.0.0"
99

1010

1111
class RFID(object):
@@ -41,11 +41,14 @@ class RFID(object):
4141

4242
authed = False
4343

44-
def __init__(self, dev='/dev/spidev0.0', speed=1000000, pin_rst=22, pin_ce=0):
44+
def __init__(self, bus=0, device=0, speed=1000000, pin_rst=22, pin_ce=0):
4545
self.pin_rst = pin_rst
4646
self.pin_ce = pin_ce
4747

48-
SPI.openSPI(device=dev, speed=speed)
48+
self.spi = spidev.SpiDev()
49+
self.spi.open(bus, device)
50+
self.spi.max_speed_hz = speed
51+
4952
GPIO.setmode(GPIO.BOARD)
5053
GPIO.setup(pin_rst, GPIO.OUT)
5154
GPIO.output(pin_rst, 1)
@@ -64,16 +67,16 @@ def __init__(self, dev='/dev/spidev0.0', speed=1000000, pin_rst=22, pin_ce=0):
6467
def spi_transfer(self, data):
6568
if self.pin_ce != 0:
6669
GPIO.output(self.pin_ce, 0)
67-
r = SPI.transfer(data)
70+
r = self.spi.xfer2(data)
6871
if self.pin_ce != 0:
6972
GPIO.output(self.pin_ce, 1)
7073
return r
7174

7275
def dev_write(self, address, value):
73-
self.spi_transfer(((address << 1) & 0x7E, value))
76+
self.spi_transfer([(address << 1) & 0x7E, value])
7477

7578
def dev_read(self, address):
76-
return self.spi_transfer((((address << 1) & 0x7E) | 0x80, 0))[1]
79+
return self.spi_transfer([((address << 1) & 0x7E) | 0x80, 0])[1]
7780

7881
def set_bitmask(self, address, mask):
7982
current = self.dev_read(address)

0 commit comments

Comments
 (0)