diode module#

Diode symbols for JITX Standard Library

This module provides diode symbol definitions including standard diodes and variants like Schottky, Zener, Tunnel, and TVS diodes.

class DiodeConfig(label_config=None, pitch=2.0, body_width=0.6, body_height=None, line_width=0.05, filled=False)[source]#

Bases: LabelConfigurable

Configuration for diode symbols

Defines the geometric and visual parameters for diode symbols.

Parameters:
pitch: float = 2.0#

Distance between pin points (anode to cathode)

body_width: float = 0.6#

Width of the diode triangle body

body_height: float | None = None#

Height of the diode triangle body (if None, uses body_width for square aspect)

line_width: float = 0.05#

Width of the diode lines

filled: bool = False#

Whether the triangle body is filled

class DiodeSymbol(config=None, **kwargs)[source]#

Bases: LabelledSymbol, Generic

Diode symbol with graphics and pins.

The standard diode symbol consists of a triangle body pointing toward the cathode, with a T-bar at the cathode side.

Pins: ‘a’ (anode, top), ‘c’ (cathode, bottom)

Parameters:

config (T)

triangle_body: Shape[Polyline] | Shape[Polygon]#
t_bar: Shape[Polyline]#
front_porch: Shape[Polyline]#
back_porch: Shape[Polyline]#
a: Pin#
c: Pin#
config: T#
property pitch: float#

See pitch.

property body_width: float#

See body_width.

property body_height: float | None#

See body_height.

property line_width: float#

See line_width.

property filled: bool#

See filled.

property label_config: LabelConfigurable#

Configuration object that provides label configuration

class SchottkyDiodeConfig(label_config=None, pitch=2.0, body_width=0.6, body_height=None, line_width=0.05, filled=False, wing_size=0.1)[source]#

Bases: DiodeConfig

Configuration for Schottky diode symbols

Extends DiodeConfig with L-shaped wing decorations at the cathode bar.

Parameters:
wing_size: float = 0.1#

Size of the L-shaped wing decorations

class SchottkyDiodeSymbol(config=None, **kwargs)[source]#

Bases: DiodeSymbol, Generic

Schottky diode symbol with L-shaped wings at cathode bar.

Pins: ‘a’ (anode), ‘c’ (cathode)

Parameters:

config (T)

l_wing: Shape[Polyline]#
r_wing: Shape[Polyline]#
property wing_size: float#

See wing_size.

class ZenerDiodeConfig(label_config=None, pitch=2.0, body_width=0.6, body_height=None, line_width=0.05, filled=False, wing_size=0.1)[source]#

Bases: DiodeConfig

Configuration for Zener diode symbols

Extends DiodeConfig with diagonal wing decorations at the cathode bar.

Parameters:
wing_size: float = 0.1#

Size of the diagonal wing decorations

class ZenerDiodeSymbol(config=None, **kwargs)[source]#

Bases: DiodeSymbol, Generic

Zener diode symbol with diagonal wings at cathode bar.

Pins: ‘a’ (anode), ‘c’ (cathode)

Parameters:

config (T)

l_wing: Shape[Polyline]#
r_wing: Shape[Polyline]#
property wing_size: float#

See wing_size.

class TunnelDiodeConfig(label_config=None, pitch=2.0, body_width=0.6, body_height=None, line_width=0.05, filled=False, wing_size=0.1)[source]#

Bases: DiodeConfig

Configuration for Tunnel diode symbols

Extends DiodeConfig with vertical wing decorations at the cathode bar.

Parameters:
wing_size: float = 0.1#

Size of the vertical wing decorations

class TunnelDiodeSymbol(config=None, **kwargs)[source]#

Bases: DiodeSymbol, Generic

Tunnel diode symbol with vertical wings at cathode bar.

Pins: ‘a’ (anode), ‘c’ (cathode)

Parameters:

config (T)

l_wing: Shape[Polyline]#
r_wing: Shape[Polyline]#
property wing_size: float#

See wing_size.

class TVSDiodeConfig(label_config=None, pitch=2.0, body_width=0.6, body_height=None, line_width=0.05, filled=False, wing_size=0.1)[source]#

Bases: DiodeConfig

Configuration for TVS diode symbols

Extends DiodeConfig with dual opposing triangles and wing decorations.

Parameters:
wing_size: float = 0.1#

Size of the wing decorations at the junction

class TVSDiodeSymbol(config=None, **kwargs)[source]#

Bases: LabelledSymbol, Generic

TVS (Transient Voltage Suppressor) diode symbol with dual opposing triangles.

The TVS symbol consists of two triangles pointing at each other (back-to-back diodes) with wing decorations at the junction.

Pins: ‘a’ (anode), ‘c’ (cathode)

Parameters:

config (T)

top_triangle: Shape[Polyline] | Shape[Polygon]#
bottom_triangle: Shape[Polyline] | Shape[Polygon]#
l_wing: Shape[Polyline]#
r_wing: Shape[Polyline]#
front_porch: Shape[Polyline]#
back_porch: Shape[Polyline]#
a: Pin#
c: Pin#
config: T#
property pitch: float#

See pitch.

property body_width: float#

See body_width.

property body_height: float | None#

See body_height.

property line_width: float#

See line_width.

property filled: bool#

See filled.

property wing_size: float#

See wing_size.

property label_config: LabelConfigurable#

Configuration object that provides label configuration