mirror of
https://github.com/rene-dev/stmbl.git
synced 2026-08-17 17:02:04 +08:00
added missing create_comp_h.py script
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python
|
||||
import re
|
||||
import sys
|
||||
import file_updater
|
||||
|
||||
infile = sys.argv[2]
|
||||
with open(sys.argv[2]) as f: # TODO raise error if file cannot be opened instead of silently succeeding
|
||||
pins = []
|
||||
comp_name = ''
|
||||
comp_file = infile.split("/")[-1].split(".")[0]
|
||||
for line in f:
|
||||
comp = re.search('COMP\((\w*)\);', line)
|
||||
if comp:
|
||||
comp_name = comp.groups()[0]
|
||||
pin = re.search('HAL_PIN\((\w*)\)', line)
|
||||
if pin:
|
||||
pins.append((pin.groups()[0], int(1)))
|
||||
pin = re.search('HAL_PINA\((\w*),\s*(\d*)\)', line)
|
||||
if pin:
|
||||
pins.append((pin.groups()[0], int(pin.groups()[1])))
|
||||
|
||||
header = file_updater.FileUpdater(sys.argv[1])
|
||||
header.write("#pragma once\n")
|
||||
header.write("//generated by " + sys.argv[0] + " DO NOT EDIT\n\n")
|
||||
header.write("#include \"hal.h\"\n")
|
||||
header.write("struct " + comp_name + "_pin_ctx_t{ // found in " + infile + "\n")
|
||||
header.write(" hal_pin_inst_t rt_prio;\n")
|
||||
header.write(" hal_pin_inst_t frt_prio;\n")
|
||||
# header.write(" hal_pin_inst_t rt_calc_time;\n")
|
||||
# header.write(" hal_pin_inst_t rt_start_time;\n")
|
||||
# header.write(" hal_pin_inst_t frt_calc_time;\n")
|
||||
# header.write(" hal_pin_inst_t frt_start_time;\n")
|
||||
# header.write(" hal_pin_inst_t nrt_calc_time;\n")
|
||||
# header.write(" hal_pin_inst_t nrt_start_time;\n")
|
||||
|
||||
for (p, i) in pins:
|
||||
if i > 1:
|
||||
header.write(" hal_pin_inst_t " + p + "[" + str(i) + "]" + ";\n")
|
||||
else:
|
||||
header.write(" hal_pin_inst_t " + p + ";\n")
|
||||
header.write("};\n")
|
||||
header.close()
|
||||
Reference in New Issue
Block a user