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