Commit Graph

119 Commits

Author SHA1 Message Date
Dick Hollenbeck e24990146d Pcbnew: major swig fix.
* Switched hashtables.h over to std::undordered_map from boost version.

* Added new macros DECL_VEC_FOR_SWIG() and DECL_MAP_FOR_SWIG() in macros.h.
  These along with future DECL_HASH_FOR_SWIG() unify the declaration to swig
  and C++ so that the resultant type name is common in both languages, and
  the types AGREE.

* Fixed swigging of NETINFO_ITEM and NETINFO_LIST via magic.

* Newly exposed (python wrapped) are: D_PADS, TRACKS (was TRACK_PTRS),
  NETNAME_MAP, NETCODE_MAP, wxString (without constructor purposely, read
  comment in wx.i), MARKERS, ZONE_CONTAINERS, NETCLASSPTR, KICAD_T types.

* std::vector<SOMETHING*> tends to end up named SOMETHINGS in C++ and python.
  Having the name consistent between like types is helpful, and between
  languages.  std::map<> ends up as SOMETHING_MAP.

* NETINFO_LIST::m_netNames and NETINFO_LIST::m_netCodes are now std::map
  instead of hashtables, because swig does not yet support std::unordered_map.

* You can now get to any netclass or net info.   NETNAMES_MAP and NETCODES_MAP
  are traversable basically the same as a python dictionary using a python
  string (not wsString) as the key!  The wxString typemap converts python
  string to wxString before the lookup happens.  Iteration also works.
2016-07-18 13:23:09 -04:00
unknown 3d635bca01 Add QFN Footprint generator python script 2016-02-24 09:48:55 +01:00
jean-pierre charras cf09129387 Python interface: add methods to add or remove layers to/from a layer set. Usefull to modify the layer set of pads
Very minor other fixes.
2016-02-24 09:45:34 +01:00
unknown c2fd462dd6 Footprint generators in Python: add a rounding method to put a coordinate on a grid (PutOnGridMM and PutOnGridMils) . 2016-02-18 18:53:39 +01:00
unknown fb17b3fa17 Set SMD attribute in footprint python generators 2016-02-18 15:29:30 +01:00
unknown aa6beaaba0 Python footprint generators: fix a typo and fix text size (accordance KLC 6.9) 2016-02-14 10:47:07 +01:00
unknown 450c2e4371 fix Tickness typo 2016-02-11 16:02:37 +01:00
unknown 4726f51ba0 Set the courtyard width to 0.05mm to comply with KLC in the following python footprint generators: bga,qfp,sdip and zip 2016-02-09 10:10:17 +01:00
Tomasz Wlostowski ee3418e90b One-click PCB update improvements
- Fix repetitive undo/redo segfaults & assertions.
- Add Update menu entry on PCB side.
- Fix Python build error
- Add spread footprints after updating
2016-01-29 15:43:40 +01:00
Chris Pavlina 13c5341040 pcbnew/scripting: delete orphaned header 2016-01-10 09:08:13 -05:00
Strontium c3d3a7a4c8 Scripting: replace PyCrust shell with enhanced PyAlaMode shell. 2015-12-21 09:55:31 -05:00
jean-pierre charras 04271893ff Fix Bug #1521282 (footprint wizard for SOIC ICs generates a wrong position pin mark) 2015-12-09 17:11:32 +01:00
jean-pierre charras c94a5dd46f Footprint wizard: fixes and enhancements in python scripts. 2015-10-31 12:54:48 +01:00
jean-pierre charras ad2c4b807b footprint generators python plugins: fix a few issues, and make them more compliant with the KiCad Library Convention 0.11 2015-10-29 18:35:52 +01:00
jean-pierre charras ad48723deb Update 2 footprint wizard python scripts to display the value of parameters in the window messages. DRC: do not generate warnings for pads which are only on tech layers and over a hole.
A very minor other fix.
2015-09-30 18:42:28 +02:00
jean-pierre charras 7808b2e240 Fix in KIWAY_PLAYER::ShowModal: the top level windows children of the KIWAY_PLAYER Modal frame are now enabled (previously were disabled). It fix some issues for instance with the aui toolbar when moved, and the dialog open when starting the footprint wizard frame. Perhaps explain a few other bugs.
footprint wizard frame: now shows messages from footprints python scripts. Especially usefull when a parameter is incorrect. Fix also an other issue (IO error) with some scripts which were usint the print command to output messages (now they use the nes message window.
2015-09-05 14:10:54 +02:00
jean-pierre charras 4a56ee42c5 Footprint wizard: Fix IO exception error in python scripts which happens sometimes, due to the fact these scripts printed messages to a console, but when Pcbnew is not run from a console, there is no IO channel to read these messages.
The fix is not perfect (still no IO channel to read these messages) ,  but it works better.
Also, fix erroneous comments in code, and cleanup code.
2015-09-02 15:55:36 +02:00
jean-pierre charras 204eb49ce5 Minor enhancement in python console: remove margins around the client area. simplify code. 2015-08-24 20:32:56 +02:00
unknown 44b5d19d3b barcodefootprint wizard - cleanup python code. 2015-08-23 21:44:34 +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
jean-pierre charras 705eb1f245 Minor change in a fp wizard (better name). Add a new fp wizard to generate a fp with a bar code on the silkscreen layer. 2015-08-23 15:06:39 +02:00
unknown d6b1aa764e kicad footprint plugins wizards: avoid spaces in generated footprint names (which often creates issues in filenames) 2015-08-23 14:44:56 +02:00
unknown cc7549a2a5 * Python scripting: brings pad.GetZoneConnection() and in example pad.SetZoneConnection(pcbnew.PAD_ZONE_CONN_FULL) to full workable.
* Cleanup namespace  in enum ZoneConnection in pcbnew/zones.h to self-explained names unification:  PAD_ZONE_CONN_INHERITED, PAD_ZONE_CONN_NONE,PAD_ZONE_CONN_THERMAL,PAD_ZONE_CONN_FULL, PAD_ZONE_CONN_THT_THERMAL
2015-08-18 16:19:17 +02:00
jean-pierre charras 699c76ccea Rework on EXCELLON_WRITER class, to allow gerber and drill files creation from a python script.
added the example gen_gerber_and_drill_files_board.py in demos, which shows how to do that.
Fix a Printf format issue (shown in Debug mode) in Libedit (%d used for a size_t, changed in %zu)
2015-04-29 17:37:37 +02:00
jean-pierre charras 79af0c454d 2 very minor fixes. 2015-04-14 17:57:07 +02:00
jean-pierre charras 19347b1243 3D viewer: minor fixes. Use our class REPORTER to show warning messages and activity info when building the 3D board view. Add a few comments in sources.
Very minor other fixes.
2015-04-14 17:12:35 +02:00
jean-pierre charras 678a763481 Pcbnew: better display of tracks/vias/grid in toolbar. All: modify the zoom value shown in toolbar or status bar (roughly now zoom 1.0 is near the 1:1 scale, on a 22 inches Monitor). Fix also many other minor and very minor issues 2015-01-06 08:38:58 +01:00
jean-pierre charras 6a19315557 Fix compat with swig 3.03 2015-01-04 08:19:04 +01:00
jean-pierre charras db31daffe4 Fix compil issue I created in rev 5242 when KICAD_SCRIPTING_WXPYTHON is ON 2014-10-31 16:21:57 +01:00
jean-pierre charras 4fd2a4da94 Pcbnew, python console: refinements. 2014-10-31 15:45:46 +01:00
Wayne Stambaugh f86eb756af Source license, coding policy, and documentation fixes.
* Add more missing source code licenses.
* Fix coding policy violations (tabs and trailing white space) in Python
  scripting code.
* Add stable release policy to full documentation build.
2014-10-28 15:43:12 -04:00
unknown 4280a1f5d3 Fix absence of PCB_TARGET class in python interface. 2014-10-13 13:14:02 +02:00
jean-pierre charras fc2229dfca Eeschema: fix Bug #1376669 (graphics lost in aliased components)
Cleaning 3 svg files (no icon change)
Very minor other changes.
2014-10-06 20:13:11 +02:00
jean-pierre charras e6274f70b0 BOARD::Add(): fix an issue for tracks: parent not set (could be an issue only in python scripts, because the parent is set by the constructor)
*.i : fix coding style issues.
python method: add BOARD_ITEM Duplicate, which is a wrapper to Clone(). ( defined as Cast_to_BOARD_ITEM(selt.Clone()).Cast() )
update some .py examples.
2014-10-02 19:09:32 +02:00
jean-pierre charras e617c5e6b1 Pcbnew: fix some issues when using python scripting (remove outdated SEG_ZONE item, fix broken access to netclass, track width and via size lists, add missing access to zones)
Update listPcb.py to show how to access zones.
2014-09-30 20:23:27 +02:00
jean-pierre charras 927d11f78c Eeschema: fix Bug #1375581 (libraries setup empty after clicking "print" icon) 2014-09-30 10:12:00 +02:00
unknown c1e0a8d067 Patch for the Python footprint wizard helpers. This adds a few more drawing functions, such as for circles, and also uses a matrix-based transform stack with greatly simplifies constructing footprints consisting of regularly spaced elements (e.g. in lines, grids, circles, or some list of points that you specify).
This fixes bug #1366299
2014-09-14 18:29:10 +02:00
Maciej Suminski 3aef4252ab Refinement to commit #4993. 2014-07-14 16:43:21 +02:00
jean-pierre charras eb396a5e88 Fix footprint wizard issues. Fix export vrml incorrect Z position of items. 2014-07-02 15:08:28 +02:00
Maciej Suminski b2a5b2f329 Scripting fix. 2014-05-15 10:11:17 +02:00
unknown 0ff0b9b835 Fix issue in bga footprint wizard. 2014-05-02 08:28:40 +02:00
Dick Hollenbeck c0879414a5 SEGVIA -> VIA for swig 2014-04-25 01:43:14 -05:00
John Beard 38f36ae45c Add John Beard's patch: new and useful footprint wizards (SIP/SIP, SOIC/SSOP/TSSOP/MSOP and BGA).
Add Python utility tools to make wizard scripts more easy to write.
2014-04-23 18:36:31 +02:00
jean-pierre charras 34c593916c Pcbnew: Fix bug #1296649 (Text on flipped modules incorrectly placed).
Dialog Freeroute: if freeroute.jar is find in kicad binaries, it is run as a standard java application, not as web applcation
Very minor other fixes
FPC_(SMD_type)_footprintwizard.py wizard finished.
2014-03-27 18:45:05 +01:00
jean-pierre charras 63eac42d07 Fix a minor error in class D_PAD: void D_PAD::Flip( int Y ) changed to virtual void D_PAD::Flip( const wxPoint& aCentre ) (as defined in BOARD_ITEM)
Scripting: fix compatibility current pcbnew version in 2 examples and the default extension of board files  in board.i (was .kicad_brd, now is .kicad_pcb)
2014-02-13 18:27:48 +01:00
Nick Østergaard f214a57629 Fix wrong numbering in the QFP footprint wizard python script 2014-02-12 08:59:56 +01:00
Miguel Angel Ajo bbcd2c61d6 BOARD saving test 2014-02-09 00:21:47 +01:00
Miguel Angel Ajo 15bfac3f4e Moved QA to root. 2014-02-02 22:50:45 +01:00
jean-pierre charras 9e61c6ce1b Footprint wizards: fix issues. 2013-11-01 21:51:37 +01:00
jean-pierre charras 8caef8f8b1 Make footprint wizards compatible with FPID changes (MODULE::SetLibRef changed to MODULE::SetFPID) 2013-11-01 16:29:50 +01:00