from spec.interfaces import Pinouts
from spec.ifaceprint import display, display_fns, check_functions
-from spec.ifaceprint import display_fixed
+from spec.ifaceprint import display_fixed, python_dict_fns
+from collections import OrderedDict
class PinSpec(Pinouts):
def __init__(self, pinbanks, fixedpins, function_names, fast=None):
- self.fastbus = fast or []
- self.pinbanks = {}
+ self.fastbus = fast or {}
+ self.pinbanks = OrderedDict()
self.muxwidths = {}
for bank, (sz, muxwidth) in pinbanks.items():
self.pinbanks[bank] = sz
self.muxwidths[bank] = muxwidth
self.fixedpins = fixedpins
self.function_names = function_names
- bankspec = {}
+ bankspec = OrderedDict()
self.offs = 0
- pkeys = sorted(self.pinbanks.keys())
- print self.pinbanks
+ pkeys = self.pinbanks.keys()
+ print (self.pinbanks)
for kn in pkeys:
bankspec[kn] = self.offs
self.offs += self.pinbanks[kn]
self.scenarios.append((name, needed, eint, pwm, descriptions))
+ def pywrite(self, pyf, pinmap):
+ return python_dict_fns(pyf, pinmap, self, self.function_names)
+
def write(self, of):
+
of.write("""# Pinouts (PinMux)
auto-generated by [[pinouts.py]]
[[!toc ]]
""")
- bk = sorted(self.pinbanks.keys())
+ bk = self.pinbanks.keys()
for bank in bk:
of.write(
"\n## Bank %s (%d pins, width %d)\n\n" %
of.write("""# Reference Datasheets
datasheets and pinout links
+
* <http://datasheets.chipdb.org/AMD/8018x/80186/amd-80186.pdf>
* <http://hands.com/~lkcl/eoma/shenzen/frida/FRD144A2701.pdf>
* <http://pinouts.ru/Memory/sdcard_pinout.shtml>