#!/usr/bin/env python3
"""Plan d'implantation vu de dessus : côté composants + côté soudures (miroir)."""
import runpy, sys
OUT = sys.argv[1]
sys.argv = ["x", "/dev/null"]
g = runpy.run_path(sys.path[0] + "/gen_fzz.py", run_name="gen")
COLS, ROWS = g["COLS"], g["ROWS"]
NU = g["NU"]
leds, res_anode, res_base, trans = g["leds"], g["res_anode"], g["res_base"], g["trans"]
board_wires, ard_jobs = g["board_wires"], g["ard_jobs"]
PX = 16 # pas d'affichage
MARGE_X, MARGE_Y = 44, 120
PANNEAU = COLS * PX + 2 * MARGE_X
LARG = 2 * PANNEAU + 40
HAUT = MARGE_Y + ROWS * PX + 270
out = []
A = out.append
def xy(c, r, panneau):
if panneau == 1: # côté soudures : plaque retournée gauche/droite
c = COLS - 1 - c
return (panneau * (PANNEAU + 40) + MARGE_X + c * PX + PX / 2, MARGE_Y + r * PX + PX / 2)
def txt(x, y, s, size=11, anchor="middle", fill="#333", weight="normal", rot=None):
tr = f' transform="rotate({rot} {x:.1f} {y:.1f})"' if rot else ""
A(f'{s}')
A(f'")
with open(OUT, "w") as f:
f.write("\n".join(out))