3 from spec
.interfaces
import Pinouts
5 def specgen(pth
, pinouts
, bankspec
, fixedpins
):
6 """ generates a specification of pinouts (tsv files)
7 for reading in by pinmux
10 #print bankspec.keys()
12 #print fixedpins.keys()
13 if not os
.path
.exists(pth
):
15 with
open(os
.path
.join(pth
, 'interfaces.txt'), 'w') as f
:
16 for k
in pinouts
.fnspec
.keys():
18 f
.write("%s\t%d\n" % (k
.lower(), len(s
)))
19 s0
= s
[s
.keys()[0]] # hack, take first
20 with
open(os
.path
.join(pth
, '%s.txt' % k
.lower()), 'w') as g
:
21 if len(s0
.pingroup
) == 1: # only one function, grouped higher up
22 for ks
in s
.keys(): # grouped by interface
23 k
= "%s_%s" % (s
[ks
].fname
, s
[ks
].suffix
)
25 g
.write("%s\t%s\n" % (k_
, fntype
))
27 for pinname
in s0
.pingroup
:
28 fntype
= s0
.fntype
.get(pinname
, 'inout')
31 g
.write("%s_%s\t%s\n" % (k_
, pn
, fntype
))