Skip to content

Commit

Permalink
Merge pull request #1083 from slaclab/rogue_v6
Browse files Browse the repository at this point in the history
Add support for list variables in LMX2615
  • Loading branch information
ruck314 authored Jun 13, 2023
2 parents 7b0838a + 57b1a69 commit 6fb2ad9
Showing 1 changed file with 38 additions and 4 deletions.
42 changes: 38 additions & 4 deletions python/surf/devices/ti/_Lmx2615.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,44 @@
#-----------------------------------------------------------------------------

import pyrogue as pr
import rogue

class Lmx2615(pr.Device):
def __init__(self, **kwargs):
super().__init__(size = (1 << 12), **kwargs)

#####################################################################
# Address = 0x00 (R0)
# Write only because MUXOUT_LD_SEL's default is not readback SPI mode
#####################################################################

self._useVars = rogue.Version.greaterThanEqual('5.4.0')

if self._useVars:
size = 0
else:
size = (1 <<12)

super().__init__(size = size, **kwargs)

if self._useVars:
self.add(pr.RemoteVariable(
name = "DataBlock",
description = "",
offset = 0,
bitSize = 32 * 1024,
bitOffset = 0,
numValues = 1024,
valueBits = 32,
valueStride = 32,
updateNotify = True,
bulkOpEn = False, # FALSE for large variables
overlapEn = True,
verify = False, # FALSE due to a mix of RO/WO/RW variables
hidden = True,
base = pr.UInt,
mode = "RW",
))

self.add(pr.RemoteVariable(
name = 'VCO_PHASE_SYNC',
offset = (0x00 << 2),
Expand Down Expand Up @@ -736,7 +764,13 @@ def LoadCodeLoaderHexFile(arg):
else:
data = int("0x" + s[1][-4:], 0)
print(f'writing {addr:#04x}: {data:#06x}')
self._rawWrite( 4 * addr, data)
if self._useVars:
self.DataBlock.set(value=data, index=addr, write=True)
else:
self._rawWrite( 4 * addr, data)

self.MUXOUT_LD_SEL.set(0x0)
self.readBlocks(recurse=True)
self.checkBlocks(recurse=True)

if not self._useVars:
self.readBlocks(recurse=True)
self.checkBlocks(recurse=True)

0 comments on commit 6fb2ad9

Please sign in to comment.