From 25dcca156a811b53f2381cbbc3c78580805fc511 Mon Sep 17 00:00:00 2001 From: avishayp Date: Sun, 16 Sep 2018 22:38:25 +0300 Subject: [PATCH] Add speed as spi parameter --- .gitignore | 2 ++ pifacecommon/mcp23s17.py | 4 ++-- pifacecommon/spi.py | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 704209e..e9323e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.idea + dpkg-files makedebpkg.sh *.deb diff --git a/pifacecommon/mcp23s17.py b/pifacecommon/mcp23s17.py index a4aebc6..0d7795e 100644 --- a/pifacecommon/mcp23s17.py +++ b/pifacecommon/mcp23s17.py @@ -87,8 +87,8 @@ class MCP23S17(SPIDevice): :attribute: olata/olatb -- The OLAT register provides access to the output latches. """ - def __init__(self, hardware_addr=0, bus=0, chip_select=0): - super(MCP23S17, self).__init__(bus, chip_select) + def __init__(self, hardware_addr=0, bus=0, chip_select=0, speed_hz=100000): + super(MCP23S17, self).__init__(bus, chip_select, speed_hz=speed_hz) self.hardware_addr = hardware_addr self.iodira = MCP23S17Register(IODIRA, self) diff --git a/pifacecommon/spi.py b/pifacecommon/spi.py index 40b5d6f..f4896e2 100644 --- a/pifacecommon/spi.py +++ b/pifacecommon/spi.py @@ -15,7 +15,7 @@ class SPIInitError(Exception): class SPIDevice(object): """An SPI Device at /dev/spi..""" - def __init__(self, bus=0, chip_select=0, spi_callback=None): + def __init__(self, bus=0, chip_select=0, spi_callback=None, speed_hz=100000): """Initialises the SPI device file descriptor. :param bus: The SPI device bus number @@ -27,6 +27,7 @@ def __init__(self, bus=0, chip_select=0, spi_callback=None): self.bus = bus self.chip_select = chip_select self.spi_callback = spi_callback + self.speed_hz = speed_hz self.fd = None spi_device = "%s%d.%d" % (SPIDEV, self.bus, self.chip_select) self.open_fd(spi_device) @@ -66,7 +67,7 @@ def spisend(self, bytes_to_send): tx_buf=ctypes.addressof(wbuffer), rx_buf=ctypes.addressof(rbuffer), len=ctypes.sizeof(wbuffer), - speed_hz=ctypes.c_uint32(100000) + speed_hz=ctypes.c_uint32(self.speed_hz) ) if self.spi_callback is not None: