From 141b332d4f640611954a69021f3601af9ff54eb7 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 25 Mar 2023 12:19:00 +0000 Subject: [PATCH] Add regression test for 13988. (cherry picked from commit 35ca3e7264219551eec3bc32b7df2ae1d30059c5) --- .../legacy_pot/legacy_pot.kicad_pro | 346 +++++++++++ .../legacy_pot/legacy_pot.kicad_sch | 574 ++++++++++++++++++ .../spice_netlists/legacy_pot/pot.lib | 15 + .../eeschema/test_netlist_exporter_spice.cpp | 9 + 4 files changed, 944 insertions(+) create mode 100644 qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_pro create mode 100644 qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_sch create mode 100644 qa/data/eeschema/spice_netlists/legacy_pot/pot.lib diff --git a/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_pro b/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_pro new file mode 100644 index 0000000000..bf8f3133c5 --- /dev/null +++ b/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_pro @@ -0,0 +1,346 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "board_outline_line_width": 0.1, + "copper_line_width": 0.2, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "other_line_width": 0.15, + "silk_line_width": 0.15, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.15 + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "rules": { + "min_copper_edge_clearance": 0.0, + "solder_mask_clearance": 0.0, + "solder_mask_min_width": 0.0 + }, + "track_widths": [], + "via_dimensions": [] + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "conflicting_netclasses": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "lib_symbol_issues": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "error", + "power_pin_not_driven": "error", + "similar_labels": "warning", + "simulation_model_issue": "error", + "unannotated": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "legacy_pot.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.25, + "via_diameter": 0.8, + "via_drill": 0.4, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~V", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "ngspice": { + "fix_include_paths": true, + "fix_passive_vals": false, + "meta": { + "version": 0 + }, + "model_mode": 0, + "workbook_filename": "" + }, + "page_layout_descr_file": "", + "plot_directory": "", + "spice_adjust_passive_values": false, + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "1982c87f-95a1-4a40-9669-f13cd3c28543", + "" + ] + ], + "text_variables": {} +} diff --git a/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_sch b/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_sch new file mode 100644 index 0000000000..7344b37313 --- /dev/null +++ b/qa/data/eeschema/spice_netlists/legacy_pot/legacy_pot.kicad_sch @@ -0,0 +1,574 @@ +(kicad_sch (version 20221126) (generator eeschema) + + (uuid 1982c87f-95a1-4a40-9669-f13cd3c28543) + + (paper "A4") + + (lib_symbols + (symbol "Device:R_Potentiometer" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) + (property "Reference" "RV" (at -4.445 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Value" "R_Potentiometer" (at -2.54 0 90) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "resistor variable" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Potentiometer" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_fp_filters" "Potentiometer*" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "R_Potentiometer_0_1" + (polyline + (pts + (xy 2.54 0) + (xy 1.524 0) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.143 0) + (xy 2.286 0.508) + (xy 2.286 -0.508) + (xy 1.143 0) + ) + (stroke (width 0) (type default)) + (fill (type outline)) + ) + (rectangle (start 1.016 2.54) (end -1.016 -2.54) + (stroke (width 0.254) (type default)) + (fill (type none)) + ) + ) + (symbol "R_Potentiometer_1_1" + (pin passive line (at 0 3.81 270) (length 1.27) + (name "1" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 3.81 0 180) (length 1.27) + (name "2" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -3.81 90) (length 1.27) + (name "3" (effects (font (size 1.27 1.27)))) + (number "3" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "Simulation_SPICE:VDC" (pin_numbers hide) (pin_names (offset 0.0254)) (in_bom yes) (on_board yes) + (property "Reference" "V" (at 2.54 2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "VDC" (at 2.54 0 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Spice_Netlist_Enabled" "Y" (at 0 0 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Spice_Primitive" "V" (at 0 0 0) + (effects (font (size 1.27 1.27)) (justify left) hide) + ) + (property "Spice_Model" "dc(1)" (at 2.54 -2.54 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "ki_keywords" "simulation" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Voltage source, DC" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "VDC_0_0" + (polyline + (pts + (xy -1.27 0.254) + (xy 1.27 0.254) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy -0.762 -0.254) + (xy -1.27 -0.254) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 0.254 -0.254) + (xy -0.254 -0.254) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (polyline + (pts + (xy 1.27 -0.254) + (xy 0.762 -0.254) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + (text "+" (at 0 1.905 0) + (effects (font (size 1.27 1.27))) + ) + ) + (symbol "VDC_0_1" + (circle (center 0 0) (radius 2.54) + (stroke (width 0.254) (type default)) + (fill (type background)) + ) + ) + (symbol "VDC_1_1" + (pin passive line (at 0 5.08 270) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + (pin passive line (at 0 -5.08 90) (length 2.54) + (name "~" (effects (font (size 1.27 1.27)))) + (number "2" (effects (font (size 1.27 1.27)))) + ) + ) + ) + (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) + (property "Reference" "#PWR" (at 0 -6.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 0 -3.81 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_keywords" "power-flag" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0) + (effects (font (size 1.27 1.27)) hide) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) + (xy 0 -1.27) + (xy 1.27 -1.27) + (xy 0 -2.54) + (xy -1.27 -1.27) + (xy 0 -1.27) + ) + (stroke (width 0) (type default)) + (fill (type none)) + ) + ) + (symbol "GND_1_1" + (pin power_in line (at 0 0 270) (length 0) hide + (name "GND" (effects (font (size 1.27 1.27)))) + (number "1" (effects (font (size 1.27 1.27)))) + ) + ) + ) + ) + + (junction (at 127 50.8) (diameter 0) (color 0 0 0 0) + (uuid 5a7710ba-4170-492d-bc32-90805ba7c000) + ) + (junction (at 127 88.9) (diameter 0) (color 0 0 0 0) + (uuid f58fe8e4-5110-45ec-ad08-4f65416c307e) + ) + + (wire (pts (xy 114.3 62.23) (xy 114.3 63.5)) + (stroke (width 0) (type default)) + (uuid 04439e70-b428-449c-8252-f1ae41187e35) + ) + (wire (pts (xy 127 88.9) (xy 127 127)) + (stroke (width 0) (type default)) + (uuid 13012609-7ad9-472e-86c6-03fee6bbd1d7) + ) + (wire (pts (xy 152.4 88.9) (xy 152.4 91.44)) + (stroke (width 0) (type default)) + (uuid 22edb9f6-6060-4359-acdf-fbaede805588) + ) + (wire (pts (xy 114.3 50.8) (xy 114.3 52.07)) + (stroke (width 0) (type default)) + (uuid 37b4e902-bf1b-4443-ac9e-cb383b0fc168) + ) + (wire (pts (xy 127 127) (xy 152.4 127)) + (stroke (width 0) (type default)) + (uuid 3c09a6f2-8250-4109-b583-729fd0ae6962) + ) + (wire (pts (xy 152.4 127) (xy 152.4 129.54)) + (stroke (width 0) (type default)) + (uuid 440df16b-6ff5-4290-a397-7c8cb5cfa8f9) + ) + (wire (pts (xy 152.4 139.7) (xy 152.4 137.16)) + (stroke (width 0) (type default)) + (uuid 501f3c0a-9c33-49a4-8f5c-dbfdd1280680) + ) + (wire (pts (xy 127 50.8) (xy 152.4 50.8)) + (stroke (width 0) (type default)) + (uuid 7b442ca0-947a-4ba5-b5ca-d4993e9d8f1f) + ) + (wire (pts (xy 152.4 101.6) (xy 152.4 99.06)) + (stroke (width 0) (type default)) + (uuid 7f0873af-4f4b-418f-bdf2-a98356f42411) + ) + (wire (pts (xy 127 50.8) (xy 127 88.9)) + (stroke (width 0) (type default)) + (uuid 81216253-8919-43e8-8787-797837904c0c) + ) + (wire (pts (xy 114.3 50.8) (xy 127 50.8)) + (stroke (width 0) (type default)) + (uuid 8dfaa691-b0dd-464f-a3c8-e61d80a9e815) + ) + (wire (pts (xy 127 88.9) (xy 152.4 88.9)) + (stroke (width 0) (type default)) + (uuid 9df50b3d-cd9c-4630-8fc2-9781e02cb99b) + ) + (wire (pts (xy 152.4 63.5) (xy 152.4 60.96)) + (stroke (width 0) (type default)) + (uuid a27ce8ba-81bc-448d-92c5-43377b730c27) + ) + (wire (pts (xy 156.21 95.25) (xy 165.1 95.25)) + (stroke (width 0) (type default)) + (uuid a58e2b02-3d81-4f91-9994-4ab346e73283) + ) + (wire (pts (xy 152.4 50.8) (xy 152.4 53.34)) + (stroke (width 0) (type default)) + (uuid b9267405-05c0-4c72-be22-100cadee2870) + ) + (wire (pts (xy 156.21 133.35) (xy 165.1 133.35)) + (stroke (width 0) (type default)) + (uuid c31a2e32-ab2e-436e-bc0c-f103cafa261e) + ) + (wire (pts (xy 156.21 57.15) (xy 165.1 57.15)) + (stroke (width 0) (type default)) + (uuid ea67a019-8241-4451-ad06-3cd3ef842f0e) + ) + + (text ";.tran 1u 1m" (at 114.3 38.1 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid ab065b39-ac97-4ee9-aa1e-7c7c6434edbf) + ) + (text ".op" (at 114.3 41.91 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid cce0b216-de6a-4ebf-b46d-164873cd2c63) + ) + + (label "out2" (at 165.1 95.25 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid a8326323-460c-4dca-9496-e55047e59867) + ) + (label "out3" (at 165.1 133.35 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid b0ee660c-3c86-4cfc-a039-96dc5be7bc21) + ) + (label "in" (at 114.3 50.8 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid b4a91548-af2d-4d7b-91b1-91e2c64a1188) + ) + (label "out1" (at 165.1 57.15 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid ef8fea74-bc8a-49e2-9bda-219af90153ff) + ) + + (netclass_flag "" (length 2.54) (shape round) (at 134.62 50.8 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 0267b22e-f0f5-4503-afd3-8b8f8c8a2238) + (property "op" "${OP}" (at 135.3185 48.26 0) + (effects (font (size 1.27 1.27) italic) (justify left)) + ) + ) + (netclass_flag "" (length 2.54) (shape round) (at 158.75 95.25 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 19fb2bcd-aa04-4a99-bf53-4c0d6aba2f25) + (property "op" "${OP.2V}" (at 159.4485 92.71 0) + (effects (font (size 1.27 1.27) italic) (justify left)) + ) + ) + (netclass_flag "" (length 2.54) (shape round) (at 158.75 57.15 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid 2ec23ab4-fcb7-40c7-a748-e6a10b2808c5) + (property "op" "${OP.3mV}" (at 159.4485 54.61 0) + (effects (font (size 1.27 1.27) italic) (justify left)) + ) + ) + (netclass_flag "" (length 2.54) (shape round) (at 160.02 133.35 0) (fields_autoplaced) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid bb66a009-cad9-4d11-a1ba-1101278f7a49) + (property "op" "${OP}" (at 160.7185 130.81 0) + (effects (font (size 1.27 1.27) italic) (justify left)) + ) + ) + + (symbol (lib_id "power:GND") (at 152.4 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 714a5327-723b-4f39-a927-3d5170d8f38b) + (property "Reference" "#PWR0102" (at 152.4 69.85 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 152.4 68.58 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 152.4 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 152.4 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 885e82e7-2b72-4ef9-93d1-5c4cfd58fe9a)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "#PWR0102") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Potentiometer") (at 152.4 133.35 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid 7d86509c-cffd-4987-9581-6c934a4e33c5) + (property "Reference" "RV3" (at 149.86 132.715 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "1k" (at 149.86 135.255 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 152.4 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 152.4 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Device" "R" (at 152.4 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Type" "POT" (at 152.4 133.35 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Params" "pos=0.1" (at 146.05 137.16 0) + (effects (font (size 1.27 1.27))) + ) + (pin "1" (uuid c77da26e-2c80-4310-84bf-e1a90dc2094f)) + (pin "2" (uuid 03dbec1f-269e-4720-a4dd-2cbbc854fa89)) + (pin "3" (uuid f76a306b-9f82-41eb-a2bd-27e1b85e66b9)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "RV3") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Potentiometer") (at 152.4 57.15 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 858d0f36-c16f-4513-940a-461fc88ba009) + (property "Reference" "RV1" (at 149.86 56.515 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "1k" (at 149.86 59.055 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 152.4 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 152.4 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Device" "R" (at 152.4 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Type" "POT" (at 152.4 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 72f78aa8-0a10-4afc-bce0-380904d14d13)) + (pin "2" (uuid 23696eac-29f2-4bf5-8d36-b58dc31aade0)) + (pin "3" (uuid a088b589-4331-4a43-9692-eeae2c3927ce)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "RV1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 152.4 139.7 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid 97c6566f-c80b-4dd7-b07e-c44615310263) + (property "Reference" "#PWR0103" (at 152.4 146.05 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 152.4 144.78 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 152.4 139.7 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 152.4 139.7 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid bf00c644-2773-4f8d-b9db-5d94d618da85)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "#PWR0103") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Simulation_SPICE:VDC") (at 114.3 57.15 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid b53e13df-0a0c-4917-99d9-00f4258e8f24) + (property "Reference" "V1" (at 118.11 55.245 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Value" "1" (at 118.11 57.785 0) + (effects (font (size 1.27 1.27)) (justify left)) + ) + (property "Footprint" "" (at 114.3 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 114.3 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Sim.Device" "V" (at 114.3 57.15 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4553662d-6271-4548-b150-dc1eb8221d40)) + (pin "2" (uuid 9ab1f350-5c0f-4459-b0df-abd174706379)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "V1") (unit 1) + ) + ) + (project "" + (path "/819ca68d-3774-4cc3-bc37-7f904ecae47c" + (reference "V1") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 114.3 63.5 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid d310f44b-5ee6-401e-97cc-5e407654bb6b) + (property "Reference" "#PWR0104" (at 114.3 69.85 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 114.3 68.58 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 114.3 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 114.3 63.5 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 4f818b0b-aa2e-44df-888c-470379561a5e)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "#PWR0104") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "Device:R_Potentiometer") (at 152.4 95.25 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) + (uuid e2f6f1d9-7fa5-40e4-8062-077093991555) + (property "Reference" "RV2" (at 149.86 94.615 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Value" "1k" (at 149.86 97.155 0) + (effects (font (size 1.27 1.27)) (justify right)) + ) + (property "Footprint" "" (at 152.4 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "~" (at 152.4 95.25 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Spice_Primitive" "X" (id 4) (at -31.496 11.049 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Spice_Model" "pot k=0.3 r=1k" (id 5) (at 135.77 99.5 0) + (effects (font (size 1.27 1.27))) + ) + (property "Spice_Netlist_Enabled" "Y" (id 6) (at -31.496 6.858 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Spice_Lib_File" "pot.lib" (id 7) (at -7.747 14.097 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid 506d640e-0a3d-4ba3-a5f0-80d908fad32d)) + (pin "2" (uuid dc9b9c37-5353-4880-87bb-8fc37017c528)) + (pin "3" (uuid db81ec35-ea18-4bf8-aefc-34db5616ae22)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "RV2") (unit 1) + ) + ) + (project "" + (path "/c77911d6-6148-44b5-abe9-6b8990dcab43" + (reference "RV2") (unit 1) + ) + ) + ) + ) + + (symbol (lib_id "power:GND") (at 152.4 101.6 0) (unit 1) + (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced) + (uuid ee756bad-e6db-46d4-99bc-20add3a7dccf) + (property "Reference" "#PWR0101" (at 152.4 107.95 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Value" "GND" (at 152.4 106.68 0) + (effects (font (size 1.27 1.27))) + ) + (property "Footprint" "" (at 152.4 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (property "Datasheet" "" (at 152.4 101.6 0) + (effects (font (size 1.27 1.27)) hide) + ) + (pin "1" (uuid ad7da15a-fc57-429c-a864-0081f2445601)) + (instances + (project "potentiometers" + (path "/1982c87f-95a1-4a40-9669-f13cd3c28543" + (reference "#PWR0101") (unit 1) + ) + ) + ) + ) + + (sheet_instances + (path "/" (page "1")) + ) +) diff --git a/qa/data/eeschema/spice_netlists/legacy_pot/pot.lib b/qa/data/eeschema/spice_netlists/legacy_pot/pot.lib new file mode 100644 index 0000000000..956a74e6d6 --- /dev/null +++ b/qa/data/eeschema/spice_netlists/legacy_pot/pot.lib @@ -0,0 +1,15 @@ +.SUBCKT pot 1 2 3 r=100k k=0.5 +* +R1 2 3 {r*(1-k)} +R2 1 2 {r*(k)} +.ENDS +.SUBCKT dualpot 1 2 3 4 5 6 r=100k k=0.5 +* +X1 1 2 3 pot r=r k=k +X2 4 5 6 pot r=r k=k +.ENDS +.SUBCKT spdt 1 2 3 a=1 b=0 r=1g +* +R1 2 3 {r*(1-b)} +R2 1 2 {r*(1-a)} +.ENDS diff --git a/qa/unittests/eeschema/test_netlist_exporter_spice.cpp b/qa/unittests/eeschema/test_netlist_exporter_spice.cpp index f574911f57..b7bbf28946 100644 --- a/qa/unittests/eeschema/test_netlist_exporter_spice.cpp +++ b/qa/unittests/eeschema/test_netlist_exporter_spice.cpp @@ -215,6 +215,15 @@ BOOST_AUTO_TEST_CASE( LegacyLaserDriver ) } +BOOST_AUTO_TEST_CASE( LegacyPotentiometer ) +{ + TestNetlist( "legacy_pot" ); + TestOpPoint( 0.5, "V(/out1)" ); + TestOpPoint( 0.7, "V(/out2)" ); + TestOpPoint( 0.9, "V(/out3)" ); +} + + BOOST_AUTO_TEST_CASE( LegacyPspice ) { LOCALE_IO dummy;