jean-pierre charras
f7cf40f2f4
Fix a few Coverity warnings.
...
Sometimes a dynamic_cast was used without testing the returned value.
Some are replaced by static_cast, when the dynamic_cast was useless.
2018-11-11 08:28:58 +01:00
Jeff Young
3439551543
Implement a work-around for net-ties.
...
Fixes: lp:1799318
* https://bugs.launchpad.net/kicad/+bug/1799318
2018-11-07 14:24:16 +00:00
Maciej Suminski
4ad37bc9ea
Limit 'items on disabled layers' DRC check to copper layers
...
Fixes: lp:1788248
* https://bugs.launchpad.net/kicad/+bug/1788248
2018-11-05 14:00:49 +01:00
Jeff Young
a96dbde738
Allow net-ties within footprints.
...
Fixes: lp:1799318
* https://bugs.launchpad.net/kicad/+bug/1799318
2018-10-23 20:54:42 +01:00
Seth Hillbrand
4460313104
pcbnew: Separating connectivity to subdir
2018-10-12 16:31:09 -07:00
Seth Hillbrand
686f1b878b
Prevent re-testing DRC on zones
...
We only need to test zone connections once, so we skip the double-check
from the nested loop unless we are only checking a single zone. Then
the second loop needs to iterate over the full list of zones.
2018-09-25 09:24:34 -07:00
Seth Hillbrand
b1d44ed415
Revert "Don't double-check all zones."
...
This reverts commit b842e4556d
.
When a specific zone is tested, we need to iterate over all other zones
on the board.
2018-09-25 08:48:22 -07:00
jean-pierre charras
27b62c66b3
Remove an unused var.
2018-09-02 10:22:41 +02:00
Jeff Young
c88b43e356
Don't double-report segments that are too close.
2018-08-27 18:38:56 +01:00
Jeff Young
b842e4556d
Don't double-check all zones.
...
a:b is enough; we don't have to also check b:a.
2018-08-27 18:38:56 +01:00
Jeff Young
7b4f9cef50
Implement DRC checks for copper graphic items.
...
Also greatly improves the location of many DRC markers.
Fixes: lp:1619133
* https://bugs.launchpad.net/kicad/+bug/1619133
2018-08-27 18:38:56 +01:00
Jeff Young
0e3919e7aa
Fix DRC & zone filling for copper text in footprints.
...
Also improves handling of copper edges in footprints and of text
and track locations in DRC markers.
Also adds DRC for tracks & zones.
Fixes: lp:1762474
* https://bugs.launchpad.net/kicad/+bug/1762474
Fixes: lp:1788268
* https://bugs.launchpad.net/kicad/+bug/1788268
2018-08-24 10:56:13 +01:00
Jeff Young
aab97c8385
Consolidate design rules UI.
...
Implement new Board Setup paged dialog which includes:
Layers Setup
Design Rules
Solder Mask & Paste
Text & Drawings
Moves line width and text properties to a layer-class-based
system. Renames unlocked to upright (which also reverses the
logic).
New Edit Text and Graphic Properties dialog which replaces
Edit Footprint Text and adds layer-class-based editing and the
italic, upright and visibility properties.
Adds Import Settings functionality which allows settings to
be imported from another project at page granularity.
Also UNIT_BINDERizes the dialog and adds editing of pcb text.
Fixes: lp:1731952
* https://bugs.launchpad.net/kicad/+bug/1731952
Fixes: lp:1743464
* https://bugs.launchpad.net/kicad/+bug/1743464
Fixes: lp:1664761
* https://bugs.launchpad.net/kicad/+bug/1664761
Fixes: lp:1753362
* https://bugs.launchpad.net/kicad/+bug/1753362
Fixes: lp:1545427
* https://bugs.launchpad.net/kicad/+bug/1545427
Fixes: lp:1753775
* https://bugs.launchpad.net/kicad/+bug/1753775
Fixes: lp:1777692
* https://bugs.launchpad.net/kicad/+bug/1777692
Fixes: lp:1780670
* https://bugs.launchpad.net/kicad/+bug/1780670
Fixes: lp:1519601
* https://bugs.launchpad.net/kicad/+bug/1519601
(cherry picked from commit 3944a5e)
2018-07-17 15:12:34 +01:00
Jeff Young
ef3e045a9b
Eradicate g_UserUnit from ERC/DRC.
...
(cherry picked from commit 98b8cd4)
2018-07-17 15:12:16 +01:00
Jeff Young
bbc25cd694
Add hole-to-hole clearance testing to DRC.
...
Also move courtyard testing flags to BoardSettings API. Both are
still stored in the config until we decide where they go in order
to prevent prematurely disturbing the board file format.
Fixes: lp:684067
* https://bugs.launchpad.net/kicad/+bug/684067
(cherry picked from commit 5399f60)
2018-07-17 15:11:11 +01:00
Jeff Young
a1ef5401f4
More platform-standard presentation of DRC dialog.
...
Also makes better use of space to significantly increase number
of markers shown.
Fixes: lp:1748676
* https://bugs.launchpad.net/kicad/+bug/1748676
(cherry picked from commit a1d8097)
2018-07-17 15:09:46 +01:00
Jeff Young
3e190cee4b
Implement selection brightening for DRC.
...
The old item pointers (which aren't safe to keep around) were
removed in favour of opaque references (void*) which are then
compared against existing items when needed.
Also improves brightening by brightening the whole footprint
(ie: its pads, drawings, reference and value) rather than just
its target cross.
(cherry picked from commit 30e90b0)
2018-07-17 15:09:40 +01:00
Maciej Suminski
0013e0cad1
DRC: test for items located on disabled layers
...
Fixes: lp:1779281
* https://bugs.launchpad.net/kicad/+bug/1779281
2018-07-10 18:24:15 +02:00
jean-pierre charras
0b8cf93888
Pcbnew, On line DRC in legacy canvas: Fix broken Drc test during track and zone creation or edition.
...
It was broken by commit c78171d01f
.
During creation, the Drc must only display a error message, and do not create markers.
Markers are created only during a full board DRC test.
commit c78171d01f
replaced this behavior by a incorrect one (create markers and do not show error messages)
2018-06-04 11:20:11 +02:00
jean-pierre charras
904eb82368
Fix a DRC crash on some installs.
...
It looks like D_GLIBCXX_ASSERTIONS=ON activated on some Linux versions creates too zealous tests at run time.
This patch just calculate the same pointer value using a slightly different formula.
Fix also a hard-to-understand comment
Fixes: lp:1770414
https://bugs.launchpad.net/kicad/+bug/1770414
2018-05-16 09:20:04 +02:00
Maciej Suminski
684f085ac5
Coverity fixes
...
CIDs:
dereference before null check:
175439 @ drc.cpp
uninitalized field:
175435 @ point_editor.cpp
174162 @ zone_filler.cpp
163188 @ footprint_info_impl.cpp
logically dead code:
155146 @ pcb_editor_control.cpp
2018-05-04 14:06:08 +02:00
Jeff Young
84151990cd
Don't set dirty bit when adding MARKERs.
...
They're not saved in the file, so they shouldn't dirty it.
Fixes: lp:1762497
* https://bugs.launchpad.net/kicad/+bug/1762497
2018-04-09 21:19:11 +01:00
Jeff Young
d54a252eaa
Check zone fills for being out-of-date during DRC.
2018-04-09 11:05:14 +01:00
Jon Evans
c78171d01f
DRC: Add an optional mode to report all track errors
...
Fixes: lp:1754442
* https://bugs.launchpad.net/kicad/+bug/1754442
2018-03-20 19:54:06 -04:00
Jeff Young
a1a4275e8b
Cancel interactive tools when entering DRC.
...
Fixes: lp:1541526
* https://bugs.launchpad.net/kicad/+bug/1541526
2018-03-16 00:28:02 +00:00
Wayne Stambaugh
5ef0b6b67e
Pcbnew: add refill zone option to DRC.
...
Make refilling zones during DRC optional to prevent the board from being
changed by changes in the polygon filling. Default to off to prevent
changes by default.
Fixes lp:1721547
https://bugs.launchpad.net/kicad/+bug/1721547
2018-02-10 15:17:30 -05:00
jean-pierre charras
1858852f57
rename files
2018-02-02 21:57:12 +01:00
jean-pierre charras
8552f3fedf
fix code after renaming files
2018-01-29 22:00:44 +01:00
jean-pierre charras
4c5bd01887
Rename a few files
2018-01-28 22:02:31 +01:00
jean-pierre charras
433b2bff40
Add comments in progress_reporter.h; Remove unused parameter in Fill_All_Zones and remove empty file.
2018-01-16 10:22:25 +01:00
jean-pierre charras
94c8a947ad
Progress reporter: remove wxPD_APP_MODAL style, not useful, that creates issues on OSX.
...
All platforms now use the same code.
2018-01-15 17:57:03 +01:00
jean-pierre charras
63e55e9180
Try to fix a regression on OSX
...
Fixes: lp:1740909
https://bugs.launchpad.net/kicad/+bug/1740909
2018-01-14 17:38:48 +01:00
Camille
9ff66a5274
Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases
2018-01-09 18:55:51 -05:00
Simon Richter
a9ccf1161b
Fix quotes in UI messages
...
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.
Sorry to all translators.
2017-12-15 07:33:07 -05:00
Maciej Suminski
9b5dc5c215
GAL show markers for zone outlines gap test
...
Moved a DRC function (BOARD::Test_Drc_Areas_Outlines_To_Areas_Outlines)
from BOARD class to DRC (DRC::TestZoneToZoneOutline). Added BOARD_COMMITs
to handle marker visibility updates.
Fixes: lp:1619124
* https://bugs.launchpad.net/kicad/+bug/1619124
2017-12-08 11:33:32 +01:00
Tomasz Włostowski
fdd5023aee
pcbnew: factored out ZONE_FILLER to a separate file
2017-12-05 14:54:57 +01:00
Tomasz Włostowski
00ad8f24a0
pcbnew: Minor changes in CONNECTIVITY_DATA interface:
...
- renamed connectivity.[h|cpp] to connectivity_data [.h|.cpp] so that the file name matches the main class name.
- GetNetItems() now returns a vector instead of a list
2017-11-15 18:34:08 +01:00
Oliver Walters
7e0fa329d0
DRC checks for keepout zones work on all layers
2017-09-27 10:35:00 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
6008abaad9
DRC connectivity check
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
edf1aac357
Fixed some compilation warnings. Missing features so far: single-module ratsnest & DRC unconnected report
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
3cba1007eb
Removed legacy connectivity/ratsnest algorithm, replaced with the new one. No legacy autorouting for the moment
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
Tomasz Włostowski
08314082db
Hide DLISTs behind iterators, first step towards refactoring the storage model
2017-06-23 11:12:36 +02:00
jean-pierre charras
0f0cb64a63
Minor fix in DRC test courtyards.
2017-03-26 08:13:23 +02:00
Alejandro García Montoro
f68ce306bd
CPolyLine -> SHAPE_POLY_SET refactor.
...
Removes the need of using the legacy code in polygon/PolyLine.{h,cpp},
refactoring all CPolyLine instances with SHAPE_POLY_SET instances.
The remaining legacy methods have been ported to SHAPE_POLY_SET;
mainly: Chamfer, Fillet, {,Un}Hatch.
The iteration over the polygon vertices have been simplified using the
family of ITERATOR classes.
2017-03-24 10:43:47 +01:00
jean-pierre charras
2637835a1e
First version of courtyard overlap detection
2017-03-19 20:27:45 +01:00
jean-pierre charras
b365f17e9f
First draft of courtyard overlap detection.
2017-03-19 20:27:44 +01:00
jean-pierre charras
a592832886
fix I18n issue (empty string)
2017-03-09 11:47:40 +01:00
Tomasz Włostowski
966052272f
Coding style fixes
2017-03-03 20:27:05 +01:00