summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/boards/make-pins.py
diff options
context:
space:
mode:
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__":