#!/bin/sh # export all kicad boards to lht in mostly parallel, unify subc UIDs # and do a diff comparing to reference # rest after every 16 runs jobs=16 j=0 for n in *.kicad_pcb do n2=${n%%.kicad_pcb}.lht w=${n%%.kicad_pcb}.warn rm -f out/$n2 out/$w echo " ClipInhibit(on) LoadFrom(Layout, \"$n\") SaveTo(LayoutAs, \"out/$n2\", lihata) " | pcb-rnd --gui batch >out/$w & j=$(($j+1)) if test $j -ge $jobs then wait j=0 fi done # wait all pending conversions wait echo "pcb-rnd export DONE" # do the diff for n in *.kicad_pcb do n2=${n%%.kicad_pcb}.lht w=${n%%.kicad_pcb}.warn sed -i "s/uid = .*/ uid = vs82JCQZ2ImwqgJSkxAAAAAK/" out/$n2 diff -u ref/$n2 out/$n2 diff -u ref/$w out/$w done | tee a.diff