Commit Graph

249 Commits

Author SHA1 Message Date
Salvador E. Tropea 33da0f9e87 Added support for KiCad 6 copper finish option. 2022-01-16 13:24:10 -03:00
Salvador E. Tropea 52df7e85b3 Fixed missing project for light control
- In KiCad 6 some importants settings were moved to the project.
  I.e. the clearance
2022-01-16 01:02:18 -03:00
Salvador E. Tropea 792572149b Updated test_bom_ok
- The XML netlist was out of sync.
2022-01-07 12:58:09 -03:00
Salvador E. Tropea dadcd8a543 Added support for `bus_alias` [KiCad 6]
- Not documented in the file format
Closes #133
2022-01-07 12:01:17 -03:00
Salvador E. Tropea e2147f40ee Added fields update to the QR stuff
- Footprints are now virtual
- Fixed: Modules used the SCH text
- Fixed: Wrong KiCad 6 SCHs (not copied from bogus ones)
2022-01-06 14:25:09 -03:00
Salvador E. Tropea f1b46daf6c Added missing KiCad 6 test file for datasheet download 2022-01-06 14:18:07 -03:00
Salvador E. Tropea be59ee397e Added support for KiCad 6 to the `update_qr` preflight.
Related to #93
2022-01-04 16:52:12 -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
Salvador E. Tropea 057f8688da Added support for STEP generation using KiCad 6
- Uses a new KiAuto release (1.6.0) to workaround KiCad 6 limitation
- Updated the tests
- Updated the board samples, another "limitation" in KiCad 6 (no longer
  looks for .step files when the model is a .wrl)
2021-12-28 17:44:36 -03:00
Salvador E. Tropea 118c81120b Added KiCad v6 PCB for iBoM tests 2021-12-28 10:38:17 -03:00
Salvador E. Tropea 115c8b6913 Adapted YAML and SCH error tests to KiCad 6 RC1
- Most SCH test are disabled because this is another parser.
2021-12-27 14:10:02 -03:00
Diego Capusotto 3c4c2f0e15 Adapted the test_print_sch.py tests to KiCad v6 2021-12-21 13:07:02 -03:00
Diego Capusotto 89094aac9b Added board examples in KiCad 6 fromat for test_print_pdf 2021-12-18 18:36:22 -03:00
Diego Capusotto c20f8b9ddd Added empty title block to KiCad 6 deeper and sub-sheet examples
- Needed for the SCH replace test.
- In KiCad 6 the title block is optional in the file.
2021-12-18 16:56:53 -03:00
Diego Capusotto 60ab8356d9 Updated the XML netslist for KiCad 6 bom test 2021-12-18 16:56:05 -03:00
Diego Capusotto 82a62f29ce Added board tests in KiCad 6 format for test_preflight 2021-12-18 16:54:56 -03:00
Diego Capusotto 092644264e Added the v6 versions of the board tests needed by test_position 2021-12-17 18:20:27 -03:00
Diego Capusotto cb5b6690c0 Added the test files used by test_pdf.py 2021-12-17 17:29:30 -03:00
Diego Capusotto 58851d2532 Updated simple_2layer test board to v6 2021-12-17 17:28:54 -03:00
Diego Capusotto 908c48b8c7 Updated v6 version of good-project (HPGL pen diameter changed) 2021-12-17 17:20:48 -03:00
Diego Capusotto c6ea908bdd Added v6 files needed for test_misc* tests 2021-12-17 17:20:16 -03:00
Diego Capusotto 9ab8e1f80a Updated the KiCad v6 version of the "bom" schematic
- Now has a title block used for the tests.
2021-12-17 17:04:57 -03:00
Diego Capusotto bed617f72f Added v6 versions of the files needed by test_kicost.py 2021-12-17 16:15:02 -03:00
Diego Capusotto 55c063bbab Copied the date for kibom-variant_kicost.xml test
- KiCost uses it
2021-12-17 16:14:18 -03:00
Diego Capusotto fc6ebb153b Added KiCad v6 versions of the files used by test_int_bom.py 2021-12-17 16:06:08 -03:00
Diego Capusotto 2c936b8c64 KiCad v6: added kibom-variante test case 2021-12-17 13:48:14 -03:00
Diego Capusotto e733ce1289 KiCad v6: Adapted kibom-variant_3 test to the new format. 2021-12-17 12:18:00 -03:00
Diego Capusotto 01090aa64a KiCad v6: Updated 3Rs.kicad_pcb 2021-12-17 12:10:32 -03:00
Diego Capusotto 1e9ed89f75 KiCad v6: Updated bom.kicad_sch and bom.xml 2021-12-17 11:47:11 -03:00
Diego Capusotto 95ddda0953 Made the v5 schematic loader more robust
- Allow DMC files with wrongly encoded chars
- Allow libs with wrong justify+italic+bold fields
- Both from https://github.com/Digi-Key/digikey-kicad-library
Closes #122
2021-12-17 10:03:12 -03:00
Diego Capusotto 25d036f8fa Added some preliminary support for v6 SCHs
- Currently just loads the files
- No save implemented
- Seems to be enough to generate some trivial BoMs
2021-12-16 17:08:33 -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
Salvador E. Tropea f9239349af Added title block to the light control test case 2021-12-03 15:53:31 -03:00
Salvador E. Tropea f3ea2e8024 Adapted test cases to the new sheet detection and example change 2021-12-03 15:50:32 -03:00
Salvador E. Tropea 9fffeddaff Added a text replace tag to test_v5.sch 2021-12-03 12:28:45 -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 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 088027c174 Fixed problems with schematic fields containing double quotes.
- Fixes #98
2021-11-15 12:50:22 -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 f74cfb37ac Fixed dates for the merge*.sch tests. 2021-05-25 20:47:05 -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 0dc8817bfb Fixed KiCost test (because now KiCost works better) 2021-05-11 12:33:48 -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 e22e1db49a Added support for width, style and color in "wire notes"
Fixes #70
2021-04-22 12:33:13 -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 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 9478e42bb3 Documented #58 in the changelog and added a test case 2021-03-12 21:28:10 -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 80b7510c80 Made the JLCPCB position example more clear and easier to reuse. 2021-02-12 11:08:09 -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 602f0dd261 Added a STEP test using a model that is inside our tree.
Ensures all models will be found.
2021-02-03 11:26:37 -03:00
Salvador E. Tropea 0b3891d942 Added tests for bogus 3D model and another shipped. 2021-02-03 11:12:24 -03:00
Salvador E. Tropea 2bbbebf43a Added test for schematic with company name in merged BoM tests. 2021-02-02 12:13:33 -03:00
Salvador E. Tropea 84470bbc11 Added first makefile generation test 2021-01-28 12:43:01 -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 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 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 9f8ecff5d1 Added support to rename fields matching the variant to value. 2020-12-23 12:11:39 -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 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 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 e6557a8148 Fixed wrong test project added to repo. 2020-10-24 17:17:22 -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 df83e6f93d Added more KiCad 6 test cases. 2020-10-19 13:15:33 -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 d4a2d40593 Adapted some `bom` tests to pass with KiCad 5.99. 2020-10-15 18:58:10 -03:00
Salvador E. Tropea 395f2df3f0 Updated to include the footprints. 2020-10-15 18:56:10 -03:00
Salvador E. Tropea c80fc49b54 Added infraestructure to support KiCad 6 tests. 2020-10-14 18:03:18 -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 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 7e5791fcfa Added variants to the IBoM output. 2020-09-05 17:48:25 -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 8bf0a13210 Remove filtered components from the *.Adhes layer.
All shapes in the *.Adhes are removed.
2020-09-03 12:29:04 -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 9558f7cf45 Added test for rogue component in PCB. 2020-09-02 15:16:23 -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 220e2f252e Added tests for various schematic strange cases.
- Component withour lib
- Missing component
- Poligon without points
- Pin with unknown direction
2020-09-02 10:04:32 -03:00
Salvador E. Tropea ff6282eca1 Added test for the new errors in DrawText elements. 2020-09-01 20:39:15 -03:00
Salvador E. Tropea 11cb826c06 Added more complexity to the "all-in-one" schematic.
- Use a library
- Use a compponent with user defined field.
- Get the user defined field from the lib
- Use a component with a circle
- Use a component with text
- Use a virtual component with ~ in name and # in ref
2020-09-01 20:35:43 -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 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 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 991f070e9f Added variants test. 2020-08-15 20:33:09 -03:00
SET 487021357b Added tests for errors in the sym-lib-table 2020-08-15 12:42:07 -03:00
SET 8ede3089de Fixed test with 2 LIBS entries.
Only one is valid.
2020-08-15 10:32:31 -03:00
SET 90dee902ed Added tests for various strange cases that shouldn't interfere
Partial annotations, deeper hierarchy, etc.
2020-08-15 10:25:18 -03:00
SET b8b4c87f25 Added test for successful BoM generation even when missing libs. 2020-08-14 19:58:47 -03:00
SET 09b7ed5eca Added tests for title block errors. 2020-08-14 19:26:39 -03:00
SET 76ed259053 Moved the error tests to a separated directory.
They are too much.
Also simplified the test code.
2020-08-14 19:15:50 -03:00
SET fa706c0083 Added tests for sub-sheets instantation 2020-08-14 18:59:20 -03:00
SET c15e971da2 Added tests for errors in the SCH bitmap element. 2020-08-14 18:41:12 -03:00
SET a30bddc3ce Added tests for errors in no/connections, entries and wires. 2020-08-14 18:18:55 -03:00
SET a1255590e2 Added test for various errors in the component instantiation. 2020-08-14 18:02:32 -03:00
SET 6258b79023 Added test for errors in AR and basic fields. 2020-08-14 17:29:18 -03:00
SET 844b678ace Added test for errors in component labels. 2020-08-14 16:53:50 -03:00
SET 916aacafd6 Added more tests for the DCM and LIB errors. 2020-08-14 16:43:09 -03:00
SET 5d3cefe6ce Added tests for errors in library components. 2020-08-14 16:25:16 -03:00
SET 1767e66220 Added tests for errors in the libraries components fields 2020-08-14 15:58:00 -03:00
SET 4f5f8d4187 Added tests for truncated libs and dcms 2020-08-14 14:14:19 -03:00
SET 177ee7e627 Added tests for SCH errors. 2020-08-14 13:47:23 -03:00
SET 8616fa811d Updated the gitignore files. 2020-08-14 13:12:01 -03:00
SET 86d9854a9b Added test for URLs linked in HTML output. 2020-08-14 11:55:31 -03:00
SET 1782acfdea Added test case for inductor without unit.
Missing "H"
2020-08-13 23:08:04 -03:00
SET 3224a44173 Added test for decimal point locale support.
Hopefully works on docker ...
2020-08-13 16:59:12 -03:00
SET 1067f364c8 Added more cases for the RLC sort test 2020-08-13 12:42:16 -03:00
SET eef8041843 Better test for multiple digikey links 2020-08-12 17:56:14 -03:00
SET 3687ccb0bf Forced column wrap during the tests of XLSX format. 2020-08-12 13:33:07 -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 652b38f04d Added test for DNF in the Value. 2020-08-11 19:26:37 -03:00
SET f229956b25 Added test for DNC in value and in Config 2020-08-11 19:09:44 -03:00
SET 3bb2bc51a0 Added test for "exclude_any" 2020-08-11 18:20:20 -03:00
SET 14f2b2b353 Added test for field collision. 2020-08-11 15:54:02 -03:00
SET e43196e0d7 Added test for empty user field. 2020-08-11 15:11:14 -03:00
SET 405e172395 Added test for multi-part component.
Check it isn't repeated.
2020-08-11 14:46:10 -03:00
SET 2995270155 Added tests for merge_blank_fields and component_aliases 2020-08-11 12:26:30 -03:00
Salvador E. Tropea 8b3d70dae6 Added some UTF-8 text to a field for testing purposes. 2020-08-05 21:16:50 -03:00
Salvador E. Tropea 9c8830eefa Added test for the connectors grouping. 2020-08-01 16:07:51 -03:00
Salvador E. Tropea ecbeb587fe Simplified the other internal BoM tests.
Now that we can just use TestContextSCH.
No need for dummy PCB or extra options.
2020-08-01 13:35:42 -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 570553b616 Added test for "datasheet_as_link" 2020-07-31 20:38:18 -03:00
Salvador E. Tropea 99bec61576 Fixed references sorting.
Also added a test to check it.
2020-07-31 19:52:01 -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 f824bee832 Added KiCad v5.x schematic support.
It provides extra information, like which files are part of the
Schematic.
Library components not yet implemented.
2020-07-27 22:01:12 -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 d5168c37cd Added filename expansion for SCH related outputs.
pdf_sch_print is the first to support it.
2020-07-13 19:20:25 -03:00
Salvador E. Tropea 38baa62cbe Fixed ERC/DRC error count report. 2020-07-08 19:28: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 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 6ed99d8515 Tests adapted to the new error message strings. 2020-06-19 16:00:16 -03:00
Salvador E. Tropea ceb25aa1e1 Added an auxiliar axis to bom.kicad_pcb example
To test the 3D STEP file generation.
2020-06-15 13:21:58 -03:00
Salvador E. Tropea 0d9256fb24 The 'check_zone_fills' option is now independent of 'run_drc'
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00
Salvador E. Tropea 61f1ebbab2 Better debug info, fixed errors and no .kicad_pcb dependency
- When a BoM operation fails now we show the output of the child process.
  (Only enabled when using debug verbosity)
- The error levels 1 and 2 were overlapped with internal Python codes.
- Now we delay the PCB load until we really need it. Which could be never.
2020-06-12 15:10:56 -03:00
Salvador E. Tropea 9983bc05bf Added test for the filters feature 2020-06-09 13:56:17 -03:00
Salvador E. Tropea cad997ae3d Added ERC test 2020-05-20 10:37:06 -03:00
Salvador E. Tropea 02cdeac2f4 Added test for InteractiveHtmlBom 2020-05-15 10:59:46 -03:00
Salvador E. Tropea d8daa8b4e7 Added small test for KiBoM files 2020-05-15 10:40:29 -03:00
Salvador E. Tropea 6873652433 Added a simple test for drills 2020-05-14 19:50:04 -03:00
Salvador E. Tropea 9fc7653e9b Added simple test for the position file/s 2020-04-27 16:28:01 -03:00
John Beard c4778e37bd Add a basic plot test 2018-07-31 17:36:56 +01:00