Commit Graph

34597 Commits

Author SHA1 Message Date
Mikolaj Wielgus 958bd1897d Sim: Add potentiometer model 2022-10-22 04:33:52 +02:00
Mikolaj Wielgus 2a5bc9f87e Sim: Don't accept lone '.' as Value principal value 2022-10-22 04:33:52 +02:00
Jon Evans 014d536954 Ignore lastDriver in connectivity
Using the last driver in driver sorting breaks the stability/reproducibility
of the netlisting algorithm.  The last driver still needs to be tracked for
efficient redraw dirty detection.

Partially reverts 81e1bc9
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10757
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11393
2022-10-21 22:29:25 -04:00
Seth Hillbrand 4cdf0bd6c9 Clipper2: Handle nested poly/hole/poly returns
In Clipper1, we had a flat tree structure on returns.  Clipper2 nests
these, so we need to properly handle the nesting structure when
importing the polygons
2022-10-21 16:14:34 -07:00
Jeff Young 34742b386d Honour dimming when printing fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/12708
2022-10-21 22:55:31 +01:00
Jeff Young 0de540594a Used dimmed setting for pin texts and textbox borders.
Fixes https://gitlab.com/kicad/code/kicad/issues/12705
2022-10-21 22:42:44 +01:00
Jeff Young c9ce8da10a Dim DNP textbox borders.
Fixes https://gitlab.com/kicad/code/kicad/issues/12709
2022-10-21 22:28:49 +01:00
Jeff Young bad410948d Don't assume text is on LAYER_DEVICE.
Fixes https://gitlab.com/kicad/code/kicad/issues/12707
2022-10-21 22:03:54 +01:00
Jeff Young ce2dbdec75 Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00
Jeff Young d16b23d16e Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
Mikolaj Wielgus 209ff933e7 Sim: Ignore everything between principal value and parameter-value pairs 2022-10-21 18:55:40 +02:00
Seth Hillbrand d1bf889e71 Resolve embedded text vars
Title Block text variables are embedded into the pcb file and should
be used for resolving when the project file is missing
2022-10-21 08:37:37 -07:00
Alex 67985510a8 Fix selecting pads of footprints in groups. 2022-10-21 17:13:24 +03:00
Mikolaj Wielgus f95e77499b Sim: Make exception messages slightly more verbose 2022-10-21 08:15:29 +02:00
Mikolaj Wielgus 9819fa43dd Sim: Allow principal value in Value field to be followed by regular params 2022-10-21 08:14:13 +02:00
Jeff Young 585fac19c6 Copy connected-only and keep-top-bottom properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/12691
2022-10-21 00:05:11 +01:00
Jeff Young 6fd195c389 Use comma to separate diff pair nets/netclassse rather than /.
("/" is problematic because it's more likely to appear in netnames.)

Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-21 00:05:11 +01:00
Mark Roszko f9659a7e7c Fix kicad-cli not being installed at all 2022-10-20 18:20:27 +00:00
Jeff Young 0ae2a8483e Debugging aid. 2022-10-20 18:37:48 +01:00
Jeff Young 3451506d25 Slight performance improvement. 2022-10-20 18:37:48 +01:00
Jeff Young 323c04af2c Fix order-of-ops issue with calling collide before tesselating. 2022-10-20 18:37:48 +01:00
Seth Hillbrand 283dba00c3 Fix the "None" define with a hammer
The X.h definition of None creeps in older Linux distributions in
multiple places.  Better to just force undefine it because we never need
it
2022-10-20 08:24:09 -07:00
jean-pierre charras 0a2fa51d91 Clipper2: fix an incorrect compil otion on mingw 2022-10-20 11:29:31 +02:00
jean-pierre charras 6aa515e2f8 board_stackup_manager: fix incorrect behavior when adding a new dielectric layer.
Fixes #12680
https://gitlab.com/kicad/code/kicad/issues/12680
2022-10-20 11:27:35 +02:00
Mikolaj Wielgus d01dcc1c51 Sim: Interpret anything starting with .inc as .include 2022-10-20 05:13:32 +02:00
Seth Hillbrand 53fea46fed Re-order headers to avoid X11 None def
X.h helpfully defines the word "None" because surely no one would ever
use that as a token, right?  Right?
2022-10-19 20:04:00 -07:00
Mikolaj Wielgus 00c04e74ed Sim QA: Test LTspice parameters and ako models of BJTs 2022-10-20 04:00:33 +02:00
Mikolaj Wielgus 662f6c7d83 Sim: Don't match newlines in model names
This caused errors in AKO models with no overrides.
2022-10-20 04:00:33 +02:00
Mikolaj Wielgus 7ad927671d Sim Ltspice compat: Narrow ignoring undocumented parameters 2022-10-20 04:00:33 +02:00
Mikolaj Wielgus 5878749ed2 Sim LTspice compat: Ignore undocumented LTspice diode parameters 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
Wayne Stambaugh 85805bdad7 Fix broken legacy file format symbol instance data import. 2022-10-19 12:23:28 -04:00
Huanyin Liu c64b4b8179 Update the formulas for Tee and Pi Attenuators
This makes clear that we are utilizing the voltage attenuation formula while keeping the correct formulation as it is implemented in the code

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12659
2022-10-19 15:49:09 +00:00
Jeff Young e3842514e7 Move courtyard collision setting to preferences.
Also cleans up PCBNew/FPEditor edit options panel to be more in sync
with each other.
2022-10-19 11:33:11 +01:00
jean-pierre charras c4db7337d0 NETLIST_EXPORTER_SPICE: add missing switch to "C" locale (missing LOCALE_IO).
It breaks spice netlist in countries using a comma as floating number separator.
2022-10-19 11:50:35 +02:00
jean-pierre charras b9b5a66bfb French translation update 2022-10-19 09:04:13 +02:00
Mikolaj Wielgus c4fc9c1b16 Sim QA: Add tests for AKO and LTspice diodes 2022-10-19 06:56:21 +02:00
Mikolaj Wielgus 7378aaae9d Sim: Ignore the "mfg" parameter in all models 2022-10-19 06:53:39 +02:00
Mikolaj Wielgus 952f3da53f Sim: Only set sim command if the sheet sim command is different 2022-10-19 03:02:32 +02:00
Mikolaj Wielgus f68df09696 Sim: Fix analysis set from GUI 2022-10-19 02:32:50 +02:00
Mikolaj Wielgus 1965411bf5 Sim: Remove the parsing exception for LTspice compat
Silently ignoring this may be a cure worse than disease.
2022-10-18 23:19:48 +02:00
Mikolaj Wielgus 42acabb5a9 Fix a mistake in uopamp.lib.spice 2022-10-18 22:38:49 +02:00
Wayne Stambaugh 2a13c0af2e Revert commented out code. 2022-10-18 16:07:14 -04:00
Jeff Young 403cc50e7c Don't exit group when the cancel went to another tool.
Also fixes a bug where the group border didn't get updated immediately
on enter/exit.

Fixes https://gitlab.com/kicad/code/kicad/issues/12669
2022-10-18 17:53:06 +01:00
Jeff Young 1964087960 Fix some instance-data issues in netlist exporters.
Also removes the final requirements for setting the current sheet so
that we no longer need to do a save/restore.
2022-10-18 17:26:34 +01:00
Mikolaj Wielgus ae671c07e1 Commit missing uopamp.lib.spice 2022-10-18 17:38:23 +02:00
Jeff Young 8d40bf25d6 Need to setup outline mode stuff if it's turned on late. 2022-10-18 14:41:27 +01:00
Jeff Young 1f0fa3ef63 Fix bug in new optionally-flashed via/pad zone fill logic. 2022-10-18 14:02:47 +01:00
Jeff Young 4633d251a5 Remove single-zone-fill and unfill.
These are incompatible with our zone-priority-based algorithms.
2022-10-18 13:45:28 +01:00
Jeff Young 437d2c4589 Overhaul of remove-unconnected's zone filling and drawing strategies.
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state.  Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.

2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.

3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.

4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).

Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00