Fix #459 - properly support remote SPI with pigpio

Sorry! Dave's messing around with the pin implementations again.
Hopefully the last time. The pin_factory is now really a factory object
which can be asked to produce individual pins or pin-based interfaces
like SPI (which can be supported properly via pigpio).
This commit is contained in:
Dave Jones
2016-09-27 00:30:57 +01:00
parent 0ca2586e9e
commit ce6217c14f
34 changed files with 2311 additions and 1456 deletions

View File

@@ -16,7 +16,6 @@ except ImportError:
from .exc import DeviceClosed, SPIBadChannel
from .devices import Device
from .spi import SPI
class SPIDevice(Device):
@@ -28,13 +27,12 @@ class SPIDevice(Device):
specified with the constructor.
"""
def __init__(self, **spi_args):
self._spi = SPI(**spi_args)
self._spi = self._pin_factory.spi(**spi_args)
def close(self):
if self._spi:
s = self._spi
self._spi.close()
self._spi = None
s.close()
super(SPIDevice, self).close()
@property