Commit Graph

306 Commits

Author SHA1 Message Date
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