def test_equality(self): A = Inductor(inductor_type=Inductor.Type.MultilayerInductor, manufacturer="Murata Manufacturing", partnumber="LQG18HNR10J00D", working_temperature_range=TemperatureRange('-55', '125'), series="LQG", inductance='100nH', tolerance=None, q='8', dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=None, note=None) B = Inductor(inductor_type=Inductor.Type.MultilayerInductor, manufacturer="Murata Manufacturing", partnumber="LQG18HNR10J00D", working_temperature_range=TemperatureRange('-55', '125'), series="LQG", inductance='100nH', tolerance=None, q='8', dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=None, note=None) self.assertEqual(B, A)
def test_NR(self): part = inductors_partname_decoder.resolve('NR6028T220M') self.assertIsNotNone(part) component = Inductor(inductor_type=Inductor.Type.WireWoundInductor, manufacturer="Taiyo Yuden", partnumber="NR6028T220M", working_temperature_range=TemperatureRange('-25', '120'), series="NR", inductance='22uH', tolerance=Tolerance('20%'), q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case='6028', note='SMD Power Inductors') self.assertEqual(component, part)
def decode_match(match): partnumber = match.group(1) + match.group(2) + match.group( 3) + match.group(4) + match.group(5) + match.group(6) + match.group(7) return Inductor(inductor_type=Inductor.Type.WireWoundInductor, manufacturer="Vishay", partnumber=partnumber, working_temperature_range=TemperatureRange('-55', '125'), series=match.group(1), inductance=inductance_string_to_henry(match.group(5)) * Decimal(1000000), tolerance=tolerance[match.group(6)], q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage='40V', case=dimensions[match.group(2)], note=series[match.group(7)])
def test_IHLP(self): part = inductors_partname_decoder.resolve('IHLP2525AEER1R0M01') self.assertIsNotNone(part) component = Inductor(inductor_type=Inductor.Type.WireWoundInductor, manufacturer="Vishay", partnumber="IHLP2525AEER1R0M01", working_temperature_range=TemperatureRange('-55', '125'), series="IHLP", inductance='1uH', tolerance=Tolerance('20%'), q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage='40V', case='2525', note='Commercial / High Saturation') self.assertEqual(component, part)
def part_to_inductor(part): if len(part.get_manufacturers()) > 1: raise ValueError("Part has more than one manufacturer") manufacturer = part.get_manufacturers()[0] if len(part.get_manufacturers()) == 1 else None return Inductor(inductor_type=inductor_type_from_part(part), manufacturer=manufacturer['manufacturer']['name'] if 'name' in manufacturer['manufacturer'] else None, partnumber=manufacturer['partNumber'], working_temperature_range=working_temperature_range_from_part(part), series=None, inductance=inductance_from_part(part), tolerance=inductance_tolerance_from_from_part(part), q=quality_from_part(part), dc_resistance=resistance_from_part(part), rated_current=rated_current_from_part(part), self_resonant_frequency=SRF_current_from_part(part), max_working_voltage=voltage_max_from_part(part), case=part.get_footprint()['name'] if part.get_footprint() is not None else None, note=part.get_comment())
def decode_match(match): partnumber = match.group(1) + match.group(2) + match.group( 3) + match.group(4) + match.group(5) + match.group(6) + match.group( 7) + match.group(8) + match.group(9) series = match.group(2) return Inductor(inductor_type=inductor_type[match.group(2)], manufacturer="Murata Manufacturing", partnumber=partnumber, working_temperature_range=None, series=match.group(1) + series, inductance=None, tolerance=None, q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=dimensions[match.group(3)], note=applications[match.group(4)])
def decode_match(match): partnumber = match.group(1) + match.group(2) if match.group( 2) is not None else "" partnumber += match.group(3) + match.group(4) + match.group(5) return Inductor(inductor_type=Inductor.Type.WireWoundInductor, manufacturer="Kemet", partnumber=partnumber, working_temperature_range=TemperatureRange('-55', '155'), series=match.group(1), inductance=inductance_string_to_henry(match.group(5)) * Decimal(1000000), tolerance=Tolerance('20%'), q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=size_code[match.group(3)], note=series[match.group(1)])
def decode_match(match): partnumber = match.group(1) + match.group(2) + match.group( 3) + match.group(4) + match.group(5) return Inductor(inductor_type=Inductor.Type.WireWoundInductor, manufacturer="Taiyo Yuden", partnumber=partnumber, working_temperature_range=get_temperature_range( match.group(1), match.group(2)), series=match.group(1), inductance=inductance_string_to_henry(match.group(4)) * Decimal(1000000), tolerance=tolerance[match.group(5)], q=None, dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=dimensions[match.group(2)], note=series_name[match.group(1)])
def test_LQG(self): part = inductors_partname_decoder.resolve('LQG18HNR10J00D') self.assertIsNotNone(part) component = Inductor( inductor_type=Inductor.Type.MultilayerInductor, manufacturer="Murata Manufacturing", partnumber="LQG18HNR10J00D", working_temperature_range=TemperatureRange('-55', '125'), series="LQG", inductance='100nH', tolerance=Tolerance('5%'), q='8', dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=Chip('0603', T=Dimmension('0.8mm', LengthTolerance('0.15mm'))), note=None) self.assertEqual(component, part)
def decode_match(match): partnumber = match.group(1) + match.group(2) + match.group( 3) + match.group(4) + match.group(5) + match.group(6) + match.group( 7) + match.group(8) + match.group(9) + match.group(10) series = match.group(2) return Inductor( inductor_type=inductor_type[match.group(2)], manufacturer="Murata Manufacturing", partnumber=partnumber, working_temperature_range=operating_temperature_range[series], series=match.group(1) + series, inductance=inductance_string_to_henry(match.group(6)) * Decimal(1000000), tolerance=tolerance[match.group(7)], q='8', dc_resistance=None, rated_current=None, self_resonant_frequency=None, max_working_voltage=None, case=dimensions[match.group(3)], note=None)
def inductor_type_from_part(part): for parameter in part.request['parameters']: if parameter["valueType"] == "string" and parameter['name'] == "Part Type": decoded = decode_parameter(parameter) if decoded is not None: return Inductor.Type(decoded['value'])