def setup_spi(): logger.debug("SPI setup") spi = SpiDev() spi.open(bus=0, device=0) spi.max_speed_hz = 1000000 spi.bits_per_word = 8 spi.loop = False spi.mode = 3 spi.no_cs = True return spi
def __init__(self, port=0, dev=0, speed=1000000, interval=600, node="acc_sensor", save_path=None): self.interval = interval self.node = node self.save_path = save_path spi = SpiDev() spi.open(port, dev) #config SPI port spi.max_speed_hz = speed spi.mode = 0b11 #set_pin() self.writebytes = spi.writebytes self.writebytes2 = spi.xfer3 self.read = spi.xfer2 self.start_up() self.file_time = datetime.now() self.fname = self.node + self.file_time.strftime("_%Y-%m-%d_%H-%M.csv") print("creating new log file") self.signals = ['time', 'x', 'y', 'z']
import Adafruit_BBIO.GPIO as GPIO from spidev import SpiDev import time import datetime spi = SpiDev(1, 0) spi.mode = 3 spi.max_speed_hz = 200000 #spi.xfer2([0x0]) GPIO.setup("P9_11", GPIO.OUT) # A0 sipm select bit0 GPIO.setup("P9_12", GPIO.OUT) # A1 sipm select bit1 GPIO.setup("P9_13", GPIO.OUT) # A2 sipm select bit2 GPIO.setup("P9_14", GPIO.OUT) # A3 sipm select bit3 GPIO.setup("P9_15", GPIO.OUT) # A5 chip select bit0 GPIO.setup("P9_16", GPIO.OUT) # A6 chip select bit1 #chip select map # 0: nc # 1: pga # 2: temp # 3: mem GPIO.output("P9_11", GPIO.LOW) GPIO.output("P9_12", GPIO.LOW) GPIO.output("P9_13", GPIO.LOW) GPIO.output("P9_14", GPIO.LOW) GPIO.output("P9_15", GPIO.LOW)
def config_interface(spi_dev: SpiDev, clock: int) -> None: spi_dev.cshigh = True # use inverted CS spi_dev.mode = 0b01 spi_dev.max_speed_hz = clock # set SPI clock
def _setup_spidev(self, bus, channel, mode=1): spi = SpiDev(bus, channel) spi.max_speed_hz = 1200000 spi.mode = mode return spi