Commit Graph

522 Commits

Author SHA1 Message Date
Salvador E. Tropea a7bf1b080c Added skip_top and skip_bottom options to the rot_footprint filter. 2021-04-25 12:20:39 -03:00
Salvador E. Tropea 798fdc3e34 Updated help strings and reverted side match patch. 2021-04-25 12:06:43 -03:00
Salvador E. Tropea 0a853594c2 Merge branch '60-invert-bottom' of https://github.com/frankleonrose/KiBot into frankleonrose-60-invert-bottom 2021-04-25 11:58:36 -03:00
Salvador E. Tropea e391f513ec Bumped version to 0.11.0. 2021-04-25 11:24:49 -03:00
Salvador E. Tropea 496de2712f Give priority to submodule in out_kicost 2021-04-25 10:45:16 -03:00
Salvador E. Tropea 80f64e7b19 Fixed missing variable when KiCost wasn't used 2021-04-25 09:59:23 -03:00
Salvador E. Tropea 55277a550f More KiCost integration in KiBoM.
- Also added level and comment to columns in the XLSX BoM output.
- Now user columns can be added to the KiCost sheet.
- The "Colors" sheet now includes KiCost colors
- The KiCost column names are more coherent with our names
- Style colors affects the KiCost colors
- About message includes KiBot version
- Header layout is also more coherent
- use_alt, number, max_col_width and ref_separator options are passed
  to KiCost
2021-04-25 09:29:56 -03:00
Salvador E. Tropea 8706e0e02f The "References" column is now coloured as "Reference" 2021-04-25 09:25:49 -03:00
Salvador E. Tropea de0390f954 Reference ranges of two elements no longer represented as ranges.
Examples: "R1-R2" is now "R1 R2", "R1-R3" remains unchanged.
2021-04-25 09:23:19 -03:00
Salvador E. Tropea e22e1db49a Added support for width, style and color in "wire notes"
Fixes #70
2021-04-22 12:33:13 -03:00
Salvador E. Tropea cfe61c9b7e Added board view export.
Closes #69
2021-04-20 13:22:56 -03:00
Salvador E. Tropea 1d44a6a551 Added cell size adjust to the KiCost worksheet. 2021-04-16 10:25:31 -03:00
Salvador E. Tropea 16ddb9465f Added Internal BoM + KiCost integration
- Currently very basic, but you get "Costs" and "Costs (DNF)" work
  sheets in the XLSX output when the xlsx.kicost option is enabled.
2021-04-15 11:14:37 -03:00
Salvador E. Tropea 2689ccbca2 Made the ibom output smarter about the netlist
- Now a warning is issued if needed and absent
- We now also pass it to iBoM if needed and is there
Fixes #68
2021-04-12 12:42:26 -03:00
Frank Leon Rose 5c88dec5bc Use match_string for more selective power 2021-04-07 08:33:37 -04:00
Frank Leon Rose b946e519fb _top & _bottom select all components on a side 2021-04-05 22:15:22 -04:00
Frank Leon Rose 6e0deccdc1 Add invert_bottom parameter 2021-04-05 21:52:50 -04:00
Salvador E. Tropea f6fb9c21de
Merge pull request #63 from sethkaz/master
Fixed some typos in README.md
2021-04-01 08:44:22 -03:00
Salvador E. Tropea 1f46e284f9 Fixed STEP output problems.
When downloading missing 3D models, but not filtering them.
2021-04-01 08:32:13 -03:00
Salvador E. Tropea 0f8eb6af2c Added detection of gzip compressed configuration files. 2021-04-01 08:08:20 -03:00
Salvador E. Tropea dc7ef486a0 Made the schematic name detection smarter.
Should Fix #62
2021-04-01 08:05:55 -03:00
Seth Kazarians 7e722caf40 Fixed Typos in source files per recommendation from @set-soft. 2021-03-31 15:10:21 -07:00
Salvador E. Tropea 7961209b0f Experimental mechanism to change 3D models according to the variant. 2021-03-31 18:00:43 -03:00
Salvador E. Tropea 7c3f273684 Basic KiCost support. 2021-03-31 12:27:55 -03:00
Salvador E. Tropea 1290bb6995 New KiCost variant style.
- New internal filters `_var_rename_kicost` and `_kicost_dnp`.
- New `skip_if_no_field` and `invert` options to the regex used in the
  generic filter.
2021-03-30 09:37:36 -03:00
Salvador E. Tropea afe80052b4 Added a new filter `var_rename_kicost`
Is very similar to `var_rename` with a few differences that makes it
suitable to emulate the KiCost field rename mechanism.
2021-03-25 12:57:26 -03:00
Salvador E. Tropea 01291ebe63 Added field rename filter.
Including an internal version to emulate KiCost behavior.
2021-03-23 13:20:26 -03:00
Salvador E. Tropea 40bd7c24f2 Added support for KiCost's subparts 2021-03-19 19:41:46 -03:00
Salvador E. Tropea 91dc9c5488 Added support for filters that adds/removes components.
- Intended for BoM transformations
- Also enhanced the support for filter chains
2021-03-19 19:20:53 -03:00
Salvador E. Tropea c88dceb6dc Added a BoM option to disable the ceil() "rounding" 2021-03-19 12:46:37 -03:00
Salvador E. Tropea 0402a65c8b Added support for a component attribute qty.
Is the ammount of the part used.
By default is 1, but can be another value.
2021-03-19 11:53:03 -03:00
Salvador E. Tropea 4d3c3d43b3 Added fields fallbacks to the BoM grouping fields.
Used when the field used to group components is empty.
2021-03-19 11:48:45 -03:00
Salvador E. Tropea fa002356d0
Merge pull request #57 from bbernhard/parsing_fix
be more tolerant when parsing libraries
2021-03-12 21:22:41 -03:00
Salvador E. Tropea 1b48e614a7 Added pattern expansion in the `dir` option for outputs
Closes #58
2021-03-12 21:14:39 -03:00
Salvador E. Tropea a5b3b0569f Fix `out_pcb` and `out_sch` targets
Introduced by c104d14511
2021-03-12 15:02:36 -03:00
Bernhard B c13ac04927 be more tolerant when parsing libraries
Some SnapEDA libraries (e.g https://www.snapeda.com/parts/TS3A27518EPWR/Texas%20Instruments/view-part)
use the token "# End Library" instead of "#End Library" to mark the end
of the library.
2021-03-08 15:19:24 +01:00
Salvador E. Tropea 4f73de1157 Makefile variables KIBOT, DEBUG and LOGFILE can be defined from outside. 2021-03-03 13:08:52 -03:00
Salvador E. Tropea 6d59960b59 Sorted the schematic dependencies to make them consistent. 2021-03-03 13:07:46 -03:00
Salvador E. Tropea f9ac0d001f Fixed extra dirs created during makefile generation. 2021-02-24 14:24:22 -03:00
Salvador E. Tropea c104d14511 Uncatched exceptions during makefile generation 2021-02-24 14:08:38 -03:00
Salvador E. Tropea 5560c62d14 Errors and warnings from KiAuto now are printed as is. 2021-02-24 12:58:47 -03:00
Salvador E. Tropea 111b86a375 Fixed problems using E/DRC filters and the output dir didn't exist. 2021-02-24 12:36:19 -03:00
Salvador E. Tropea 8fba0d9909 Added `erc_warnings` option to consider ERC warnings as errors. 2021-02-24 12:34:49 -03:00
Salvador E. Tropea 7409c99476 Bumped version to 0.10.1. 2021-02-22 15:07:48 -03:00
Salvador E. Tropea c82485acc8 Added remove of forced video in GitLab CI
Note that this video recording is needed in the tests, but I don't know
why.
2021-02-22 12:55:02 -03:00
Salvador E. Tropea 9e33b7a774 Trying to force KiAuto record on GitLab CI/CD 2021-02-22 12:25:14 -03:00
Salvador E. Tropea 3499087e86 Test disabling the KiAuto record.
This is just a test trying to solve GitLab issues.
2021-02-22 11:13:59 -03:00
Salvador E. Tropea 57c517d02b Passed the same verbosity level to KiAuto scripts. 2021-02-18 12:47:21 -03:00
Salvador E. Tropea 2b845d81a0 Fixed problem using Python 3.6
- ZipFile's compresslevel argument introduced in 3.7
2021-02-16 12:54:33 -03:00
Salvador E. Tropea 95b48ab053 Fixed problem using Python 3.6
- Fixes #52
- StreamHandler.setStream introduced in 3.7
2021-02-16 12:02:41 -03:00
Salvador E. Tropea 8d5c0109f9 Bumped version to 0.10.0 2021-02-12 16:08:46 -03:00
Salvador E. Tropea a0218e92ab Removed dead code. 2021-02-12 15:03:39 -03:00
Salvador E. Tropea 32310ba1fa Added test for makefile generation running the script from system. 2021-02-12 14:56:51 -03:00
Salvador E. Tropea b718bc671e Removing extra debug 2021-02-12 13:31:31 -03:00
Salvador E. Tropea d5a1df9eb7 Modified test suite to collect the error in test_search_as_plugin_ok 2021-02-12 13:10:22 -03:00
Sabol Martin 234a57cfc6 fix: Part containing more then 9 units (2 digits present). Start line parsing with TAB instead of unit number 2021-02-12 16:16:16 +01:00
Salvador E. Tropea a49d4e45fa Added import tests. 2021-02-12 11:40:26 -03:00
Salvador E. Tropea 0c351200a2 Fixed list of compress dependencies.
Wrong again.
2021-02-11 13:28:17 -03:00
Salvador E. Tropea 9b34cf20d9 Removed debug message (oops!) 2021-02-11 12:52:01 -03:00
Salvador E. Tropea dabe2ae6bf Avoid running the outputs when collecting the dependencies.
Introduced by the last patch.
2021-02-11 12:37:09 -03:00
Salvador E. Tropea 3f565b616a Makefiles generated with debug enabled contains debug stuff.
- pass the verbosity to kibot
- logs to the console
- shows the command executed
2021-02-11 11:56:55 -03:00
Salvador E. Tropea d228c2628b Now compress targets doesn't depend on PHONY targets
This avoids redoing the archive if all dependencies are already
generated.
2021-02-11 11:55:22 -03:00
Salvador E. Tropea e93bc6bf40 Fixed problems using layer suffixes containing non-ASCII chars 2021-02-11 11:29:21 -03:00
Salvador E. Tropea 3ed25cc5ff Now you can import outputs from another config file. 2021-02-11 11:02:58 -03:00
Salvador E. Tropea befbcc3fe3 Force the output and variant names to be strs 2021-02-11 09:37:05 -03:00
Salvador E. Tropea d104c06cef Reduced the complexity of generate_makefile 2021-02-11 08:45:33 -03:00
Salvador E. Tropea b5648b1231 Added the KiBot config as depenency for all makefile targets.
Any change in the configuration forces a refresh of all targets.
2021-02-10 20:30:41 -03:00
Salvador E. Tropea 20a64aa2bb Added more PCB/SCH makefile targets. 2021-02-10 20:15:41 -03:00
Salvador E. Tropea a2d5ad294c Added makefile targets for PCB/SCH related stuff (pre and all). 2021-02-10 20:08:20 -03:00
Salvador E. Tropea 99dfbbd99d Use the full path for kibot in the makefile if not installed.
When we detect the run isn't from the system installation.
2021-02-10 19:47:15 -03:00
Salvador E. Tropea f744892810 Fixed: erc/drc not taking global.output pattern. 2021-02-10 16:51:17 -03:00
Salvador E. Tropea 7861f6efe6 Removed debug message about KiCad bug, now we are using a workaround. 2021-02-10 14:13:07 -03:00
Salvador E. Tropea 12bfa88677 Fixed the way we restore stderr after temporarily supressing it.
Now we don't mess with `sys.stderr` we just use `os.dup2` to restore it
from the copy.
2021-02-10 14:10:10 -03:00
Salvador E. Tropea 67cee9988a Added workaroud for KiCad printing wxWidgets "traits" errors. 2021-02-10 09:40:41 -03:00
Salvador E. Tropea f698e44642 Now we can load InteractiveHtmlBom even when installed only as plugin
Fixes #49
2021-02-08 15:37:01 -03:00
Salvador E. Tropea ce0f22edce Adjusted some details about the time-out control
- Warning when detected pointing to use the global options
- Now pcbnmew_do/eeschema_do output is captured
- Warning when using floating value for kiauto_wait_start (no fail)
- A simple test for time-out
Fixes #48
2021-02-08 12:07:54 -03:00
Salvador E. Tropea 34e85d646c Added KiAuto time-out control (EXPERIMENTAL!!)
Related to #48
2021-02-06 20:48:34 -03:00
Salvador E. Tropea f6dac6ef13 Problems using internal names for drill maps in gerb_drill output.
Fixes #47
2021-02-06 12:55:02 -03:00
Salvador E. Tropea 880c9c8260 Fixed extra separator in references for merged BoMs. 2021-02-05 11:30:54 -03:00
Salvador E. Tropea f35207d097 Fixed range references for merged BoMs 2021-02-05 11:08:14 -03:00
Salvador E. Tropea db3cb1998e Fixed stats for merged BoMs without ref_ids. 2021-02-05 11:00:54 -03:00
Salvador E. Tropea 91b38fdb9f Fixed to allow BoM consolidation without `ref_id` 2021-02-05 10:24:35 -03:00
Salvador E. Tropea 2d338bada7 Removed dead code in macros.py 2021-02-04 16:38:38 -03:00
Salvador E. Tropea 536fa4708a Fixed get_components. 2021-02-04 16:25:59 -03:00
Salvador E. Tropea 41c667cb1f Added test for unknown prefix in units. 2021-02-04 16:17:34 -03:00
Salvador E. Tropea ae49289006 Removed dead code in v5_sch.py 2021-02-04 16:16:04 -03:00
Salvador E. Tropea 047fe53e1d Added tests for step and pdf_pcb_print command fails. 2021-02-04 16:09:50 -03:00
Salvador E. Tropea 0babc286af Modified the tests to cover the missing lines. 2021-02-04 13:40:14 -03:00
Salvador E. Tropea 9f2344ed4a Added tests for macros applied to stuff not currently used. 2021-02-04 13:06:44 -03:00
Salvador E. Tropea fa7fe0a5d6 Added test for undocumented plug-in in example generation. 2021-02-04 11:45:53 -03:00
Salvador E. Tropea fa7dde3008 Added test for undocumented filter. 2021-02-04 11:33:52 -03:00
Salvador E. Tropea dd28c63089 Added test for undocumented preflight. 2021-02-04 11:27:57 -03:00
Salvador E. Tropea 03a5a6d295 Fixed exception when a plug-in class doesn't have a docstring. 2021-02-04 11:13:40 -03:00
Salvador E. Tropea ba6787660c Added test for undocumented option. 2021-02-04 10:42:02 -03:00
Salvador E. Tropea 9807bcb13f Fixed exception on undocumented options. 2021-02-04 10:40:42 -03:00
Salvador E. Tropea 2a93f97abd Removed no longer needed import 2021-02-03 16:07:12 -03:00
Salvador E. Tropea 9a703186de Removed useless test in out_step.
The undo_3d_models can't be empty when calling undo_3d_models_rename.
In the worst case won't do any damage doing the loop.
2021-02-03 12:54:05 -03:00
Salvador E. Tropea d1ef2c8cbf Added style dependency in pcbdraw makefile target.
- Also now we make sure the style is an existent file.
2021-02-03 12:41:30 -03:00
Salvador E. Tropea 1ad91dbbd8 Excluded KiCad 6 code from coverage in gerber output. 2021-02-03 10:14:42 -03:00
Salvador E. Tropea 79fe05ed9f Added makefile test for sch_variant case.
- Also avoided to repeat the same SCH dependency more than once.
2021-02-02 11:55:36 -03:00
Salvador E. Tropea 56fa06ef15 Added test for missing id in position columns.
Also excluded KiCad 6 code from out_position.
2021-02-02 11:17:09 -03:00
Salvador E. Tropea ec273da57b Removed dead code in log.py. 2021-02-02 10:56:46 -03:00
Salvador E. Tropea 9943b82807 Removed KiCad 6 code from coverage. 2021-02-01 17:24:31 -03:00
Salvador E. Tropea 10f0706482 Exclude KiCad 6 code and enabled coverage for out_base tests. 2021-02-01 16:39:10 -03:00
Salvador E. Tropea c67965c91b Excluded KiCad 6 code in main from coverage. 2021-02-01 15:26:08 -03:00
Salvador E. Tropea 76db8a65e4 Removed KiCad 6 code from coverage. 2021-02-01 14:52:52 -03:00
Salvador E. Tropea 003fa15715 Support for mcpyrate macros deactivation. 2021-02-01 14:51:42 -03:00
Salvador E. Tropea af29f802c0 Switched from configfile.readfp to configfile.read_file for Python 3 2021-02-01 11:14:57 -03:00
Salvador E. Tropea 7bf0f90134 Updated mcpyrate.
The old one didn't work with Pytest 6.0.2.
2021-02-01 11:13:52 -03:00
Salvador E. Tropea 7422e9726c Removed some "no cover" comments, clasified the rest 2021-02-01 08:53:24 -03:00
Salvador E. Tropea d796abde2e Separated some complex tests from the test_misc.
- Moved them test_misc_2
- Refined the tests in test_misc_2 to work together
2021-01-29 13:28:29 -03:00
Salvador E. Tropea adc181f1b2 Fixed drill dependencies generation. 2021-01-29 11:53:41 -03:00
Salvador E. Tropea f28b7a56b8 Changed the error about using external (unknown) names to a warning. 2021-01-29 11:23:46 -03:00
Salvador E. Tropea 2764e087e8 Fixed makefile generation of incomplete targets. 2021-01-29 11:23:09 -03:00
Salvador E. Tropea d20d7e5d5c Fixed STEP dependencies generation. 2021-01-29 10:36:33 -03:00
Salvador E. Tropea 0dbb180cb7 Fixed run_erc and run_drc makefile targets.
When the schematic and board aren't loaded.
2021-01-29 09:25:56 -03:00
Salvador E. Tropea 37eefac973 Added tests for some ouyt_compress special cases.
- No rar
- rar fails
- rar file exists
- Empty output
2021-01-28 17:33:01 -03:00
Salvador E. Tropea c31c2c17c2 Removed trailing spaces (flake8) 2021-01-28 15:37:44 -03:00
Salvador E. Tropea c6ad93dc78 Added clarification about the need of dot in edge_cut_extension option. 2021-01-28 15:37:28 -03:00
Salvador E. Tropea 84470bbc11 Added first makefile generation test 2021-01-28 12:43:01 -03:00
Salvador E. Tropea d422d380af Commented out unused code in ansi.py 2021-01-27 15:07:51 -03:00
Salvador E. Tropea 2acc6c268d Fixed range reference generation for multiple projects 2021-01-27 11:50:10 -03:00
Salvador E. Tropea bb3b9c008b Sorted the `Source BoM` column 2021-01-27 11:48:19 -03:00
Salvador E. Tropea 409df8cca0 Fixed minimum KiCad version required is 5.1.6.
- KiCad 5.1.5 lacks GetBuildVersion()
- Fixes #45
2021-01-26 12:42:49 -03:00
Salvador E. Tropea 73cb98f113 Makefile generation. 2021-01-22 17:22:18 -03:00
Salvador E. Tropea 86b1c13790 Now information messages go to stdout (not stderr).
Debug, warning and error messages still use stderr.
2021-01-22 17:17:41 -03:00
Salvador E. Tropea 15474ae4d7 Now you can consolidate more than one project in one BoM.
The basic idea comes from pimpmykicadbom by Anton Savov (@antto)
2021-01-21 14:43:47 -03:00
Salvador E. Tropea 66e342e36d Internal BoM: HTML rows are highlighted on hover (not just the cell). 2021-01-19 11:31:14 -03:00
Salvador E. Tropea f2d84a1a95 Internal BoM: HTML tables can be sorted selecting a column (Java Script). 2021-01-19 10:58:46 -03:00
Salvador E. Tropea 50f38ea71b We no longer need to plot the files to know the KiCad's name.
Much faster.
2021-01-18 17:23:27 -03:00
Salvador E. Tropea 88cd5927dc Now you can ask to compress the targets of an output (by out put name) 2021-01-18 16:12:30 -03:00
Salvador E. Tropea b347a6ca30 The board object is no longer passed to run methodes.
The global GS.board is used instead.
2021-01-15 14:14:17 -03:00
Salvador E. Tropea 159e8996e8 Added support for ZIP/TAR/RAR generation. 2021-01-15 13:33:33 -03:00
Salvador E. Tropea f9dbaf4619 Saved one line of code (merged 2) 2021-01-15 13:32:06 -03:00
Salvador E. Tropea 9f4763c36b Custom reports for plot outputs (i.e. custom gerber job generation) 2021-01-14 10:24:04 -03:00
Salvador E. Tropea aa3025b348 Updated (c) year 2021-01-14 10:23:29 -03:00
Salvador E. Tropea a379fab270 More options to control the gerbers file names.
Ralated to "Protel" variants.
2021-01-13 16:58:03 -03:00
Salvador E. Tropea 923378fa96 Fixed flake8 style details. 2021-01-13 16:57:35 -03:00
Salvador E. Tropea 3d37e19b46 Skip missing layers with a warning.
When using "any layer" outputs.
This is needed now that we can specify generic names.
2021-01-13 16:53:24 -03:00
Salvador E. Tropea 3a78160638 More options to customize the excellon output.
zeros_format, left_digits and right_digits options.
2021-01-13 15:32:08 -03:00
Salvador E. Tropea 0e2d7f7ba4 More control over the name of the drill files.
The %i value can be set for N/PTH outputs.
2021-01-13 15:29:20 -03:00
Salvador E. Tropea 6efd735a74 Now layers can be selected using the default KiCad names. 2021-01-13 12:35:53 -03:00
Salvador E. Tropea bb4de91672 Fixed extra data about drill marks in gerber files.
We must use SetDrillMarksType(0) for gerbers.
2021-01-13 11:44:20 -03:00
Salvador E. Tropea ceb6bbe52a Unified the capitalization after colons. 2021-01-12 15:39:05 -03:00
Salvador E. Tropea 65833dc333 Internal BoM: The "Quantity" column no longer includes the DNF/C status.
- This status was moved to a separated column named `Status`.
- You can join both columns if you want.
Some people pointed out that adding characters to the qty column prevents
computations applied to the CSV files.
2021-01-12 15:21:34 -03:00
Salvador E. Tropea e0ab45e95d Now the default output name applies to the DRC and ERC report names.
This provides more coherent file names.
2021-01-12 13:44:09 -03:00
Salvador E. Tropea 3e06f43ee2 Best KiCad config path detection.
- Added GetSettingsManager() call (new)
- Added message about KiCad 5 bug (6989)
- Added comment about KICAD_CONFIG_HOME bug.
2021-01-11 12:51:46 -03:00
Salvador E. Tropea 45ac28a6bf Added support for KICAD_CONFIG_HOME defined from inside KiCad 2021-01-08 12:47:15 -03:00
Salvador E. Tropea 73a35762e6 Added support to detect KiCad config path for KiCad 5.99+
New API, no compat fallback ...
2021-01-06 14:23:19 -03:00
Salvador E. Tropea b3e2d67871 Now we use KiCad to detect where is its configuration.
No more KiCad copycat code.
2021-01-06 13:49:24 -03:00
Salvador E. Tropea ab9071b693 Moved pcbnew detection from kiplot.py to __main__.py.
Now the KiCad version is printed when debug is enabled.
2021-01-06 12:25:54 -03:00
Salvador E. Tropea 4be9421f92 More details to make explicit the user must edit the example. 2021-01-06 12:25:07 -03:00
Salvador E. Tropea a6c4bd3bc9 Made clear that generic_plot.kibot.yaml is just a template.
Closes #40
2021-01-05 15:14:22 -03:00
Salvador E. Tropea b0cc64e5c5 Various fixes in the generated example.
- Now we can have a `example` different than the default.
- Added some _default members
- Support for missing schematic when using --list

Related to #40
2021-01-05 15:06:23 -03:00
Salvador E. Tropea 86a62bb8ff Fix example generation for list(dict) cases.
Related to #40
2021-01-05 13:53:00 -03:00
Salvador E. Tropea 6eba98d27f Fix incomplete pre-flight comments in generated example.
Related to #40
2021-01-05 13:34:08 -03:00
Salvador E. Tropea 9a1e1f39e7 Internal BoM: added `no_conflict` option.
Used to exclude fields from conflict detection.
2021-01-05 12:09:29 -03:00
Salvador E. Tropea 2da936ec11 Adds sub-part to multipart references. 2021-01-05 11:29:28 -03:00
Salvador E. Tropea d334599e3b Bumped version to 0.9.0. 2021-01-04 16:32:06 -03:00
Salvador E. Tropea edd4a72277 Better handling of empty type/name attributes in YAML config.
From #38
2021-01-04 16:27:52 -03:00
Salvador E. Tropea c626f864f9 The step output now can download missing 3D models. 2020-12-30 15:22:00 -03:00
Salvador E. Tropea 5d6bdeb9e2 Fixed rot_footprint filter reset. 2020-12-29 12:33:50 -03:00
Salvador E. Tropea 4a3e7faace Added a new filter used to rotate footprints.
Used to generate position files for some manufacturers like JLC.
Also in this patch:
- Now position files are naturally sorted (R10 after R9, not after R1)
- Position files in CSV format quotes only the columns that could
  contain an space. Just like KiCad does.
- Fixed: Generic filter `include_only` option worked only when debug
  enabled.
2020-12-28 18:26:27 -03:00
Salvador E. Tropea 0f7a55dc8b Added support to generate negative X positions for the bottom layer 2020-12-28 09:30:33 -03:00
Salvador E. Tropea 007fc36d1e Fixed the components fields reset mechanism.
My previous approach was incomplete.
2020-12-23 18:47:11 -03:00
Salvador E. Tropea 9f8ecff5d1 Added support to rename fields matching the variant to value. 2020-12-23 12:11:39 -03:00
Salvador E. Tropea 204ad189de Changed how variant field renamer is implemented.
- Now is a separated filter type (`var_rename`).
- Now all variants support a `pre_transform` filter list.
- An internal `_var_rename` filter is defined (default).
2020-12-23 10:19:23 -03:00
Salvador E. Tropea 986f0c7157 KiBoM variants: support to field overwrite according to variant 2020-12-18 15:39:58 -03:00
Salvador E. Tropea bb3087c996 Added a hint for pip installations without using `--no-compile`.
Closes #31
2020-12-16 12:40:56 -03:00
Salvador E. Tropea 26d81d6475 Added support for missing field names in libraries.
- Closes #32
- Reported on SnapEda libs
2020-12-16 12:16:03 -03:00
Salvador E. Tropea d201843b6a File name patterns are allowed for the `netlist_file` option.
- Closes #33
- File name patterns: %F is the name of the source file without
  extension, but with the path.
2020-12-16 11:10:36 -03:00
Salvador E. Tropea 4d0a154632 Bumped version to 0.8.1 2020-12-09 12:58:01 -03:00
Stavros Korokithakis aae76c6388
Fix import issue when a shorter base path matches before a shorter one 2020-12-09 16:49:18 +02:00
Salvador E. Tropea 7248258672 Added Internal BoM HTML details.
- highlight cell when hover.
- allow to jump to REF of row number using anchors.
2020-12-09 11:32:37 -03:00
Salvador E. Tropea 1248e92b95 Fixed Internal BoM separator wasn't applied when using `use_alt`
From the SchrodingersGat/KiBoM#145 PR.
2020-11-11 14:32:20 -03:00
Salvador E. Tropea b09c860573 Added support for KiCad 5.99 "disableapertmacros" option. 2020-11-06 17:05:33 -03:00
Salvador E. Tropea 019cb0c8a4 Bumped version to 0.8.0.
Also Python version to 3.6 (mcpyrate)
2020-11-06 13:51:19 -03:00
Salvador E. Tropea 577713efeb Fixed excellon drill output.
When using unified output and not using default KiCad names.
Fixes #25
2020-11-02 16:07:05 -03:00
Salvador E. Tropea 8fb99d8adf Adjusted flake8 details 2020-11-02 16:06:02 -03:00
Salvador E. Tropea b27872d7e8 Fixed problems when using the `pdf_pcb_print` on special case.
When using variants to remove a component with ridiculous pads
that only has solder paste (no copper, nor even solder mask
aperture).
2020-10-27 17:58:51 -03:00
Salvador E. Tropea dfd3ac8881 Added support for colorama.
This isn't really needed, but makes the port to Windows easier.
2020-10-24 17:07:58 -03:00
Salvador E. Tropea 68269c10f1 Avoid KiAuto warnings about missing project for pdf_pcb_print
This applies to cases using variants.
Now we copy the current project to the temporal location.
Closes #23
2020-10-24 16:25:09 -03:00
Salvador E. Tropea de9628e5c1 Added columns configuration for position files.
You can customize which columns are used, their names and order.
Closes #22
2020-10-23 14:18:11 -03:00
Salvador E. Tropea a623d9168c Adapted to last KiCad 5.99 Python interface.
- SKETCH and FILLED are defined again.
- SetDXFPlotUnits type is now exported.
2020-10-22 13:03:31 -03:00
Salvador E. Tropea 1a77b2d007 Added support for build versions of KiCad compiled locally. 2020-10-22 13:01:53 -03:00
Salvador E. Tropea 263b9c41e4 Fixed log.init() errors when pcbnew/yaml modules aren't installed.
Also added tests for these cases.
2020-10-20 11:41:01 -03:00
Salvador E. Tropea 14cdd33c6d Added support for the KiCad 6 default layer names.
Not deeply tested.
KiCad 6 support user names for technical layers, and assigns new
names to them.
2020-10-19 16:47:13 -03:00
Salvador E. Tropea dbcbbfeb47 Fixed missing GS declarations. 2020-10-19 16:04:03 -03:00
Salvador E. Tropea 66e6bdf5b6 Disabled more line width code for KiCad 6. 2020-10-19 16:00:21 -03:00
Salvador E. Tropea 3977a55d4a Fixed indentation 2020-10-19 13:36:49 -03:00
Salvador E. Tropea 8a87a677e2 Fixed plot constant names
Too much cut & paste
2020-10-19 13:36:02 -03:00
Salvador E. Tropea 4fff3d27e9 KiCad 5.99 no longer supports PCB_PLOT_PARAMS.SetLineWidth() 2020-10-19 13:13:21 -03:00
Salvador E. Tropea 3579080e15 Added workaround for KiCad 5.99 bug.
PCB_PLOT_PARAMS.SetPlotMode argument values (SKETCH and FILLED) are
missing.
https://gitlab.com/kicad/code/kicad/-/issues/6070
2020-10-19 13:11:30 -03:00
Salvador E. Tropea 127ad89483 Added the name of the error to the tests when it fails.
Not just the error level.
2020-10-19 13:10:24 -03:00
Salvador E. Tropea 9c876d5783 Removed dead code in macros.py 2020-10-17 16:51:17 -03:00
Salvador E. Tropea d850bb8ffe
Merge pull request #19 from INTI-CMNB/try_mcpyrate
Replace mcpy by mcpyrate
2020-10-17 15:28:40 -03:00
Salvador E. Tropea 52a29c26d7 Implemented `de_activate` in mcpyrate.activate
This disables macros after loading the plug-ins.
Now the timing is 160 ms, 30% faster than `mcpy` and 4 times faster
than `macropy`
2020-10-17 15:01:21 -03:00
Salvador E. Tropea 307e553534 Added more info to the plug-ins load fail.
Trying to see why it fails (not in my docker image?!)
2020-10-17 12:03:33 -03:00
Salvador E. Tropea 2d55859782 Code style fixes (flake8) 2020-10-17 12:03:06 -03:00
Salvador E. Tropea 4538163e7e Removed all the code related to Python cache. 2020-10-17 12:01:52 -03:00
Salvador E. Tropea c29b5902c2 Enhanced the document macro coverage info.
- Recycled the s.value Str as @Technologicat suggested
- Added line number info to the target Name as I learned from the
  experiments test,
2020-10-17 11:11:24 -03:00
Salvador E. Tropea 5a24d72772 Updated mcpyrate, now the time is 260 ms, just 13% over mcpy 2020-10-17 10:17:25 -03:00
Salvador E. Tropea 43278717e9 Updated mcpyrate, now the cache can be enabled.
This compensates most of the speed penalty:
macropy:            ~650 ms (has cache)
mcpyrate no cache:   440 ms
mcpyrate:            290 ms
mcpy:                230 ms (no cache)
2020-10-17 09:48:07 -03:00
Salvador E. Tropea 17aafd88a0 Adapted the speed meassurement script 2020-10-16 19:26:07 -03:00
Salvador E. Tropea 087ef2bbb0 Trying to fix coverage details using copy_location 2020-10-16 18:58:51 -03:00
Salvador E. Tropea 17e75236da KiCad 6 no longer has SetPlotPadsOnSilkLayer 2020-10-16 18:40:20 -03:00
Salvador E. Tropea fec0091712 Added support for KiCad 6 to drill outputs.
I wonder why KiCad 6 doesn't provide a compatibility function for
GetAuxOrigin. The project seems to be trying to reduce the ammount
of code (removing old code) at the cost of breaking every existing
plug-in.
2020-10-16 17:04:37 -03:00
Salvador E. Tropea ae9e889bc0 Added debug information to out_bom to detect the line numbers issue. 2020-10-16 16:32:24 -03:00
Salvador E. Tropea 7c7549e6d7 Changed mcpy by mcpyrate to test its functionality. 2020-10-16 15:32:00 -03:00
Salvador E. Tropea 235e4831a8 Avoid loading KiCad 6 schematics.
Waiting for the Python bindings.
2020-10-15 18:53:44 -03:00
Salvador E. Tropea 17dd1d1be6 Added support to detect KiCad 6 schematics. 2020-10-15 18:53:15 -03:00
Salvador E. Tropea 4a97885495 Added support for KiCad 6 error filters. 2020-10-15 17:00:58 -03:00
Salvador E. Tropea 9bb42eda9a Added support for the new EDGE_MODULE name: FP_SHAPE
KiCad 6 is renaming part of the API without providing compatibility
aliases.
2020-10-14 16:08:21 -03:00
Salvador E. Tropea d2913f0bb4 Normalized the warning numbers to be 3 digits 2020-10-14 16:05:18 -03:00
Salvador E. Tropea 257a6ff2fa Added support for --mirror pcbnew_do export option.
It currently works only for KiCad 5.99
2020-10-14 12:34:00 -03:00
Salvador E. Tropea 86ead74c27 Added KiBot warning filters.
- Closes #15
- This patch also changes the logging initialization, that was broken at
  some recent point.
- Also adds tests to ensure the mechanism used to avoid repeated
  warnings is working.
2020-10-12 16:31:47 -03:00
Salvador E. Tropea c8e81a4668 Added numbers to all the warnings 2020-10-09 18:33:51 -03:00
Salvador E. Tropea 1aee407cb9 Fixed KiBom variants special cases.
When using multiple variants and a components used more than one,
specifying oposite rules.
2020-10-09 16:00:52 -03:00
Salvador E. Tropea 71fe37cfc6 Support for new `pcbnew_do export` options. 2020-10-09 11:27:30 -03:00
Salvador E. Tropea 5a50477f7c Sorted the DNF/DNC values in the docs. 2020-10-09 11:23:40 -03:00
Salvador E. Tropea 43bf78bfb9 Added some help about filters and variants. 2020-09-28 19:25:04 -03:00
Salvador E. Tropea 659ae27e7b Fixed small flake8 details 2020-09-21 20:02:50 -03:00
Salvador E. Tropea 7a7fc0a87d Fixed log warning detail.
Cases when % was in the string but not for C style.
2020-09-21 20:02:03 -03:00
Salvador E. Tropea ec1e6f6e02 Fixed debug log entry that wasn't removed. 2020-09-21 19:37:10 -03:00
Salvador E. Tropea c59c31fb6e Added support for KiCad v6 to the position output. 2020-09-21 19:17:31 -03:00
Salvador E. Tropea 93863788e7 Better log.warning messages
- Corrent source for Python 3.8+
- Support for C style formatted strings
2020-09-21 19:15:44 -03:00
Salvador E. Tropea ed7eae0338 Added support to load pcbnew from nightly. 2020-09-21 19:14:31 -03:00
Salvador E. Tropea 27e4c23236 Added support for reference separator in BoMs.
So you can get things like "R1, R2, R3"
From the following PR: SchrodingersGat/KiBoM#139
by @n0dyjeff
2020-09-19 17:35:31 -03:00
Salvador E. Tropea 1ed960d045 Replaced dicts used just to test membership by sets. 2020-09-12 12:50:16 -03:00
Salvador E. Tropea f131be6bd9 Bumped version to 0.7.0 2020-09-11 17:55:03 -03:00
Salvador E. Tropea af567b611f Bumped version to 0.7.0rc2 2020-09-11 12:54:33 -03:00
Salvador E. Tropea bef2203b24 Changed the layer number used to disable *.Adhes
Using undefined generates errors.
Now using "Rescue" layer.
2020-09-11 12:51:33 -03:00
Salvador E. Tropea 80005f2871 Fixed: solder paste and adhesive glue should also removed for print 2020-09-11 12:50:14 -03:00
Salvador E. Tropea 5be4a64293 Bumped version to 0.7.0rc1 2020-09-10 16:03:03 -03:00
Salvador E. Tropea f38b63236d Avoid repeating the same warning.
Also report a warnings count.
2020-09-10 15:50:53 -03:00
Salvador E. Tropea 6b21f00a65 Removed extra blanck line. 2020-09-10 15:47:18 -03:00
Salvador E. Tropea 512776ce8e Added a mechanism to set a default variant for all outputs.
It can be used to overwrite the output file template too.
2020-09-10 12:56:53 -03:00
Salvador E. Tropea 709d6facb9 Fixed warnings when printing a schematic variant.
We use a temporal copy of the schematic in a temporal dir.
So now we add a dummy .pro file to avoid warnings.
2020-09-10 12:54:43 -03:00
Salvador E. Tropea c522fa003e Fixed problems with 3D relative models in STEP output
When using a variant and one or more 3D models were stored in a
relative path the STEP file didn't contain them.
This is because we use a temporal PCB and it was stored in /tmp
Now is stored in the same directory as the real PCB.
2020-09-10 12:52:07 -03:00
Salvador E. Tropea b03b56ae5d Added more coherence to the variants/filters.
- Now they behave more coherently across outputs.
- Component status is explicitly reset, so having a variant + filter
  behaves in a more consistent way. Even when this isn't the
  recommended use.
- Virtual components are handled by the exclude filter.
- Moved code to modify the PCB to VariantOptions.
- Added a real virtual component to the tests, not a ridiculous case.
2020-09-08 20:01:16 -03:00
Salvador E. Tropea 23e46df1c5 Added variants support to the PCB print (PDF)
Needs some adjustement, but is working.
2020-09-07 19:26:16 -03:00
Salvador E. Tropea 0e394b468b Added variants support to the schematic SVG print. 2020-09-06 18:22:38 -03:00
Salvador E. Tropea 64f50d2a07 Moved repeated code related to variants to a base class. 2020-09-06 17:36:29 -03:00
Salvador E. Tropea f7e8033a09 Make clear that KiBoM output doesn't support KiBot variants.
The internal BoM can be used instead.
2020-09-06 12:03:55 -03:00
Salvador E. Tropea d719718eca Moved KiBoM default behavior to the KiBoM variant.
So it can be applied to other outputs.
2020-09-05 18:58:26 -03:00
Salvador E. Tropea 1163d28e71 Added "Not " prefix to negation filter names. 2020-09-05 18:56:01 -03:00
Salvador E. Tropea 7e5791fcfa Added variants to the IBoM output. 2020-09-05 17:48:25 -03:00
Salvador E. Tropea d09400d49d Added support for variants to the PcbDraw output. 2020-09-04 18:08:22 -03:00
Salvador E. Tropea dab7baa2d4 Fixed show_components validation in out_pcbdraw.
The same error could be in other places.
I had to change the internal logic in Optionable.
The old code allowed invalid values to be used.
2020-09-04 18:06:17 -03:00
Salvador E. Tropea cf46a8ba86 Added variants support to the STEP output.
3D Models of excluded components are removed.
2020-09-03 18:50:30 -03:00