Commit Graph

941 Commits

Author SHA1 Message Date
Salvador E. Tropea f31c62fbab More KiCad environment vars adjusts
- KiCad 5 values promoted to KiCad 6 versions when using KiCad 6
2022-06-17 11:33:52 -03:00
Salvador E. Tropea 870a9cee5c Bumped version to 1.2.0
- Updated versions
- Added comment about ImageMagick default policy
- Added links to navigate_results example and discussions
2022-06-15 06:24:15 -03:00
Salvador E. Tropea 9db0615382 Fixed check for imageable 2022-06-14 14:30:55 -03:00
Salvador E. Tropea 6a8fe5010c Fixed warning messages in navigate_results 2022-06-14 13:11:29 -03:00
Salvador E. Tropea 5beabb129b Avoid generating a simple icon for a category when a tool is missing 2022-06-14 10:49:40 -03:00
Salvador E. Tropea e6cfe15dd0 PDFUnite: added warnings and errors about missing input files
- Also simplified the create_pdf.py error handling.
  - We are not catching I/O errors, they are fatal and should be
    catched at a higher level.
  - We already check the input files and create the output dir.
- Added tests
2022-06-13 08:56:25 -03:00
Salvador E. Tropea 6941202d2a Added a list of valid columns when a wrong column is specified
- Inspired on rdeterre/kiplot@6a9d8e3
2022-06-13 07:01:05 -03:00
Salvador E. Tropea a3811537b8 Fixed svg_pcb_print: page orientation for portrait. 2022-06-12 16:07:58 -03:00
Salvador E. Tropea 06bb47ea05 pcb_print: fixed frame page orientation in GUI mode. 2022-06-12 15:37:00 -03:00
Salvador E. Tropea db3bf471ea Add support for `globals` instead of `global` 2022-06-12 11:40:07 -03:00
Salvador E. Tropea 3eaf9c025e Added option to export old variables
- When using the global/environment
2022-06-12 11:29:34 -03:00
Salvador E. Tropea 25a204da3f Import plugins sorted
- More reproducible
- Should help to avoid random changes in kibot-check
2022-06-11 09:29:18 -03:00
Salvador E. Tropea 68456a0032 Avoid showing notes when not listing output details 2022-06-11 09:28:39 -03:00
Salvador E. Tropea a7a50dcf6d Simplified the drill_marks stuff
- Setter/getter are no longer needed
2022-06-10 17:50:11 -03:00
Salvador E. Tropea 3d520c9830 KiCad v6 SCH: Fixed the gr_curve support
- Is wrongly documented
- Not used by the available symbols
- Not implemented in the GUI
- You can manually use it
2022-06-10 09:31:44 -03:00
Salvador E. Tropea 0583befe6a Adapted tests to the new drill_marks validation
- Also removed the setter helper, no longer needed as validation is
  done by Optionable
2022-06-10 08:47:58 -03:00
Salvador E. Tropea 2ec1d9da1b Fixed: missing DRILL_MARKS adaptation in out_pcb_print 2022-06-10 08:15:57 -03:00
Salvador E. Tropea 38b1202e86 Fixed: enabled the vias plotting in pcb_print
- Disabled by 43c5f4f
2022-06-10 07:43:27 -03:00
Salvador E. Tropea ef98248b32 Centralized all drill_marks stuff
- Now we reuse code from drill_marks.py
- Added the options validation
- Updated the help
2022-06-10 07:39:27 -03:00
Salvador E. Tropea 66c9e21865 Fixed problems with 4872a6d
- Even when most tools takes utf8 == utf-8 the XML class don't
2022-06-09 13:58:29 -03:00
Salvador E. Tropea 4872a6d366 XML BoM: Fixed problems with fields containing /
Fixes #206
2022-06-09 13:38:32 -03:00
Salvador E. Tropea a4e097d595 Added a warning about useless scale when printing using the frame 2022-06-09 11:41:29 -03:00
Salvador E. Tropea fb6e2ff2de Fixed problems when generating navigate_results before outputs 2022-06-09 10:35:42 -03:00
Salvador E. Tropea d9f866cbe3 Fixed problems with PyYaml 3.13 2022-06-08 14:04:34 -03:00
Salvador E. Tropea 036c8d682e Fixed missing test in last patch
- Check for wrong output name
2022-06-08 12:57:28 -03:00
Salvador E. Tropea 3d95ba958c Fixed problems with compress output and unconfigured sources 2022-06-08 12:36:39 -03:00
Salvador E. Tropea c7a340f687 Added compress output to the navigate_results 2022-06-08 11:29:49 -03:00
Salvador E. Tropea f228fc1710 Marked qr_lib options as basic 2022-06-08 10:01:29 -03:00
Salvador E. Tropea 7938c35d37 Removed debug message 2022-06-08 10:01:01 -03:00
Salvador E. Tropea 29f845d886 Fixed the code that moves the basic indicator 2022-06-08 08:53:03 -03:00
Salvador E. Tropea 54dd130e4f Highlighted the most relevant options 2022-06-08 08:37:30 -03:00
Salvador E. Tropea 043ee382d3 Implemented output priorities
- By default `qr_lib` is high priority and `navigate_results`/
  `compress` are low priority.
- Priorities can be configured.
- A command line option disables it.
2022-06-07 13:57:32 -03:00
Salvador E. Tropea 0deed52479 New global section `environment`
- Allows defining KiCad environment variables.

Related to INTI-CMNB/KiAuto#21
2022-06-07 10:38:12 -03:00
Salvador E. Tropea a750bb302c Fixed problems expanding multiple KiCad variables in the same value. 2022-06-07 10:36:31 -03:00
Salvador E. Tropea 9b69483f3f Added support for KiAuto 1.6.13 OpenGL render end detect 2022-06-06 13:39:41 -03:00
Salvador E. Tropea 156cd22fff Fixed the categories caption text 2022-06-06 13:16:49 -03:00
Salvador E. Tropea c8f4df5aa7 Added configurable categories
- Also allow to mix categories and outputs on the same page
2022-06-06 13:01:17 -03:00
Salvador E. Tropea 35247dfa72 navigate_results: Now categories can be represented by output previews 2022-06-01 13:36:59 -03:00
Salvador E. Tropea ae5dea0762 navigate_results: Added outputs preview instead of just icons 2022-06-01 12:56:37 -03:00
Salvador E. Tropea 0eafc93fa8 Fixed GenCAD output targets.
- Also added a category
2022-06-01 11:31:55 -03:00
Salvador E. Tropea 24d81f4756 Allow using KiCad 5 legacy env names even on KiCad 6
Related to #205
2022-06-01 09:14:23 -03:00
Salvador E. Tropea d93d70541c Better KiCad v6 environment variables handling
- more variables detected (KICAD6_3RDPARTY, KICAD_USER_TEMPLATE_DIR)
- native KiCad 6 names (KICAD6_* instead of KICAD_*)
- all exported to the environment, not just the core

Fixes #205
2022-05-30 13:00:23 -03:00
Salvador E. Tropea 1663412698 navigate_results: generate PNGs for icons
- Faster load
- Smaller size
- But takes more time to generate
2022-05-29 16:37:15 -03:00
Salvador E. Tropea f589ee5cd9 Modified the icons to work without the Noto font
- Also saved them as plane SVG
- Kept an editable copy
- Fixed small detail
2022-05-29 16:31:29 -03:00
Salvador E. Tropea 6611925c17 navigate_results: centered when only 1 result 2022-05-29 15:05:49 -03:00
Salvador E. Tropea 1b318f0da4 navigate_results: made generated HTML compliant
- Added some missing alt attributes
- Added DOCTYPE
- Added language
- Added title
- Made tables regular (all same amount of td)
2022-05-29 13:41:53 -03:00
Salvador E. Tropea 8c8f9a7a4b navigate_results: added the KiBot version used to generate the pages 2022-05-29 13:00:27 -03:00
Salvador E. Tropea 4008cf68b1 navigate_results: added icon to the pages 2022-05-29 12:51:55 -03:00
Salvador E. Tropea bf4ad7f3b9 navigate_results: moved the style to a separated file 2022-05-29 11:32:24 -03:00
Salvador E. Tropea 684b996ced Added `navigate_results` output
- It generates web pages to navigate all generated outputs by category
2022-05-27 13:38:32 -03:00
Salvador E. Tropea 79a8b53f4e More fixes to 9b6b336 patch
- Last commit was bogus
2022-05-26 11:40:42 -03:00
Salvador E. Tropea 9d9ce72d8d More fixes to 9b6b336 patch
- Missing test in out_ibom.py
2022-05-26 11:16:22 -03:00
Salvador E. Tropea b44fe7e3bb Fixed problem intriduced by 9b6b336847
- The python3 stuff was applied too widely
2022-05-26 10:28:54 -03:00
Salvador E. Tropea b206d417ca Fixed KiBoM mounting hole regex
- Applied to the Footprint
- The ac39118 fix only affected the Part

Related to SchrodingersGat/KiBoM#169
Fixes #201
2022-05-26 10:02:07 -03:00
Salvador E. Tropea 0a3dff85f2 Added support for iBoM installed as plugin
- Not yet functional, we are working on iBoM layout
See: openscopeproject/InteractiveHtmlBom#301
2022-05-26 09:34:44 -03:00
Salvador E. Tropea 8ae9dff143 Bumped version to 1.1.0 2022-05-24 09:03:36 -03:00
Salvador E. Tropea 6eea54c7c9 Fixed XLSX problem when no PCB info and no stats used 2022-05-20 19:43:51 -03:00
Salvador E. Tropea bb6e962f3d Internal BoM: Added customizable extra info after the title
Closes #199
2022-05-20 19:08:20 -03:00
Salvador E. Tropea fb082fcbb3 Added `kibot-check` tool to check the installation 2022-05-20 13:26:41 -03:00
Salvador E. Tropea 23d3d76d94 Added Pattern and text variables expansion on internal BoM title
Closes #198
2022-05-20 07:30:29 -03:00
Salvador E. Tropea 287f8626ba Already configured outputs not created (i.e. when creating reports) 2022-05-20 07:24:41 -03:00
Salvador E. Tropea ca861fc21e Added dependency collection mechanism
- Currently used to better document the dependencies
2022-05-19 08:47:06 -03:00
Salvador E. Tropea 23e632303d Fixed problems with KiCost using internal variants
- The XML didn't remove `variant` field properly (lack of lower)
- THe XML didn't support UTF-8
2022-05-18 15:59:38 -03:00
Salvador E. Tropea 054a090258 Added netlist export output
Closes #197
2022-05-18 09:49:17 -03:00
Salvador E. Tropea 776595636b Bumped version to 1.0.0. 2022-05-10 10:47:32 -03:00
Salvador E. Tropea 7058b1fed0 Fixed missing decode in iBoM fail test 2022-05-09 09:07:13 -03:00
Salvador E. Tropea 5f22d5a3a9 Now --quick-start is more robuts
- sys.exit() is skipped
- Passed dont_stop to the run stage (was only in config)
2022-05-06 13:03:38 -03:00
Salvador E. Tropea 156c98b3b2 Modified minimal PcbDraw version
- Ask for one that supports KiCad 6
2022-05-06 13:02:05 -03:00
Salvador E. Tropea 8a3f808117 Added error message about outdated iBoM 2022-05-06 13:01:18 -03:00
Salvador E. Tropea 7c7f1eeb79 Adapted to the new KiCost API
- Now we get functions only from the top-level of the module
2022-05-05 13:55:28 -03:00
Salvador E. Tropea 058d79e4f8 Adapted to KiCost API changes 2022-05-05 10:26:42 -03:00
Salvador E. Tropea 08b1b8bdfe Added download timeout to datasheet download
- Looks like TME detects scripts and does something that makes requests
  code to hang.
2022-05-01 11:27:00 -03:00
Salvador E. Tropea ef7c9916ed Updated docs 2022-04-29 09:06:24 -03:00
Salvador E. Tropea 5504ee228d Added --type option to --quick-start to select outputs
- Useful to debug a particular output
2022-04-29 09:02:52 -03:00
Salvador E. Tropea 74d77f037c Added 'qr_lib' to --quick_start 2022-04-29 09:00:47 -03:00
Salvador E. Tropea f3f7517a7f Fixed QR_lib output when no corresponding pre-flight is used 2022-04-29 08:56:26 -03:00
Salvador E. Tropea 5b637d265e Finished the core functionality of --quick-start
- New --quick-start options:
  - --start starting point for the search
  - -d output directory for the targets
  - --dry only configs, no targets
- Added some warning filters
- Sorted scan and generation
2022-04-28 14:50:58 -03:00
Salvador E. Tropea 01c015eb27 Simplified the global vars handling
- The main class also applies the command line options
- Is more clear how defaults are handled
- Also added global config for the 3D field name
2022-04-28 14:49:28 -03:00
Salvador E. Tropea 7ddb9f5892 Modified the log system to allow parallel file logging
- During quick start targets generation we log with full verbosity
  to a file and with the selected verbosity to the console.
2022-04-28 14:43:08 -03:00
Salvador E. Tropea 494c9126f7 Fixed used layers detection in --quick-start
- We must reset some Layer members before doing a new detect
2022-04-28 14:26:02 -03:00
Salvador E. Tropea 3a3562e54e Removed the need to import kiplot in config_reader
- Avoids dependency loops
2022-04-28 14:19:53 -03:00
Salvador E. Tropea 5881f2b6c4 Fixed `gerber` example generation when no SCH
- We must skip anything using variants
- We must fix the compress sources
2022-04-28 14:08:25 -03:00
Salvador E. Tropea ae380726b2 Fixed problems in reports when no vias 2022-04-28 14:07:28 -03:00
Salvador E. Tropea 81aebbb50a Allow to skip the `regex` value in filters 2022-04-28 14:06:46 -03:00
Salvador E. Tropea 11dd1b16bf Now --quick-start is recursive
- Fixed some obvious details about cross pcb/sch generation
- Improved .kicad_sch guess when more than one and no project
2022-04-26 16:23:20 -03:00
Salvador E. Tropea 50ebaf0a15 Fixed the way xlsx_writer process the field joins
- It relied on a bug
2022-04-26 12:17:26 -03:00
Salvador E. Tropea bee8dab0ca Added yaml module not installed message in kiplot.py 2022-04-26 12:16:47 -03:00
Salvador E. Tropea 477c52affe Made __main__ show the same file names of detected files
- Also adapted the tests that looks for debug data about them
2022-04-26 12:15:34 -03:00
Salvador E. Tropea e1586484f5 Fixed KiCad 5 doesn't have LSET.Contains() 2022-04-26 12:14:24 -03:00
Salvador E. Tropea 9b18c5300a Fixed KiCad 5 uses ZONE_CONTAINERS and not ZONES
Note: The previous commit included fixes for out_report
- Zones unfilled after output generation
- Pads unconditionally gained rpinted copper layers
2022-04-26 10:21:14 -03:00
Salvador E. Tropea 56030c5dc9 Added the first stepof the new `--quick-start` option
- Should be a way to quickly start using KiBot without any config
2022-04-26 09:51:14 -03:00
Salvador E. Tropea 43c5f4f12e Added support for User.* layers in lists of layers 2022-04-26 09:38:51 -03:00
Salvador E. Tropea 25c4489104 `compress.move_files` now removes dirs from outputs 2022-04-26 09:35:10 -03:00
Salvador E. Tropea 3952d84a6a Fixed internal BoM XLSX generation when no DNF parts are used 2022-04-26 09:33:04 -03:00
Salvador E. Tropea 9bc172861d Some details on `report` output
- New template `full_svg` to be used with the SVGs
- `pcb_print` SVGs now include the `sheet` value in the figure
  description.
- Added _ASCII to filter >= Unicode in `simple` template.
2022-04-26 09:26:44 -03:00
Salvador E. Tropea f4638fdc66 Added background image to pcb_print
- Enables the use of watermarks
2022-04-23 08:48:32 -03:00
Salvador E. Tropea 0554742e86 Moved the KiCad 5 SVG scale constant to misc.py 2022-04-23 07:54:13 -03:00
Salvador E. Tropea 857b8b974e Added pcb_print options to control the background 2022-04-23 07:46:04 -03:00
Salvador E. Tropea caad4e346e `pcb_print` added KiCad 5 adjust for solder mask coordinates
- Also removed unused code
2022-04-22 15:05:57 -03:00
Salvador E. Tropea bca090b685 Added `realistic_solder_mask` to `pcb_print`
- Prints the solder mask in a human understandable way
2022-04-22 14:05:41 -03:00
Salvador E. Tropea e668d7f16e `pcb_print` removed debug print 2022-04-22 09:08:22 -03:00
Salvador E. Tropea 153a1a8072 `pcb_print` fixed problems when not plotting the frame 2022-04-22 09:07:36 -03:00
Salvador E. Tropea 48070c2e5a Made the 3D models selection more robuts
- Now we reject "slots" that aren't numbers
- Now we tollerate "empty slots"
2022-04-21 16:13:59 -03:00
Salvador E. Tropea 58dc329b31 Added a report option to indicate our Eurocircuits target
- If not met we show a warning explaining the violation

Related to #164
2022-04-21 15:59:46 -03:00
Salvador E. Tropea 7ac654523d Added support for KiCad 6 pin alternates
- Another undocumented feature

Fixes #193
2022-04-21 15:09:33 -03:00
Salvador E. Tropea 10b67f4824 Fixed problems with compress.move_files
- When trying to remove directories

Fixes #192
2022-04-21 14:21:00 -03:00
Salvador E. Tropea ac391182a8 Fixed KiBoM mounting hole regex
Related to SchrodingersGat/KiBoM#169
2022-04-21 11:09:35 -03:00
Salvador E. Tropea 9f037e569f Added global option `drill_size_increment`
- Now we can round the drill sizes
- Added a context for drill tools (adjusted and rounded)
- Added a context for oval holes

Related to #164
2022-04-21 10:30:24 -03:00
Salvador E. Tropea fee5bce881 Added warnings for ridiculous OAR values on pads
Related to #164
2022-04-20 20:38:14 -03:00
Salvador E. Tropea 372a387b00 Fixed the OAR computation in reports
- Must use the real drill size.

Related to #164
2022-04-20 20:06:29 -03:00
Salvador E. Tropea ebf529fa0b Made the 3D model selection more versatile
- Now you can choose between using the variant name or the variant
  specific mechanism.
- Works for all variants and both mechanism are simple.
2022-04-20 19:42:51 -03:00
Salvador E. Tropea de469577d1 Removed value argument in internal KiBoM variant code
- This is handled by a filter
2022-04-20 19:05:06 -03:00
Salvador E. Tropea 0fce90b8d2 Fixed typo in out_report 2022-04-20 18:58:12 -03:00
Salvador E. Tropea c17683317c Fixed typos in out_report
Related to #164
2022-04-20 13:49:48 -03:00
Salvador E. Tropea 5d9b047d81 Added an option to remove the files we compressed.
Closes #192
2022-04-20 13:43:41 -03:00
Salvador E. Tropea ff41012e84 Changes in how we compute the drill sizes in the report
- New global variable `extra_pth_drill` defines how much the drill will
  be enlarged for plated holes.
- Removed all *_1* report values.
- Added *_real* report values. They are the asjusted drill values.
- Now we compute Eurocircuits Drill Class using all the real drill
  sizes.
- Documented all global variables/options.
- Added command line option to list all global options.
- Adjusted the report templates and thei references.

Related to #164
2022-04-20 12:57:52 -03:00
Salvador E. Tropea e00841c921 Added two special syntaxis to the 3D model variants
- %_kicost.TEXT:SLOTS% matches using the KiCost variant regex
- %_default_:SLOTS% matches if no other text matched

Related to #191
2022-04-20 10:39:19 -03:00
Salvador E. Tropea 96201e7f03 Avoid retrying when KiAuto reports a KiCad crash
- It will be implemented in KiAuto 1.6.11
2022-04-20 10:38:19 -03:00
Salvador E. Tropea bf73c11821 Fixed problems when using %VARIANT:% in the 3D models variants
Fixes #191
2022-04-19 18:44:52 -03:00
Salvador E. Tropea 5c9dbc4072 Varius `pcb_print` details
- Added option `force_edge_cuts` so we get them on all pages.
- Now `layers` can be a list of strings, or just an string.
- Added default scaling for all pages.
- Fixed: tracks removed after plotting another Cu layer.
- Fixed: custom pads plotted as special vias.
- Fixed: frame reference plotted mirrored on mirrored pages.
2022-04-18 19:08:12 -03:00
Salvador E. Tropea 80e963c90e Changed Digi-Key server from Portugal to US 2022-04-18 13:50:30 -03:00
Salvador E. Tropea 9e9a53a664 Merge branch 'master' of https://github.com/ct2irw/KiBot into ct2irw-master 2022-04-18 13:49:56 -03:00
Salvador E. Tropea 36987cfcec Fixed kicad2step not loading 3D models (bizarre case)
- If we saved the PCB to /tmp and then we reverted the changes to
  use the PCB the KIPRJMOD environment var pointed to the temporal.
- KiCad defines it during Save and Python becomes unsync, so we
  can't even notice it!

Fixes #186
2022-04-18 13:18:32 -03:00
Salvador E. Tropea e701e69a53 Added workaround mechanism for KiCad 5 fill polygon (pcb_print) 2022-04-18 12:04:49 -03:00
Salvador E. Tropea b0edede58e Added support for `monochrome` `pcb_print` for wks images 2022-04-18 09:24:08 -03:00
Salvador E. Tropea 9207140c6d Added support for undocumented "convert" schematic option
- KiCad 6
- Used for DeMorgan convert
Fixes #188
2022-04-17 09:50:43 -03:00
Salvador E. Tropea f2f54d21a8 Made more clear when the plotter can plot the fram ref 2022-04-16 19:48:45 -03:00
Salvador E. Tropea cdb6d393ac Added more recommendations to use `pcb_print`
- Can replace: pdf, ps, svg, pdf_pcb_print and svg_pcb_print
2022-04-16 19:35:35 -03:00
Salvador E. Tropea 0223cd9f85 Made more clear the pcb_print attributions 2022-04-16 19:32:05 -03:00
Salvador E. Tropea 1f01c147d8 Catched WksError and SchError during WKS load.
- Now informed with more detail
2022-04-16 19:26:03 -03:00
Salvador E. Tropea df4e60136e Modified pdf_unite to use PyPDF2 by default
- The user can still choose to use pdfunite from poppler-utils
2022-04-16 18:46:39 -03:00
Salvador E. Tropea 7ecb3f1914 Added KiCad 5 support to the worksheet code
- Filled polygons aren't working
- Added rectangle workaround (not working)
2022-04-16 16:44:52 -03:00
Salvador E. Tropea eb1a57a10d Added an option to select the kicad_wks for pcb_print 2022-04-16 15:20:02 -03:00
Salvador E. Tropea cffd3d0b89 Worksheet: moved the draw code to each class 2022-04-16 15:09:37 -03:00
Salvador E. Tropea 4b341a7a92 Added internal plot of the worksheet to pcb_print
- Also renamed some options to make it simpler (sorry)
2022-04-16 15:09:19 -03:00
Salvador E. Tropea 9c2f8ccd58 Added an option to keep temporals to pcb_print 2022-04-14 11:18:20 -03:00
Salvador E. Tropea daa19810d4 Separated the pcb_print page temporal files (for debug) 2022-04-14 11:12:22 -03:00
Salvador E. Tropea 8c1d6e53c2 Now an output can extend another output that extends ...
- Even when the other outputs aren't yet configured
- Also added an error when the types doesn't match

Closes #184
2022-04-14 10:38:07 -03:00
Salvador E. Tropea 0e8e697d19 Fixed title not restored in print functions
Fixes #185
2022-04-14 09:59:25 -03:00
Salvador E. Tropea f7be522087 Fixed pad sizes destroyed by pcb_print
- KiCad PAD.GetSize returns a reference to the pad size, not a copy
  of the current size!
2022-04-14 09:04:59 -03:00
Salvador E. Tropea 9d606fa53b Added colored pads and vias to pcb_print
- The vias are more "realistic", we avoid showing holes on layers that
  aren't drilled, but we mark the via. So you know were is.
2022-04-13 13:51:03 -03:00
Salvador E. Tropea d84dec153d Removed the moveto used in the SVG merge
- Not really needed for KiCad files
2022-04-12 15:57:28 -03:00
Salvador E. Tropea 460ddc6a59 Added holes color configuration to pcb_print 2022-04-12 15:53:34 -03:00
Salvador E. Tropea b7b9b70ac3 Added PNG, EPS and PS outputs to pcb_print. 2022-04-12 15:43:53 -03:00
Salvador E. Tropea a2526bf5bd Fixed the pcb_print get_targets for SVGs (pages, not single) 2022-04-12 14:23:24 -03:00
Salvador E. Tropea 9a90b522c5 Fixed the name of the layer used to print KiCad 6 frame 2022-04-12 09:00:06 -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 267a38c32f Documented the %X substitutions for SVG output in pcb_print 2022-04-11 17:37:03 -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 09cfa14896 Fixed problems when the project specified an empty wks (KiCad 5) 2022-04-11 14:50:17 -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 a5c848c752 Added a color cache 2022-04-10 15:32:42 -03:00
Salvador E. Tropea bfdc024a33 Added an option to sort the layer as KiCad to pcb_print 2022-04-10 15:26:35 -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
diogocondeco 827a7afe44 Fixes Digikey link to open part from xlsx file
Fixes the url to open Digikey's page with details from the cell part number.
2022-04-07 23:58:23 +01:00
Salvador E. Tropea 12cce8562c Added video recording to step output (KiCad 6)
Related to #176
2022-04-07 18:56:01 -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 73b4196e46 Fixed problems with imported sub-sheets
- We must avoid processing the sheet and symbol instances of them
Fixes #178
2022-04-07 13:23:25 -03:00
Salvador E. Tropea b88f66ba21 Fixed missing imports in PyPDF2
- Removed by autoflake8 pre-commit plugin
- Now PyPDF2 is excluded, but a pre-commit run did it
2022-04-07 13:06:11 -03:00
Salvador E. Tropea 900be375e9 Added a first approach to Board2Pdf support. 2022-04-05 16:36:02 -03:00
Salvador E. Tropea 235031b12c Fixed missing increment in KiCad 5 wks copy 2022-04-04 18:35:14 -03:00
Salvador E. Tropea 9e1f645c31 Fixed problems when using page layout files with relative paths.
Fixes #174
2022-04-04 18:02:31 -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 1a73dd5e29 Fixed missing Set_Text_Variables valid keys 2022-03-31 14:50:25 -03:00
Salvador E. Tropea 372fad5d28 Fixed 3D problems to download 3D models for native KiCad 6 files.
- Not seen on files imported from KiCad 5

Fixes #171
2022-03-31 12:11:52 -03:00
Salvador E. Tropea b58430a8ea Added support for 3D View rotations (KiCad 6 only) 2022-03-29 15:49:33 -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 637a6917c0 Fixed KiCad 6 problems with empty title block items
- The saved SCH wasn't usable if company, rev, title, etc.
  were absent in the original file.
2022-03-26 12:33:08 -03:00
Salvador E. Tropea b4ff830c7d Fixed drill problems with regular vias 2022-03-25 08:39:58 -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 b5d5bea324 Made more clear which preflight options modifies files
- Also unified to "preflight" (more common than pre-flight)
Related to #165
2022-03-24 13:08:51 -03:00
Salvador E. Tropea 788b7d6b83 Added support for buried/blind vias to the drill outputs
Fixes #166
2022-03-24 12:57:08 -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 afc499e055 Added support for Pandoc 2.2.1
- Used on Debian 10.x
- Doesn't support "--to pdf", but can generate PDFs ...
2022-03-17 14:42:51 -03:00
Salvador E. Tropea d4945e0189 Added workaround for KiCad 5 SVG print
- The KiCad 6 bug was also in KiCad 5.
2022-03-17 14:39:18 -03:00
Salvador E. Tropea 6b6d22afa8 Added report conversion using pandoc 2022-03-17 12:13:51 -03:00
Salvador E. Tropea 17df40319c When meassuring the PCB size now we also look in footprints
- They can contain PCB edges
Related to #164
2022-03-17 10:59:47 -03:00
Salvador E. Tropea 45e670c11f More early text var expansions
Fixes #163
2022-03-15 20:26:18 -03:00
Salvador E. Tropea fb7e81fb69 Made the "Using `{}` for {} instead" message more clear
- When normalize_values is false it adds ", only for sorting purposes"
Related to #108
2022-03-15 19:17:25 -03:00
Salvador E. Tropea fc28b6a257 Fixed: expanded text variables earlier for date
- Avoids reformatting problems
- Also done for title, because we keep a copy of the original
Related to #161
2022-03-15 17:47:33 -03:00
Salvador E. Tropea 02a942c37b Fixed schematic comments expansion 2022-03-13 16:36:54 -03:00
Salvador E. Tropea 4359a538cd Fixed missing check for no project file 2022-03-13 16:36:15 -03:00
Salvador E. Tropea 0413699607 Fixed pcb title block load (text var expansions) 2022-03-13 15:58:47 -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 82aac838d5 Catched error of using set_text_variables with KiCad 5 2022-03-12 19:10:35 -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 780fc25b26 Enabled render_3d output for KiCad 6 now KiCad bug is fixed. 2022-03-08 12:06:49 -03:00
Salvador E. Tropea 0c0c6ffd62 New output to join PDFs.
Closes #156
2022-03-03 16:13:00 -03:00
Salvador E. Tropea aeaabaf062 Added report contexts to expand individual layers 2022-03-03 14:27:06 -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 08eb048f8d Removed unused imports 2022-03-02 18:08:48 -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 36581d8608 Added support for mirror and fields_autoplaced (KiCad v6 schematic)
- Not documented
Fixes #155
2022-02-24 13:51:11 -03:00
Salvador E. Tropea 1a5e562d14 Updated copyright year 2022-02-24 12:59:44 -03:00
Salvador E. Tropea 3237b7fb7f Added more debug information to fil_var_rename_kicost.py 2022-02-24 12:59:07 -03:00
Salvador E. Tropea 26a6db4e65 Fixed KiCad 6 schematic component instance not updated
Fixes #157
2022-02-24 12:54:39 -03:00
Salvador E. Tropea 1dbaf67cea Fixed KiCad v6 field rename
- The code created v5 fields

Fixes #158
2022-02-24 12:16:35 -03:00
Salvador E. Tropea 3f7b4dc4c8 Fixed nightly setup.
- GS imported pcbnew before __main__ configured the paths.
- As a result we always loaded the regular KiCad.
2022-02-24 10:57:52 -03:00
Salvador E. Tropea 7c4341a86a Removed debug file (out_gerber.py.debug) 2022-02-21 12:11:51 -03:00
Salvador E. Tropea 17911fe136 Allow strings in globals.copper_thickness 2022-02-21 09:38:11 -03:00
Salvador E. Tropea d9d80e5710 Fixed the C402 fix 2022-02-17 19:54:44 -03:00
Salvador E. Tropea 338a0cc3d4 Fixed B007 Loop control variable 'i' not used within the loop body. 2022-02-17 19:10:47 -03:00
Salvador E. Tropea 0ab3fb410c Fixed(?) YTT204 `sys.version_info.minor` compared to integer 2022-02-17 18:54:43 -03:00
Salvador E. Tropea 1731e889b1 Fixed D301 Use r""" if any backslashes in a docstring 2022-02-17 18:48:50 -03:00
Salvador E. Tropea c3b229ba0c Fixed D300 Use """triple double quotes""" 2022-02-17 18:47:27 -03:00
Salvador E. Tropea d7e0cc2936 Fixed last patch 2022-02-17 18:44:34 -03:00
Salvador E. Tropea f26ab6ede8 Fixed B006 Do not use mutable data structures for argument defaults. 2022-02-17 16:45:10 -03:00
Salvador E. Tropea 15b2075c96 Fixed B011 Do not call assert False 2022-02-17 16:37:01 -03:00
Salvador E. Tropea c8d131fe11 Fixed C416 Unnecessary list comprehension - rewrite using list(). 2022-02-17 16:32:16 -03:00
Salvador E. Tropea f0c581d144 Fixed C405 Unnecessary list literal - rewrite as a set literal. 2022-02-17 16:31:30 -03:00
Salvador E. Tropea c11627f56d Fixed C402 Unnecessary generator - rewrite as a dict comprehension. 2022-02-17 16:07:17 -03:00
Salvador E. Tropea 9082a7ec69 Fixed C413 Unnecessary list call around sorted(). 2022-02-17 16:04:13 -03:00
Salvador E. Tropea ebc6458948 Fixed schematic: Paper orientation was discarded on v5 files.
Fixes #150
2022-02-17 12:40:29 -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 751f093de9 Removed extra "pass" statements 2022-02-16 19:04:44 -03:00
Salvador E. Tropea 5fb64472db Adjusted the generated YAML example to be more coherent
- Fixed list on list indentation
- No extra EOL at EOF
-  No trailing spaces on some examples
2022-02-16 18:28:05 -03:00
Salvador E. Tropea 7781582962 Made executable some scripts 2022-02-16 17:39:18 -03:00
Salvador E. Tropea 3047ab3031 Fixed the YAML example, wrongly quoted string 2022-02-16 17:29:48 -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 ccbb8a6060 Adapted two tests to the new details
- New pcbnew import in gs.py
- New return value for _get_columns()
2022-02-14 14:49:16 -03:00
Salvador E. Tropea d3ad786dd5 Fixed extra columns added by default 2022-02-14 14:19:56 -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 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