Source code for jitxlib.landpatterns.generators.qfp
from dataclasses import dataclass
from jitx.anchor import Anchor
from ..courtyard import ExcessCourtyard
from ..grid_layout import A1, LinearNumbering
from ..leads import SMDLead
from ..leads.protrusion import LeadProtrusion
from ..leads.protrusions import BigGullWingLeads
from ..pads import SMDPadConfig, ThermalPadGeneratorMixin
from ..quad import CornerPadChamfer, QuadColumn
from ..silkscreen.labels import ReferenceDesignatorMixin
from ..silkscreen.marker import Pad1Marker
from ..silkscreen.outlines import SilkscreenOutline
[docs]
@dataclass(frozen=True)
class QFPLead(SMDLead):
"""QFP Lead
This class specifies the default lead for QFP landpatterns.
"""
lead_type: LeadProtrusion = BigGullWingLeads
"""Lead Protrusion Type
The default value for QFP leads is :py:class:`~BigGullWingLeads`.
"""
[docs]
class QFPBase(CornerPadChamfer, ThermalPadGeneratorMixin, QuadColumn):
"""QFP Landpattern Generator Base"""
def __base_init__(self):
super().__base_init__()
self.pad_config(SMDPadConfig())
[docs]
class QFPDecorated(
SilkscreenOutline, Pad1Marker, ReferenceDesignatorMixin, ExcessCourtyard, QFPBase
):
"""Decorated QFP Landpattern Generator, with no pad numbering scheme."""
def __base_init__(self):
super().__base_init__()
self.pad_1_marker_direction(Anchor.W)
[docs]
class QFP(A1, LinearNumbering, QFPDecorated):
"""QFP Landpattern Generator"""