@@ -67,16 +67,19 @@ class PN532_SPI(PN532):
67
67
def __init__ (self , spi , cs_pin , * , irq = None , reset = None , debug = False ):
68
68
"""Create an instance of the PN532 class using SPI"""
69
69
self .debug = debug
70
- self ._irq = irq
71
70
self ._spi = spi_device .SPIDevice (spi , cs_pin )
72
- super ().__init__ (debug = debug , reset = reset )
71
+ super ().__init__ (debug = debug , irq = irq , reset = reset )
73
72
74
73
def _wakeup (self ):
75
74
"""Send any special commands/data to wake up PN532"""
75
+ if self ._reset_pin :
76
+ self ._reset_pin .value = True
77
+ time .sleep (0.01 )
76
78
with self ._spi as spi :
77
- time .sleep (1 )
78
79
spi .write (bytearray ([0x00 ])) # pylint: disable=no-member
79
- time .sleep (1 )
80
+ time .sleep (0.01 )
81
+ self .low_power = False
82
+ self .SAM_configuration () # Put the PN532 back in normal mode
80
83
81
84
def _wait_ready (self , timeout = 1 ):
82
85
"""Poll PN532 if status byte is ready, up to `timeout` seconds"""
@@ -85,7 +88,6 @@ def _wait_ready(self, timeout=1):
85
88
timestamp = time .monotonic ()
86
89
with self ._spi as spi :
87
90
while (time .monotonic () - timestamp ) < timeout :
88
- time .sleep (0.02 ) # required
89
91
spi .write_readinto (
90
92
status_cmd , status_response
91
93
) # pylint: disable=no-member
@@ -103,7 +105,6 @@ def _read_data(self, count):
103
105
frame [0 ] = reverse_bit (_SPI_DATAREAD )
104
106
105
107
with self ._spi as spi :
106
- time .sleep (0.02 ) # required
107
108
spi .write_readinto (frame , frame ) # pylint: disable=no-member
108
109
for i , val in enumerate (frame ):
109
110
frame [i ] = reverse_bit (val ) # turn LSB data to MSB
@@ -119,5 +120,4 @@ def _write_data(self, framebytes):
119
120
if self .debug :
120
121
print ("Writing: " , [hex (i ) for i in rev_frame ])
121
122
with self ._spi as spi :
122
- time .sleep (0.02 ) # required
123
123
spi .write (bytes (rev_frame )) # pylint: disable=no-member
0 commit comments