Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions edg/BoardTop.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from typing_extensions import override

from .abstract_parts import *
from .vendor_parts import *
from .vendor_parts.jlc import *
from .circuits import *
from .parts import *


Expand Down
15 changes: 9 additions & 6 deletions edg/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# A metapackage for all the packages needed for electronics design with EDG
# Some common operations are directly exported
from .BoardTop import BoardTop, SimpleBoardTop, JlcBoardTop

from .BoardCompiler import compile_board, compile_board_inplace

# For backwards compatibility, this re-exports internal packages and parts libraries to allow `from edg import *`.
# This may go away in the future.
from .core import *
from .electronics_model import *
from .abstract_parts import *
from .vendor_parts import *
from .vendor_parts.jlc import *
from .circuits import *
from .parts import *
from .jlcparts import *

from .BoardTop import BoardTop, SimpleBoardTop, JlcBoardTop

from .BoardCompiler import compile_board, compile_board_inplace
2 changes: 1 addition & 1 deletion edg/parts/LedMatrix.py → edg/circuits/LedMatrix.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Dict, Optional, Tuple
from typing_extensions import override

from ..abstract_parts import *
from typing import Dict, Optional, Tuple


class CharlieplexedLedMatrix(Light, GeneratorBlock, SvgPcbTemplateBlock):
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
16 changes: 16 additions & 0 deletions edg/circuits/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# A library of common circuits, composed entirely of abstract parts (no specialized parts / chips)
from .PowerConditioning import (
SingleDiodePowerMerge,
DiodePowerMerge,
PriorityPowerOr,
SoftPowerGate,
SoftPowerSwitch,
PmosReverseProtection,
PmosChargerReverseProtection,
)

from .BootstrapVoltageAdder import BootstrapVoltageAdder

from .LedMatrix import CharlieplexedLedMatrix
from .SwitchMatrix import SwitchMatrix
from .ResistiveSensor import ConnectorResistiveSensor
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import unittest
from typing_extensions import override

from .JlcDiode import *
from .PowerConditioning import DiodePowerMerge
from ..abstract_parts import *


class DiodeMergeTestTop(DesignTop):
Expand Down
2 changes: 1 addition & 1 deletion edg/parts/Jacdac.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing_extensions import override

from ..abstract_parts import *
from .JlcPart import JlcPart
from ..vendor_parts.jlc.JlcPart import JlcPart


class JacdacDataLink(Link):
Expand Down
257 changes: 12 additions & 245 deletions edg/parts/__init__.py
Original file line number Diff line number Diff line change
@@ -1,254 +1,21 @@
from ..abstract_parts import *

from .JlcPart import JlcPart
from .JlcBlackbox import KiCadJlcBlackbox

from .JlcResistor import JlcResistor
from .JlcResistorArray import JlcResistorArray
from .JlcCapacitor import JlcCapacitor
from .JlcElectrolyticCapacitor import JlcAluminumCapacitor
from .JlcInductor import JlcInductor
from .JlcFerriteBead import JlcFerriteBead
from .Leds import SmtLed, ThtLed, Smt0606RgbLed, Smt0404RgbLed, ThtRgbLed
from .JlcLed import JlcLed
from .JlcDiode import JlcDiode, JlcZenerDiode
from .JlcBjt import JlcBjt
from .JlcFet import JlcFet, JlcSwitchFet
from .Batteries import Cr2032, Li18650, AaBattery, AaBatteryStack
from .Switches import SmtSwitch, SmtSwitchRa, KailhSocket
from .Joystick_Xbox import XboxElite2Joystick
from .RotaryEncoder_Alps import Ec11eWithSwitch, Ec11j15WithSwitch, Ec05e
from .RotaryEncoder_Bourns import Pec11s
from .DirectionSwitch_Alps import Skrh
from .JlcCrystal import JlcCrystal
from .JlcOscillator import JlcOscillator
from .JlcSwitches import JlcSwitch, Skrtlae010
from .JlcPptcFuse import JlcPptcFuse
from .JlcAntenna import JlcAntenna
from .Speakers import Speaker, ConnectorSpeaker
from .SpeakerDriver_Analog import Lm4871, Tpa2005d1, Pam8302a
from .SpeakerDriver_Max98357a import Max98357a
from .Microphone_Sd18ob261 import Sd18ob261
from .Opamp_Mcp6001 import Mcp6001
from .Opamp_Tlv9061 import Tlv9061
from .Opamp_Tlv915x import Tlv9152
from .Opamp_Opax171 import Opa2171
from .Opamp_Opax197 import Opa197, Opa2197
from .Opamp_Opax189 import Opa189, Opa2189
from .Opamp_Opax333 import Opa2333
from .Opamp_Lmv321 import Lmv321
from .Inamp_Ina826 import Ina826
from .CeramicResonator_Cstne import Cstne

from .PassiveConnector_Header import (
PinHeader254,
PinHeader254Vertical,
PinHeader254Horizontal,
PinSocket254,
PinSocket254Pair,
)
from .PassiveConnector_Header import PinHeader254DualShroudedInline
from .PassiveConnector_Header import PinHeader127DualShrouded
from .PassiveConnector_Header import (
JstXh,
JstXhAHorizontal,
JstXhAVertical,
JstPh,
JstPhKVertical,
JstPhSmVertical,
JstPhKHorizontal,
JstPhSmVerticalJlc,
JstShSmHorizontal,
MolexSl,
Picoblade,
Picoblade53398,
Picoblade53261,
)
from .PassiveConnector_Fpc import Fpc030, Fpc030Top, Fpc030Bottom, Fpc030TopBottom, HiroseFh35cshw
from .PassiveConnector_Fpc import (
Fpc050,
Fpc050Top,
Fpc050Bottom,
Fpc050Pair,
Fpc050BottomFlip,
HiroseFh12sh,
Afc01,
Afc07Top,
Te1734839,
)
from .PassiveConnector_TagConnect import TagConnect, TagConnectLegged, TagConnectNonLegged

from .Jumpers import SolderJumperTriangular

from .DebugHeaders import SwdCortexTargetHeader
from .DebugHeaders import SwdCortexTargetTc2050, SwdCortexTargetTagConnect, SwdCortexTargetTc2050
from .SdCards import SdCard, SdSocket, MicroSdSocket, Dm3btDsfPejs, Molex1040310811

from .LinearRegulators import Ld1117, Ldl1117, Ap2204k, Ap7215, Xc6206p, Xc6209, Ap2210, Lp5907, Tlv757p, L78l
from .VoltageReferences import Ref30xx
from .BuckConverter_TexasInstruments import Tps561201, Tps54202h
from .BuckConverter_Mps import Mp2722
from .BuckConverter_Ap3418 import Ap3418
from .BoostConverter_AnalogDevices import Ltc3429
from .BoostConverter_DiodesInc import Ap3012
from .BoostConverter_Torex import Xc9142
from .BoostConverter_TexasInstruments import Tps61040, Lm2733
from .SwitchedCap_TexasInstruments import Lm2664
from .BuckConverter_Custom import CustomSyncBuckConverterIndependent
from .BuckBoostConverter_Custom import CustomSyncBuckBoostConverterPwm
from .PowerConditioning import (
SingleDiodePowerMerge,
DiodePowerMerge,
PriorityPowerOr,
SoftPowerGate,
SoftPowerSwitch,
PmosReverseProtection,
PmosChargerReverseProtection,
)
from .LedDriver_Al8861 import Al8861
from .LedDriver_Tps92200 import Tps92200
from .ResetGenerator_Apx803s import Apx803s
from .BootstrapVoltageAdder import BootstrapVoltageAdder

from .Microcontroller_Lpc1549 import Lpc1549_48, Lpc1549_64
from .Microcontroller_Stm32f103 import Stm32f103_48
from .Microcontroller_Stm32f303 import Nucleo_F303k8
from .Microcontroller_Stm32g031 import Stm32g031_G
from .Microcontroller_Stm32g431 import Stm32g431kb
from .Microcontroller_Stm32l432 import Stm32l432k
from .Microcontroller_nRF52840 import Holyiot_18010, Mdbt50q_1mv2, Feather_Nrf52840
from .Microcontroller_Esp import (
EspProgrammingHeader,
EspProgrammingAutoReset,
EspProgrammingPinHeader254,
EspProgrammingTc2030,
)
from .Microcontroller_Esp import HasEspProgramming
from .Microcontroller_Esp import EspAutoProgram
from .Microcontroller_Esp32 import Esp32_Wroom_32, Freenove_Esp32_Wrover
from .Microcontroller_Esp32s3 import Esp32s3_Wroom_1, Freenove_Esp32s3_Wroom
from .Microcontroller_Esp32c3 import Esp32c3_Wroom02, Esp32c3, Xiao_Esp32c3
from .Microcontroller_Rp2040 import Rp2040, Xiao_Rp2040
from .Fpga_Ice40up import Ice40up5k_Sg48

from .IoExpander_Pcf8574 import Pcf8574
from .IoExpander_Pca9554 import Pca9554

from .Connectors import PowerBarrelJack, Pj_102ah, Pj_036ah, LipoConnector, QwiicTarget
from .Fuseholder_Nano2 import Nano2Fuseholder
from .FanConnector import CpuFanConnector, CpuFanPwmControl
from .CanBlocks import Pesd1can
from .UsbPorts import UsbAReceptacle, UsbCReceptacle, UsbAPlugPads, UsbMicroBReceptacle
from .UsbPorts import Tpd2e009, Pesd5v0x1bt, Pgb102st23
from .Fusb302b import Fusb302b
from .Connector_Banana import Ct3151, Fcr7350
from .Connector_Rf import Bwipx_1_001e, Amphenol901143

from .TestPoint_Keystone import Keystone5015, CompactKeystone5015, Keystone5000
from .TestPoint_Rc import TeRc

from .AdcSpi_Mcp3201 import Mcp3201
from .AdcSpi_Mcp3561 import Mcp3561
from .DacSpi_Mcp4901 import Mcp4921
from .DacI2c_Mcp47f import Mcp47f
from .DacI2c_Mcp4728 import Mcp4728

from .Rtc_Pcf2129 import Pcf2129
from .RfModules import Xbee_S3b, BlueSmirf
from .Neopixel import (
Neopixel,
Ws2812b,
Sk6812Mini_E,
Sk6805_Ec15,
Ws2812c_2020,
Sk6812_Side_A,
NeopixelArray,
NeopixelArrayCircular,
)
from .Lcd_Qt096t_if09 import Qt096t_if09
from .Lcd_Ch280qv10_Ct import Ch280qv10_Ct
from .Lcd_Er_Tft1_28_3 import Er_Tft_128_3
from .Oled_Er_Oled_091_3 import Er_Oled_091_3
from .Oled_Er_Oled_096_1_1 import Er_Oled_096_1_1
from .Oled_Er_Oled_096_1c import Er_Oled_096_1c
from .Oled_Er_Oled_022 import Er_Oled022_1
from .Oled_Er_Oled_028 import Er_Oled028_1
from .Oled_Nhd_312_25664uc import Nhd_312_25664uc
from .EInk_Er_Epd027_2 import Er_Epd027_2
from .EInk_WaveshareDriver import Waveshare_Epd
from .SolidStateRelay_G3VM_61GR2 import G3VM_61GR2
from .SolidStateRelay_Toshiba import Tlp3545a, Tlp170am
from .AnalogSwitch_7400 import Sn74lvc1g3157
from .AnalogSwitch_Nlas4157 import Nlas4157
from .AnalogSwitch_Dg468 import Dg468
from .CanTransceiver_Iso1050 import Iso1050dub
from .CanTransceiver_Sn65hvd230 import Sn65hvd230
from .CurrentSense_Ad8418 import Ad8418a
from .Ina219 import Ina219
from .FuelGauge_Max17048 import Max17048
from .BatteryProtector_S8261A import S8261A
from .BatteryCharger_Mcp73831 import Mcp73831
from .Distance_Vl53l0x import Vl53l0x, Vl53l0xConnector, Vl53l0xArray
from .Isolator_Cbmud1200 import Cbmud1200l
from .GateDriver_Ir2301 import Ir2301
from .GateDriver_Ucc27282 import Ucc27282
from .GateDriver_Ncp3420 import Ncp3420
from .SpiMemory_W25q import W25q
from .SpiMemory_93Lc import E93Lc_B
from .UsbUart_Cp2102 import Cp2102
from .UsbInterface_Ft232h import Ft232hl
from .Logic_74Ahct import L74Ahct1g125
from .Logic_74Lvc import Sn74lvc1g74, Sn74lvc2g02
from .Rf_Sx1262 import Sx1262
from .Rf_Pn7160 import Pn7160
from .Comparator_Lmv331 import Lmv331
from .Camera_Ov2640_Fpc24 import Ov2640, Ov2640_Fpc24
# A library of parts and application circuits around them,
# distinct from circuits composed of abstract parts and vendor parts libraries.
from .analog import *
from .connector import *
from .debug import *
from .display import *
from .human_interface import *
from .interface import *
from .logic import *
from .microcontroller import *
from .power import *
from .sensor import *

from .Labels import DuckLogo, LeadFreeIndicator, IdDots4, LemurLogo
from .Mechanicals import Outline_Pn1332
from .Mechanicals import MountingHole, MountingHole_M2_5, MountingHole_M3, MountingHole_M4, MountingHole_NoPad_M2_5

from .MotorDriver_L293dd import L293dd
from .MotorDriver_Drv8833 import Drv8833
from .MotorDriver_Drv8870 import Drv8870
from .Bldc_Drv8313 import Drv8313
from .StepperDriver_A4988 import A4988, PololuA4988

from .Imu_Lsm6ds3trc import Lsm6ds3trc
from .Lsm6dsv16x import Lsm6dsv16x
from .MagneticSensor_A1304 import A1304
from .MagneticSwitch_Ah1806 import Ah1806
from .Mag_Qmc5883l import Qmc5883l
from .EnvironmentalSensor_Sensirion import Shtc3
from .EnvironmentalSensor_Bme680 import Bme680
from .EnvironmentalSensor_Ti import Hdc1080, Tmp1075n
from .LightSensor_Bh1750 import Bh1750
from .LightSensor_As7341 import As7341
from .ThermalSensor_FlirLepton import FlirLepton

from .LedMatrix import CharlieplexedLedMatrix
from .SwitchMatrix import SwitchMatrix
from .ResistiveSensor import ConnectorResistiveSensor

from .Jacdac import JacdacDataPort, JacdacPassivePort
from .Jacdac import JacdacEdgeConnector, JacdacDataInterface, Rclamp0521p
from .Jacdac import JacdacMountingData1, JacdacMountingGnd2, JacdacMountingGnd4, JacdacMountingPwr3
from .Jacdac import JacdacDeviceTop

# compatibility shims
import deprecated as __deprecated # not to be exported


@__deprecated.deprecated("new naming convention")
class Vl53l0xApplication(Vl53l0x, DeprecatedBlock):
pass


@__deprecated.deprecated("new naming convention")
class Imu_Lsm6ds3trc(Lsm6ds3trc, DeprecatedBlock):
pass


@__deprecated.deprecated("new naming convention")
class Mag_Qmc5883l(Qmc5883l, DeprecatedBlock):
pass
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing_extensions import override

from ..abstract_parts import *
from .JlcPart import JlcPart
from ...abstract_parts import *
from ...vendor_parts.jlc.JlcPart import JlcPart


class Lmv331_Device(InternalSubcircuit, FootprintBlock, JlcPart):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

from typing_extensions import override

from ..abstract_parts import *
from .JlcPart import JlcPart
from ...abstract_parts import *
from ...vendor_parts.jlc.JlcPart import JlcPart


class Ad8418a_Device(JlcPart, FootprintBlock, InternalSubcircuit):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing_extensions import override

from ..abstract_parts import *
from ...abstract_parts import *


class G3VM_61GR2(SolidStateRelay, FootprintBlock):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing_extensions import override

from ..abstract_parts import *
from ...abstract_parts import *


class Tlp3545a(SolidStateRelay, FootprintBlock):
Expand Down
10 changes: 10 additions & 0 deletions edg/parts/analog/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from .adc import *
from .dac import *
from .opamp import *
from .switch import *

from .CurrentSense_Ad8418 import Ad8418a
from .Comparator_Lmv331 import Lmv331

from .SolidStateRelay_G3VM_61GR2 import G3VM_61GR2
from .SolidStateRelay_Toshiba import Tlp3545a, Tlp170am
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing_extensions import override

from ..abstract_parts import *
from ....abstract_parts import *


class Mcp3201_Device(InternalSubcircuit, FootprintBlock):
Expand Down
Loading
Loading