5 (0,5): list(range(0x20, 0x24)),
6 (0,6): list(range(0x24, 0x28)),
7 (0,1): list(range(0x28, 0x2c)),
8 (0,2): list(range(0x2c, 0x30)),
9 (0,4): list(range(0x30, 0x34)),
10 (0,3): list(range(0x34, 0x38)),
14 (0,5): list(range(0x45, 0x4a)),
15 (0,6): list(range(0x4a, 0x4f)),
16 (0,1): list(range(0x4f, 0x54)),
17 (0,2): list(range(0x54, 0x59)),
18 (0,4): list(range(0x59, 0x5e)),
19 (0,3): list(range(0x5e, 0x63)),
23for addrgrp
in [kSSPAddresses, kWibAddresses]:
24 for slot, addrlist
in addrgrp.items():
25 kAddressToSlot.update({addr:slot
for addr
in addrlist})
32common name, taddr, fanout, slot
38def __genRange( aNum, aGrp, aBaseName, aBaseId, aBaseTAddr, aFanout, aSlot ):
39 return {
'{}{}'.format(aBaseName, aBaseId+i+1):(aGrp, aBaseTAddr+i, aFanout, aSlot)
for i
in range(0,aNum) }
45__db__.update(
__genRange(4,
'ssp',
'ssp', 100, 0x20, 0, 5) )
46__db__.update(
__genRange(4,
'ssp',
'ssp', 200, 0x24, 0, 6) )
47__db__.update(
__genRange(4,
'ssp',
'ssp', 300, 0x28, 0, 1) )
48__db__.update(
__genRange(4,
'ssp',
'ssp', 400, 0x2c, 0, 2) )
49__db__.update(
__genRange(4,
'ssp',
'ssp', 500, 0x30, 0, 4) )
50__db__.update(
__genRange(4,
'ssp',
'ssp', 600, 0x34, 0, 3) )
53__db__.update(
__genRange(5,
'wib',
'wib', 100, 0x45, 0, 5) )
54__db__.update(
__genRange(5,
'wib',
'wib', 200, 0x4a, 0, 6) )
55__db__.update(
__genRange(5,
'wib',
'wib', 300, 0x4f, 0, 1) )
56__db__.update(
__genRange(5,
'wib',
'wib', 400, 0x54, 0, 2) )
57__db__.update(
__genRange(5,
'wib',
'wib', 500, 0x59, 0, 4) )
58__db__.update(
__genRange(5,
'wib',
'wib', 600, 0x5e, 0, 3) )
61__db__[
'ssp003'] = (
'vst', 0xc0, 0, 7)
74 entry = __db__.get(uid,
None)
75 return (uid,)+entry
if entry
is not None else None
81 uid = next( ( k
for k,(_, ta, _, _)
in __db__.items()
if taddr == ta ),
None )
83 return findByUId(uid)
if uid
is not None else None
89 return [ (k,)+(grp, taddr, fanout, slot)
for k,(grp, taddr, fanout, slot)
in __db__.items()
if grp == aGrp]
__genRange(aNum, aGrp, aBaseName, aBaseId, aBaseTAddr, aFanout, aSlot)