app: stacked_cores: allow 40xx_db.py to update itself

This commit is contained in:
2022-09-27 17:13:44 -07:00
parent 9ffd94b23e
commit 9b93a762f1

View File

@@ -2,6 +2,7 @@
from inverter_characteristics import Piecewise
import subprocess
import sys
sims = [
@@ -25,11 +26,24 @@ sims = [
measurements = { real: [human, norm, None, None] for (real, human, norm) in sims }
def set_meas(name: str, expr: str):
def set_meas(real: str, expr: str):
pw = eval(expr)
measurements[name][2] = expr
human, norm, _, _ = measurements[name]
globals()[human] = measurements[name][3] = pw.normalized(norm)
measurements[real][2] = expr
human, norm, _, _ = measurements[real]
globals()[human] = measurements[real][3] = pw.normalized(norm)
def try_measure(real: str):
new_value = subprocess.check_output(
[
"./stacked_cores_39xx.py",
f"../../../../out/applications/stacked_cores/{real}"
]
).decode()
set_meas(real, "\n" + new_value)
def update_all():
for (real, _human, _norm) in sims:
try_measure(real)
def dump(path: str):
orig = open(path).read()
@@ -42,7 +56,11 @@ def dump(path: str):
encoded = measurements[real][2]
f.write(f"\n\nset_meas(\"{real}\", \"\"\"{encoded}\"\"\")")
f.write("\n\nif __name__ == '__main__': dump(__file__)\n")
f.write("\n\nif __name__ == '__main__': main()\n")
def main():
update_all()
dump(__file__)
## AUTOGENERATED
@@ -542,4 +560,4 @@ Piecewise(
)
""")
if __name__ == '__main__': dump(__file__)
if __name__ == '__main__': main()