Commit Graph

487 Commits

Author SHA1 Message Date
Salvador E. Tropea b7b9b70ac3 Added PNG, EPS and PS outputs to pcb_print. 2022-04-12 15:43:53 -03:00
Salvador E. Tropea 1507300fe4 Added option to generate a better frame on pcb_print (KiCad 6)
- Also documented more details about pcb_print.
2022-04-11 19:02:26 -03:00
Salvador E. Tropea 4e659c3ddd Added support for SVG to `pcb_print`
- And now is much faster because all the processing is done using
  SVGs and we generate PDFs only during the last step.
2022-04-11 17:24:39 -03:00
Salvador E. Tropea 510279a0a3 Added support for frame to `pcb_print` on KiCad 5
- This is tricky because plot API doesn't support it.
  So we use `pcbnew_do` to generate an SVG and then we make a
  vectorized PDF from it.
2022-04-11 12:40:39 -03:00
Salvador E. Tropea 15b32c82d9 Adapted report_simple_1 to the new use of PDFs 2022-04-09 15:55:28 -03:00
Salvador E. Tropea ea1460e6b9 Added black drill holes to the `pcb_print` output
- Disabled the frame ref for KiCad 5. Doesn't work.
- Changed reports to use these PDFs. They are vector graphics.
2022-04-08 19:33:21 -03:00
Salvador E. Tropea 3752bcb53e Finished adding all the plot options to `pcb_print`
- Now is you can get most of the good things from both: print and plot
  in the same output.
- Is usually much faster than `pdf_pcb_print`
2022-04-08 15:01:10 -03:00
Salvador E. Tropea b48a9e5ab0 Fixed (KiCad 6) traces not visible in 3D render
Fixes #177
2022-04-07 15:44:22 -03:00
Salvador E. Tropea 900be375e9 Added a first approach to Board2Pdf support. 2022-04-05 16:36:02 -03:00
Salvador E. Tropea bb0f86ae61 Fixed KiCad 6 text variables not expanded in `render_3d` output
- We must copy the project file to the temporal dir
Fixes #173
2022-04-02 12:14:56 -03:00
Salvador E. Tropea dad1f91439 Added: text vars expansion for 3D model paths
Closes #172
2022-03-31 14:58:39 -03:00
Salvador E. Tropea 3c13ae1ccb Added KiCad 6 color themes to PDF/SVG PCB Print 2022-03-28 15:37:52 -03:00
Salvador E. Tropea 5940e7bcd6 Fixed missing BoardViewOptions.get_targets
Fixes #167
2022-03-24 14:05:48 -03:00
Salvador E. Tropea 7e2e844a4b Added a preflight option to save the PCB with refilled zones.
Closes #165
2022-03-24 13:30:18 -03:00
Salvador E. Tropea beee95ce31 Merged the kicost_dk branch:
- New internal BoM XLSX options to control KiCost:
  - Dis/Enable APIs
  - Add a description column
  - Specs worksheet generation
  - Which spec columns
  - Specify a KiCost config file
- Passed debug level to KiCost
- Added support for KiCost log style to our logger
2022-03-24 09:47:47 -03:00
Salvador E. Tropea 688d637f6c Added regression test for #164 2022-03-17 18:40:25 -03:00
Salvador E. Tropea 6b6d22afa8 Added report conversion using pandoc 2022-03-17 12:13:51 -03:00
Salvador E. Tropea b9fa99a4a0 Excluded lib_symbol_issues in ERC tests
- It misteriously started to interfere
2022-03-15 20:38:42 -03:00
Salvador E. Tropea 342fb40c59 Added text variable replace in the title block items
- There are some limitations inm the depth of vars + %X usage
Closes #162
2022-03-13 15:18:44 -03:00
Salvador E. Tropea 2d86f9516d Added %X expansion to the set_text_variables 2022-03-12 18:56:15 -03:00
Salvador E. Tropea 1824d56876 Added a preflight to define KiCad 6 variables.
Closes #161
2022-03-12 18:44:08 -03:00
Salvador E. Tropea cb47cf3042 New output to export PCB in GENCAD format.
Closes #159
2022-03-08 15:55:34 -03:00
Salvador E. Tropea 86aa7b6357 New preflight to annotate according to PCB coordinates
Related to #93
2022-03-08 14:33:38 -03:00
Salvador E. Tropea 0c0c6ffd62 New output to join PDFs.
Closes #156
2022-03-03 16:13:00 -03:00
Salvador E. Tropea 562e36d6f5 Added output to print PCB layers in SVG format
- Also added support for them in the reports
- Changed the full report to use them
2022-03-03 13:13:46 -03:00
Salvador E. Tropea 49962cafb8 Added some basic layer and schematic inclusion in reports.
- Related to #93
2022-03-02 18:17:42 -03:00
Salvador E. Tropea 31d6ec7a25 Removed extra NL at EOF 2022-03-02 18:10:11 -03:00
Salvador E. Tropea 27c987217c New preflight to annotate power components
Closes #76
2022-02-26 13:21:40 -03:00
Salvador E. Tropea 17911fe136 Allow strings in globals.copper_thickness 2022-02-21 09:38:11 -03:00
Salvador E. Tropea 174bd44a09 Changed: The `source` path for `compress` now has pattern expansion
Fixes #152
2022-02-17 10:56:11 -03:00
Salvador E. Tropea 6281a40335 Fixed spelling 2022-02-16 19:56:04 -03:00
Salvador E. Tropea ee74b1572b Made all YAML files more coherent
- Better indentation
- Coherent spaces in lists
- Coherent spacesn after :
2022-02-16 18:29:53 -03:00
Salvador E. Tropea aa48cc3187 Forced files to end in a single new line 2022-02-16 17:34:34 -03:00
Salvador E. Tropea b2ab00f6cb Added global *units* option
Solves the KiCad 6 dimensions issue. See #146
2022-02-14 15:42:54 -03:00
Salvador E. Tropea 5d2d0a4195 Added MacroFab XYRS support
- Internal BoM options:
  - `angle_positive`
  - `csv.hide_header`
  - `footprint_populate_values`
  - `footprint_type_values`
  - `units` mils
- Columns:
  - `Footprint Type`
  - `Footprint Populate`
  - `Footprint X-Size`
  - `Footprint Y-Size`
2022-02-14 13:49:56 -03:00
Salvador E. Tropea edbe29740b Internal BoM: XYRS support
- Now the `bom` output can generate files like `position`
2022-02-11 11:45:43 -03:00
Salvador E. Tropea 23c8eae16b Added a dimension to the simple_2layer.kicad_pcb
Related to #142
2022-02-09 17:26:03 -03:00
Salvador E. Tropea 46d5d9ad65 Added support for different top/bottom PCB colors
- Solder mask
- Silk screen
2022-01-17 16:02:09 -03:00
Salvador E. Tropea 278de8fb16 Added report generation (for design house)
Related to #93
2022-01-15 15:47:48 -03:00
Salvador E. Tropea a2f5da14ab Now the global PCB detail vars control the default colors
- Used by rednder_3d and pcbdraw outputs.
2022-01-14 13:42:35 -03:00
Salvador E. Tropea 24ba23d203 Separated YAML tests that makes reference to SCH files
- Avoiding KiCad 5 and 6 mixes
2022-01-10 20:48:11 -03:00
Salvador E. Tropea 7992fd9888 Added preflight option to update the QR codes.
- Needed for s-expression files
- Not working for KiCad 6 (bug in the Python API)
2022-01-04 10:21:59 -03:00
Salvador E. Tropea 5017f7e078 Added QR codes generation: symbols and footprints.
Related to #93
2022-01-03 12:35:33 -03:00
Salvador E. Tropea 6d939bbdbe Added datasheets downloader
Closes #119
2021-12-29 15:20:54 -03:00
Diego Capusotto 1b7d42397e Adapted the test_preflight tests to KiCad 6 2021-12-18 17:02:41 -03:00
Diego Capusotto 3eb82bc86d Changed: The `%d/%sd/%bd` expansion patterns are now affected by the global `date_format`.
- Can be disabled using `date_reformat: false`.
- Related to #121
2021-12-15 17:15:49 -03:00
Diego Capusotto 318f0993bf Now `disable_run_by_default` can be defined as true
- To avoid repeating the name of the parent output
- Related to #121
2021-12-14 20:44:37 -03:00
Diego Capusotto 71c7150baa Added support for \n and \t to text* options of join
Related to #108
2021-12-14 17:45:10 -03:00
Diego Capusotto 9be560e78d Now the text* options of join must include any separator
- Removed the space when used
- Related to #108
2021-12-14 16:49:46 -03:00
Diego Capusotto e2599731f7 Added `output_id` output option to be expanded by %I 2021-12-14 16:19:49 -03:00
Salvador E. Tropea a82f130ad9 Now you can compress files relative to the current working directory.
Related to #93
2021-12-03 19:30:11 -03:00
Salvador E. Tropea 6a691cf362 Added pre-flight to replace in the PCB
- Also added some constrains to what can be substituted to avoid
  corrupting the files.
2021-12-03 16:52:04 -03:00
Salvador E. Tropea 9cd2581582 Added new pre-flight command to replace tags in the schematic.
Related to #93, but also an old idea floating around.
2021-12-03 14:37:53 -03:00
Salvador E. Tropea 9e4adf5286 Added patterns to expand the title blck comments.
Related to #93
2021-12-03 10:13:42 -03:00
Salvador E. Tropea 70fb334856 A mechanism to avoid running some outputs by default.
Related to #112
2021-12-02 18:47:40 -03:00
Salvador E. Tropea a430916a4a Now you get an error when defining two outputs with the same name. 2021-12-02 14:58:37 -03:00
Salvador E. Tropea b9cb24c325 Now you get an error when defining two outputs with the same name. 2021-12-02 13:21:57 -03:00
Salvador E. Tropea 6392124f9f Added import for globals. 2021-12-02 10:33:19 -03:00
Salvador E. Tropea 995219a8ea Added option to add text to the `join` in the internal BoM
Related to #104
2021-12-01 18:07:41 -03:00
Salvador E. Tropea 49ea1bb62a Internal BoM: `count_smd_tht` option to compute SMD/THT stats.
Closes #113
2021-11-22 14:34:07 -03:00
Salvador E. Tropea 1bb8a56209 Added a small test for the render_3d output.
- I used it to reproduce the temporal project generation.
2021-11-18 13:55:08 -03:00
Salvador E. Tropea b4c1531e10 PCB PDF Print: mechanism to change the block title.
- Related to #102
- Also added %V to expand the variant name
- Documented %v and %V
2021-11-17 10:51:28 -03:00
Salvador E. Tropea f2195d9409 Adapted the PCB print scaling
- The references were generated using buggy KiAuto
2021-11-16 10:34:16 -03:00
Salvador E. Tropea 06f7efc2ec Adjusted the tests for the new warning about missing 3D models
- Added filter for the tests where the number of warnings is important
2021-10-14 14:40:04 -03:00
Salvador E. Tropea ab3bd7f0b3 Added a mechanism to import filters and variants.
- Also to restrict which outputs are imported.
- Fixes #88
2021-10-04 14:44:43 -03:00
Salvador E. Tropea 3f6105f6a8 Adapted the KiCost tests to the new grouping default. 2021-09-27 11:56:03 -03:00
Salvador E. Tropea 0f0e739026 Changed the default `group_fields` list.
Internal BoM: now components with different Tolerance, Voltage, Current
and/or Power fields aren't grouped together.
These fields are now part of the default `group_fields`. (#79)
2021-09-27 11:31:51 -03:00
Salvador E. Tropea a5221d7d45 Fixed test_rot_bottom test. 2021-09-27 09:17:24 -03:00
Salvador E. Tropea a31002ed01 Fixes position files, now defaults to use the auxiliar origin as KiCad.
Can be disabled to use absolute coordinates.
Fixes #87
2021-09-27 08:35:58 -03:00
Salvador E. Tropea 3bdae8507a Added suppport for multiprojects to the internal KiCost.
- Also changes the KitSpace queries format to be more readable.
2021-05-25 18:02:22 -03:00
Salvador E. Tropea 58ed8fb922 Added test to check we can select a distributor using its internal name 2021-05-11 12:13:04 -03:00
Salvador E. Tropea 7c23381adb Added distributors selection to KiCost+KiBot 2021-04-28 12:13:12 -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 cfe61c9b7e Added board view export.
Closes #69
2021-04-20 13:22:56 -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
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 1b48e614a7 Added pattern expansion in the `dir` option for outputs
Closes #58
2021-03-12 21:14:39 -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 400476f3fb Added test for drill without map file. 2021-02-12 14:40:06 -03:00
Salvador E. Tropea 2891a3a713 Added test for aggregate without ref_id. 2021-02-12 14:31:53 -03:00
Salvador E. Tropea 6a5c082ab7 Added test for suffix with UTF-8 2021-02-12 14:31:24 -03:00
Salvador E. Tropea a49d4e45fa Added import tests. 2021-02-12 11:40:26 -03:00
Salvador E. Tropea 38420ba173 Made the time-out test to also try a non-zero wait_start. 2021-02-12 11:39:30 -03:00
Salvador E. Tropea 80b7510c80 Made the JLCPCB position example more clear and easier to reuse. 2021-02-12 11:08:09 -03:00
Salvador E. Tropea e31539e4b1 Added missing test config file. 2021-02-08 15:36:22 -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 f39024d23d Added test for plug-in that fails to generate its targets. 2021-02-04 10:06:48 -03:00
Salvador E. Tropea d97ca18590 Added test for rotation filter in the bottom side. 2021-02-03 17:13:12 -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 80df7d76c7 Added tests to fully cover config_reader.
- Output comment as None
- Empty output name
- Empty variant type
2021-02-03 12:31:39 -03:00
Salvador E. Tropea d12837d5ba Added tests for missing out_bom cases.
- No file in aggregate
- Missing file in aggregate
- Sch not loaded
2021-02-03 12:16:55 -03:00
Salvador E. Tropea 370b5bdaf6 Added test for run_drc to the makefile test.
- Also test the schematic fallback for preflight deps.
2021-02-03 10:23:15 -03:00
Salvador E. Tropea 265bdac7c2 Added test for update_xml in makefile test. 2021-02-02 12:31:34 -03:00
Salvador E. Tropea d8d0868784 Added test case for empty separator in var_rename filter. 2021-02-02 12:21:55 -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 82f5aa9a0b Added makefile tests for schematic print (PDF and SVG) 2021-02-02 10:36:19 -03:00
Salvador E. Tropea d5a31c6d87 Added tests for the missing lines in out_ibom.py. 2021-02-01 17:12:40 -03:00
Salvador E. Tropea f7826a7667 Added tests to cover missing lines in out_pdf_pcb_print.py 2021-02-01 15:51:04 -03:00
Salvador E. Tropea e3766519ac Added test for the warning about filenames with $. 2021-02-01 14:53:38 -03:00
Salvador E. Tropea d9986b0599 Added PCBDraw case to the makefile test. 2021-01-29 12:22:31 -03:00
Salvador E. Tropea e6163ae5aa Added drill case to makefile test. 2021-01-29 11:54:09 -03:00
Salvador E. Tropea 4466277bde Added KiBoM case to the makefile test. 2021-01-29 11:24:51 -03:00
Salvador E. Tropea c64fb3871c Added test for STEP file in makefile 2021-01-29 10:37:05 -03:00
Salvador E. Tropea 54febcae44 Added comments and no target pre-flights to the makefile test. 2021-01-29 09:34:46 -03:00
Salvador E. Tropea 51aeb5be32 Added test for run_erc in makefile. 2021-01-29 09:27:02 -03:00
Salvador E. Tropea 6965d73c4e Added test for ibom in makefile 2021-01-29 09:07:17 -03:00
Salvador E. Tropea f29c0c5361 Added more test for compress output. 2021-01-29 08:46:23 -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 8299ed5d96 Added tests for the new options to control protel extensions. 2021-01-28 15:38:19 -03:00
Salvador E. Tropea 84470bbc11 Added first makefile generation test 2021-01-28 12:43:01 -03:00
Salvador E. Tropea c4c33af680 Added some compress tests.
Covers zip, tr.bz2 and rar creation for internal BoM, position and
gerber files.
2021-01-27 16:12:46 -03:00
Salvador E. Tropea eea93ea8ec Improved rotation filter coverage
- Check errors
- Try extra debug
2021-01-27 13:35:37 -03:00
Salvador E. Tropea 01459ce85e Added tests for merged BoMs for HTML, XML and XLSX formats. 2021-01-27 12:22:03 -03:00
Salvador E. Tropea f279e7319e Added test for a BoM from multiple projects. 2021-01-27 11:51:26 -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 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 edd4a72277 Better handling of empty type/name attributes in YAML config.
From #38
2021-01-04 16:27:52 -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 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 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 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 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 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 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 c80fc49b54 Added infraestructure to support KiCad 6 tests. 2020-10-14 18:03: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 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 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 257b9fdd3f Added tests for global and command line variant selection. 2020-09-12 08:24:47 -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 59ddbaa41f Adjusted the tests for IBoM's variants support.
- Removed the extra filters that aren't needed now.
- Added a couple of test cases to cover special situations.
2020-09-05 19:31:29 -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 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
Salvador E. Tropea b36e276969 Added crosses in the *.Fab layer for excluded components. 2020-09-03 17:17:08 -03:00
Salvador E. Tropea c56af11007 Added variants to all the PCB plot outputs.
Tested for gerbers that are currently excluding pads from *.Paste.
2020-09-03 11:11:03 -03:00
Salvador E. Tropea 26ee971e26 Added variants suport to out_position
Also: we never include virtual components.
2020-09-02 18:08:50 -03:00
Salvador E. Tropea 42562185ea Added filter options using PCB attributes.
KiCad 6 will break this, we'll see how to adapt.
2020-09-02 14:48:26 -03:00
Salvador E. Tropea e0de652105 Added more tests for the filters and variants. 2020-09-01 18:49:38 -03:00
Salvador E. Tropea 7f6144e32e Added tests for sch_variant and pdf_print_sch
For the filter and variant stuff.
2020-09-01 16:56:31 -03:00
Salvador E. Tropea 744aa3b9c5 Added a simple output to generate filtered schematics.
They can display DNF components crossed!
2020-08-31 20:51:20 -03:00
Salvador E. Tropea 0f0aa71baa Added more tests for the filters and variants 2020-08-30 11:55:35 -03:00
Salvador E. Tropea c0a1867dd5 Added support for filters to the internal BoM generator.
- Now we can configure more details, like the DNC.
- We can also mix KiBoM and IBoM strategies.
- Adapted the test examples that used filtering.
2020-08-29 17:41:57 -03:00
Salvador E. Tropea 249caad348 Implemented the IBoM variants styles.
The core functionality is now tested in the internal BoM.
The IBoM output needs adjust to allow using the variants with it.
2020-08-28 20:12:21 -03:00
Salvador E. Tropea 0bdce78004 Implemented the new variants mechanism in the internal BoM. 2020-08-28 16:49:20 -03:00
Salvador E. Tropea 3023035b75 Added tests for PcbDraw JPG and PNG outputs 2020-08-25 13:47:49 -03:00
Salvador E. Tropea 140a45fdc6 Fixed variants BoM logic.
The variants logic for BoMs when a component resquested to be only
added to more than one variant.
This is related to SchrodingersGat/KiBoM#136 issue.
2020-08-24 10:53:56 -03:00
SET 89914443f0 Renamed the kiplot module as kibot.
Also added src/kibot script.
Updated the documentation and Debian packaging.
The default extension for config files now is .kibot.yaml
2020-08-16 22:04:03 -03:00
SET 15dbf9cce3 Added test for the new SVG output 2020-08-16 17:32:40 -03:00
SET bfa912b67f Added test case for variants as an empty string. 2020-08-16 00:24:21 -03:00
SET 71d1ee3bc7 Added better generic example generation.
To add more realistic defaults.
2020-08-15 23:59:39 -03:00
SET 991f070e9f Added variants test. 2020-08-15 20:33:09 -03:00
SET 767bb4d4c6 Added style tests for HTML. 2020-08-14 13:06:27 -03:00
SET a4082e617f Added test for custom style in HTML. 2020-08-14 13:02:45 -03:00
SET 92e4209ca4 Added tests for bogus and custom logo for HTML 2020-08-14 12:29:47 -03:00
SET 815e475b8d Added tests to exclude PCB and/or Stats info in CSV files. 2020-08-14 11:13:45 -03:00
SET ea8f318696 Added tests for TXT and quote_all 2020-08-14 10:21:21 -03:00
SET bcba581a01 Changed True -> true to make it uniform.
All YAML files are using lowecase.
2020-08-13 23:08:44 -03:00
SET 87a1a97e9a Added test for RLC normalization. 2020-08-13 22:46:53 -03:00
SET b60b0ef680 Added test for wrong logo format. 2020-08-12 20:35:34 -03:00
SET 3df9e8b1c7 Added test for invalid column name 2020-08-12 20:32:35 -03:00
SET 535949e159 Added test for explicit exclude_any regex 2020-08-12 20:10:34 -03:00
SET 1dcda68cbc Added tests for missing styles and logos. 2020-08-12 19:49:27 -03:00
SET 7f45f022c7 Added tests for various HTML header layouts. 2020-08-12 19:13:41 -03:00
SET c263859de6 Made the "Total Compomponents" label coherent between HTML and XLSX 2020-08-12 19:12:35 -03:00
SET eef8041843 Better test for multiple digikey links 2020-08-12 17:56:14 -03:00
SET ec821f7809 Added test for multiple digikey links. 2020-08-12 17:35:55 -03:00
SET 5a1a38a0ca Added test for missing field in column list (internal BoM) 2020-08-12 17:34:05 -03:00
SET 768d67d0ad Added datasheet and digikey link tests for XLSX 2020-08-12 15:40:47 -03:00
SET 56c30f4227 Added test for "generate_dnf: false" for the XLSX 2020-08-12 14:35:27 -03:00
SET 3687ccb0bf Forced column wrap during the tests of XLSX format. 2020-08-12 13:33:07 -03:00
SET 92cdf49c2d Added XLSX tests for style variations.
Just tested they are accepted, not correctness.
2020-08-12 13:03:08 -03:00
SET 88940119f6 Added test for XLSX header information.
Covering various situations, not all.
2020-08-12 12:05:40 -03:00
SET 51802aa42b Added sheetpath + SCH load + sub-sheet recycle test.
A sheet is included twice to test dual reference names.
The SCH contains all the possible KiCad elements.
2020-08-12 09:53:47 -03:00
SET 3a6550cf07 Added test for `test_regex` 2020-08-11 18:58:17 -03:00
SET 0f4fa12f1f Added "include_only" test. 2020-08-11 18:51:35 -03:00
SET 6d50e4bd27 Added test for non contiguous reference ranges. 2020-08-11 13:40:48 -03:00
SET d49d3b498f Added test for empty list of group fields. 2020-08-11 13:21:50 -03:00
SET 2995270155 Added tests for merge_blank_fields and component_aliases 2020-08-11 12:26:30 -03:00
Salvador E. Tropea 46c55fcf91 Separated the format specific options for internal BoM
And now we have more options.
- CVS: can quote all values.
- HTML and XLSX: styles adjust, including a logo.
- XLSX: now has the same options as HTML
Also a fix in the "join" mechanism for "case insensitive" support.
2020-08-05 19:57:32 -03:00
Salvador E. Tropea 5be7254594 Now the row number column is a regular column.
Its name is `Row` and you can put everywhere.
No `number_rows` option needed or special cases, is just another column
2020-08-01 18:31:26 -03:00
Salvador E. Tropea a2ef1359d0 Added test for the KiBoM bug about columns not fully case insensitive. 2020-08-01 16:24:28 -03:00
Salvador E. Tropea 9c8830eefa Added test for the connectors grouping. 2020-08-01 16:07:51 -03:00
Salvador E. Tropea 2ef0aa060c Added XML and XLSX tests for the column rename. 2020-08-01 15:43:18 -03:00
Salvador E. Tropea d1fd04d4d2 Added column rename test for HTML. 2020-08-01 15:36:29 -03:00
Salvador E. Tropea c3c86bc4ae Added column rename test for the internal BoM. 2020-08-01 15:19:10 -03:00
Salvador E. Tropea b2189991fc Added test for `number_rows` internal BoM option 2020-08-01 14:43:08 -03:00
Salvador E. Tropea b3811b78cc Added test for `use_alt` internal BoM option 2020-08-01 14:36:21 -03:00
Salvador E. Tropea 6c26bd4ec6 Added test for the `html_generate_dnf` internal BoM. 2020-08-01 14:24:35 -03:00
Salvador E. Tropea 1455ccdc2a Added missing config file for last test. 2020-08-01 14:24:03 -03:00
Salvador E. Tropea 22b624037c Added test for the internal BoM "Join" feature. 2020-08-01 13:17:27 -03:00
Salvador E. Tropea 0e5f9afc39 Added test for "digikey link" in the internal BoM. 2020-08-01 12:29:49 -03:00
Salvador E. Tropea 570553b616 Added test for "datasheet_as_link" 2020-07-31 20:38:18 -03:00
Salvador E. Tropea 5058af5038 Added tests for XML and XLSX internal BoM 2020-07-31 19:31:36 -03:00
Salvador E. Tropea 7d56b59ba4 Added simple CSV and HTML test for the internal BoM. 2020-07-31 14:06:54 -03:00
Salvador E. Tropea 7dc94bf7be Added default output file name pattern.
Can be applied to all outputs.
2020-07-23 18:26:03 -03:00
Salvador E. Tropea 43b97db20c Now IBoM output file is coherent with other outputs.
The user can select the IBoM name mechanism, but the default is to use
a name coherent with all the other outputs.
2020-07-22 19:51:35 -03:00
Salvador E. Tropea 165d9aa15d Added full KiBoM configuration from the YAML config. 2020-07-22 18:33:53 -03:00
Salvador E. Tropea 3822a39671 Added _pos to all position formats in the ID field. 2020-07-12 18:59:50 -03:00
Salvador E. Tropea 9d10c991da Changed default name for step files (adds -3D) 2020-07-12 18:55:08 -03:00
Salvador E. Tropea 031c69e27c Added `position` output configuration. 2020-07-12 18:46:37 -03:00
Salvador E. Tropea 36eedc9fce Added `drill` output configuration 2020-07-12 17:43:15 -03:00
Salvador E. Tropea b8b1277f5f Drill map file names can be configured. 2020-07-12 17:01:23 -03:00
Salvador E. Tropea b6347d8992 Drill report now uses %i='drill_report' %x='txt' 2020-07-12 16:27:46 -03:00
Salvador E. Tropea 41de8c032c Added `output` option to control the file name to all plot output formats. 2020-07-12 13:00:38 -03:00
Salvador E. Tropea e2854ef524 Added gerber.gerber_job_file option to control the gerber job file name. 2020-07-12 12:28:00 -03:00
Salvador E. Tropea 63999aa009 Preflight filters parsed by Optionable class.
This makes the filters similar to output options.
- Adds coherence to error messages.
- Enable aliases (used the ones suggested by @leoheck)
Additionally now the README.md preflights documentation comes directly
from --help-preflights
2020-07-12 11:52:44 -03:00
Salvador E. Tropea 52e6bb1b5f Added support for PcbDraw 2020-07-11 13:49:03 -03:00
Salvador E. Tropea f72ff3f441 Extra dot in step.metric_units docstring.
Remove dead code in check_eeschema_do()
Fixed the way we read scale stuff from a PCB
Added special checks for check_script and check_version
2020-07-09 12:50:27 -03:00
Salvador E. Tropea 587ef177b3 Added test for corrupted PCB, skip a preflight that isn't in use and output
plugin
2020-07-09 09:54:25 -03:00
Salvador E. Tropea a48e9ecc96 Added tests to cover out_pdf_pcb_print.py, error case left out 2020-07-09 09:20:52 -03:00
Salvador E. Tropea d4677a2c2e Added tests for:
- Inner layer that doesn't exist
- Technical layers
- Wrong layer group/spec
2020-07-08 23:34:45 -03:00
Salvador E. Tropea 995b6990aa Added HPGL and PS autoscaling tests.
Added test for example in a dir that must be created.
Removed code not used in docstring trim.
2020-07-08 23:16:04 -03:00
Salvador E. Tropea 8f17733354 Added PS autoscale and --example -p without PCB tests. 2020-07-08 22:55:41 -03:00
Salvador E. Tropea 42342236da Added test fro KiBoM with variant and print_sch_pdf fail. 2020-07-08 22:42:24 -03:00
Salvador E. Tropea 05460f4541 Added test for wrong boolean 2020-07-08 21:06:35 -03:00
Salvador E. Tropea 1917b4c601 Added more tests for errors 2020-07-08 20:41:16 -03:00
Salvador E. Tropea 307bed3a36 Added more preflight tests 2020-07-08 19:49:33 -03:00
Salvador E. Tropea 4111131008 Added test for run_erc not boolean. 2020-07-08 16:47:07 -03:00
Salvador E. Tropea 922b853084 Fixed ignore_unconnected.
Also added a test and a test for the error type.
Additionally the BasePreflight now provides default run/apply members.
2020-07-08 16:29:30 -03:00
Salvador E. Tropea 4368364489 Refactored the BaseOutput class to make it more similar to the YAML
Now the options are just an attribute of the outputs.
It means we have a set of classes for the options.
All the output content is parsed by the classes, including the Layers.
Now the layers support a simple string (with interesting shortcuts), a list of
strings or the original list of dicts.
2020-07-08 15:17:24 -03:00
Salvador E. Tropea 1c4c94cfa2 Some super() use clean-up.
Now using Python3 style everywhere.
Added some missing calls to allow more cases of use.
2020-07-05 19:11:52 -03:00
Salvador E. Tropea 1ca21efe94 Now the docstring for string options can specify a list of allowed values
This reduces the number of setters/getters we need to write.
On the other side the time to validate the YAML is increased.
2020-07-02 09:25:06 -03:00
Salvador E. Tropea ec35d2443f Added option to copy plot options from the PCB to the YAML example.
Also added DXF.metric_units and updated the README.
2020-07-01 20:43:03 -03:00
Salvador E. Tropea 3a1d5d0652 Added pen_number and pen_speed HPGL options 2020-07-01 11:11:33 -03:00
Salvador E. Tropea be8339ddff Added tests to cover all the out_any_drill.py errors. 2020-06-30 22:57:59 -03:00
Salvador E. Tropea c82c2f0c39 Added support for all the missing IBoM options.
Note that variants_blacklist and variants_whitelist needs a fresh IBoM.
These options didn't work and crashed IBoM. It was reported as a result of
the tests included in this commit.
2020-06-27 15:04:35 -03:00
Salvador E. Tropea acd5592a45 Now the map.type and report.filename are deprecated in favor of map and report.
The old mechanism is supported, but removed from examples.
Added a test case for the new mechanism.
Documented the reason for the complex properties.
Added docstrings to these particular cases (with None as default).
2020-06-25 09:37:43 -03:00
Salvador E. Tropea a63e12579b Changed all the examples to set "sketch_plot" to false.
This is what we usually want, but this wasn't implemented.
2020-06-24 11:56:39 -03:00
Salvador E. Tropea 090aa6b8f1 Removed the "plot" option "check_zone_fills".
Not used and overlapped with the preflight option.
2020-06-24 11:26:08 -03:00
Salvador E. Tropea 19023ef4e6 Added tests to cover 100% of kiplot/config_reader.py
Mostly parser errors.
2020-06-19 23:38:09 -03:00
Salvador E. Tropea e34952a2a2 Fixed HPGL YAML example
Used an option that doesn't really apply to HPGL.
2020-06-19 15:51:08 -03:00
Salvador E. Tropea 3382b4fe7b Fixed the way options with arguments are passed to kicad2step. 2020-06-15 15:58:08 -03:00
Salvador E. Tropea 48fcb39f8d Added more variety to STEP options.
To cover more core during the tests.
2020-06-15 15:18:23 -03:00
Salvador E. Tropea fc19d2c6c0 Added tests for errors parsing STEP files generation. 2020-06-15 13:40:30 -03:00