Esempio n. 1
0
def find_capacitor(capacitance, footprint, device="CAP CER SMD", voltage=None):
    if isinstance(capacitance, str):
        try:
            capacitance = Capacitance(capacitance)
        except ValueError:
            raise NoGedaSymbolException(capacitance)
    if isinstance(capacitance, Capacitance):
        capacitance = capacitance._value
    if footprint[0:3] == "MY-":
        footprint = footprint[3:]
    for symbol in gsymlib:
        if symbol.device == device and symbol.footprint == footprint:
            cap, volt = parse_capacitor(symbol.value)
            sym_capacitance = parse_capacitance(cap)
            if capacitance == sym_capacitance:
                return symbol
    raise NoGedaSymbolException
Esempio n. 2
0
    def Fc(self, value):
        c1_dev = self.get_elem_by_idx('C1').data['device']
        c1_fp = self.get_elem_by_idx('C1').data['footprint']
        if c1_fp[0:3] == "MY-":
            c1_fp = c1_fp[3:]

        allowed_cap_vals = iec60063.gen_vals(self._configdict['Cseries'],
                                             iec60063.cap_ostrs,
                                             self._configdict['Cmin'],
                                             self._configdict['Cmax'])

        required_cap_val = 1 / (2 * pi * float(self.R1) * value)

        cval = None
        for val in allowed_cap_vals:
            lastval = cval
            cval = electronics.parse_capacitance(val)
            if cval >= required_cap_val:
                self.get_elem_by_idx('C1').data['value'] = gsymlib.find_capacitor(lastval, c1_fp, c1_dev).value  # noqa
                break

        if cval is None:
            raise ValueError
Esempio n. 3
0
 def CFF(self):
     elem = self.get_elem_by_idx('CFF')
     assert elem.data['device'] in ['CAP CER SMD', 'CAP CER THRU']
     return Capacitance(electronics.parse_capacitance(electronics.parse_capacitor(elem.data['value'])[0]))  # noqa
Esempio n. 4
0
 def C3(self):
     # TODO switch to series.get_type_value if custom series to be supported
     elem = self.get_elem_by_idx('C3')
     assert elem.data['device'] in ['CAP CER SMD', 'CAP CER THRU']
     return electronics.parse_capacitance(electronics.parse_capacitor(elem.data['value'])[0])  # noqa