Skip to content

Commit 0b22c21

Browse files
authored
Break out abstract_parts, electronics_model (#495)
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: - Remove AbstractLedDriver - Break out AbstractResistor - Break out PowerConverters - Break out ZenerDiode Resolves #479 Creates #493, #494 since there is some cross-coupling from Passive to electronics_interface types, which needs a deeper structure refactor.
1 parent ce967d9 commit 0b22c21

316 files changed

Lines changed: 1614 additions & 1709 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

edg/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# This may go away in the future.
88
from .core import *
99
from .electronics_model import *
10+
from .electronics_interfaces import *
1011
from .abstract_parts import *
1112
from .vendor_parts import *
1213
from .vendor_parts.jlc import *

edg/abstract_parts/AbstractAnalogSwitch.py renamed to edg/abstract_parts/AnalogSwitch.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
from typing import List, cast, Optional, Dict
1+
from typing import List, Optional, Dict
22

33
from typing_extensions import override
44

5-
from ..electronics_model import *
6-
from .Categories import Interface
5+
from ..electronics_interfaces import *
76

87

98
@abstract_block
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Any
2+
from typing_extensions import override
23

3-
from ..electronics_model import *
4-
from .Categories import *
4+
from ..electronics_interfaces import *
55
from .PartsTable import PartsTableColumn, PartsTableRow
66
from .PartsTablePart import PartsTableSelector
77

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
from ..electronics_model import *
2-
from .Categories import *
1+
from ..electronics_interfaces import *
32

43

54
@abstract_block
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from typing import Dict, Any
1+
from typing import Any, Dict
2+
from typing_extensions import override
23

34
from ..electronics_model import *
4-
from .Categories import *
55
from .PartsTable import PartsTableColumn, PartsTableRow
66
from .PartsTablePart import PartsTableSelector
77
from .StandardFootprint import StandardFootprint, HasStandardFootprint

edg/abstract_parts/CanTransceiver.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
from ..electronics_model import *
2-
from .Categories import *
1+
from ..electronics_interfaces import *
32

43

54
@abstract_block
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import re
22
import warnings
33
from abc import abstractmethod
4-
from typing import Optional, cast, Dict, Any, Tuple, Mapping
5-
import math
6-
4+
from typing import Any, Optional, Dict, Tuple, Mapping
75
from typing_extensions import override
6+
import math
87

9-
from ..electronics_model import *
8+
from ..electronics_interfaces import *
109
from .ESeriesUtil import ESeriesUtil
1110
from .PartsTable import PartsTableColumn, PartsTableRow, PartsTable
1211
from .PartsTablePart import PartsTableSelector
13-
from .Categories import *
1412
from .StandardFootprint import StandardFootprint, HasStandardFootprint
1513

1614

edg/abstract_parts/Comparator.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from typing import Mapping
2+
3+
from typing_extensions import override
4+
5+
from ..electronics_interfaces import *
6+
7+
8+
class Comparator(KiCadInstantiableBlock, Analog):
9+
"""Abstract comparator interface, output goes high when inp > inn."""
10+
11+
@override
12+
def symbol_pinning(self, symbol_name: str) -> Mapping[str, BasePort]:
13+
assert symbol_name in ("Simulation_SPICE:OPAMP", "edg_importable:Opamp")
14+
return {"+": self.inp, "-": self.inn, "3": self.out, "V+": self.pwr, "V-": self.gnd}
15+
16+
@classmethod
17+
@override
18+
def block_from_symbol(cls, symbol_name: str, properties: Mapping[str, str]) -> "Comparator":
19+
return Comparator()
20+
21+
def __init__(self) -> None:
22+
super().__init__()
23+
24+
self.pwr = self.Port(VoltageSink.empty(), [Power])
25+
self.gnd = self.Port(Ground.empty(), [Common])
26+
self.inn = self.Port(AnalogSink.empty())
27+
self.inp = self.Port(AnalogSink.empty())
28+
self.out = self.Port(DigitalSource.empty())
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from typing import Any
22

3-
from ..electronics_model import *
4-
from .Categories import Connector
5-
from .AbstractAntenna import Antenna
3+
from ..electronics_interfaces import *
4+
from .Antenna import Antenna
65

76

87
@abstract_block
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Any
2-
32
from typing_extensions import override
43

5-
from ..electronics_model import *
6-
from . import PartsTableSelector, PartsTableColumn, Capacitor, PartsTableRow
7-
from .Categories import *
4+
from ..electronics_interfaces import *
5+
from .PartsTable import PartsTableColumn, PartsTableRow
6+
from .PartsTablePart import PartsTableSelector
7+
from .Capacitor import Capacitor
88
from .StandardFootprint import StandardFootprint, HasStandardFootprint
99

1010

0 commit comments

Comments
 (0)