Jeff Young
69448afb47
Don't run simulation twice when the sim command is overridden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12731
2022-12-07 01:34:56 +00:00
Jeff Young
38906397d2
Move V6->V7 sim model migration from sheets to screens.
...
Also moves passive RLC inference out from migration to just-in-time
creation for the simulator or netlisting.
Also fixes a version guard mismatch because the spice migration was
done inside UpdateSymbolInstances (which has its own version guard).
Also changed UpdateSymbolInstances to UpdateSymbolInstanceData so
someone else in the future doesn't think it's a general-purpose symbol
instance updater.
2022-12-06 16:01:18 +00:00
Jeff Young
8260f0ee13
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Mikolaj Wielgus
9055043409
Sim QA: Test for duplicates and wrongly deduplicated parameters
...
(adapt tests to the names of the newly deduplicated parameters)
2022-11-29 15:04:38 +01:00
Mikolaj Wielgus
b025b103de
Sim Model Editor: Make the VBIC model the first BJT model to select
2022-11-29 10:13:20 +01:00
Mikolaj Wielgus
484620eeb5
Sim QA: Add test for VDMOS
2022-11-29 09:48:01 +01:00
Mikolaj Wielgus
5fb191e4d6
Sim QA: Test all BJT parameters in each model
2022-11-28 09:49:48 +01:00
Mikolaj Wielgus
26644952a4
Sim QA: Test all diode parameters
2022-11-28 08:01:50 +01:00
Mikolaj Wielgus
d836fbaaaa
Sim: Add VBIC model support
...
Update generate_sim_model_ngspice_data.bash a little, but it's still
outdated.
2022-11-28 04:45:36 +01:00
Mikolaj Wielgus
f2fb734e06
Sim QA: Add test for Numparam expressions inside .subckt
2022-11-27 06:32:17 +01:00
Mikolaj Wielgus
08d37d2795
Sim QA: Add Spice .subckt parsing tests
2022-11-26 10:24:11 +01:00
Jeff Young
0b0c35c4dc
Adjust test result.
2022-11-23 21:37:50 +00:00
Wayne Stambaugh
cd92088b7a
Fix disabled schematic page numbering unit tests.
2022-11-23 08:05:35 -05:00
Wayne Stambaugh
d37015bada
Temporarily disable unit tests so builds pass.
2022-11-22 19:08:08 -05:00
Mikolaj Wielgus
6969362813
Sim Model Editor: Don't provide library-only models as builtins
2022-11-20 22:07:39 +01:00
Jeff Young
e09e521162
Remove GUI calls from netlisting.
2022-11-18 15:29:16 +00:00
Jeff Young
a61ac363c2
Excise the remaining occurrences of "Alias" for derived symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12895
2022-11-16 18:37:40 +00:00
Marek Roszko
3dd2ae762d
Refactor step export to use our normal board processing routines
2022-11-12 21:27:10 -05:00
Jeff Young
9d525e82f5
Fix qa tests so they don't assert on cleanup.
2022-11-11 20:31:39 +00:00
Jon Evans
68de92313e
Properties: move to custom editor for distances; refactoring
...
Also fix display of angle values since EDA_ANGLE was introduced
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12290
2022-11-06 11:40:45 -05:00
Bevan Weiss
4f634d7df7
Updated accelerating zoom controller to use default (non-accelerated)
...
zoom if changing direction.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2022-11-04 16:28:32 +00:00
Seth Hillbrand
07ef5d3343
Clarify QA message
2022-11-01 13:08:09 -07:00
Mikolaj Wielgus
6c752680d7
Sim QA: Add Potentiometers QA test
2022-10-27 06:42:43 +02:00
Wayne Stambaugh
6a0db3e7e2
Fix Coverity warnings.
2022-10-26 14:39:44 -04:00
Mikolaj Wielgus
00c04e74ed
Sim QA: Test LTspice parameters and ako models of BJTs
2022-10-20 04:00:33 +02:00
Seth Hillbrand
27add591ec
Add Clipper2
...
Currently this lives behind the advanced config flag `UseClipper2`.
Enabling this flag will route all Clipper-based calls through the
Clipper2 library instead of the older Clipper. The changes should be
mostly transparent.
Of note, Clipper2 does not utilize the `STRICTLY_SIMPLE` flag because
clipper1 did not actually guarantee a strictly simple polygon.
Currently we ignore this flag but we may decide to run strictly-simple
operations through a second NULL union to simplify the results as much
as possible.
Additionally, the inflation options are slightly different. We cannot
choose the fallback miter. The fallback miter is always square. This
only affects the CHAMFER_ACUTE_CORNERS option in inflate, which does not
appear to be used.
Lastly, we currently utilize the 64-bit integer coordinates for
calculations. This appears to still be faster than 32-bit calculations
in Clipper1 on a modern x86 system. This may not be the case for older
systems, particularly 32-bit systems.
2022-10-19 16:25:45 -07:00
Mikolaj Wielgus
c4fc9c1b16
Sim QA: Add tests for AKO and LTspice diodes
2022-10-19 06:56:21 +02:00
Jeff Young
9424b166d0
Add regression test case for 12609.
2022-10-09 23:31:26 +01:00
Seth Hillbrand
f369cc23a9
Handle arbitrary unit counts
2022-10-06 15:41:16 -07:00
Mikolaj Wielgus
6f2b2d7e19
Sim: Minor SIM_LIBRARY cleanup
2022-10-06 14:08:01 +02:00
Marek Roszko
40a279ae32
Hotglue the unit tests to work for now
...
The mocks never expected InitPgm to work and I accidentally fixed it for the kicad-cli
2022-10-05 17:12:32 -04:00
Jeff Young
d67437a2aa
Move ratsnest exclusion processing to a post-pass.
...
Also fixes a few cases where we were unnecessarily rebuilding
connectivity more than once for an operation.
2022-09-29 17:08:49 +01:00
Jonathan Haas
4bbf942f15
Add test cases for box2 methods (Nearest/Farthest)Point and IntersectsCircle(Edge)
2022-09-27 22:40:55 +00:00
Jeff Young
503385f52e
Don't use FindNamedPad for net-tie logic. It only reutrns the *first*
...
pad of a given number.
Also improves other DRC logic to tighten up the net-tie rules now that
we know which pads are allowed to short with which other pads.
Also removes the "Overlapping pads" DRC violation now that we know
whether or not overlapping pads in a net-tie footprint constitute a
short.
Fixes https://gitlab.com/kicad/code/kicad/issues/12506
2022-09-25 17:38:31 +01:00
Ian McInerney
fdb97a46c1
Don't copy items in for loops when not needed
2022-09-24 03:46:06 +01:00
jean-pierre charras
fc813b79aa
Fix sim QA tests in countries using a comma as fp separator
2022-09-23 16:21:03 +02:00
Mikolaj Wielgus
e4865ce543
Excise wxString from simulation
2022-09-22 07:41:52 +02:00
Seth Hillbrand
0150655ed3
Fix missing DRC check with via
...
When the via is first and not second in our ordering, the hole-copper
clearance was not checked as the track did not have a hole.
We also calculated the NPTH-via clearance incorrectly in the inspector
2022-09-20 13:43:01 -07:00
Seth Hillbrand
e0f7c3b057
Properly handle non-connected labels in ERC
...
All labels need to be attached to a net that has at least 2 pins in
order for this to be a valid net. To check for the existing pins, we
need to interate over all subgraphs in the net, counting pins
2022-09-19 15:18:32 -07:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
66e8931405
Remove IU_PER_MM thats standalone
2022-09-16 21:09:27 -04:00
Marek Roszko
0f2411587e
Remove Millimeter2iu
2022-09-16 21:09:27 -04:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
jean-pierre charras
d199f92cd4
Fix QA tests in countries using a comma as fp separator (missing LOCALE_IO switch).
2022-09-15 10:37:01 +02:00
Seth Hillbrand
60374daa49
Fix ERC global label unit tests
...
Need to test all units in the subgraph as there are chances that the
subgraph might have more than one label, which needs to be consistently
handled
2022-09-12 13:16:45 -07:00
Mikolaj Wielgus
0e0d1a34f5
Sim: Spice grammar fixes
...
- Fix parsing .model lines with model names containingnon-alphanumeric
characters like - and _,
- Fix parsing libraries in which EOF is not preceded by a newline.
Fixes https://gitlab.com/kicad/code/kicad/issues/12394
2022-09-12 04:05:17 +02:00
Mikolaj Wielgus
cb6b2da55f
Sim QA: Display the original netlist even if circuit fails to parse
2022-09-10 02:45:48 +02:00
Seth Hillbrand
f2e3329617
Add ERC QA tests
2022-09-09 17:21:57 -07:00
Mikolaj Wielgus
b225e53135
Sim QA: Test raw model with fewer pins than its symbol
2022-09-02 16:42:15 +02:00
Jeff Young
9188838e50
RIP EDA_RECT.
2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Mikolaj Wielgus
121fad63ab
Sim QA: Add Directives test
...
This test checks whether Spice directives placed in schematics as text
objects are properly included in the generated Spice netlist.
2022-08-31 09:41:35 +02:00
Seth Hillbrand
eda27a09d6
Add broken SHAPE_POLY_SET test
...
Remove null segments only removes a single segment rather than all,
potentially null segments in a row
2022-08-29 17:08:01 -07:00
Mikolaj Wielgus
385e5deaaa
Add Switches sim QA test
...
Tests voltage switches. Current switches will be tested as well once
they're fixed to work with .probe alli command in Ngspice.
2022-08-29 04:30:21 +02:00
Mikolaj Wielgus
3b3131ad74
Create class for voltage and current -controlled switches
...
Unfortunately, along the way it turned out that Ngspice's .probe alli
breaks current-controlled switches. So they won't work in that case for
now.
2022-08-29 03:49:41 +02:00
Jon Evans
ae6a2a6443
ADDED: Database libraries MVP
...
Allows placing parts from an external database that reference symbols from another loaded library.
Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Mikolaj Wielgus
103b8a0d2c
Update the Opamp test to use a symbol with unordered pins
2022-08-26 04:36:48 +02:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Mikolaj Wielgus
c6defadb78
Add Fliege filter Spice netlist exporter test
...
Which we use to test multi-part symbols, as Fliege filter has two op
amps.
2022-08-25 08:47:31 +02:00
Mikolaj Wielgus
8a6a0ff7dc
Allow inferred voltage/current sources to have a single float in Value
...
Update Opamp test to use this feature.
2022-08-24 06:19:38 +02:00
Maciej Suminski
7f00efe6cf
Properties: Fixed conditional properties using enum values in the conditions
...
When wxAny holds an enum, it cannot be compared with an integer due to a
missing conversion function. In such case, conditional properties
compare a raw value rather than wxAny.
2022-08-22 21:32:32 -04:00
Maciej Suminski
d5677a6dfe
Properties: const getters
2022-08-22 21:32:32 -04:00
Maciej Suminski
3220a1dfbc
Properties: Code formatting
2022-08-22 21:32:32 -04:00
Maciej Suminski
745c94b0a1
Properties (introspection)
...
Introduces classes:
- INSPECTED: base class for types taking advantage of
generic properties system.
- PROPERTY*: meta-data storing information about properties
- PROPERTY_MANAGER: singleton class to get properties data
2022-08-22 21:32:00 -04:00
Roberto Fernandez Bautista
1fa1b44d02
Fix SHAPE_LINE_CHAIN::Simplify() when there are only 3 points in the chain
...
We weren't updating m_shapes properly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11695
2022-08-19 20:49:49 +01:00
Seth Hillbrand
b9461f2ba7
Re-enable tests for zones
...
Avoid invalid substantial checks triggered by signed floating point
zeros. Adds a QA check to ensure zone-self checks are maintained
2022-08-18 17:06:29 -07:00
jean-pierre charras
adac433103
Fix a Coverity warning
2022-08-17 09:29:04 +02:00
jean-pierre charras
994e702cce
QA test for spice tests: generate a warning if ngspice cannot be run, but nor a QA fail.
...
if ngspice cannot be run this is an install problem, not aQA issue.
2022-08-16 18:56:38 +02:00
Seth Hillbrand
30a72101f3
Explicitly set the connection width error
2022-08-16 05:31:46 -07:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
jean-pierre charras
9b20e7debb
QA eeschema tests: avoid crash if spice code models are not found.
2022-08-12 10:49:57 +02:00
Mikolaj Wielgus
b6f6d1ef81
Sim QA: Add legacy_opamp test to check legacy subckt fields
...
In particular, Spice_Node_Sequence needed some additional coverage.
2022-08-11 21:23:05 +02:00
Mikolaj Wielgus
fbc42bf569
Sim QA: Display the original netlist on failure
2022-08-11 15:50:16 +02:00
Mikolaj Wielgus
a1a99b1ec2
Sim QA: Check NGSPICE's LoadNetlist() and Run() status code
2022-08-10 17:54:28 +02:00
jean-pierre charras
962546436d
QA test for LegacyLaserDriver: modify a parameter to pass QA on W10.
2022-08-10 14:04:28 +02:00
jean-pierre charras
cc1e99ff5d
QA test: annotate rlc.kicad_sch. only annotated schematic give reliable result.
2022-08-10 11:16:07 +02:00
Marek Roszko
cf7576484f
Move KIPLATFORM::APP::Init in qa_gerbview
2022-08-08 22:31:41 -04:00
Marek Roszko
e1dcf4f3e2
Avoid use after free in qa_eeschema due to pointer reuse
2022-08-08 22:23:22 -04:00
Marek Roszko
09da6f32dc
Copy ngspice codemodels for MSVC
2022-08-08 21:57:44 -04:00
Marek Roszko
8fd524aec1
Ensure all QA tests on windows use a manifest
...
We want UTF8 mode enabled via manifest for accurate behavior that matches the application
2022-08-08 21:26:02 -04:00
Mikolaj Wielgus
28179296db
Sim QA: Output more debug info when a test fails
...
Also fix a bug due to unsigned int wraparound.
2022-08-09 03:09:16 +02:00
Marek Roszko
22649f79e8
Fix some ngspice handling during build for MSVC
2022-08-08 18:42:27 -04:00
Mikolaj Wielgus
5a51e38d34
Sim QA: Abort test (not only warn) if Ngspice ptr is null
2022-08-08 17:18:12 +02:00
Mikolaj Wielgus
f6771ed789
Sim QA: Add rlc project to test RLC ideal model inference
2022-08-08 17:06:50 +02:00
jean-pierre charras
f0c58ccdc1
test_drc_copper_conn: print more info if a test fails.
2022-08-08 16:19:26 +02:00
Mikolaj Wielgus
c9f3507ff7
Sim: Don't require ngspice.h for SIM_MODEL_NGSPICE
2022-08-05 18:26:09 +02:00
Mikolaj Wielgus
9e7bc585ef
Sim QA: Test only specific hardcoded points of the results
...
We don't want to assume Ngspice results to be very deterministic.
2022-08-04 21:07:43 +02:00
Mikolaj Wielgus
9a6d3be948
Remove the sim QA tests that are still failing
...
Displaying fewer digits is not working -- it seems that Ngspice is rounding the
numbers down (?).
2022-08-03 17:23:53 +02:00
Mikolaj Wielgus
800b512fe8
Further cut off digits down to one after period in sim QA
...
We just want to make sure our netlist exporter works. Being
deterministic is the simulator's job, not ours, though perhaps we should
investigate that too eventually.
2022-08-03 16:25:00 +02:00
Jeff Young
ced55583a6
Back out unordered_map change for SCH_ITEM.
...
We're sensitive to the ordering in this one.
Also fixes a problem with the unit tests when KICAD_SPICE=OFF.
2022-08-03 14:29:34 +01:00
Mikolaj Wielgus
37209bb496
Try to fix Ngspice QA by resampling and cutting off value digits
...
`linearize` command resamples the data. Fourth and further digits from
decimal point are cut off by using `wrdata` command instead of `write`.
Oddly, "sources" unit test is not working (so it's still uncommented) --
some substantially different values are generated when generating the
reference with standalone Ngspice.
2022-08-03 14:28:01 +02:00
Jeff Young
cc78997386
Add annular ring test and fix footprint/pad mismatch in other test.
2022-08-01 21:50:35 +01:00
Jeff Young
90a98478b5
Attempt to fix compile.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Mikolaj Wielgus
5e47ce8963
Fix build errors when KICAD_SPICE=OFF
2022-07-31 07:59:00 +02:00