Break out abstract_parts, electronics_model#495
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR restructures the EDG library packages by splitting application circuits out of abstract_parts into circuits, and separating higher-level port/link “interfaces” out of electronics_model into a new electronics_interfaces package, primarily via file moves and import rewrites.
Changes:
- Introduces
edg.electronics_interfacesand updates ports/adapters/tests to import from it instead ofelectronics_model. - Moves/standardizes common circuits under
edg.circuitsand updates parts/tests/examples to import fromcircuits/abstract_partsaccordingly. - Adds/relocates test fixtures and schematic/simulation resources to match the new package layout.
Reviewed changes
Copilot reviewed 249 out of 263 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| examples/test_usb_source_measure.py | Updates imports to new circuits / electronics_interfaces locations. |
| edg/vendor_parts/generic/test_resistor_generic.py | Adjusts imports to use abstract_parts and explicit generic resistor. |
| edg/vendor_parts/generic/test_capacitor_generic.py | Adjusts imports to use abstract_parts and explicit generic capacitor. |
| edg/vendor_parts/generic/GenericResistor.py | Simplifies imports via abstract_parts. |
| edg/vendor_parts/generic/GenericCapacitor.py | Simplifies imports via abstract_parts. |
| edg/vendor_parts/generic/CustomFet.py | Simplifies imports via abstract_parts. |
| edg/vendor_parts/generic/CustomDiode.py | Simplifies imports via abstract_parts. |
| edg/vendor_parts/generic/init.py | Adds explicit exports for the generic vendor parts subpackage. |
| edg/vendor_parts/init.py | Re-exports new generic vendor parts. |
| edg/parts/TouchPad.py | Updates imports to new package boundaries. |
| edg/parts/sensor/Temp_TexasInstruments.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Temp_Shtc3.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Rtc_Pcf2129.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/MagSwitch_Ah1806.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Mag_Qmc5883l.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Mag_A1304.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/LightSensor_Bh1750.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/LightSensor_As7341.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Imu_Lsm6dsv16x.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Imu_Lsm6ds3trc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/FlirLepton.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/EnvironmentalSensor_Bme680.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Distance_Vl53l0x.py | Switches imports from abstract_parts to circuits. |
| edg/parts/sensor/Camera_Ov2640_Fpc24.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/Ref30xx.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/motor/StepperDriver_A4988.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/motor/MotorDriver_L293dd.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/motor/MotorDriver_Drv8870.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/motor/MotorDriver_Drv8833.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/motor/Bldc_Drv8313.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/LedDriver_Tps92200.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/LedDriver_Al8861.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/gate_driver/Ucc27282.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/gate_driver/Ncp3420.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/gate_driver/Ir2301.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/FuelGauge_Max17048.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/Torex_Boost.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/TexasInstruments_SwitchedCap.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/TexasInstruments_Buck.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/TexasInstruments_Boost.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/Mp2722.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/LinearRegulators.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/DiodesInc_Boost.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/CustomBuckBoost.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/CustomBuck.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/Ap3418.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/converter/AnalogDevices_Boost.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/BatteryProtector_S8261A.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/BatteryCharger_Mcp73831.py | Switches imports from abstract_parts to circuits. |
| edg/parts/power/Batteries.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Stm32l432.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Stm32g431.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Stm32g031.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Stm32f303.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Stm32f103.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Rp2040.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/nRF52840.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Lpc1549.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Ice40up.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/EspCommon.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Esp32s3.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Esp32c3.py | Switches imports from abstract_parts to circuits. |
| edg/parts/microcontroller/Esp32.py | Switches imports from abstract_parts to circuits. |
| edg/parts/Mechanicals.py | Switches imports from abstract_parts to circuits. |
| edg/parts/logic/SpiMemory_W25q.py | Switches imports from abstract_parts to circuits. |
| edg/parts/logic/SpiMemory_93Lc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/logic/Logic_74Lvc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/logic/Logic_74Ahct.py | Switches imports from abstract_parts to circuits. |
| edg/parts/Labels.py | Switches imports from abstract_parts to circuits. |
| edg/parts/Jacdac.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/UsbUart_Cp2102.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/UsbPd_Fusb302b.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/UsbInterface_Ft232h.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/RfModules.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/Rf_Sx1262.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/Rf_Pn7160.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/ResetGenerator_Apx803s.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/Isolator_Cbmud1200.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/IoExpander_Pcf8574.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/IoExpander_Pca9554.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/CanTransceiver_Sn65hvd230.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/CanTransceiver_Iso1050.py | Switches imports from abstract_parts to circuits. |
| edg/parts/interface/CanBlocks.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/Speakers.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/SpeakerDriver_Max98357a.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/SpeakerDriver_Analog.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/RotaryEncoder_Bourns.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/RotaryEncoder_Alps.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/Neopixel.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/Microphone_Sd18ob261.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/Joystick_Xbox.py | Switches imports from abstract_parts to circuits. |
| edg/parts/human_interface/DirectionSwitch_Alps.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/Waveshare_Epd.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Nhd_312_25664uc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Er_Oled_096_1c.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Er_Oled_096_1_1.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Er_Oled_091_3.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Er_Oled_028.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/oled/Er_Oled_022.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/lcd/Qt096t_if09.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/lcd/Er_Tft1_28_3.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/lcd/Ch280qv10_Ct.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/EInkBoostPowerPath.py | Switches imports from abstract_parts to circuits. |
| edg/parts/display/EInk_Er_Epd027_2.py | Switches imports from abstract_parts to circuits. |
| edg/parts/debug/TestPoint_Rc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/debug/TestPoint_Keystone.py | Switches imports from abstract_parts to circuits. |
| edg/parts/debug/Jumpers.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/UsbPorts.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/TagConnect.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/SwdHeaders.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/SdCards.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/Rf.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/Headers.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/Fpc.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/FanConnector.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/Connectors.py | Switches imports from abstract_parts to circuits. |
| edg/parts/connector/Banana.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/switch/Nlas4157.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/switch/Logic74xx.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/switch/Dg468.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/SolidStateRelay_Toshiba.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/SolidStateRelay_G3VM_61GR2.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Tlv915x.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Tlv9061.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Opax333.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Opax197.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Opax189.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Opax171.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Mcp6001.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Lmv321.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Ina826.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/opamp/Ina219.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/dac/Mcp4901.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/dac/Mcp47f.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/dac/Mcp4728.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/CurrentSense_Ad8418.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/Comparator_Lmv331.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/adc/Mcp3561.py | Switches imports from abstract_parts to circuits. |
| edg/parts/analog/adc/Mcp3201.py | Switches imports from abstract_parts to circuits. |
| edg/parts/init.py | Re-exports circuits and adds TouchPad export. |
| edg/electronics_model/test_kicad.py | Points KiCad tests at relocated netlist tests. |
| edg/electronics_model/PassivePort.py | Updates adapter type-check imports to electronics_interfaces. |
| edg/electronics_model/DummyDevice.py | Removes file (DummyDevice moved). |
| edg/electronics_model/Categories.py | Moves DummyDevice into categories module. |
| edg/electronics_model/init.py | Updates exports and moves categories exports into model init. |
| edg/electronics_interfaces/VoltagePorts.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/VoltageDummy.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/UsbPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/UartPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/TouchPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/test_voltage_link.py | Updates test imports to new dummy devices and model core. |
| edg/electronics_interfaces/test_netlist.py | Updates netlist tests to use model netlister implementation and helpers. |
| edg/electronics_interfaces/test_netlist_subboard.py | Updates subboard netlist test to use new helpers/import paths. |
| edg/electronics_interfaces/test_netlist_subboard_wrapper.py | Updates wrapper netlist test to use new helpers/import paths. |
| edg/electronics_interfaces/test_netlist_subboard_array.py | Updates array wrapper netlist test to use new helpers/import paths. |
| edg/electronics_interfaces/test_netlist_connector_pair.py | Updates connector-pair netlist test to use new helpers/import paths. |
| edg/electronics_interfaces/test_multipack_netlist.py | Updates multipack netlist test imports and exception source. |
| edg/electronics_interfaces/test_kicad_import_conversion.py | Updates KiCad import conversion test to point at relocated resource. |
| edg/electronics_interfaces/test_kicad_import_bundle.py | Updates KiCad bundle import test imports. |
| edg/electronics_interfaces/test_kicad_import_blackbox.py | Updates KiCad blackbox test imports. |
| edg/electronics_interfaces/test_i2c_link.py | Updates I2C link test imports. |
| edg/electronics_interfaces/test_bundle_netlist.py | Updates bundle netlist test helper usage/imports. |
| edg/electronics_interfaces/test_bom.py | Updates BOM test to use electronics_model backends. |
| edg/electronics_interfaces/test_analog_link.py | Updates analog link test imports. |
| edg/electronics_interfaces/SpiPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/SpeakerPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/resources/test_kicad_import_bundle.kicad_sch | Adds KiCad test schematic resource for bundle import testing. |
| edg/electronics_interfaces/py.typed | Marks package as typed. |
| edg/electronics_interfaces/MergedBlocks.py | Updates merged block dependencies to explicit interface imports. |
| edg/electronics_interfaces/I2sPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/I2cPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/GroundPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/GroundDummy.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/DvpPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/DummyDevices.py | Updates dummy device utilities to explicit interface imports. |
| edg/electronics_interfaces/DigitalPorts.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/DebugPorts.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/CrystalPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/ConnectedGenerator.py | Refactors imports and makes explicit interface dependencies. |
| edg/electronics_interfaces/CircuitPackingBlock.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/CanPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/AnalogPort.py | Refactors imports to depend on electronics_model core. |
| edg/electronics_interfaces/init.py | Adds package-level re-exports for interfaces + model core. |
| edg/circuits/VoltageComparator.py | Splits comparator interface vs application circuit usage/imports. |
| edg/circuits/UsbBitBang.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/test_rf.py | Adds RF network calculation tests. |
| edg/circuits/test_resistive_divider.py | Updates resistive divider tests for new package structure. |
| edg/circuits/test_power_circuits.py | Updates power circuit tests to use generic vendor parts imports. |
| edg/circuits/test_opamp.py | Updates opamp tests to use abstract_parts imports. |
| edg/circuits/test_opamp_calculations.py | Updates opamp calculation tests to use abstract_parts imports. |
| edg/circuits/test_diodemerge.py | Updates diode merge tests to use generic vendor parts imports. |
| edg/circuits/RfNetworks.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/resources/RampLimiter.asc | Adds LTspice resource for ramp limiter circuit. |
| edg/circuits/resources/OpampFollower.kicad_sch | Adds KiCad schematic fixture for opamp follower. |
| edg/circuits/resources/IntegratorInverting.kicad_sch | Adds KiCad schematic fixture for inverting integrator. |
| edg/circuits/resources/HighSideSwitch.kicad_sch | Adds KiCad schematic fixture for high-side switch. |
| edg/circuits/resources/Amplifier.kicad_sch | Adds KiCad schematic fixture for amplifier. |
| edg/circuits/ResistiveSensor.py | Updates resistive sensor circuit to import divider block. |
| edg/circuits/ResistiveDivider.py | Refactors divider implementation to pull from abstract_parts. |
| edg/circuits/PowerCircuits.py | Refactors imports and keeps divider dependency explicit. |
| edg/circuits/PassiveFilters.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/OpampCurrentSensor.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/OpampCircuits.py | Refactors imports and updates ForcedAnalogSignal dependency. |
| edg/circuits/LevelShifter.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/I2cPullup.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/I2cBitBang.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/DigitalAmplifiers.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/ControlCircuits.py | Refactors imports to pull from abstract_parts. |
| edg/circuits/init.py | Adds broader circuit exports and depends on abstract_parts. |
| edg/abstract_parts/UsbConnectors.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/TvsDiode.py | Updates to import from electronics_interfaces and renamed diode module. |
| edg/abstract_parts/TestPoint.py | Updates to import from electronics_interfaces and renamed connector module. |
| edg/abstract_parts/test_switching_converters.py | Updates tests for renamed power converter/part modules. |
| edg/abstract_parts/test_pinmappable.py | Updates pinmappable tests to import ports/units from electronics_interfaces. |
| edg/abstract_parts/test_parts_table.py | Cleans up imports in parts table tests. |
| edg/abstract_parts/test_kicad_import_netlist.py | Updates netlist tests to use relocated netlist helpers/imports. |
| edg/abstract_parts/test_ideal_circuit.py | Updates tests to import dummies/ports from electronics_interfaces. |
| edg/abstract_parts/test_e_series.py | Updates tests to import model core and explicit E-series utils. |
| edg/abstract_parts/Switch.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/SwdCortexConnectors.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/SpiMemory.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/SolidStateRelay.py | Updates to import from electronics_interfaces and renamed resistor module. |
| edg/abstract_parts/resources/.gitignore | Removes resource gitignore (resource location changed). |
| edg/abstract_parts/ResistorArray.py | Updates resistor array to import renamed resistor module. |
| edg/abstract_parts/Resistor.py | Updates resistor to import from electronics_interfaces. |
| edg/abstract_parts/Resettable.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/PowerConverters.py | Updates imports to use electronics_interfaces and renamed capacitor/inductor modules. |
| edg/abstract_parts/PinMappable.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/PartsTablePart.py | Simplifies typing imports. |
| edg/abstract_parts/PartsTable.py | Broadens core import to from ..core import *. |
| edg/abstract_parts/Oscillator.py | Updates to import from electronics_interfaces and use explicit parts table imports. |
| edg/abstract_parts/Opamp.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/LedDriver.py | Adds new LED driver abstractions. |
| edg/abstract_parts/Led.py | Updates to import from electronics_interfaces and renamed resistor module. |
| edg/abstract_parts/Jumper.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/IoControllerProgramming.py | Updates SWD connector imports. |
| edg/abstract_parts/IoControllerMixins.py | Updates crystal import path. |
| edg/abstract_parts/IoControllerInterfaceMixins.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/IoController.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Inductor.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/IdealIoController.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/GateDrivers.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Fuse.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Fet.py | Updates typing imports; retains model import baseline. |
| edg/abstract_parts/FerriteBead.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Diode.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/DigitalIsolator.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Crystal.py | Updates to import from electronics_interfaces and explicit parts table imports. |
| edg/abstract_parts/Connectors.py | Updates to import from electronics_interfaces and renamed antenna module. |
| edg/abstract_parts/Comparator.py | Adds comparator abstract part definition under abstract_parts. |
| edg/abstract_parts/Capacitor.py | Updates to import from electronics_interfaces and refactors imports. |
| edg/abstract_parts/CanTransceiver.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Bjt.py | Updates typing imports; retains model import baseline. |
| edg/abstract_parts/Battery.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/Antenna.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/AnalogSwitch.py | Updates to import from electronics_interfaces. |
| edg/abstract_parts/init.py | Reworks exports to reflect new module/package split. |
| edg/init.py | Re-exports electronics_interfaces at the top level. |
Comments suppressed due to low confidence (2)
edg/circuits/LevelShifter.py:6
- The circuit class name
BidirectionaLevelShifterlooks misspelled (missing 'l' in "Bidirectional"). Since this module is being touched and the name is re-exported elsewhere, consider renaming toBidirectionalLevelShifter(and keeping a deprecated alias) to prevent the typo from becoming part of the long-term API.
edg/parts/TouchPad.py:6 - The class name
FootprintToucbPadappears to have a typo ("Toucb" vs "Touch"). Since this module is being edited and this is a public part class, consider renaming it toFootprintTouchPad(and keeping a backwards-compatible alias if needed) to avoid propagating the typo into downstream code.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
16
to
18
| from .Labels import DuckLogo, LeadFreeIndicator, IdDots4, LemurLogo | ||
| from .TouchPad import FootprintToucbPad | ||
| from .Mechanicals import Outline_Pn1332 |
Comment on lines
+25
to
+29
| from .I2cPullup import I2cPullup | ||
|
|
||
| from .LevelShifter import BidirectionaLevelShifter | ||
|
|
||
| from .OpampCircuits import OpampFollower, Amplifier, DifferentialAmplifier, IntegratorInverting, SummingAmplifier |
Merged
ducky64
added a commit
that referenced
this pull request
May 24, 2026
Follow-on to #495, cleans up some of the abstract_parts modules. - Breaks ZenerDiode out of Diode - Deprecates LedDriver abstract class, removes subclasses dependence on this base class by inlining code. Non-backwards compatible (though trivially fixable), refinements will break. - Breaks up PowerConverters into LinearRegulator, SwitchingVoltageRegulator - Moves the BuckConverterPowerPath, BoostConverterPowerPath, BuckBoostConverterPowerPath into circuits - Moves some of the resistor application circuits into the circuits package, especially the functional protection circuits as opposed to type-wrappers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Break out some application circuits from abstract_parts into circuits; break out anything non-Passive and infrastructure from electronics_model into new package electronics_interface. Also creates a generic vendor_parts package for custom and generic (E6/E12/... series) parts.
This focuses on simple file moves and import renames, with the exception of breaking up Comparator which its application circuit has a dependency on abstract parts. A future PR will:
Resolves #479
Creates #493, #494 since there is some cross-coupling from Passive to electronics_interface types, which needs a deeper structure refactor.