son module#
- class SONLead(length, width, lead_type=LeadProtrusion(name='SmallOutlineNoLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.3, heel=0.0, side=0.05, courtyard_excess=0.2), <DensityLevel.B: 'B'>: LeadFillets(toe=0.2, heel=0.0, side=0.0, courtyard_excess=0.15), <DensityLevel.C: 'C'>: LeadFillets(toe=0.1, heel=0.0, side=-0.05, courtyard_excess=0.1)}))[source]#
Bases:
SMDLeadSON Lead
This class specifies the default lead for SON landpatterns.
- Parameters:
length (Toleranced)
width (Toleranced)
lead_type (LeadProtrusion)
-
lead_type:
LeadProtrusion= LeadProtrusion(name='SmallOutlineNoLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.3, heel=0.0, side=0.05, courtyard_excess=0.2), <DensityLevel.B: 'B'>: LeadFillets(toe=0.2, heel=0.0, side=0.0, courtyard_excess=0.15), <DensityLevel.C: 'C'>: LeadFillets(toe=0.1, heel=0.0, side=-0.05, courtyard_excess=0.1)})# Lead Protrusion Type
The default value for SOP leads is
SmallGullWingLeads.
- class SONBase(*, num_rows=None, num_leads=None)[source]#
Bases:
ThermalPadGeneratorMixin,PackageBodyMixin,DualColumnSmall Outline No-Lead (SON) Landpattern
This class generates a full SON landpattern. By default, it creates a soldermask-bounds-based silkscreen outline, a circular pad 1 marker, and a courtyard based on the bounds of all features buffered by an excess amount. It can also optionally generate a thermal pad.
- class SONDecorated(*args, **kwargs)[source]#
Bases:
SilkscreenOutline,Pad1Marker,ReferenceDesignatorMixin,ExcessCourtyard,SONBaseDecorated SON Landpattern Generator, with no pad numbering scheme.
- class SON(*args, **kwargs)[source]#
Bases:
LinearNumbering,SONDecoratedSmall Outline No-Lead (SON) Landpattern
This class generates a full SON landpattern. By default, it creates a soldermask-bounds-based silkscreen outline, a circular pad 1 marker, and a courtyard based on the bounds of all features buffered by an excess amount. It can also optionally generate a thermal pad.
Note that this class will use
LinearNumberingfor the pad numbering. To use a different numbering scheme, create a subclass ofSONBaseand inherit a different one.>>> class MySON(Component): ... # A 14-lead SON ... landpattern = ( ... SON( ... num_leads=14, ... ) ... .lead_profile( ... LeadProfile( ... span=Toleranced.min_max(6.2, 6.6), ... pitch=0.65, ... type=SONLead( ... length=Toleranced.min_max(0.5, 0.75), ... width=Toleranced.min_max(0.19, 0.3), ... ), ... ), ... ) ... .package_body( ... RectanglePackage( ... width=Toleranced.min_max(4.3, 4.5), ... length=Toleranced(5.0, 0.1), ... height=Toleranced.min_max(1.0, 1.2), ... ) ... ) ... ) >>> MySON().landpattern.p[1] SMDPad