aboutsummaryrefslogtreecommitdiff
path: root/convert.sh
diff options
context:
space:
mode:
Diffstat (limited to 'convert.sh')
-rwxr-xr-xconvert.sh105
1 files changed, 102 insertions, 3 deletions
diff --git a/convert.sh b/convert.sh
index 19fd2fd..b54a466 100755
--- a/convert.sh
+++ b/convert.sh
@@ -97,13 +97,112 @@ ls Cryptech*Alpha.lib rev02*sch | while read file; do
sed -i -e "s#I/SN#I_SN#g" "${file}"
done
-# Turn some labels into global labels. All labels seem to be global in Altium?
-../fix-labels.py rev02*sch
-
# KiCad nightly has changed how symbols are located
../remap-symbols.py rev02*sch
cp ../sym-lib-table.template sym-lib-table
+# Turn some labels into global labels. All labels seem to be global in Altium?
+../fix-labels.py rev02*sch
+# Add NotConnected and some other symbols
+../add-components.py rev02*sch
+rm -f "Cryptech Alpha-cache.lib"
+
+# Conversion seems to make all power pins power-input, change some to power-output
+# LT3060ITS8-15
+sed -i -e 's/^X OUT 6 600 300 200 L 70 70 0 1 W$/X OUT 6 600 300 200 L 70 70 0 1 w/' Cryptech_Alpha.lib
+# Voltage regulator outputs
+#sed -i -e 's/^X VOUT \(.*\) W$/X VOUT \1 w/g' Cryptech_Alpha.lib
+# Power jack
+sed -i \
+ -e 's/^X PWR 1 100 300 100 L 1 1 0 1 P$/X PWR 1 100 300 100 L 1 1 0 1 W/' \
+ -e 's/^X GND 2 100 100 100 L 1 1 0 1 P$/X GND 2 100 100 100 L 1 1 0 1 W/' \
+ -e 's/^X GNDBREAK 3 100 200 100 L 1 1 0 1 P$/X GNDBREAK 3 100 200 100 L 1 1 0 1 W/' \
+ Cryptech_Alpha.lib
+# USB connector VBUS
+sed -i \
+ -e 's/^X VBUS VBUS 400 200 100 L 1 70 0 1 W$/X VBUS VBUS 400 200 100 L 1 70 0 1 w/' \
+ Cryptech_Alpha.lib
+# Mark _one_ of the seven VOUTs on the EN6347Q1 as power output instead of input, since net-ties haven't been used
+sed -i \
+ -e 's/^X VOUT 5 800 900 200 L 70 70 0 1 W$/X VOUT 5 800 900 200 L 70 70 0 1 w/' \
+ Cryptech_Alpha.lib
+# Mark _one_ of the nine VOUTs on the EN5364Q1 as power output instead of input, since net-ties haven't been used
+sed -i \
+ -e 's/^X VOUT 5 900 2100 200 L 70 70 0 1 W$/X VOUT 5 900 2100 200 L 70 70 0 1 w/' \
+ Cryptech_Alpha.lib
+# Mark _one_ of the two VOUTs on the LMZ13608 as power output instead of input, since net-ties haven't been used
+sed -i \
+ -e 's/^X VOUT 10 900 700 200 L 70 70 0 1 W$/X VOUT 10 900 700 200 L 70 70 0 1 w/' \
+ Cryptech_Alpha.lib
+# FT232H power inputs/outputs
+# last letter:
+# P = passive
+# W = Power input
+# w = power output
+sed -i \
+ -e 's/^X VPHY 3 -200 1500 200 D 70 70 0 1 P/X VPHY 3 -200 1500 200 D 70 70 0 1 W/' \
+ -e 's/^X VPLL 8 -100 1500 200 D 70 70 0 1 P/X VPLL 8 -100 1500 200 D 70 70 0 1 W/' \
+ -e 's/^X VCCA 37 -1100 800 200 R 70 70 0 1 W/X VCCA 37 -1100 800 200 R 70 70 0 1 w/' \
+ -e 's/^X VCCORE 38 -1100 900 200 R 70 70 0 1 W/X VCCORE 38 -1100 900 200 R 70 70 0 1 w/' \
+ -e 's/^X VCCD 39 -1100 1000 200 R 70 70 0 1 W/X VCCD 39 -1100 1000 200 R 70 70 0 1 w/' \
+ Cryptech_Alpha.lib
+
+# Fix off-grid capacitor
+sed -i \
+ -e 's/^X + 1 110 0 10 L 1 1 0 1 P$/X + 1 100 0 10 L 1 1 0 1 P/' \
+ -e 's/^X - 2 -110 0 10 R 1 1 0 1 P$/X - 2 -100 0 10 R 1 1 0 1 P/' \
+ Cryptech_Alpha.lib
+# Fix off-grid oscillator
+sed -i \
+ -e 's/^X 1 1 -110 0 10 R 1 1 0 1 P$/X 1 1 -100 0 10 R 1 1 0 1 P/' \
+ -e 's/^X 3 3 110 0 10 L 1 1 0 1 P$/X 3 3 100 0 10 L 1 1 0 1 P/' \
+ Cryptech_Alpha.lib
+
+# Component attributes seem to get added in a big pile on components
+grep -vx \
+ -e 'T 0 -80 120 50 0 1 1 10% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 50V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 6.3V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X5R Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X7R Normal 1 C C' \
+ -e 'T 0 -220 -50 50 0 1 1 5% Normal 1 C C' \
+ -e 'T 0 -220 40 50 0 1 1 5% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 16V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 20% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 10% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 50V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 6.3V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X5R Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X7R Normal 1 C C' \
+ -e 'T 0 -520 210 50 0 1 1 2058982 Normal 1 C C' \
+ -e 'T 0 -520 210 50 0 1 1 RCLAMP0502A Normal 1 C C' \
+ -e 'T 0 -520 210 50 0 1 1 SEMTECH Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 10% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 16V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 20% Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 50V Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X5R Normal 1 C C' \
+ -e 'T 0 -80 120 50 0 1 1 X7R Normal 1 C C' \
+ -e 'T 0 -820 1510 50 0 1 1 2081142 Normal 1 C C' \
+ -e 'T 0 -820 1510 50 0 1 1 EN5364QI Normal 1 C C' \
+ -e 'T 0 -820 1510 50 0 1 1 ENPIRION Normal 1 C C' \
+ -e 'T 0 -820 1510 50 0 1 1 QFN Normal 1 C C' \
+ -e 'T 0 -220 -50 50 0 1 1 5% Normal 1 C C' \
+ -e 'T 0 -220 40 50 0 1 1 5% Normal 1 C C' \
+ -e 'T 0 -410 420 50 0 1 1 2425618 Normal 1 C C' \
+ -e 'T 0 -410 330 50 0 1 1 CONN-08106 Normal 1 C C' \
+ -e 'T 0 -410 330 50 0 1 1 PRT-12748 Normal 1 C C' \
+ -e 'T 0 -1120 1520 50 0 1 1 1870924 Normal 1 C C' \
+ -e 'T 0 -820 910 50 0 1 1 2081146 Normal 1 C C' \
+ -e 'T 0 -820 910 50 0 1 1 EN6347QI Normal 1 C C' \
+ -e 'T 0 -820 910 50 0 1 1 ENPIRION Normal 1 C C' \
+ -e 'T 0 -820 910 50 0 1 1 QFN Normal 1 C C' \
+ -e 'T 0 -1220 2320 50 0 1 1 IS45S32160F Normal 1 C C' \
+ -e 'T 0 -1220 2320 50 0 1 1 ISSI Normal 1 C C' \
+ Cryptech_Alpha.lib > Cryptech_Alpha.lib2
+mv Cryptech_Alpha.lib2 Cryptech_Alpha.lib
+
+
# Segments on non-copper layer Eco2.User are not visible, and causes ERC warnings.
# Turn them into graphical lines instead.
sed -i -e 's/segment \(.*\)layer Eco2.User.*/gr_line \1layer Eco2.User\)\)/g' Cryptech\ Alpha.kicad_pcb