Jeff Young
6053b86a24
Add new spice regression test for windows path separators.
2023-01-21 19:32:25 +00:00
Marek Roszko
b2421c7d9f
Fix tiny bug in double 2 string formatting
...
- I forgot to handle the trailing dots when I added the fmt variant
- UIDouble2Str (the original) lacked the comma check
- Add unit test lol
2023-01-21 13:54:52 -05:00
Seth Hillbrand
6fa2eedb4b
Avoid the obsolete GetNextPin() call
...
This iterated over all pins to find the pin after a given item. Because
out pattern is consistently to iterate in the outer loop, this means
that we were an O(n^2) loop for the pins just to find their names. This
affected very large parts (e.g. FPGAs) when switching sheets to display
2023-01-20 14:12:15 -08:00
Marek Roszko
358a05a2c8
msvc warning fix
2023-01-16 22:44:19 -05:00
jean-pierre charras
167e430fd9
Fix a compil issue in mocks.cpp.
2023-01-16 20:04:03 +01:00
Roberto Fernandez Bautista
355e817302
Move DefaultTransform definition to transform.cpp, so it can be shared
2023-01-15 19:17:51 +01:00
Roberto Fernandez Bautista
d063eb431b
Move FixupJunctions to SCHEMATIC
2023-01-15 19:17:50 +01:00
Tomasz Wlostowski
7da98a447a
qa: enable tool framework for the P&S debug tool
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
dd1a780d1f
qa: follow up router API changes in the PNS log player/regression test tool
2023-01-12 23:37:07 +01:00
Seth Hillbrand
1c90eeaa5a
Fix missing parameter in CADSTAR test
2023-01-10 16:48:07 -08:00
Roberto Fernandez Bautista
ee6e86d1db
Add conversion from CADSTAR SHAPE to SHAPE_POLY_SET
2023-01-10 22:28:01 +01:00
jean-pierre charras
31202a2eb3
Fix a compil issue in QA tests
2023-01-09 19:44:04 +01:00
Jeff Young
e9a21130a8
Add a few more MARKUP_PARSER test cases.
2023-01-08 23:33:36 +00:00
Roberto Fernandez Bautista
e7e151c46c
MARKUP_PARSER grammar should match everything, even incomplete markup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13438
2023-01-09 00:17:11 +01:00
Marek Roszko
570fa246ae
Fix typo in matrix3 multiply, add unit tests
2023-01-05 21:06:52 -05:00
Seth Hillbrand
fc86998bf6
Ensure duplicate pin names get unique nets
...
Same pin name != same net name unless the pins are explicitly connected
Also add pin number to all unconnected pads ensuring they have unique
nets
Fixes https://gitlab.com/kicad/code/kicad/issues/13236
2023-01-04 11:32:15 -08:00
Jeff Young
9b9795a87d
Reduce reliance on exception processing -- it's waay too bugy at present.
...
This moves some stuff to REPORTER APIs. Moving more stuff would be good,
but it probably too high-risk at present. We'll wait for 8.0 for that....
Fixes https://gitlab.com/kicad/code/kicad/issues/13359
2023-01-03 17:20:23 +00:00
Tomasz Wlostowski
7d40bbdf38
router: mark the head trace (as opposed to the 'fixed tail') with fully saturated color
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11386
2022-12-29 17:54:59 +01:00
Jeff Young
6940333f40
Update test cases for unknown-variable = error.
2022-12-27 20:14:13 +00:00
jean-pierre charras
438c4b58a3
Try to fix a QA issue probably due to the order some Ctors are called.
...
This is not the first time an issue is created by the order of ctors.
2022-12-27 19:56:04 +01:00
Wayne Stambaugh
78e2f0fd4d
Sheet instance handling improvements.
2022-12-26 08:30:03 -05:00
Jon Evans
b85fab9ab6
Support DXF ellipses and elliptical arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12563
2022-12-24 22:46:07 -05:00
Jeff Young
7abfa46531
Inferred sim value improvements, and a unit test for them.
2022-12-21 17:03:49 +00:00
Jeff Young
a3a2e2e5b1
Update demos and legacy qa files SpiceMapping -> Spice_Node_Sequence.
...
Also removes migration in the code as it will no longer be needed.
2022-12-19 12:04:53 +00:00
Jeff Young
50ccc4e6da
Fix issue converting legacy SPICE models.
...
1) if a legacy model references a library then we need to see if said
libraray exists and read model from it if so
2) legacy node ordering is by index, not pin name
3) we can't auto-generate a pin map when we don't know the pin names,
so don't try
2022-12-14 13:36:28 +00:00
Seth Hillbrand
ba11de6e66
Update QA test schematics with valid and invalid variants
2022-12-09 02:14:05 +00:00
Barabas Raffai
63da407345
Add tests for no connect flag
2022-12-09 02:14:05 +00:00
Jeff Young
cfbf14ebfd
Attempt to fix build issue with NGSPICE off.
2022-12-08 23:57:42 +00:00
Jeff Young
ce8fa2ad00
Move previous fix to subclass (which overrides the base class).
2022-12-07 17:13:19 +00:00
Jeff Young
5aa204e194
Another attempted sim testcases fix.
2022-12-07 15:07:25 +00:00
Jeff Young
b9287968d6
Update symbol default prefixes after updating instance data.
...
Also moves the sim model fixups after the instance data updating as
it uses the prefixes.
2022-12-07 01:34:56 +00:00
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
Mikolaj Wielgus
9766351ee6
Sim: Update QA to tests to match the new model upgrade scheme
2022-11-25 05:38:21 +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
833146cf50
Sim QA: Fix QA errors
...
Let's not allow units in fields for now. (is 1m one meter or one milli?)
2022-11-22 21:18:01 +01:00
Jeff Young
729e64f33a
Add call modification missed from previous commit.
2022-11-22 17:25:09 +00:00
Mikolaj Wielgus
e9fe59a28c
Sim: Rename the missed Sim_* fields to Sim.*
2022-11-21 03:33:11 +01:00
Mikolaj Wielgus
6969362813
Sim Model Editor: Don't provide library-only models as builtins
2022-11-20 22:07:39 +01:00
Fabien Corona
8498630876
Ibis: correctly load QA files up to v2.1
2022-11-20 19:10:46 +00:00
Mikolaj Wielgus
059ca8fc48
Sim: Rename Sim_* fields to Sim.*
2022-11-20 03:37:54 +01:00
Jeff Young
e09e521162
Remove GUI calls from netlisting.
2022-11-18 15:29:16 +00:00
Tomasz Wlostowski
cab5f65685
qa/pns: added test case for via drag walkaround
2022-11-18 15:14:34 +01:00
Tomasz Wlostowski
bf4671aa16
qa: PNS debug tool should draw COMPOUND shapes too...
2022-11-18 15:14:34 +01:00
Mikolaj Wielgus
e7c43ca20a
Sim: Remove inference from Reference and Value
2022-11-18 08:39:15 +01: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
Tomasz Wlostowski
33594e92fa
router: qa test case for backspace (unfix) regression
2022-11-15 23:05:53 +01:00
Tomasz Wlostowski
26a38797c7
router: log and replay the 'unfix' events too
2022-11-15 23:05:53 +01: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
c07477b94c
Move to explicit symbol properties mapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12845
2022-11-08 22:19:08 -05:00
jean-pierre charras
97a002e06c
fix previous commit for QA stuff (missing changes)
2022-11-08 12:33:24 +01: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
Tomasz Wlostowski
ab350cbfaa
qa: some trivial test cases for the P&S regressions
2022-10-31 11:49:31 +01:00
Tomasz Wlostowski
50142ca73f
qa: P&S regression tool ported to Boost::test
2022-10-31 11:49:31 +01:00
Tomasz Wlostowski
99bcdf7979
qa: introducing headless regression test suite for the P&S. Works by playing out pre-recorded events and comparing the resulting geometry against a human-approved reference.
...
Other changes:
- store all router settings (ROUTING_SETTINGS) in the debug dump in a separate JSON file
- store router mode (single/diff/tune) in the event log file
- factor out the regression test player and the graphical log/debug tool into separate main files
- bring CONSOLE_LOG and CONSOLE_MSG_REPORTER to the common test headers
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
dfa6d22524
qa: moved CONSOLE_LOG and CONSOLE_MSG_REPORTER to common testing utils
2022-10-31 11:17:31 +01:00
Mikolaj Wielgus
5eca8dd8de
Undo hardcoding swapping of diode pins
...
Revert commits d1e2acd3
70b4d1aa
cff508fb
2022-10-30 11:01:59 +01:00
Mikolaj Wielgus
cff508fb3b
Sim: Reverse diode model pin order to match diode symbols
2022-10-28 14:01:09 +02:00
Mikolaj Wielgus
f31feaac42
Sim: Commit forgotten files
2022-10-27 08:08:14 +02: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
Fabien Corona
20b63f305e
Sim: Ibis improvements and fixes
...
Follow-up after the KIBIS and KIBIS GUI merge requests.
- Move KIBIS from Pcbnew to Eeschema space,
- Make KIBIS obtain the Ku/Kd coefficients via the `SPICE_SIMULATOR` class instead of calling the `ngspice` executable via `system()`,
- Allow to toggle between differential and single-ended model in the GUI,
- Various GUI fixes and improvements.
2022-10-25 09:45:40 +00:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01: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
Mikolaj Wielgus
42acabb5a9
Fix a mistake in uopamp.lib.spice
2022-10-18 22:38:49 +02:00
Mikolaj Wielgus
ae671c07e1
Commit missing uopamp.lib.spice
2022-10-18 17:38:23 +02:00
Mikolaj Wielgus
e5704d7058
Update uopamp.lib.spice to be the same in all QA tests
2022-10-18 06:15:54 +02:00
Mikolaj Wielgus
c8e13813d9
Sim: Rename Sim_Disabled field to Sim_Enable
2022-10-16 00:49:44 +02:00
Mikolaj Wielgus
c3d5b3b3e5
Sim: Only store device type in reference, not full model type
...
Instead of Reference="VSIN1", Value="dc=1 ampl=2 f=3", it's now
Reference="V1", Value="SIN dc=1 ampl=2 f=3".
2022-10-15 19:36:26 +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
Mark Roszko
fb8a4c10f7
Shove kicad2step into pcbnew itself with a new cli
2022-10-04 01:53:37 +00: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
Fabien Corona
7e486327d9
Ibis differential and PRBS models
2022-09-29 08:35:01 +00:00
Jonathan Haas
4bbf942f15
Add test cases for box2 methods (Nearest/Farthest)Point and IntersectsCircle(Edge)
2022-09-27 22:40:55 +00:00
Fabien Corona
528fe4d371
Add Ibis to spice model editor
...
ADDED: IBIS models are now supported in Sim Model Editor
2022-09-27 20:47:00 +00:00
Alex
dc07ab9df1
Replace PROF_COUNTER with PROF_TIMER in some conditional places.
2022-09-27 14:07:47 +00:00
Michal Sojka
f7c82e2469
Fix parallel build failures
...
Parallel builds sometimes fail with the following error:
eeschema/sch_plugins/kicad/sch_sexpr_parser.h:36:10: fatal error: schematic_lexer.h: No such file or directory
This can be reproduced by running the following in an empty build
subdirectory:
cmake .. -G Ninja -DWHATEVER_IS_NEEDED...
ninja qa/schematic_utils/libqa_schematic_utils.a
We fix this by adding explicit dependency between qa_schematic_utils
and eeschema_kiface_objects, which builds schematic_lexer.h.
2022-09-26 16:55:59 +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
Ian McInerney
b8ef9ec178
Disable inconsistent missing override warnings in qa mocks
...
turtlemocks doesn't seem to provide a way to annotate that these methods
override a base class method, so it triggers a lot of warnings about
missing override when the classes are instantiated.
2022-09-24 02:11:41 +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
Mike Williams
a23b9810e1
Build: Fix Windows build (missing QA mock update)
2022-09-19 11:30:25 -04:00
jean-pierre charras
71bb7d63d9
Fix isses after base_units.cpp changes.
2022-09-17 10:56:56 +02: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
Seth Hillbrand
f900acdac9
Fix override in mock base
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
e56635a02b
Sim: Add mutual inductor model
2022-09-11 19:23:01 +02:00
Jeff Young
fdf71ba005
Fix linker error (doubly defined symbol).
2022-09-10 10:26:10 +01: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
Jon Evans
a5246a6df7
DbLib: Support showing field names
2022-09-04 13:01:32 -04:00
Jeff Young
efae2bbb4c
Better feedback for netclass assignment patterns.
2022-09-03 21:33:56 +01: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
Mikolaj Wielgus
bd6c153ad9
Sim: Implement "enum" model parameters for switches
...
Displayed in Sim Model Dialog parameter grid as a dropdown
(wxEnumProperty).
2022-08-30 09:45:49 +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
Marek Roszko
dbd38882c0
Silence msvc warning about printf
2022-08-26 19:26:51 -04: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
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04: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
f6f6ebd5f9
WIP: Properties GUI
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
c669d55eb8
Sim QA: Use uopamp_lvl2 instead of uopamp_lvl1 in Opamp test
2022-08-11 18:32:20 +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
128fedec1a
Sim QA: Commit the missing rlc unit test project
2022-08-08 22:05:15 +02: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
203d778c92
Fix test failure.
2022-08-01 21:42:02 +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
Mikolaj Wielgus
0f915bf8a0
Comment out two more failing sim QA tests
2022-07-30 09:57:48 +02:00
Mikolaj Wielgus
d7e5254c17
Comment out failing sim QA tests
...
The tests will probably have to test against manually specified bounds
and inexact points.
Added a previously mistakenly uncommitted cmos_not.csv.
2022-07-30 09:19:20 +02:00
Mikolaj Wielgus
7cf5138c63
Sim: Bugfixes, mostly for MS Windows compilation errors
...
Unfortunately, Windows headers define a lot of macros for common words,
so we had to rename some enums to not collide.
We also fix some of the many bugs related to the new simulation
architecture and the Spice Model Editor dialog.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
739b9255d9
Sim Model Editor improvements
...
- Tab-switching,
- Automatic expansion of categories on tab-switch,
- Various minor simulation improvements,
- Various new simulation-related bugfixes.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
6984f63af8
Sim: Transmission line models
...
Implement transmission line models and perform some adjustments to
the current models. Add some QA tests.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
fe38c622a9
Sim: Improvements to model serialization
...
Don't serialize parameters in certain models for default values. Infer
models from Value field for some kinds of models. Resolve synonyms when
loading models from Spice libraries.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
6450ec6b85
Sim: Spice netlist exporter rewrite
...
Rewrite the spice exporter to work with the new simulation model
architecture and data model, with many bugfixes related to the latter
two along the way.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
978f01553b
Sim Model Editor: Serialize models in fields
...
Implemented serialization and deserialization of models in symbol fields
through the SIM_VALUE class. We don't carry the Spice legacy of
case-insensitive suffixes, instead we conform to the SI standard (i.e. M
is Mega, not milli, P is peta, p is pico).
Parameter grid value validation is implemented by simply not allowing
any characters that will make the value invalid (instead of highlighting
the field in a red color). This will likely be changed at some point in
the future.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus
c5a256291e
Sim Model Editor: Display model parameters
...
This commit adds parameter display functionality, via a wxPropertyGrid
widget, to the Sim Model Editor. To faciliate that, a SIM_VALUE class is
created to serialize, deserialize, and validate numeric values in the
new parameter grid.
SPICE_MODEL is renamed to SIM_MODEL and split into several subclasses
that correspond to different model kinds.
2022-07-30 02:25:34 +00:00
Tomasz Wlostowski
739f74db5f
qa: revert e4a36135
2022-07-21 19:17:16 +02:00
luz paz
79fa911e0e
Fix various typos
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-07-21 16:31:41 +00:00
Tomasz Wlostowski
e4a36135c6
qa: added missing PCB_SELECTION_TOOL mock code
2022-07-21 13:06:36 +02:00
Marek Roszko
2ed95073a6
Use kiplatform::app::init to suppress gerbview qa noise on msvc
2022-07-18 21:35:05 -04:00
Marek Roszko
1278b2916c
Add missing util mocks breaking compile
2022-07-17 11:37:51 -04:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Alex
ded4840130
Add test for rescale<int64_t>
2022-07-16 17:37:50 +00:00
Mike Williams
199d595ccd
QA: Fix missing PCB_BITMAP case
2022-07-14 09:03:43 -04:00
Jeff Young
d24e6c3408
Auto-annotate (and then don't re-annotate) power symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11942
2022-07-11 21:46:01 -06:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Seth Hillbrand
261a557ea2
Update Altium SCH QA with rounding factors
2022-07-07 12:01:38 -07:00
Jeff Young
7633540492
Fix build issue.
2022-06-29 07:34:46 -06:00
Jeff Young
ce4cedb5b4
Regression test case for 11814.
2022-06-15 11:45:29 +01:00
Seth Hillbrand
20f4e62176
Rename signalIntegrity to ibis
...
We do not use camelCase in KiCad
2022-06-10 13:35:48 -07:00
Fabien Corona
0d35d69f70
ADDED: Read IBIS files
2022-06-09 18:30:51 +00:00
Roberto Fernandez Bautista
80c8cfbbda
Add PEGTL playground tool
2022-06-09 17:35:00 +01:00
Jon Evans
af8deff063
Handle zero-length lines in log viewer
2022-06-07 19:49:38 -04:00
Tomasz Wlostowski
563b67f9a0
qa: some new stuff for the P&S debugger:
...
- search/filter in messages
- detection of non-45 degree lines
- indication of routing stage status (OK/FAIL)
- loading of project files (for custom DRC rules)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
e6ebc2b9b9
geometry: use dedicated 64-bit integer square root for distance computations
...
Guarantees 1 LSB error, while the C++ double type has 55 mantissa bits (meaning for sqrt(X) >~ 2^22.5) the error is not guaranteed.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
5fd84dbacc
qa/pns: draw single segments too in the log viewer frame
2022-06-03 23:28:41 +02:00
Jeff Young
09c9bc3037
Fix net ordering in gold file.
2022-05-27 21:28:17 +01:00
Jeff Young
e9e1878d96
Attempt to fix eeschema tests.
...
(Slashes in netnames must be escaped or else we think they're path
separators.)
2022-05-27 17:53:11 +01:00
Roberto Fernandez Bautista
55f22c526a
Fix annotation of incomplete multi-unit symbols and re-annotation of duplicates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11496
2022-05-26 09:23:36 +00:00
Jeff Young
4cd48cd5c9
Fix some test issues.
2022-04-23 22:15:39 +01:00
Seth Hillbrand
aac6f576c2
Fix broken comparison in pin_numbers
...
Pin names like "+V" were incorrectly parsed as doubles leading to broken
comparisons. These caused heap overflows when sorting pin tables
This corrects the comparison so that numeric sorts are only performed
when there is an actual number in the symbol segment. Also adds unit
tests for common error cases
2022-04-19 14:46:05 -07:00
Roberto Fernandez Bautista
1db8229068
qa_eeschema refactor: Create generic SCHEMATIC_TEST_FIXTURE
2022-04-11 21:50:40 +01:00
Roberto Fernandez Bautista
4defc946ef
Fix rounding errors in SHAPE_ARC::Collide + fix qa tests
...
Use CIRCLE::NearestPoint to ensure consistency
2022-04-11 13:46:36 +01:00
Jeff Young
2663ad5340
Implement Eagle text variables.
...
Also fixes two bugs:
1) subsequent text items that are marked >NAME or >VALUE will now get
imported as text items with ${REFERENCE} or ${VALUE} (instead of overwriting
the previous text item)
2) we no longer (accidentally) capitalize all text items.
Fixes https://gitlab.com/kicad/code/kicad/issues/11321
2022-04-10 17:29:47 +01:00
Jeff Young
a23399a1af
Formatting.
2022-04-10 17:29:47 +01:00
jean-pierre charras
5e52539939
eagle importer: fix incorrect conversion UTF8/wxString.
...
When importing a eagle board file using wxXmlDocument, the strings in eagle BOARD
(UTF8 encoded) are correctly converted to wxString (using unicode wide chars)
So trying to reconvert these strings using FROM_UTF8( <wxString>.c_str() )
is incorrect and can break initial string if non ASCII7 chars are found
2022-04-09 15:33:01 +02:00
Jeff Young
5bf163de80
Update kimath test for recent bugfix.
2022-04-08 19:13:02 +01:00
Thomas Pointhuber
bd18e340f4
eagle: introduce *.lbr footprint import test
...
Bugs found but not fixed yet:
* Reference and Value are not converted correctly yet
* HOTFIX: test commented out
* GP3906-TLP and UBLOX_ZOE_M8-0-10 are not able to import the description again
* HOTFIX: description removed from gold file
2022-04-02 20:07:16 +02:00
Thomas Pointhuber
056748e0df
altium: Add testcase to verify that "PCB Binary Version 5.0" is also supported
2022-04-02 18:17:19 +02:00
Thomas Pointhuber
406c528ab7
altium: Create region for items on the KEEP_OUT_LAYER and use new Track unit-tests
2022-04-02 18:17:19 +02:00
Jeff Young
f7cdc7af75
Apply a more sophisticated test for ignoring isInCoupledDiffPair.
...
The basic problem is that the DRC engine does length testing and skew
testing by collecting all the diff pair constituent parts and pairing them
itself. Since each part is collected on its own, we need to ignore the
'B' unit when evaluating any conditional expressions. However, doing this
in general means that when evaluating "OwnClearance()" we also ignore the
'B' unit and return the diff pair CLEARANCE_CONSTRAINT when we shouldn't.
This implements a more discerning test which know what the current requested
constraint is when evaluating expressions.
See also https://forum.kicad.info/t/solved-custom-differencing-rule-not-working-drc/34034/6
Fixes https://gitlab.com/kicad/code/kicad/issues/11314
2022-04-02 15:12:42 +01:00
Sylwester Kocjan
f5dedd77c6
eeschema,sim: add SIMULATOR and SIM_MODEL interface
...
SIMULATOR has now an Attach() method, which should be called
with proper SIMULATION_MODEL that should be simulated, before calling Run()
Concrete class of SIMULATION_MODEL for ngspice is NGSPICE_CIRCUIT_MODEL,
renamed from NETLIST_EXPORTER_PSPICE_SIM. DIALOG_SIM_SETTINGS relies
on above mentioned object, so it was added as an argument of the constructor.
2022-04-01 19:28:31 +00:00
jean-pierre charras
eac1ab3d1f
QA: fix paths in CMakeLists.txt after QA paths changes
2022-03-30 18:18:29 +02:00
Sylwester Kocjan
3da47e6123
qa: move pcbnew data to appropriate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
cfb8fbc644
qa: move eeschema data to appropriate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
0d64fc8c09
qa: move unittests to the separate directory
2022-03-30 11:13:23 +00:00
Sylwester Kocjan
df2d8a5680
qa: move tools to the separate directory
2022-03-30 11:13:23 +00:00
jean-pierre charras
f3be3a5762
test: update test files to fix DRC issues after changing the text position algo.
2022-03-30 10:56:16 +02:00
jean-pierre charras
93066004f1
QA: fix altium qa tests now the altium to pcbnew coordiantes are rounded
...
to the near 10nm value.
2022-03-24 12:36:46 +01:00
jean-pierre charras
3e4fa8143a
QA test: fix incorrect call to BOOST_TEST_MESSGE.
...
It expects a C string, not a wxString.
2022-03-21 13:49:20 +01:00
Sylwester Kocjan
6db0ad4876
qa: add missing const to mocked method
2022-03-21 11:51:39 +00:00
Jeff Young
476f1a7d4d
Preload PCBnew find with selection when appropriate.
2022-03-19 19:37:01 +00:00
Sylwester Kocjan
14ded23e97
qa_common_tools: use common mocks
2022-03-18 17:51:09 +00:00
Sylwester Kocjan
2583acd1cc
qa_eeschema: migrate to common mocks
2022-03-18 17:51:09 +00:00
Sylwester Kocjan
aa7b65c70d
qa_common: Cleanup mocks
...
Use mocks of KIFACE and PGM from Turtle framework
2022-03-18 17:51:09 +00:00
Sylwester Kocjan
a65999b063
qa: Add Turtle 1.3.2 mocking framework
2022-03-18 17:51:09 +00:00
Jeff Young
b10f774dc4
Update gold file for now. We may decide to back it out later.
2022-03-15 00:55:01 +00:00
Jeff Young
d65019e280
Update tests.
2022-03-15 00:37:44 +00:00
Thomas Pointhuber
1831ae6fa4
altium: Fix test due to keepout restrictions parse changes
2022-03-12 09:59:57 +01:00
Wayne Stambaugh
c7d577dfe6
Fix unit test mock build error.
2022-03-11 08:28:00 -05:00
jean-pierre charras
4ad89b9c04
Fix qa tests after fix made in commit 878c70c1
2022-03-09 17:18:54 +01:00
Thomas Pointhuber
a9ebb42ecd
altium: Parse keepout restrictions of tracks
2022-03-07 19:58:43 +01:00
jean-pierre charras
b0470a1a9a
fix a QA python test (test_arcs()).
2022-03-07 09:31:08 +01:00
Jeff Young
cdd3fd416e
Missed one from last commit.
2022-03-05 20:45:18 +00:00
Jeff Young
6bd448882d
Update gold counts for new isolated-island test.
2022-03-05 20:39:35 +00:00
Jeff Young
d9cdf46047
Fix printf format token.
2022-03-05 18:59:53 +00:00
Seth Hillbrand
2200c1319d
Fix QA for arc/arc collisions
...
We no longer need the arbitary offset when we are calculating collisions
based on values that are not nm off from a "round" value.
2022-03-04 13:15:47 -08:00
Seth Hillbrand
9d927f3135
Check for additional connections between tracks
...
Prevents removal when a track is connected not just to other tracks but
also other connected items
Fixes https://gitlab.com/kicad/code/kicad/issues/10916
2022-03-03 12:07:20 -08:00
Tomasz Wlostowski
4d9c156b0a
qa: forgot about the CONSOLE_LOG file (required by the refactored P&S debug tool)
2022-03-03 16:33:17 +01:00
Tomasz Wlostowski
adace996f4
qa/pns: refactored the P&S debug tool:
...
- factored out 'business' code from the UI code
- moved to the new DEBUG_DECORATOR interface
- UI-less log file and log player classes as a step towards P&S unit tests
2022-03-03 01:02:00 +01:00
Jeff Young
843a56c4e4
Implement two-staged zone priority: assigned priority followed by UUID.
2022-03-01 14:53:35 +00:00
Jeff Young
bc51c89c90
Reconcile zone-auto-fill with undo.
2022-02-25 13:05:49 +00:00
Jeff Young
d465eb6425
ADDED: automatic zone refilling.
...
This is for the out-of-box experience for novice users. It is presumed
that folks with larger more complicated boards will turn it off.
Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Thomas Pointhuber
52a2d52bf0
altium: Parse solder and paste mask settings of tracks and arcs
2022-02-20 20:18:40 +01:00
Thomas Pointhuber
86c025eb30
altium: Fix parsing of zones which use the KEEP_OUT_LAYER
2022-02-19 14:37:05 +01:00
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Jeff Young
b1dc9dcebf
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
c1874f009b
Fix test case.
2022-02-15 22:18:21 +00:00
Thomas Pointhuber
fc5772ad92
altium: Extend test-suite to support FP_ZONE validation
2022-02-15 21:42:03 +01:00
Thomas Pointhuber
8587f762b5
altium: Extend test-suite to support FP_TEXT validation
2022-02-15 21:42:03 +01:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00
Jeff Young
90f6edad61
Move connectivity algo to collision-based routines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1800
Fixes https://gitlab.com/kicad/code/kicad/issues/1769
2022-02-13 00:35:11 +00:00
Thomas Pointhuber
81b4229e12
altium: Improve test-coverage of *.PcbLib import functionality
...
* Add test-code for pads
* Move test-code into board_test_utils.cpp for reuse, one method per object
* Add a real (rather small) Altium footprint for testing purposes
2022-02-12 16:50:25 +01:00
Jeff Young
00934fdd84
Move GUI queries in PLUGIN to a callback.
...
Also makes sure legacy zone fills get deleted and re-filled (since
just dropping the outline will change them).
2022-02-11 22:09:22 +00:00
Jeff Young
3deaf902bb
Retire the V5 zone fill algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
2022-02-11 13:10:52 +00:00
Thomas Pointhuber
3f36e7d725
altium: Start with a test-suite to validate that *.PcbLib footprints are correctly imported
...
The test simply loads every footprint of a library, and compares all elements with an equivalent
KiCad footprint. This allows us to quickly spot regressions in the altium and kicad footprint importer,
and any code in-between. This test is only a demo, as the checks are still incomplete and quite a few
tests are missing.
It has to be noted that mask expansion is not supported rigt now by the altium importer, thus the
reference footprint is adjusted to keep the test happy.
2022-02-09 22:34:04 +01:00
Marek Roszko
28ce11212c
Emplace_back a bit a in clipper
2022-02-05 21:00:34 -05:00
Jeff Young
3f8cada334
Fix some issues with new polygonization of arcs and arc collision test.
...
Test should not be testing against the polygonization error; if done
correctly that should all be on the correct side of the shape. Use an
epsilon instead (I chose polygonization error / 10, but the value isn't
terribly important).
Fixes https://gitlab.com/kicad/code/kicad/issues/10724
2022-02-03 19:53:42 +00:00
jean-pierre charras
a970acd0bc
Fix some issues related to new textboxes and python:
...
- Fix duplicate class names returned by GetClass().
- replace MTEXT name (in GetClass) by better name (FP_TEXT, FP_TEXTBOX...)
- Add missing Cast_to_PCB_TEXTBOX and Cast_to_FP_TEXTBOX
2022-02-03 13:55:37 +01:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
jean-pierre charras
1c8ba6dafc
fix python QA tests to run with latest changes in eda_angle.h
2022-01-18 13:49:50 +01:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
1539fa5af2
Move SHAPE_ARC to EDA_ANGLE.
2022-01-16 01:19:45 +00:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
jean-pierre charras
d6332bec24
Fix test_custom_rule_severities.cpp: disable tests not handled by these tests
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library, and does not test these DRC.
2022-01-12 18:20:44 +01:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
ea3efac2b6
drc/drc_test_provider_library_parity.cpp: protect against null pointer use.
...
qa tests, test_solder_mask_bridging.cpp: filter not relevant DRC tests
2022-01-12 14:41:11 +01:00
Jeff Young
8c6c87eaf4
Separate footprint lib issues from footprint mismatch issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10132
2022-01-11 22:28:24 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Jeff Young
393ccf1187
Save/Load test to make sure we don't bugger up the PCBNew file format.
2022-01-09 13:02:41 +00:00
Seth Hillbrand
2d8707a3d0
QA: Remove call to obsoleted function
2022-01-08 19:40:33 -08:00
Jeff Young
aa8f091035
Attempt to fix compile error.
2022-01-08 18:01:00 +00:00
Ola Rinta-Koski
9b406c1da4
Outline font support.
2022-01-08 16:47:45 +00:00
jean-pierre charras
33dbe92deb
drc_test_provider_mechanical_clearance: add missing handling of SHAPE_T::RECT
...
test_ee_item.cpp: add missing call to ClearFieldsAutoplaced();
2022-01-08 10:49:47 +01:00
jean-pierre charras
bf5cdec743
QA test code: fix some issues:
...
- in python tests force the "C" locale is in use (remove wx alerts in some locales)
- disable some new DRC tests that are irrelevant in QA tests and create false positives
2022-01-06 09:37:14 +01:00
Marek Roszko
cc5003a919
Update python for the pad wxSize switch
2022-01-04 23:28:06 -05:00
jean-pierre charras
a09741597f
qa test: allows epsilon (1 unit) to compare 2 coordinates
...
It avoids false qa errors (false positive) when comparing coordinates after transform
2022-01-04 16:38:31 +01:00
Mark Roszko
0d64fdc5c7
Put back original expected segment data for unit test
2022-01-04 13:42:08 +00:00
Marek Roszko
367431f825
Update solder_mask_bridge_test.kicad_pro to ignore library mismatches in test
2022-01-02 19:18:29 -05:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
jean-pierre charras
c4af66f6d3
Fix compil issues on Windows+msys2
...
Probably some fixes also on other platforms
2022-01-02 18:32:39 +01:00
Jeff Young
88ee2e269f
Remove some video nets from order testing.
...
Conflicting nets are disambiguated with "_n" suffixes, but the order
of these is not deterministic.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
jean-pierre charras
797de9d327
Fix some issues (but not all) in qa tests for eeschema
...
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Jeff Young
93018375f8
Fix some test errors and update gold files for better netnames.
2022-01-01 20:46:45 +00:00
Marek Roszko
b85fb9137f
Add kicad_3dsg copy for qa_pcbnew to run out of build dir
...
Mirror of the pcbnew step for the same reason
2022-01-01 14:52:48 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
cadc0639eb
Update BASE_SCREEN to VECTOR2I
2022-01-01 11:30:33 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Jeff Young
c097f90688
Attempt to fix compile error.
2021-12-26 16:55:15 +00:00
Jeff Young
08cdbdac7e
Attempt to fix mocks build issue.
2021-12-26 15:12:15 +00:00
Jeff Young
ab583a32f9
Better layer handling for DRC markers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
2021-12-26 15:06:12 +00:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young
390ca93388
Fix another missing test case.
2021-12-24 18:05:14 +00:00
Jeff Young
ceceda37cc
No more long-lived parsers.
...
We've had too many bugs from improper re-initialization.
Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young
5f37c2b247
Custom rule severities.
...
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young
3aa6d73770
Allow min/max/opt to come from different rules.
2021-12-24 12:36:37 +00:00
Jeff Young
1d9337a917
Fix up test case.
2021-12-24 12:21:28 +00:00
Jeff Young
4b6f2f0658
Add mechanical copper clearance testing for shapes.
...
Also includes going from distance-based neighbor exclusion to angle-
based. (Distance doesn't work when very short segments are followed
by very long ones.)
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:10 +00:00
Jeff Young
66a6a6d448
Attempt to fix test case, and improve debugging output.
2021-12-24 11:38:09 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
0a609dd48d
Add footprint library checking to DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
jean-pierre charras
dc71efbcb2
QA tests: fix a build issue on msys2, due to changes in commit 5622a51
2021-12-15 10:13:45 +01:00
Roberto Fernandez Bautista
4de4347baa
SHAPE_ARC::Collide( aSeg ) must check segment end points as candidates
...
The edge case is when the segment is completely contained inside the arc
(This partially reverts b4835c8208
and
adds the missing test cases)
2021-12-14 16:14:56 +00:00
Roberto Fernandez Bautista
b4835c8208
Add test case for SHAPE_ARC::Collide( seg ) + remove unneeded candidates
...
Followup to commit 01068e0d41
2021-12-13 18:06:11 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Seth Hillbrand
da38a6e750
Fix a couple of qa warning
2021-12-07 14:54:00 -08:00
Seth Hillbrand
c819913687
Fix missing mock return
2021-12-07 14:54:00 -08:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Jon Evans
a205595404
PROF_COUNTER -> PROF_TIMER
...
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
Roberto Fernandez Bautista
c463818b57
SHAPE_LINE_CHAIN: Only fix up arc indices if last pt is part of an arc
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9843
2021-12-03 22:04:55 +00:00
Mikolaj Wielgus
b35aa302e2
Test PCB_MARKER, PCB_ZONE, FP_ZONE
2021-12-01 03:42:22 +01:00
Mikolaj Wielgus
b729068326
Test BOARD_ITEM
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
af078d6666
Test SCH_MARKER, cleanup
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
b7e28bf554
Move eda_item_test_utils.h to common
2021-12-01 00:47:22 +01:00
Mikolaj Wielgus
99ab1941cd
mv test_sch_item.cpp test_ee_item.cpp
2021-12-01 00:47:22 +01:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Tomasz Wlostowski
5f2aaba0dd
qa/pns: added trivial PCB rendering performance test program
2021-11-29 23:30:10 +01:00
Tomasz Wlostowski
4b243c425b
qa_utils: disable Python support in TEST_APP_MAIN
2021-11-29 23:30:10 +01:00