diff options
author | jaseg <git@jaseg.de> | 2023-04-30 01:58:30 +0200 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2023-04-30 01:58:30 +0200 |
commit | 73a48f1dcb8bbe25221a5df952a36aec301b9f37 (patch) | |
tree | ff3fc34a44b71d1d2b33d331e5f93b1443f1a288 /gerbonara/cad/protoserve.py | |
parent | 9ffc96cbe53eb0335f8a379252fb8124acaf5346 (diff) | |
download | gerbonara-73a48f1dcb8bbe25221a5df952a36aec301b9f37.tar.gz gerbonara-73a48f1dcb8bbe25221a5df952a36aec301b9f37.tar.bz2 gerbonara-73a48f1dcb8bbe25221a5df952a36aec301b9f37.zip |
protoserve: Add ALio layout
Diffstat (limited to 'gerbonara/cad/protoserve.py')
-rw-r--r-- | gerbonara/cad/protoserve.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gerbonara/cad/protoserve.py b/gerbonara/cad/protoserve.py index 4a10acc..bcd48ce 100644 --- a/gerbonara/cad/protoserve.py +++ b/gerbonara/cad/protoserve.py @@ -100,7 +100,7 @@ def deserialize(obj, unit): via_dia = mil(float(obj['via_dia'])) trace_width = mil(float(obj['trace_width'])) # Force 1mm margin to avoid shorts when adjacent to planes such as that one in the RF THT proto. - return pb.PatternProtoArea(pitch, pitch, pb.PoweredProto(pitch, hole_dia, clearance, via_size=via_drill, power_pad_dia=via_dia, trace_width=trace_width, unit=unit), margin=1.0, unit=unit) + return pb.PatternProtoArea(pitch, pitch, pb.PoweredProto(pitch, hole_dia, clearance, via_size=via_drill, power_pad_dia=via_dia, trace_width=trace_width, unit=unit), margin=unit(1.0, MM), unit=unit) case 'flower': pitch = mil(float(obj.get('pitch', 2.54))) @@ -111,6 +111,22 @@ def deserialize(obj, unit): case 'spiky': return pb.PatternProtoArea(2.54, 2.54, pb.SpikyProto(), unit=unit) + case 'alio': + pitch = mil(float(obj.get('pitch', 2.54))) + drill = mil(float(obj.get('hole_dia', 0.9))) + clearance = mil(float(obj.get('clearance', 0.3))) + link_pad_width = mil(float(obj.get('link_pad_width', 1.1))) + link_trace_width = mil(float(obj.get('link_trace_width', 0.5))) + via_size = mil(float(obj.get('via_hole_dia', 0.4))) + return pb.PatternProtoArea(pitch, pitch, pb.AlioCell( + pitch=pitch, + drill=drill, + clearance=clearance, + link_pad_width=link_pad_width, + link_trace_width=link_trace_width, + via_size=via_size + ), margin=unit(1.5, MM), unit=unit) + case 'rf': pitch = float(obj.get('pitch', 2.54)) hole_dia = float(obj['hole_dia']) |