130 Commits

Author SHA1 Message Date
Tomasz Wlostowski
9c8bdcc894 P&S refactor: removed most of Kicad-dependent code from PNS internal classes 2016-08-15 17:16:47 +02:00
Simon Richter
1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
jean-pierre charras
11c369ee1b Fix minor compil warnings (deprecated warnings and shadowed local vars warnings) 2016-06-07 17:33:12 +02:00
jean-pierre charras
4a838fb8c3 Pcbnew: Add rounded rect pad shape. 2016-04-06 20:15:49 +02:00
Tomasz Wlostowski
72b0593fdb Pcbnew: push and shove router fixes.
* Fix segfault caused by invalidation of the end item by
  PNS_LINE_PLACER::UpdateSizes().
* GAL zone drawing tool updates the ratsnest after zone drawing is complete.
* Fixed performance issue in zones processing using strict simplification
  only for the final filled area.
2015-11-18 09:35:17 -05:00
jean-pierre charras
34f1c0ea2d Fix a few Coverity warnings. 2015-11-11 19:47:51 +01:00
Thomasz Wlostowski
6e470ece1d Pcbnew: fix push and shove router segfault bug. 2015-11-03 11:19:42 -05:00
Maciej Suminski
2607497b37 Code formatting. 2015-10-05 18:28:41 +02:00
jean-pierre charras
4fc230b773 Rework on Enum PAD_SHAPE_T, PAD_DRILL_SHAPE_T and PAD_ATTR_T (see rev 6008) : the new and better names are now used in Kicad code and existing python scripts.
PAD_SHAPE_T  and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
 PAD_DRILL_SHAPE_T does not  have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
2015-08-23 21:40:33 +02:00
Tomasz Wlostowski
a33fc223ae router: take net clearance when deskewing diff pairs.
Apply correction on DP corner radius to avoid DRC issues.
2015-08-21 16:37:44 +02:00
Tomasz Wlostowski
b4135e0a33 router: fixed snapping to target while placing diff pair 2015-08-21 16:35:34 +02:00
Tomasz Wlostowski
a96299d456 router: improvements to shove algorithm 2015-08-19 18:07:16 +02:00
Maciej Suminski
65ebfe12c1 Fixed oval pads highlighting in mark collisions mode (PNS). 2015-08-10 17:50:10 +02:00
Tomasz Wlostowski
b6f61ff676 PNS: correctly snap to offset pads 2015-08-04 12:15:47 +02:00
Tomasz Wlostowski
8752f46f07 PNS_ROUTER: correctly handle NPTH pad layer sets. 2015-07-22 13:49:53 +02:00
Maciej Suminski
ca27eeb5c7 Fixed "select copper connection". 2015-07-09 20:04:54 +02:00
Maciej Suminski
66778e1b00 PNS code formatting. 2015-07-07 18:36:38 +02:00
jean-pierre charras
351914da9d Fix minor and very minor compil and Cppcheck warnings. 2015-07-06 19:56:05 +02:00
Maciej Suminski
766da1e494 Code formatting. 2015-07-02 16:11:15 +02:00
Mathias Grimmberger
7724c581fd router: support for non-90 degree pad orientations 2015-07-02 16:09:43 +02:00
Tomasz Wlostowski
52e193eded router: fixing assert 2015-07-02 16:09:32 +02:00
Chris Pavlina
5a4e528d6a Correct PNS boundaries for offset pads. 2015-06-23 11:41:53 +02:00
Maciej Suminski
d433a06d11 Fixed initialization for custom track/via size values (PNS). More meaningful error messages. 2015-06-15 17:54:58 +02:00
jean-pierre charras
49fac351ab Fix a few coverity warnings. 2015-06-15 16:01:43 +02:00
jean-pierre charras
4e210a2d05 ModEdit: fix a refresh issue after deleting a pad (depending on the position of the pad, the pad was sometimes not immediately undrawn).
Fix a few coverity wanings (not initialized members in ctors)
2015-04-20 16:59:25 +02:00
Tomasz Wlostowski
aeddbb51ff router: respect NPTH holes too 2015-03-11 23:48:53 +01:00
Maciej Suminski
e6a10faab7 FIxed a few clang warnings. 2015-03-09 11:06:54 +01:00
Tomasz Włostowski
fe40567426 router: shove now respects diff pair gap 2015-03-02 17:21:04 +01:00
Tomasz Włostowski
3f015705ac working on shove fix for DPs 2015-02-26 16:34:10 +01:00
Maciej Suminski
4fb9bce354 Code formatting. 2015-02-18 17:53:46 +01:00
Tomasz Włostowski
112adccbcb router: differential pairs & length tuning support 2015-02-18 01:29:54 +01:00
Maciej Suminski
e6ff6af7b3 Fixed typo. 2014-11-27 11:51:16 +01:00
Maciej Suminski
0daa1fa67e Missing fixes for the revision 5301. 2014-11-27 11:47:17 +01:00
Angus Gratton
6c4808bd49 pns: Non-copper pads are not treated as obstacles. 2014-11-26 15:46:47 +01:00
Maciej Suminski
9245b90392 Code formatting. 2014-11-14 20:19:00 +01:00
Tomasz Wlostowski
80adf9d85b router: multiple changes
- re-worked PNS_LINE_PLACER and PNS_ROUTER classes a bit, removing duplicate class members
- cleaned up Andrew's blind/buried via fixes
- fixed 'custom via width' dialog bug updating the width even when closed/cancelled
- fixed incorrect radius of drawn microvias
2014-11-14 19:15:58 +01:00
Andrew Zonenberg
45a8e4da74 pns_router: Support for blind/buried vias. 2014-09-30 16:46:19 +02:00
Tomasz Włostowski
adbf343fef bugfix: SIGABRT after starting a track with PNS and switching canvases a few times 2014-08-13 17:25:54 +02:00
Andrew Zonenberg
59be0f6ef7 1) Pad properties dialog can trigger divide-by-zero when "0" is entered as the pad size
2) PNS router incorrectly detects collisions with blind/buried vias that don't actually intersect the active layer
3) PNS router silently converts blind/buried vias to through-board vias when shoved
2014-07-28 11:32:15 +02:00
Andrew Zonenberg
e6fba84e13 Push-and-shove router now handles existing blind/buried vias properly. Can't yet create new ones. 2014-07-27 15:01:06 -04:00
Maciej Suminski
78853febbe Zone fill/unfill actions in context menu (GAL). 2014-07-09 16:57:01 +02:00
Maciej Suminski
327f307a7f FIx layer switching after via placement in PNS router. 2014-07-09 16:50:31 +02:00
Maciej Suminski
81ad03cf91 Code formatting. 2014-07-09 16:25:50 +02:00
Maciej Suminski
fb0045a898 Bugfix: Bottom layer not correctly handled in (PNS) Interactive router. 2014-07-07 10:48:47 +02:00
Dick Hollenbeck
ad750defb6 LAYER_ID work 2014-06-29 08:05:51 -05:00
Dick Hollenbeck
4578ea8b9e 1) Add 32 Cu Layers.
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0).
   The old Cu stack required knowing the count of Cu layers to make
   sense of the layer number when converting to many exported file types.
   The new Cu stack is more commonly used, although ours still gives
   B_Cu a fixed number.
3) Introduce class LSET and enum LAYER_ID.
4) Change *.kicad_pcb file format version to 4 from 3.
5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their
   meanings are typically flipped.
6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they
   can die a quiet death, and switch to enum LAYER_ID symbols throughout.
7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions.
   You will need to convert to the format immediately, *.kicad_pcb and
   *.kicad_mod (=pretty) since legacy format was never going to know
   about 32 Cu layers and additional technical layers and the reversed Cu
   stack.
2014-06-24 11:17:18 -05:00
Maciej Suminski
3480c41caa PNS router handles net class settings (dependent on the selected start item). 2014-06-03 16:09:27 +02:00
Maciej Suminski
2619ceae03 PNS formatting code. 2014-05-31 16:04:25 +02:00
jean-pierre charras
771ac33c80 Pcbnew: fix a minor bug: in zones with no net, only the zone clerance was used to created clearence, regardless the pad or footprint local clerance.
Very minor other fixes.
2014-05-29 13:48:14 +02:00
Maciej Suminski
707f5cd6e6 bugfix 1324144: broken PNS dragging 2014-05-28 19:21:12 +02:00