Commit Graph

1005 Commits

Author SHA1 Message Date
Salvador E. Tropea 8a47bdee83 [Install Checker] Instruct to install pip when needed
- Python tools can't be autodownloaded without pip
2022-07-18 08:49:02 -03:00
Salvador E. Tropea 0726a3c2d5 Merge branch 'master' of https://github.com/INTI-CMNB/KiBot 2022-07-15 06:23:08 -03:00
Salvador E. Tropea 3e922b6009 [PCB_Print] Fixed problems with filtered/modified PCBs 2022-07-14 18:52:31 -03:00
Salvador E. Tropea c4b1d6b8ad [Position] Fixed problems with repeated references
- Happens when doing manual panelization

Closes #224
2022-07-14 18:11:56 -03:00
Henning Kleen b4ed680d9c fix OAR calculation for design report 2022-07-14 15:56:40 +02:00
Salvador E. Tropea 882999edf4 [DOCs] Added a note about the importance of %i
- When using position output and separate files

Related to #222
2022-07-14 08:28:31 -03:00
Salvador E. Tropea ba7bebd980 [Position] Added an error message for wrong file names
- If a user asks for separated files and doesn't use %i to
  differentiate the names now we inform it as an error.

Related to #222
2022-07-13 11:33:43 -03:00
Salvador E. Tropea 8c690bfb3f Switched to v1.2.1 to identify git code 2022-07-13 10:38:26 -03:00
Salvador E. Tropea 3e05ab8b6a [Import] Preflights now can be imported
- Also fixed the filters and variants configuration, now delayed.

Fixes #221
Related to #181
2022-07-12 13:39:43 -03:00
Salvador E. Tropea 9ce18ae39b Fixed filter and variants import 2022-07-12 11:10:35 -03:00
Salvador E. Tropea 6c118b73fa Imports can be nested now
- import stuff that was imported ...
- Is the first approach, works for a simple case

Related to #218
2022-07-12 10:55:00 -03:00
Salvador E. Tropea 42503a909a [SCH][Print] A global option to cross components without a body.
- Only for KiCad 6

Closes #219
2022-07-12 08:44:05 -03:00
Salvador E. Tropea 68c96385d3 [KiCad 6][Variants] Fixed problems crossing alternative drawings
- Units with DeMorgan alternative drawing got only one crossed

Related to #219
2022-07-12 07:39:15 -03:00
Salvador E. Tropea 139ee82bdc Documented the added features. 2022-07-11 12:41:23 -03:00
Henning Kleen 209248ae8d also expand environment variables in design report template path 2022-07-11 15:22:43 +02:00
Henning Kleen 7ba7794a14 Allow expansion of environment variables in paths 2022-07-11 11:22:31 +02:00
Salvador E. Tropea 15d5f90a27 [Tests] Fixed fil_test.py assertions
- PyTest 6 failed to catch the assert, but 7 does
2022-07-09 19:44:02 -03:00
Salvador E. Tropea e8a20ef362 [Dependencies] Fixed repeated dependencies when plug-in dir available 2022-07-09 16:28:20 -03:00
Salvador E. Tropea 18bf8d9b78 [Dependencies] Added support for partially uninstalled modules. 2022-07-08 11:50:18 -03:00
Salvador E. Tropea 120220b986 [Test] Workaround for importlib crazy behavior
- I can't call pip to install in a specified dir and then import
  using importlib. It always fail, even when the module is installed
  and its path is in sys.path. Couldn't find why.
2022-07-08 10:57:03 -03:00
Salvador E. Tropea 98ac2f2335 [Dependencies] Forced pip -U to behave in a consistent way
- Debian patches pip/distutils in a way that "pip -U" behaves
  differently when executed by root. Instead of installing to
  site.USER_BASE it installs to /usr/local.
  So now we send -U to pip, but we also send site.USER_BASE
  using --root and --prefix
  This makes pip to install in the same way for regular users
  and root. This allows running the CI/CD tests in a consisten
  way.
2022-07-08 07:48:02 -03:00
Salvador E. Tropea 3f3f69028d Merge branch 'master' of https://github.com/INTI-CMNB/KiBot 2022-07-08 06:22:06 -03:00
Salvador E. Tropea 46bd3dde13 Fixed debug message 2022-07-07 20:08:48 -03:00
Salvador E. Tropea d8f01ca337 Better indentation for dependency debug logs 2022-07-05 13:59:04 -03:00
Salvador E. Tropea 0635a249f3 Fixed wrong extra_deb name 2022-07-05 13:48:28 -03:00
Salvador E. Tropea 0a8481dadf Now the dependencies are YAML specs in docstrings
- They document the dependencies and constructs them
2022-07-05 12:43:49 -03:00
Salvador E. Tropea 53088227d1 Moved comments in docstrings to comments
- To allow using the docstring of plug-ins for specs
2022-07-05 12:42:16 -03:00
Salvador E. Tropea 664a13c548 [Dependencies] Added command line option to disable the downloads. 2022-07-01 13:30:51 -03:00
Salvador E. Tropea 9c6062e0c8 [Dependencies] Added support for QRCodeGen auto-download 2022-07-01 13:17:02 -03:00
Salvador E. Tropea 3e331cd7a3 [Dependencies] Added support for LXML download 2022-07-01 12:45:37 -03:00
Salvador E. Tropea 1f123d3f22 [Test] Added a message to test the missing XLSX behavior 2022-07-01 12:40:15 -03:00
Salvador E. Tropea f80480b31e [Dependencies] Added XLSXWriter auto-download 2022-07-01 11:27:44 -03:00
Salvador E. Tropea fe191ba594 [PCB_Print] Updated comments 2022-07-01 11:16:04 -03:00
Salvador E. Tropea 84f3b0ede1 Removed distutils as dependency 2022-06-30 13:59:42 -03:00
Salvador E. Tropea 5b732867f5 Removed distutils use in mcpyrate 2022-06-30 13:58:54 -03:00
Salvador E. Tropea 8df074df76 Removed the use of distutils.StrictVersion 2022-06-30 13:57:20 -03:00
Salvador E. Tropea e00b6b3f23 Removed unused functions
- check_script
- check_eeschema_do
- Now all the code uses dep_download stuff
2022-06-30 13:11:02 -03:00
Salvador E. Tropea 33b2367a54 [Dependencies] Added support to *_sch_print 2022-06-30 11:16:53 -03:00
Salvador E. Tropea 200b54aaf7 Fixed problems with iBoM version detection
- Now we avoid the wxWidgets initialization
2022-06-30 11:04:01 -03:00
Salvador E. Tropea 59d6d2caac [Dependencies] Added auto-download for iBoM 2022-06-30 10:03:26 -03:00
Salvador E. Tropea 166e927ca4 [Dependencies] Added missing pcb_print use of KiAuto 2022-06-30 09:30:27 -03:00
Salvador E. Tropea 3db94210cc [DOCs][Dependencies] Removed extra spaces 2022-06-30 08:14:21 -03:00
Salvador E. Tropea 482efbd81b [DOCs][Dependencies] Fixed missing space for PyPi logo 2022-06-30 08:07:42 -03:00
Salvador E. Tropea 758e43fbd5 [DOCs][Dependencies] Added links to tools, PyPi and Python logos
- So they don't point to the image but something useful
2022-06-30 08:05:26 -03:00
Salvador E. Tropea 6cc1feeae5 [DOCs][Dependencies] Added auto-download image 2022-06-30 07:56:20 -03:00
Salvador E. Tropea d15e20d8b9 [DOCs][Dependencies] Added Python module and tool images 2022-06-30 07:40:27 -03:00
Salvador E. Tropea ee9177c40b [Dependencies] Better text output 2022-06-30 07:13:18 -03:00
Salvador E. Tropea b1726e0915 [DOCs][Dependencies] Added PyPi logo 2022-06-30 07:07:11 -03:00
Salvador E. Tropea 0113c74f7a [DOCs][Dependencies] Added Debian logo 2022-06-30 06:49:29 -03:00
Salvador E. Tropea 48e5323be0 Added auto-download support for KiAuto. 2022-06-29 13:47:50 -03:00
Salvador E. Tropea 35e12bb3fc Added auto-download support for KiCost. 2022-06-29 11:35:52 -03:00
Salvador E. Tropea be5c2ff29e [Dep downloader] Added support for symlinks in tarballs 2022-06-29 11:33:36 -03:00
Salvador E. Tropea c97705da03 Added auto-download for KiBoM 2022-06-29 10:29:37 -03:00
Salvador E. Tropea c453fff8af [DOCs] Added which tools are downloaded automagically 2022-06-29 10:13:43 -03:00
Salvador E. Tropea 8dceb9a322 [PCB_Print] Added better rsvg_convert dependency
- We need 2.40+ for EPS, other versions are OK for the rest
2022-06-29 08:38:45 -03:00
Salvador E. Tropea 90eb8ac099 Added more descriptive message when a tool version isn't good
- Now we say "upgrade" instead of "install"
- We also show the needed version
2022-06-29 08:35:43 -03:00
Salvador E. Tropea 6242a772c2 KiCost specs encoding fixes
- Now we decode HTML encoded sequences
- Updated KiCost submodule to the one that fixes KitSpace encoding
- Updated the references (now properly encoded)
2022-06-29 08:08:42 -03:00
Salvador E. Tropea 6a1372c574 Added support for dependency download to pcbdraw 2022-06-28 13:19:06 -03:00
Salvador E. Tropea 3440198cd7 Enhancements to the dependency downloader
- Added Python tools downloader
- Added progress bar when downloading a tool
- Updated ImageMagick message when no fuse
2022-06-28 13:17:54 -03:00
Salvador E. Tropea e744d806b5 Added missing default categories for iBoM 2022-06-28 11:30:27 -03:00
Salvador E. Tropea 05f066fcb4 Added reason why a tools is needed to check_tool 2022-06-21 10:44:24 -03:00
Salvador E. Tropea ce9dd92d28 Moved the system and platform detection out of downloaders 2022-06-19 19:52:29 -03:00
Salvador E. Tropea 65d4143ec1 Now we try to download some tools when missing
- Currently only a few targets are available
- Rar, ImageMagick, RSVG Tools and git have some support
2022-06-19 19:17:38 -03:00
Salvador E. Tropea d2c607755f Added log.debugl(LEVEL, msg) function, using verbose level
- Not using logging values
2022-06-18 16:35:31 -03:00
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