summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/boards/make-pins.py
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2014-08-10 23:18:10 -0700
committerDamien George <damien.p.george@gmail.com>2014-08-24 18:21:08 +0100
commit3d945559d4c25b7ce30c5e6b0f443bf32ffe957d (patch)
tree4183b1af14d2d8ea66e435c4b4d7d88efdb6f3d1 /stmhal/boards/make-pins.py
parentc668d51b08370529f6193e8b1d973fdcecfd7620 (diff)
downloadmicropython-3d945559d4c25b7ce30c5e6b0f443bf32ffe957d.tar.gz
micropython-3d945559d4c25b7ce30c5e6b0f443bf32ffe957d.zip
Added python script to map AF to a pin name
Added some functions to Pin class to query mode, pull, and af
Diffstat (limited to 'stmhal/boards/make-pins.py')
-rwxr-xr-xstmhal/boards/make-pins.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/stmhal/boards/make-pins.py b/stmhal/boards/make-pins.py
index cc580f7cd7..44da266ae1 100755
--- a/stmhal/boards/make-pins.py
+++ b/stmhal/boards/make-pins.py
@@ -315,6 +315,17 @@ class Pins(object):
print(' { %-*s %s },' % (mux_name_width + 26, key, val),
file=af_const_file)
+ def print_af_py(self, af_py_filename):
+ with open(af_py_filename, 'wt') as af_py_file:
+ print('PINS_AF = (', file=af_py_file);
+ for named_pin in self.board_pins:
+ print(" ('%s', " % named_pin.name(), end='', file=af_py_file)
+ for af in named_pin.pin().alt_fn:
+ if af.is_supported():
+ print("(%d, '%s'), " % (af.idx, af.af_str), end='', file=af_py_file)
+ print('),', file=af_py_file)
+ print(')', file=af_py_file)
+
def main():
parser = argparse.ArgumentParser(
@@ -335,6 +346,12 @@ def main():
default="build/pins_af_const.h"
)
parser.add_argument(
+ "--af-py",
+ dest="af_py_filename",
+ help="Specifies the filename for the python alternate function mappings.",
+ default="build/pins_af.py"
+ )
+ parser.add_argument(
"-b", "--board",
dest="board_filename",
help="Specifies the board file",
@@ -383,6 +400,7 @@ def main():
pins.print_header(args.hdr_filename)
pins.print_qstr(args.qstr_filename)
pins.print_af_hdr(args.af_const_filename)
+ pins.print_af_py(args.af_py_filename)
if __name__ == "__main__":