Commit Graph

612 Commits

Author SHA1 Message Date
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 d7430499d2 Removed coverage exclusions for KiCad 6 code 2022-02-11 12:58:39 -03:00
Salvador E. Tropea 71c77e89ce Fixed bom generation when no PCB is available. 2022-02-11 12:16:34 -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 ed4ff70033 Internal BoM: two other options for the sorting criteria. 2022-02-11 11:04:21 -03:00
Salvador E. Tropea 644f6d1fda Internal BoM: Added footprint X, Y, rotation and side columns
- First step towards XYRS support
2022-02-11 11:01:14 -03:00
Salvador E. Tropea ae0fdd74ee More deterministic Board View output
- More things sorted
2022-02-07 13:26:58 -03:00
Salvador E. Tropea fac1c21282 Fixed flake8 errors 2022-01-29 16:33:32 -03:00
Salvador E. Tropea 400d06f9b3 Adjusted error messages and crossed comp generation.
- Also the name of the member for lib_name
2022-01-29 16:16:39 -03:00
Salvador E. Tropea 3b7b200d4f Merge branch 'master' of https://github.com/Atmelfan/KiBot into Atmelfan-master 2022-01-29 15:16:48 -03:00
Salvador E. Tropea 8c3bb74eb7 Upgraded to mcpyrate 3.6.0 (last release) 2022-01-29 14:38:00 -03:00
Gustav Palmqvist 70fdb9c617 Handle lib_name in symbol instance 2022-01-27 23:16:54 +01:00
Salvador E. Tropea d629afcf92 Added support for the controlled impedance flag in KiCad 6 2022-01-18 16:06:17 -03:00
Salvador E. Tropea b73a2e51d4 Added stackup support to the report 2022-01-18 15:51:55 -03:00
Salvador E. Tropea b6b42cc9bf Fixed flake8 details 2022-01-18 13:42:23 -03:00
Salvador E. Tropea 7a4c3468fa Added copper_thickness option
- Now we get some defaults from KiCad 6 stackup
2022-01-17 18:50:21 -03:00
Salvador E. Tropea 1d1abf0ce4 Fixed flake8 detail 2022-01-17 18:09:41 -03:00
Salvador E. Tropea f4d6568753 Added error message if we can't detect KiCad version 2022-01-17 18:08:49 -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 204fb985fe Simplified the global GS options transfer 2022-01-17 12:16:25 -03:00
Salvador E. Tropea 514cc949b6 Added support for edge_connector, castellated_pads and edge_plating 2022-01-16 19:13:20 -03:00
Salvador E. Tropea da1da26983 Added check for the pcb_file (bogus during some tests) 2022-01-16 18:19:42 -03:00
Salvador E. Tropea 4d6b47edd0 Fixed missing check for kicad_pcb/setup/stackup iterator 2022-01-16 15:19:04 -03:00
Salvador E. Tropea 33da0f9e87 Added support for KiCad 6 copper finish option. 2022-01-16 13:24:10 -03:00
Salvador E. Tropea a82a07bced Fixed: replace %I by '' for cases where %I doesn apply. 2022-01-16 00:34:05 -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 4d5220006f Changed the default output pattern
- Now includes the `output_id` (%I)
2022-01-15 15:45:28 -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 4bba7e9a9a Added global options to define the PCB details. 2022-01-14 13:42:04 -03:00
Salvador E. Tropea 8676f28f3a Fixed problems when using a hidden config file
- Found when using an output that needs the SCH, not specifying the
  SCH and more than one SCH was found.

Closes #138
2022-01-14 10:32:45 -03:00
Salvador E. Tropea 926d6eb24c Added support for `--subst-models` option for KiCad 6's kicad2step.
Closes #137
2022-01-13 19:51:59 -03:00
Salvador E. Tropea 256876a1bd Added support for the magic KICAD6_*_DIR environment variables
Related to #135
2022-01-10 20:50:53 -03:00
Salvador E. Tropea 95cb65c987 Added KiCad 6 support for the BoardView output 2022-01-10 20:49:36 -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 8a4064a544 Added KiCad 6 native symbols default dir 2022-01-07 17:49:33 -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 a5052b49e4 Patch to fix new alias attributes in Python 3.10
- From @brathis
- Seems to be ok for Python 3.9
2022-01-06 12:42:59 -03:00
Salvador E. Tropea c213a02543 Removed file no longer used by mcpyrate 2022-01-06 12:14:38 -03:00
Salvador E. Tropea 93ee8c3acb Updated mcpyrate to 3.5.4 (last available) 2022-01-06 12:10:06 -03:00
Salvador E. Tropea 34bea23e06
Merge pull request #129 from rleh/patch/v6_sch
KiCad 6: Catch environment.vars==None case
2022-01-04 16:54:50 -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
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