Commit Graph

571 Commits

Author SHA1 Message Date
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
Raphael Lehmann 7bdc1f511e v6 config: Catch environment.vars==None case 2022-01-04 17:50:10 +01: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 4c3259a2f8 Fixed flake8 details 2022-01-03 12:33:35 -03:00
Salvador E. Tropea 7155539777 Added KiCad 6 support to the pseudo-netlist generation. 2021-12-31 16:45:40 -03:00
Salvador E. Tropea 1eefdeb5a3 Added support for upto 9 comment lines (KiCad 6) 2021-12-31 11:43:03 -03:00
Salvador E. Tropea 64bfc4824d Added `--cli-order` option to generate outputs in arbitrary order.
- Also updated some output details in the README
Related to #106
2021-12-31 10:40:17 -03:00
Salvador E. Tropea 081786cf5e Fixed circular dependency in the tests 2021-12-30 19:02:04 -03:00
Salvador E. Tropea e5ed4b6652 Added support for variants on KiCost output.
Related to #106
2021-12-30 18:26:31 -03:00
Salvador E. Tropea 4b3636313c Update XML: Removed the side effect Bom.
Related to #106
2021-12-30 13:12:00 -03:00
Salvador E. Tropea e5f910bc6d Fixed: removed debug info in KiCost output. 2021-12-30 12:32:33 -03:00
Salvador E. Tropea bb27491313 Added: position files now can include virtual components.
Related to #106
2021-12-30 12:21:41 -03:00
Salvador E. Tropea c91d84c1f3 Added some very basic variant support to KiCost output
- Just support a very basic KiCost variant, delegated to KiCost
- Related to #106
2021-12-30 11:30:17 -03:00
Salvador E. Tropea 9417b61478 Moved all loggers to the same domain.
- To fix the warnings count
2021-12-30 11:09:36 -03:00
Salvador E. Tropea 6d939bbdbe Added datasheets downloader
Closes #119
2021-12-29 15:20:54 -03:00
Salvador E. Tropea 167bdcd4e9 Fixed problems when generating a Makefile and no PCB or SCH is defined 2021-12-29 15:18:47 -03:00
Salvador E. Tropea be4f0a095c Removed unused constant 2021-12-29 15:18:07 -03:00
Salvador E. Tropea 358fb4f816 Added message about problems with 3D Viewer on KiCad 6.0.0. 2021-12-28 18:04:20 -03:00
Salvador E. Tropea 1c3cc13004 Fixed flake8 errors 2021-12-28 18:04:04 -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 1dda02efab Added code to help tools like iBoM support KiCad nightly 2021-12-27 15:22:05 -03:00
Salvador E. Tropea a72aac4e54 Added support for iBoM 2.4.1 2021-12-27 14:13:12 -03:00
Salvador E. Tropea 67b807610e Fixed details changed in KiCad nightly package 2021-12-27 14:12:20 -03:00
Salvador E. Tropea babf622eca Added support for KiCad v6 config in JSON format. 2021-12-27 14:11:37 -03:00
Salvador E. Tropea 0569beff33 Documented bugs in KiCad v6 RC1 affecting KiBot 2021-12-27 14:11:02 -03:00
Diego Capusotto 926d4c84d3 Added support to write KiCad v6 schematics with variants 2021-12-21 13:04:09 -03:00
Diego Capusotto 7894e9b45e Reduced complexity 2021-12-21 13:01:17 -03:00
Diego Capusotto e07f45bd2d Adapted sexpdata.py to indent as KiCad.
- Also fixed a problem in _tosexp (Python 2 legacy?)
2021-12-21 13:00:48 -03:00
Diego Capusotto babc9c4ea0 Added debug for not fitted components 2021-12-21 12:51:31 -03:00
Diego Capusotto 4fe6379b49 Added an option to remove the PCB edge on PCB print
- Only for KiCad 6 and only if printing to one page
- A tradition of discarding user options ...
2021-12-18 18:39:24 -03:00
Diego Capusotto 95f9b7914e KiCad 6 doesn't support the Rescue layer
- Now we use User.9 for KiCad 6
2021-12-18 18:38:08 -03:00
Diego Capusotto 0157a3ea4b Added KiCad 6 support to the sch_replace pre-flight 2021-12-18 17:02:17 -03:00
Diego Capusotto 2987122798 Documented the limitation about the date in the KiCad 6 title block 2021-12-18 17:01:11 -03:00
Diego Capusotto 08ef3e847a v6 loader: catch case were the file is just a word 2021-12-18 12:09:51 -03:00
Diego Capusotto 46378b992b Added some abstraction for the KiCad project file extension. 2021-12-18 11:13:58 -03:00
Diego Capusotto d989857ac7 Removed temporal project left by out_step
Closes #124
2021-12-18 11:11:55 -03:00
Diego Capusotto 5d1ecfbae4 Adapted out_position to KiCad v6.
- Now the P&P position is returned by GetPosition, not GetCenter
2021-12-17 18:22:49 -03:00
Diego Capusotto 285b205af8 Fixed(?) the PCB title block comments numbering is from 0
- Breaking compatibility with older KiCad again
- Disregarding what the file and UI says
2021-12-17 16:55:49 -03:00
Diego Capusotto 69189e661e Added support for v6 GetAuxOrigin change to out_position.py 2021-12-17 16:31:08 -03:00
Diego Capusotto 8de3982dad Added component fields validation to v6 loader. 2021-12-17 15:45:59 -03:00
Diego Capusotto 40751eac98 Fixed the components sheet path computatio in KiCad v6 loader
- Must be done for the instance, no point in doing it on the fly
2021-12-17 15:08:00 -03:00
Diego Capusotto d6b717114a Fixed missing `part` field in the v6 loader 2021-12-17 14:43:47 -03:00
Diego Capusotto 5887305b38 v6 loader: added support for missing components 2021-12-17 14:24:41 -03:00
Diego Capusotto 2986740530 Fixed missing datasheet data in v6 loader 2021-12-17 14:24:05 -03:00
Diego Capusotto 5cf60b0361 Fixed config tests
- The initialization in out_base forced the need of logger reset
2021-12-17 13:34:15 -03:00
Diego Capusotto 6e5176b273 Simplified the code that detects KiCad v6 2021-12-17 13:11:42 -03:00
Diego Capusotto 69c874fdbd KiCad v6: Added support for the new "modules" name ("footprints")
- No alias provided, as usual
2021-12-17 12:46:40 -03:00
Diego Capusotto 1f1b42a8e6 KiCad v6: Adapted out_any_drill.py to new API change
- Now m_AuxOrigin must be accessed using GetAuxOrigin
2021-12-17 12:12:18 -03:00
Diego Capusotto 5dce1d5a31 KiCad v6: Adapted gs.py to new API change
- title_block.GetCommentX() -> title_block.GetComment(X)
- No compat wrapper as usual
2021-12-17 12:11:10 -03:00
Diego Capusotto 58a8035704 out_base.py: adapted to new sequence intialization for tests. 2021-12-17 11:46:15 -03:00
Diego Capusotto 51ad5c3a2e Fixed flake8 details 2021-12-17 11:45:32 -03:00
Diego Capusotto 3d947f2d50 KiCad v6: Added support for absent title block 2021-12-17 11:44:43 -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 267cc38453 Fixed missing documentation for `route_mode_for_oval_holes` option
Closes #123
2021-12-17 08:57:45 -03:00
Diego Capusotto 41c3661d8e KiCost: list arguments wrongly passed.
Related to #120
2021-12-16 17:24:03 -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 93f57ff6c6 KiCost: added `board_qty` as alias for `number` 2021-12-16 07:40:21 -03:00
Diego Capusotto 96a5f3da21 Added support for new KiCost options `split_extra_fields` and `board_qty`.
Closes #120
2021-12-15 17:39:01 -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 631cef7fd9 Replaced call to Optionable expand_filename_sch by self.expand_dirname
- In Pre ERC, DRC and update XML
2021-12-15 17:03:56 -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
Diego Capusotto 3de2c8de2a Added support for auto-detect of ray tracing end
- Needs KiAuto 1.5.14
- Enabled by default
2021-12-07 19:38:02 -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 c02a4f814d Added some warnings about the replacement options. 2021-12-03 18:23:21 -03:00
Salvador E. Tropea 308725e24f More style adjusts to the replacement docs 2021-12-03 18:11:06 -03:00
Salvador E. Tropea 2e7f3b8180 Small adjusts to the PCB/SCH replacement docs 2021-12-03 18:05:21 -03:00
Salvador E. Tropea a404444e39 Moved SCH/PCB replace common code to a base class
- Also added the missing file (oops!)
2021-12-03 17:55:20 -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 07da5d98f6 Added missing pre-flight file 2021-12-03 15:51:08 -03:00
Salvador E. Tropea b435bd9761 Fixed missing sub-sheet check 2021-12-03 15:27:38 -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 9885270f56 Fixed flake8 errors 2021-12-02 17:37:33 -03:00
Salvador E. Tropea 84d6217d18 Another experimental mechanism to change 3D models according to the variant.
Closes #103
2021-12-02 17:19:40 -03:00
Salvador E. Tropea bbfc8901df Fixed typo in comment. 2021-12-02 17:18:08 -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 f3b03a4bbe Fixed variable name. 2021-12-02 10:56:43 -03:00
Salvador E. Tropea 6392124f9f Added import for globals. 2021-12-02 10:33:19 -03:00
Salvador E. Tropea 6fa6356f9c Adapted the kiCost interface to the new `join` format. 2021-12-01 19:17:19 -03:00
Salvador E. Tropea c324b0a848 Fix spelling in README.md
- This is basically #95, but applied in a way that we won't lose the
  changes after regenerating the docs.
- @SebastianGrau contributed the original changes.
2021-12-01 18:37:58 -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 094e58eab6 Fixed example to use null instead of None
- YAML's null is the equivalent of Python None
- Related to #116
2021-12-01 16:25:55 -03:00
Salvador E. Tropea 1e6ac697f0 Fixed gerber job files not using the output defined in global. 2021-12-01 16:07:08 -03:00
Salvador E. Tropea c34ba533e6 Fixed unitialized values when no global section was defined.
- Introduced by the date formats patch
2021-12-01 15:19:11 -03:00
Salvador E. Tropea 31d0c7d87c Better error for unknown global variant. 2021-12-01 15:13:12 -03:00
Salvador E. Tropea a503c5fdc6 Added global options to control the date format. 2021-12-01 14:59:36 -03:00
Salvador E. Tropea 95135c8c56 New expansion patterns and out_dir from global section.
- Also added expansion in out_dir
- Related to #116
2021-11-30 19:12:14 -03:00
Salvador E. Tropea fadb255781 Changed examples to avoid schematic dependencies.
Closes #118
Now the examples use `_none` as empty filter.
2021-11-30 15:07:43 -03:00
Salvador E. Tropea 3acaa42574 Added in SCH PDF Print: monochrome and no frame options. 2021-11-25 11:31:23 -03:00
Salvador E. Tropea b0e615fbed Fixed debug print for levels > 3
- In the expands when the object didn't have a parent
2021-11-25 11:28:58 -03:00
Salvador E. Tropea ad173a3c07 Added command line debug for exec_with_retry()
- When debug level > 2 prints a line we can copy & paste
2021-11-25 11:27:58 -03:00
Salvador E. Tropea f9a2aac01b Changed %v/%V to also icnlude the global variant
Closes #104
2021-11-22 16:22:52 -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 4dcb289e73 Fixed problems when importing filter from multiple files.
- The 2nd load discarded alredy imported filters
Fixes #114
2021-11-22 12:45:06 -03:00
Salvador E. Tropea 67427d9eff Removed the `_both_related` from `compress`.
- Needs more elaboration
2021-11-19 10:57:52 -03:00
Salvador E. Tropea dd265fa2e0 Fixed compress: not expanding %VALUES in target dirs.
Fixes #111
2021-11-19 10:15:58 -03:00
Salvador E. Tropea 22b946ecf1 Added `id_add` to `render_3d` to change the %i expansion
- Closes #110
2021-11-18 14:04:44 -03:00
Salvador E. Tropea 4537a1e061 Removed temporal projects created during `render_3d`
- See #110
2021-11-18 13:52:04 -03:00
Salvador E. Tropea 2a09151a18 Fix for the commit 10486af51a
- italic and bold must be bool
2021-11-18 12:18:39 -03:00
Salvador E. Tropea 4cbebb6622 Added width, height and orthographic to `render_3d` output. 2021-11-17 18:19:58 -03:00
Salvador E. Tropea 27b26feb88 Added 3D view render
Related to #99
2021-11-17 17:40:54 -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 cfcc9bea39 Fixed PCB Print: to show the real name of the PCB file.
Fixes #102
2021-11-16 13:11:35 -03:00
Salvador E. Tropea 365ca790d5 Changed output.dir default to `./`
- Makes easier to concatenate using `+DIR`
2021-11-16 06:44:01 -03:00
Salvador E. Tropea 10486af51a Fixed KiCost variants: when setting a field hat doesn't exist
Fixes #105
2021-11-15 15:56:33 -03:00
Salvador E. Tropea 087e36b2c7 KiCost variants: empty DNF fields shouldn't be excluded.
Fixes #101
2021-11-15 15:06:32 -03:00
Salvador E. Tropea 998754753d Added Default global `dir` option 2021-11-15 14:40:30 -03:00
Salvador E. Tropea 813a5f9917 Removed extra W_BADVAL1 (no longer used) 2021-11-15 14:29:36 -03:00
Salvador E. Tropea ed8ae423e2 Fixed missing "where" in W_BADVAL3 2021-11-15 14:28:56 -03:00
Salvador E. Tropea 79651eaa07 Fixed: Makefile: %VALUE not expanded in the directory targets. 2021-11-15 13:58:31 -03:00
Salvador E. Tropea ca5dfb428b Internal BoM: the field used for variants doesn't produce conflicts.
- Fixes: #100
2021-11-15 13:39:47 -03:00
Salvador E. Tropea 5620113b49 Fixed command line for `--list`
- PCB and SCH can be needed
- Adapted the test for --list
2021-11-15 13:38:35 -03:00
Salvador E. Tropea 9e65e0712e `--list`: problems with layers and fields specific for the project.
-  Fixes INTI-CMNB/kibot_variants_arduprog#4
2021-11-15 13:38:35 -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 99c826f3d7 JLCPCB example, to match current recommendations
- See: g200kg/kicad-gerberzipper#11
- Added `route_mode_for_oval_holes` option
2021-11-01 10:41:37 -03:00
Salvador E. Tropea 3497033ef8 Changed kicad-pcb.org -> kicad.org 2021-11-01 10:12:30 -03:00
Salvador E. Tropea bc5d1b15c6 Generic filter: added options to match if a field is/isn't defined. 2021-10-18 17:05:51 -03:00
Salvador E. Tropea 5e20206da4 Added fallback for values+units we can't understand 2021-10-18 16:52:40 -03:00
Salvador E. Tropea 3eebc04e4b Changed the mechanism to avoid merging components with empty fields 2021-10-18 16:45:20 -03:00
Salvador E. Tropea bcd1e624e9 Avoid grouping components when they lack the grouping fields.
- This is for the internal BoM when `merge_blank_fields` is disabled
2021-10-18 15:59:26 -03:00
Salvador E. Tropea 18b72a41b0 Added support for KiCad symbol libs without EOF comment. 2021-10-18 14:47:09 -03:00
Salvador E. Tropea b3a4fec5b7 Option to hide component from PDF PCB Print
- option `hide_excluded` to hide components marked by the
  `exclude_filter`.
- https://forum.kicad.info/t/fab-drawing-for-only-through-hole-parts/
2021-10-14 14:07:35 -03:00
Salvador E. Tropea a7bde6d01f Added comment about the KISYS3DMOD patch 2021-10-14 13:29:55 -03:00
Salvador E. Tropea 79c4f75e7d Added fallback for missing KiCad 3D models config.
Fixes #91
2021-10-14 13:22:01 -03:00
Salvador E. Tropea d93c050a7e Fixed spaces in netnames for the Board View format.
Fixes #90
2021-10-12 09:01:10 -03:00
Salvador E. Tropea 54cce8ae73 Fixed Board View flipped vertically. Fixes #89 2021-10-12 08:36:09 -03:00
Salvador E. Tropea 6ebe1f217d Fixed another error message in the import logic. 2021-10-04 16:08:35 -03:00
Salvador E. Tropea 9e4291ae42 Fixed some `import` error messages
- Some errors not detected
- Errors in the error reporting
2021-10-04 15:50:50 -03:00
Salvador E. Tropea 9da44aeafc Fixed flake8 errors
- Missing imports
- Missing "self." qualifier
- Relaxed comlexity
2021-10-04 15:03:11 -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 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 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 b7b39d4bfe Added explanation for ERC on schematics not fully annotated
Related to #86
2021-09-21 13:14:06 -03:00
Salvador E. Tropea 1dea3970bc XLSX BoM: option to control the logo scale (Fixes #84) 2021-09-16 07:58:48 -03:00
Salvador E. Tropea 40a42513ba Added suport for schematic cache files when components are missing
Fixes #83
2021-08-24 14:37:50 -03:00
Salvador E. Tropea 8fd6900655 Fixed: no custom title block when printing a variant.
Fixes #82
2021-08-24 12:42:16 -03:00
Salvador E. Tropea c69ef6c274 Fixed problems when trying to filter KiCost warnings. 2021-08-24 10:37:26 -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 fb99ef375b Added Debian sid version mess workaround.
Closes #75
2021-05-18 21:43:17 -03:00
Salvador E. Tropea 1d5f4cc470 Cut line too long (flake8) 2021-05-11 12:32:55 -03:00
Salvador E. Tropea 596cf54fec Adapted the KiCost initialization to the last changes 2021-05-11 12:12:27 -03:00
Salvador E. Tropea 717a2cfbb7 Removed repeated domain on logging logers. 2021-05-11 11:52:12 -03:00
Salvador E. Tropea 7c23381adb Added distributors selection to KiCost+KiBot 2021-04-28 12:13:12 -03:00
Salvador E. Tropea a7bf1b080c Added skip_top and skip_bottom options to the rot_footprint filter. 2021-04-25 12:20:39 -03:00