def __init__(self, center, theta, side, side_layer_oracle, side1_pins, side2_pins, side3_pins, side4_pins, dim_1_body, dim_1_pincenter, dim_2_body, dim_2_pincenter, pin_contact_length, pin_contact_width, pin_spacing): Component.__init__(self, center, theta, side, side_layer_oracle=side_layer_oracle) self.side_pins = [side1_pins, side2_pins, side3_pins, side4_pins] # Y Dimensions (along pin 1 edge self.dim_1_body = dim_1_body self.dim_1_pincenter = dim_1_pincenter # X dimensions self.dim_2_body = dim_2_body self.dim_2_pincenter = dim_2_pincenter self.pin_contact_length = pin_contact_length self.pin_contact_width = pin_contact_width self.pin_spacing = pin_spacing self.__pins_cache = [] self._project = None
def __init__(self, project: 'Project', center: 'Vec2', theta: float, side: SIDE, side_layer_oracle: 'Project', pin_count: int, pin_space: float, pin_width:float, pad_size: float=units.MM): Component.__init__(self, project, center, theta, side, side_layer_oracle=side_layer_oracle) self.__my_init(pin_count, pin_space, pin_width, pad_size, side_layer_oracle)
def __init__(self, project: 'Project', center: Vec2, theta: float, side: 'SIDE', side_layer_oracle: 'Project', side1_pins: int, side2_pins: int, side3_pins: int, side4_pins: int, dim_1_body: float, dim_1_pincenter: float, dim_2_body: float, dim_2_pincenter: float, pin_contact_length: float, pin_contact_width: float, pin_spacing: float) -> None: Component.__init__(self, project, center, theta, side, side_layer_oracle=side_layer_oracle) self.side_pins = [side1_pins, side2_pins, side3_pins, side4_pins] # Y Dimensions (along pin 1 edge self.dim_1_body = dim_1_body self.dim_1_pincenter = dim_1_pincenter # X dimensions self.dim_2_body = dim_2_body self.dim_2_pincenter = dim_2_pincenter self.pin_contact_length = pin_contact_length self.pin_contact_width = pin_contact_width self.pin_spacing = pin_spacing self.__pins_cache : List[Pad] = []
def deserialize(project, msg): t = msg.smd4 cmp = SMD4Component(None, None, None, project, t.side1Pins, t.side2Pins, t.side3Pins, t.side4Pins, t.dim1Body, t.dim1PinEdge, t.dim2Body, t.dim2PinEdge, t.pinContactLength, t.pinContactWidth, t.pinSpacing) Component.deserializeTo(project, msg.common, cmp) return cmp
def __init__(self, project: 'Project', center: Vec2, theta: float, side: SIDE, side_layer_oracle: 'Project', pin_count: int, pin_space: float, pad_size: float) -> None: Component.__init__(self, project, center, theta, side, side_layer_oracle=side_layer_oracle) self.__my_init(pin_count, pin_space, pad_size)
def deserialize(project: 'Project', msg: ser.Component.Reader) -> Component: t = msg.smd4 cmp = SMD4Component( project, Vec2(0,0), 0, SIDE.Top, # Placeholder values project, t.side1Pins, t.side2Pins, t.side3Pins, t.side4Pins, t.dim1Body, t.dim1PinEdge, t.dim2Body, t.dim2PinEdge, t.pinContactLength, t.pinContactWidth, t.pinSpacing) Component.deserializeTo(project, msg.common, cmp) return cmp
def add_component(self, cmp: Component) -> None: """ :param cmp: :return: """ self.__components.add(cmp) cmp._project = self.__project self.__index.insert(cmp) for pad in cmp.get_pads(): self.__index.insert(pad) self.components_generation += 1
def __init__(self, center, theta, side, side_layer_oracle, pin_count, pin_space, pin_width, pad_size=units.MM): Component.__init__(self, center, theta, side, side_layer_oracle=side_layer_oracle) self.__my_init(pin_count, pin_space, pin_width, pad_size, side_layer_oracle)
def remove_component(self, cmp: Component) -> None: for pad in cmp.get_pads(): self.remove_aw_nets(pad, suppress_presence_error=False) self.__index.remove(pad) self.__index.remove(cmp) self.__components.remove(cmp) self.components_generation += 1
def serializeTo(self, cmp_msg): Component.serializeTo(self, cmp_msg.common) cmp_msg.init("smd4") t = cmp_msg.smd4 t.dim1Body = int(self.dim_1_body) t.dim1PinEdge = int(self.dim_1_pincenter) t.dim2Body = int(self.dim_2_body) t.dim2PinEdge = int(self.dim_2_pincenter) t.pinContactLength = int(self.pin_contact_length) t.pinContactWidth = int(self.pin_contact_width) t.pinSpacing = int(self.pin_spacing) t.side1Pins = self.side_pins[0] t.side2Pins = self.side_pins[1] t.side3Pins = self.side_pins[2] t.side4Pins = self.side_pins[3]
def merge_component(self, cmp: Component) -> None: """ :return: """ for pad in cmp.get_pads(): self.merge_aw_nets(pad) self.add_component(cmp)
def deserialize(project, dip_msg): m = dip_msg.dip cmp = DIPComponent.__new__(DIPComponent) Component.deserializeTo(project, dip_msg.common, cmp) cmp.__my_init(m.pinCount, m.pinSpace, m.pinWidth, m.padSize, project) return cmp
def deserialize(project: 'Project', dip_msg: 'ser.Component.Reader') -> Component: m = dip_msg.dip cmp : DIPComponent = DIPComponent.__new__(DIPComponent) Component.deserializeTo(project, dip_msg.common, cmp) cmp.__my_init(m.pinCount, m.pinSpace, m.pinWidth, m.padSize, project) return cmp
def deserialize(project: 'Project', sip_msg: 'ser.Component.Reader') -> Component: m = sip_msg.sip cmp : SIPComponent = SIPComponent.__new__(SIPComponent) Component.deserializeTo(project, sip_msg.common, cmp) cmp.__my_init(m.pinCount, m.pinSpace, m.padSize) return cmp