@@ -12,21 +12,28 @@ def __new__(self, classname, bases, classdict):
12
12
# data bits
13
13
for bit in range (8 ):
14
14
mask = 1 << bit
15
+
15
16
def getter (self , mask = mask ):
16
17
return (self .getData () & mask ) != 0
18
+
17
19
def setter (self , b , mask = mask ):
18
20
if b :
19
21
self .setData (self .getData () | mask )
20
22
else :
21
23
self .setData (self .getData () & ~ mask )
24
+
22
25
setattr (klass , "D%d" % bit , property (getter , setter , "Access databit %d" % bit ))
26
+
23
27
# nibbles
24
28
for name , shift , width in [('D0_D3' , 0 , 4 ), ('D4_D7' , 4 , 4 )]:
25
29
mask = (1 << width ) - 1
30
+
26
31
def getter (self , shift = shift , mask = mask ):
27
32
return (self .getData () >> shift ) & mask
33
+
28
34
def setter (self , b , shift = shift , mask = mask ):
29
35
self .setData ((self .getData () & ~ (mask << shift )) | ((b & mask ) << shift ))
36
+
30
37
setattr (klass , name , property (getter , setter , "Access to %s" % name ))
31
38
return klass
32
39
@@ -55,7 +62,6 @@ def setDataStrobe(self, value):
55
62
self ._last = ('setDataStrobe' , value )
56
63
57
64
58
-
59
65
# testing
60
66
if __name__ == '__main__' :
61
67
import unittest
0 commit comments