Skip to content
Snippets Groups Projects
Commit 588265e2 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "lrdp-v2: register.py: add support for setting the register value"

parents 64ae617b a2510954
No related branches found
No related tags found
No related merge requests found
...@@ -39,6 +39,15 @@ class Register(object): ...@@ -39,6 +39,15 @@ class Register(object):
>>> abc.other = 0x3 >>> abc.other = 0x3
>>> hex(abc.value) >>> hex(abc.value)
'0x31' '0x31'
>>> abc.value = 0
>>> abc.value
0
>>> abc.value = 42
>>> abc.value
42
>>> abc.zero()
>>> abc.value
0
You can also overlay fields on top of each other without problems: You can also overlay fields on top of each other without problems:
...@@ -84,6 +93,9 @@ class Register(object): ...@@ -84,6 +93,9 @@ class Register(object):
""" """
self._regs[field] = bitrange self._regs[field] = bitrange
def zero(self):
object.__setattr__(self, 'value', 0)
def __dir__(self): def __dir__(self):
return self.__dict__.keys() + self._regs.keys() return self.__dict__.keys() + self._regs.keys()
...@@ -96,6 +108,9 @@ class Register(object): ...@@ -96,6 +108,9 @@ class Register(object):
return bitops.bvalsel(msb, lsb, self.value) return bitops.bvalsel(msb, lsb, self.value)
def __setattr__(self, name, newvalue): def __setattr__(self, name, newvalue):
if name == 'value':
object.__setattr__(self, 'value', newvalue)
return
if name not in self._regs: if name not in self._regs:
raise AttributeError raise AttributeError
if self.value is None: if self.value is None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment