Commit Graph

27327 Commits

Author SHA1 Message Date
jean-pierre charras dc3a73a2fb PAD::MergePrimitivesAsPolygon(): add option to approximate circles outside the actual shape
When creating a polygon from an arc/circle, the small error due to approximation
can be now inside (when drawing/plotting the shape) or outside the circle
(when building a clearance area) like other pad shapes
Fixes #5313
https://gitlab.com/kicad/code/kicad/issues/5313
2021-04-18 20:10:00 +02:00
Ian McInerney ae91042544 Implement thread safety for symbol loading routines
These functions can be called from any thread of the library
loader, so we need to ensure we have some thread safety with them.
2021-04-18 18:39:46 +01:00
Ian McInerney 7f00b97586 Name Coroutine's in TSAN to make them identifiable 2021-04-18 18:20:09 +01:00
Jeff Young f30c67a478 Symbols need to be unannotated when updating their references.
Fixes https://gitlab.com/kicad/code/kicad/issues/8223
2021-04-18 16:26:36 +01:00
Jon Evans ec6995697d PNS: even more free performance
If this doesn't work, we have bigger problems
2021-04-18 09:50:06 -04:00
jean-pierre charras 2d9bac804c Pcbnew: minor fix: remove extra spaces when outputting pad primitives section.
No format change.
2021-04-18 15:25:14 +02:00
jean-pierre charras 8967e7eb3e Eeschema: remove a strange test that modified the reference position.
For some reason, when the reference was empty, the position was changed
without a good reason. (It happens in the SCH_COMPONENT ctor).
Fixes #8230
https://gitlab.com/kicad/code/kicad/issues/8230
2021-04-18 11:27:05 +02:00
Jon Evans 6425ad4118 PNS: Fix propagateDpHeadForces obstacle calculation
Using a synthetic via here doesn't quite let us use VIA::PushoutForce
because it will use the wrong clearance, and also doesn't quite have
the logic we want.  I am not familiar enough with PushoutForce to know
if its logic is a bug in other cases, so instead I just brought in the
parts of its algorithm that are needed here.

Additionally, we prevent pushing more than once from a given obstacle,
which causes walkaround to be more successful when routing diff pairs
against a large collider such as a keepout area.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8232
2021-04-17 22:37:30 -04:00
Jon Evans 5974446523 PNS: Let's make the r-tree work for us
I'm not sure where the magic number of "4x worst" came from, but it's
been around forever.  This is extremely inefficient as it negates much
of the power of r-tree filtering in dense designs.  If we really trusted
it, we could set this just to worstClearance.  Keeping it above the worst
clearance by a little bit seems to provide enough of a speed improvement
to resolve the test cases I have, so I'll go with that for now.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7777
2021-04-17 21:37:11 -04:00
Jeff Young a577b6386d Fix missing status bar update after undo/redo.
(Reported by Franck.)
2021-04-17 17:21:54 +01:00
Jeff Young 13473420e5 Remove duplicated routine and fix bug in UTIL version. 2021-04-17 15:10:59 +01:00
Jeff Young f7ae819430 Don't confuse annotation prefix *letters* with root annotation.
Given a symbol U12A, some parts of the code were assuming the prefix was
'U' while others were assuming 'U12'.  Further complication arose when
there were '?' in the library version.

Fixes https://gitlab.com/kicad/code/kicad/issues/8223
2021-04-17 12:30:40 +01:00
Wayne Stambaugh 2ae264751f Rename class_board_stackup.{h|cpp} to board_stackup.{h|cpp}. 2021-04-16 17:07:06 -04:00
Jeff Young 9846076676 Don't change must match between FormBuilder and C++ code. 2021-04-16 18:20:55 +01:00
Jeff Young 76ba11bd86 AppendUndo needs to be set after the first undo...
... not after the first change.

Fixes https://gitlab.com/kicad/code/kicad/issues/8148
2021-04-16 18:20:55 +01:00
Ian McInerney 43425d7306 Add logging of the functions used in the coroutine implemntation 2021-04-16 17:49:52 +01:00
Ian McInerney e7798d8f23 Add another logging call to the tool manager 2021-04-16 17:49:52 +01:00
Ian McInerney 660d1596e2 Annotate the coroutines with TSAN fiber information 2021-04-16 17:49:52 +01:00
Ian McInerney e237b6a2af Add thread sanitizer support to Cmake 2021-04-16 17:49:52 +01:00
Ian McInerney 0bdce00c42 Be explicit we don't care about the wxID of the control 2021-04-16 17:49:52 +01:00
Jeff Young 3a6a919097 Improve clarity in the Print dialog around edge cuts layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/8200
2021-04-16 16:53:51 +01:00
jean-pierre charras c52bc7eaf9 French translation update. Use script instead of Poedit to update the fr.po file 2021-04-16 09:06:06 +02:00
Jon Evans 29c45743b7 Fix calculation of arc lengths; include them in net inspector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8140
2021-04-15 21:06:35 -04:00
Jon Evans 64c8befa01 Fix copy/paste error 2021-04-15 20:45:32 -04:00
Jon Evans 928d336bee Only try to copy design rules file if it exists 2021-04-15 20:43:35 -04:00
Jeff Young 23a1f8b17a Enforce board minimum clearance over local clearance overrides.
Fixes https://gitlab.com/kicad/code/kicad/issues/8199
2021-04-15 21:44:04 +01:00
jean-pierre charras 9d94c700b0 French translation update 2021-04-15 19:49:56 +02:00
jean-pierre charras 31e9895a1a Fix a minor compil warning 2021-04-15 19:49:41 +02:00
Wayne Stambaugh 1fc1286180 Minor code cleaning. 2021-04-15 12:59:15 -04:00
Seth Hillbrand e93ea7ffc5 Update Translations 2021-04-15 09:44:25 -07:00
Alex Gellen d7dfb4e4ad Translated using Weblate (Romanian)
Currently translated at 33.3% (2318 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ro/
2021-04-15 18:43:09 +02:00
taotieren c59b4f1323 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (6947 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hant/
2021-04-15 18:43:09 +02:00
taotieren 4bc10a9a85 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (6947 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2021-04-15 18:43:09 +02:00
taotieren f4de3cffbe Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (6946 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2021-04-15 18:43:09 +02:00
ZbeeGin bc9e6b2ad7 Translated using Weblate (Polish)
Currently translated at 100.0% (6947 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2021-04-15 18:43:09 +02:00
ZbeeGin 687f10968c Translated using Weblate (Italian)
Currently translated at 100.0% (6946 of 6946 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/it/
2021-04-15 18:43:09 +02:00
Alex Gellen 2b20d48533 Translated using Weblate (Romanian)
Currently translated at 33.2% (2313 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ro/
2021-04-15 18:43:09 +02:00
Eric 4451e5e8c9 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (6946 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/zh_Hans/
2021-04-15 18:43:09 +02:00
Konstantin Baranovskiy 325065d78a Translated using Weblate (Russian)
Currently translated at 100.0% (6947 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ru/
2021-04-15 18:43:08 +02:00
Pomian 649f04b19b Translated using Weblate (Polish)
Currently translated at 99.9% (6946 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2021-04-15 18:43:08 +02:00
ZbeeGin 181896cff4 Translated using Weblate (Polish)
Currently translated at 99.9% (6946 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/pl/
2021-04-15 18:43:08 +02:00
Jonathan Haas e778809be7 Translated using Weblate (German)
Currently translated at 99.4% (6912 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/de/
2021-04-15 18:43:08 +02:00
Tokita, Hiroshi d197298163 Translated using Weblate (Japanese)
Currently translated at 99.6% (6921 of 6947 strings)

Translation: KiCad EDA/master source
Translate-URL: https://hosted.weblate.org/projects/kicad/master-source/ja/
2021-04-15 18:43:08 +02:00
Ian McInerney ac7496b749 Update kicad metainfo screenshot sizes and captions 2021-04-15 16:34:12 +00:00
Ian McInerney 4fc41627e9 Update and modernize linux metadata files
* Switch to using org.kicad.kicad as the main app ID
* Move the appstream file to a metainfo file
* Rename all metadata files to use the reverse DNS scheme
* Add header matching to mime type files where possible
* Add a mime type for gerber job files
* Add a QA test that verifies all the linux metadata files and
  run it in CI
* Update the visible names in the launcher entries to be more
  consistent with the internal visible names
* Update various strings and items in the metainfo file so they
  are more descriptive and easier to read
2021-04-15 16:34:12 +00:00
Jeff Young 311bb9c36e Save rules file when saving project.
Fixes https://gitlab.com/kicad/code/kicad/issues/8143
2021-04-15 10:23:38 +01:00
Jeff Young 9a282f081a Document rules version clause.
Fixes https://gitlab.com/kicad/code/kicad/issues/8201
2021-04-15 10:23:38 +01:00
Jon Evans 4920692bcd DIFF_PAIR_GAP_CONSTRAINT does not need to be restricted to two items
We just need one item to see what netclass we're in; the constraint
itself is specific to diff pairs so the condition doesn't need to be.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8205
2021-04-14 23:43:43 -04:00
Jon Evans 1d7e5a0443 Fix merge error that prevented a previous change from working 2021-04-14 23:30:16 -04:00
Jon Evans 433e148e08 Move some string formatting functions out of base_units
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00