def __init__(self, port, simPort=None): """Constructor :param port: the physical SPI port :type port: :class:`.SPI.Port` :param simPort: This must be an object that implements all of the spi* functions from hal_impl that you use. See ``test_spi.py`` for an example. """ if hal.HALIsSimulation(): if simPort is None: raise ValueError("You will need to use a mock for this SPI port, or provide a simPort implementation") # Just check for basic functionality assert hasattr(simPort, 'spiInitialize') assert hasattr(simPort, 'spiClose') self._port = (simPort, port) else: self._port = port self.bitOrder = 0 self.clockPolarity = 0 self.dataOnTrailing = 0 hal.spiInitialize(self._port) self.__finalizer = weakref.finalize(self, _freeSPI, self._port) SPI.devices += 1 hal.HALReport(hal.HALUsageReporting.kResourceType_SPI, SPI.devices)
def __init__(self, port): """Constructor :param port: the physical SPI port """ self.port = port self.bitOrder = 0 self.clockPolarity = 0 self.dataOnTrailing = 0 hal.spiInitialize(self.port) self._spi_finalizer = weakref.finalize(self, _freeSPI, self.port) SPI.devices += 1 hal.HALReport(hal.HALUsageReporting.kResourceType_SPI, SPI.devices)
def __init__(self, port, simPort=None): """Constructor :param port: the physical SPI port :type port: :class:`.SPI.Port` :param simPort: This must be an object that implements all of the spi* functions from hal_impl that you use. See ``test_spi.py`` for an example. """ if port not in [self.Port.kOnboardCS0, self.Port.kOnboardCS1, self.Port.kOnboardCS2, self.Port.kOnboardCS3, self.Port.kMXP]: raise ValueError("Invalid value '%s' for SPI port" % port) if hal.HALIsSimulation(): if simPort is None: # If you want more functionality, implement your own mock from hal_impl.spi_helpers import SPISimBase simPort = SPISimBase() msg = "Using stub simulator for SPI port %s" % port warnings.warn(msg) # Just check for basic functionality assert hasattr(simPort, 'spiInitialize') assert hasattr(simPort, 'spiClose') self._port = (simPort, port) else: self._port = port self.bitOrder = 0 self.clockPolarity = 0 self.dataOnTrailing = 0 hal.spiInitialize(self._port) self.__finalizer = weakref.finalize(self, _freeSPI, self._port) SPI.devices += 1 hal.HALReport(hal.HALUsageReporting.kResourceType_SPI, SPI.devices)
def __init__(self, port, simPort=None): """Constructor :param port: the physical SPI port :type port: :class:`.SPI.Port` :param simPort: This must be an object that implements all of the spi* functions from hal_impl that you use. See ``test_spi.py`` for an example. """ if port not in [ self.Port.kOnboardCS0, self.Port.kOnboardCS1, self.Port.kOnboardCS2, self.Port.kOnboardCS3, self.Port.kMXP ]: raise ValueError("Invalid value '%s' for SPI port" % port) if hal.HALIsSimulation(): if simPort is None: # If you want more functionality, implement your own mock from hal_impl.spi_helpers import SPISimBase simPort = SPISimBase() msg = "Using stub simulator for SPI port %s" % port warnings.warn(msg) # Just check for basic functionality assert hasattr(simPort, 'spiInitialize') assert hasattr(simPort, 'spiClose') self._port = (simPort, port) else: self._port = port self.bitOrder = 0 self.clockPolarity = 0 self.dataOnTrailing = 0 hal.spiInitialize(self._port) self.__finalizer = weakref.finalize(self, _freeSPI, self._port) SPI.devices += 1 hal.HALReport(hal.HALUsageReporting.kResourceType_SPI, SPI.devices)