sop module#
- class SOPLead(length, width, lead_type=LeadProtrusion(name='SmallGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.01, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=-0.02, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=-0.04, courtyard_excess=0.1)}))[source]#
Bases:
SMDLeadSOP Lead
This class specifies the default lead for SOP landpatterns.
- Parameters:
length (Toleranced)
width (Toleranced)
lead_type (LeadProtrusion)
-
lead_type:
LeadProtrusion= LeadProtrusion(name='SmallGullWingLeads', fillets={<DensityLevel.A: 'A'>: LeadFillets(toe=0.55, heel=0.45, side=0.01, courtyard_excess=0.5), <DensityLevel.B: 'B'>: LeadFillets(toe=0.35, heel=0.35, side=-0.02, courtyard_excess=0.25), <DensityLevel.C: 'C'>: LeadFillets(toe=0.15, heel=0.25, side=-0.04, courtyard_excess=0.1)})# Lead Protrusion Type
The default value for SOP leads is
SmallGullWingLeads.
- class SOPBase(*, num_rows=None, num_leads=None)[source]#
Bases:
ThermalPadGeneratorMixin,PackageBodyMixin,DualColumnSmall Outline Package (SOP) Landpattern
This class generates a full SOP 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 SOPDecorated(*args, **kwargs)[source]#
Bases:
SilkscreenOutline,Pad1Marker,ReferenceDesignatorMixin,ExcessCourtyard,SOPBaseDecorated SOP Landpattern Generator, with no pad numbering scheme.
- class SOP(*args, **kwargs)[source]#
Bases:
LinearNumbering,SOPDecoratedSmall Outline Package (SOP) Landpattern
This class generates a full SOP 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 ofSOPBaseand inherit a different one.>>> class MySOP(Component): ... # A 14-lead SOP ... landpattern = ( ... SOP( ... num_leads=14, ... ) ... .lead_profile( ... LeadProfile( ... span=Toleranced.min_max(6.2, 6.6), ... pitch=0.65, ... type=SOPLead( ... 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), ... ) ... ) ... ) >>> MySOP().landpattern.p[1] SMDPad