forked from M-Labs/artiq
novogorny: streamline gain setting method, style [nfc]
This commit is contained in:
parent
f5a1001114
commit
80903cead7
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
from artiq.language.core import kernel, delay, portable
|
from artiq.language.core import kernel, delay, portable
|
||||||
from artiq.language.units import ns
|
from artiq.language.units import ns
|
||||||
|
|
||||||
|
@ -6,9 +5,9 @@ from artiq.coredevice import spi2 as spi
|
||||||
|
|
||||||
|
|
||||||
SPI_CONFIG = (0*spi.SPI_OFFLINE | 0*spi.SPI_END |
|
SPI_CONFIG = (0*spi.SPI_OFFLINE | 0*spi.SPI_END |
|
||||||
0*spi.SPI_INPUT | 0*spi.SPI_CS_POLARITY |
|
0*spi.SPI_INPUT | 0*spi.SPI_CS_POLARITY |
|
||||||
0*spi.SPI_CLK_POLARITY | 0*spi.SPI_CLK_PHASE |
|
0*spi.SPI_CLK_POLARITY | 0*spi.SPI_CLK_PHASE |
|
||||||
0*spi.SPI_LSB_FIRST | 0*spi.SPI_HALF_DUPLEX)
|
0*spi.SPI_LSB_FIRST | 0*spi.SPI_HALF_DUPLEX)
|
||||||
|
|
||||||
|
|
||||||
SPI_CS_ADC = 1
|
SPI_CS_ADC = 1
|
||||||
|
@ -75,7 +74,7 @@ class Novogorny:
|
||||||
kernel_invariants = {"bus", "core", "conv", "div", "v_ref"}
|
kernel_invariants = {"bus", "core", "conv", "div", "v_ref"}
|
||||||
|
|
||||||
def __init__(self, dmgr, spi_device, conv_device, div=8,
|
def __init__(self, dmgr, spi_device, conv_device, div=8,
|
||||||
core_device="core"):
|
core_device="core"):
|
||||||
self.bus = dmgr.get(spi_device)
|
self.bus = dmgr.get(spi_device)
|
||||||
self.core = dmgr.get(core_device)
|
self.core = dmgr.get(core_device)
|
||||||
self.conv = dmgr.get(conv_device)
|
self.conv = dmgr.get(conv_device)
|
||||||
|
@ -93,11 +92,13 @@ class Novogorny:
|
||||||
:param channel: Channel index
|
:param channel: Channel index
|
||||||
:param gain: Gain setting
|
:param gain: Gain setting
|
||||||
"""
|
"""
|
||||||
self.gains &= ~(0b11 << (channel*2))
|
gains = self.gains
|
||||||
self.gains |= gain << (channel*2)
|
gains &= ~(0b11 << (channel*2))
|
||||||
|
gains |= gain << (channel*2)
|
||||||
self.bus.set_config_mu(SPI_CONFIG | spi.SPI_END,
|
self.bus.set_config_mu(SPI_CONFIG | spi.SPI_END,
|
||||||
16, self.div, SPI_CS_SR)
|
16, self.div, SPI_CS_SR)
|
||||||
self.bus.write(self.gains << 16)
|
self.bus.write(gains << 16)
|
||||||
|
self.gains = gains
|
||||||
|
|
||||||
@kernel
|
@kernel
|
||||||
def configure(self, data):
|
def configure(self, data):
|
||||||
|
|
Loading…
Reference in New Issue