Skip to content

jsl/landpatterns/leads/lead-types

Package name: jsl/landpatterns/leads/lead-types

Summary

Data Types

Lead

Pin or Electrical contact of a component package

Multis

Function Description
length Dimension of the lead that is normal to the edge of the package body
width Dimension of the lead that is parallel to the edge of the package body.

TH-Lead

Through-hole Component Lead

Multis

Function Description
compute-hole-pad-diam Compute the Hole and Pad Dimensions

Methods

Function Description
compute-hole-pad-diam Default Implementation for hole and pad size computation

Functions

Function Description
make-pad-def Construct the Pad Definition for this Through-Hole Lead
TH-Lead Through-Hole Lead Constructor

SMT-Lead

Surface Mount Component Lead

Constructors

Function Description
SMT-Lead (+ 1) Constructor for defstruct SMT-Lead

Multis

Function Description
pad-constraints Compute the IPC-compliant Pad Constraints for this SMT Lead

Methods

Function Description
pad-constraints Default Implementation for pad-constraints

Definitions

Lead

Pin or Electrical contact of a component package

public deftype Lead <: Equalable & Hashable

The leads of a device are the electrical contact of the internal semiconductor to the outside world.

These come in a variety of styles: - For through hole components, the leads are typically cylindrical pieces of metal extending from the ends (axial) or the bottom (radial) - For surface mount components, the leads are typically embedded into the body of the package.

Multis

length

Dimension of the lead that is normal to the edge of the package body

public defmulti length (lead:Lead) -> Toleranced

  • Returns Toleranced

Examples: - For through-hole components, the lead length is the overall length of the cylindrical copper. - For SOP/SOIC/QFP, the lead length is typically the length of mate-able surface between the lead contact and the PCB. It typically does not include any bends in the lead to reach the mating surface. - For SMT chip resistors (0603, etc), the length is the termination (typically labeled b in drawings) TODO - need a figure here.

width

Dimension of the lead that is parallel to the edge of the package body.

public defmulti width (lead:Lead) -> Toleranced

  • Returns Toleranced

Examples: - For through-hole components, the lead width is typically the diameter of the cylindrical lead. - For SOP/SOIC/QFP, the lead width is measured parallel to the body and must be strictly smaller than the pitch of the pins. - For SMT chip resistors, the lead width is typically the entire width of the package body.

TH-Lead

Through-hole Component Lead

public defstruct TH-Lead <: Lead :
    override: Maybe<Pad>

  • override: Maybe<Pad> - Override Pad Definition This allows the user to define a specific pad definition that will override the computed pad dimensions based on IPC rules.

This type is for describing the leads from a Through-hole package such as a Radial Capacitor, or an Axial Resistor.

Multis

compute-hole-pad-diam

Compute the Hole and Pad Dimensions

public defmulti compute-hole-pad-diam (lead:TH-Lead, dl:DensityLevel) -> [Dims, Dims]

  • lead: TH-Lead - The parameters of this through-hole lead
  • dl: DensityLevel - Density Level specification for this package.
  • Returns [Dims, Dims] - Tuple of [hole-size, pad-size] as Dims objects. These objects then get converted to a pad by the PadPlanner generator functions.

This function is primarily intended to be a tool for converting the lead dimensions into a hole for a landpattern.

Methods

compute-hole-pad-diam

Default Implementation for hole and pad size computation

defmethod compute-hole-pad-diam (lead:TH-Lead, dl:DensityLevel) -> [Dims, Dims]

  • Returns [Dims, Dims] - This function only returns symmetric definitions resulting in circular holes.

This function generates sizes according IPC2222 specs.

Functions

make-pad-def

Construct the Pad Definition for this Through-Hole Lead

public defn make-pad-def (lead:TH-Lead, pad-gen:(Dims, Dims) -> Pad, dl:DensityLevel) -> Pad

  • lead: TH-Lead - This lead
  • pad-gen: (Dims, Dims) -> Pad - Function that converts the hole and pad size to a Pad definition. This function typically comes from the PadPlanner.
  • dl: DensityLevel - Density Level specification for the package this pad is supporting.
  • Returns Pad - A pad definition that will be used to construct the land pattern definition.

This is primarily a helper function to make construction of the through-hole pad easier. This function will decide between:

  1. Computing the hole and pad sizes and constructing the pads using the PadPlanner generator
  2. Leveraging the override pad provided by the user.

TH-Lead

Through-Hole Lead Constructor

public defn TH-Lead ( -- length:Toleranced, width:Toleranced, override:Pad = ?)

  • length: Toleranced - Length of the wire lead of a through-hole component in mm.
  • width: Toleranced - Cross-section width of the wire lead in mm. This is typically the diameter (or for square/rectangular pins the diagonal)
  • override: Pad - Optional Pad definition to override computed values. Often a datasheet provides explicit hole sizes. This argument can allow the user to use those definitions explicitly.

SMT-Lead

Surface Mount Component Lead

public defstruct SMT-Lead <: Lead :
    lead-type: LeadProtrusion

  • lead-type: LeadProtrusion - The lead type defines the physical nature of the lead.

This type is for describing leads from SMT packages such as SOIC, SOP, QFN, etc.

Constructors

SMT-Lead

Constructor for defstruct SMT-Lead

public defn SMT-Lead (lead-type:LeadProtrusion, length:Toleranced, width:Toleranced)

SMT-Lead

Constructor for defstruct SMT-Lead

public defn SMT-Lead ( -- lead-type:LeadProtrusion, length:Toleranced, width:Toleranced)

Multis

pad-constraints

Compute the IPC-compliant Pad Constraints for this SMT Lead

public defmulti pad-constraints (x:SMT-Lead, lead-span:Toleranced -- density-level:DensityLevel = ?) -> IpcResults

  • x: SMT-Lead - self
  • lead-span: Toleranced
  • density-level: DensityLevel
  • Returns IpcResults

This result provides the necessary dimensions for computing the pad size and position in a landpattern.

Methods

pad-constraints

Default Implementation for pad-constraints

defmethod pad-constraints (x:SMT-Lead, lead-span:Toleranced -- density-level:DensityLevel = ?) -> IpcResults

  • Returns IpcResults

Related Packages

Forwarded by packages: jsl/landpatterns/leads, jsl/landpatterns/framework, jsl/landpatterns