Commit Graph

206 Commits

Author SHA1 Message Date
Salvador E. Tropea 5ce3da2bcc Added a macro decorator to register output classes. 2020-06-25 11:32:13 -03:00
Salvador E. Tropea 46a20404a4 Added preflights help. 2020-06-25 10:31:23 -03:00
Salvador E. Tropea acd5592a45 Now the map.type and report.filename are deprecated in favor of map and report.
The old mechanism is supported, but removed from examples.
Added a test case for the new mechanism.
Documented the reason for the complex properties.
Added docstrings to these particular cases (with None as default).
2020-06-25 09:37:43 -03:00
Salvador E. Tropea fa1ea5bdc9 Outputs help and options review
- Included properties
- The final dot is placed by the printing code (removed from messages)
- docstrings line lengths limited
- Better HPGL help
- Fixed ibom default output (.html.html)
- pdf_pcb_print to use PCB name when not output name
- Default PS scaling factor to 1 (not 2)
2020-06-25 09:05:46 -03:00
Salvador E. Tropea fb5c32f0ad Added negative numbers support to the document macro. 2020-06-25 08:09:39 -03:00
Salvador E. Tropea 6295b00657 Implemented the `sketch_plot` option. 2020-06-24 12:00:53 -03:00
Salvador E. Tropea 505039332b Made sketch_plot default to false when absent. 2020-06-24 11:59:13 -03:00
Salvador E. Tropea 090aa6b8f1 Removed the "plot" option "check_zone_fills".
Not used and overlapped with the preflight option.
2020-06-24 11:26:08 -03:00
Salvador E. Tropea ac4ae89aba Added command line help for the outputs.
--help-list-outputs list supported outputs
--help-outputs list details for the supported outputs
--help-output OUTPUT shows the help for this particular output
2020-06-24 11:02:17 -03:00
Salvador E. Tropea 89fb93d6d7 Documented the output formats in the source code. 2020-06-24 11:01:43 -03:00
Salvador E. Tropea 458d4ba0a9 Removed flake8 issues 2020-06-23 10:27:11 -03:00
Salvador E. Tropea d68376ba2e Added a small test to gerbers output.
Currently commented.
2020-06-23 10:26:29 -03:00
Salvador E. Tropea 6859f89c9c Copied the experiments implementation to the macros file
Is more robust
2020-06-23 10:25:29 -03:00
Salvador E. Tropea 2bb2bd2034 Added preliminary tests to add "automagic" documenation for the output options 2020-06-22 19:47:37 -03:00
Salvador E. Tropea 20d79d58ad Restricted the YAML support to safe features.
I think it doesn't change anything important, but looks sensitive.
2020-06-21 11:58:35 -03:00
Salvador E. Tropea 19023ef4e6 Added tests to cover 100% of kiplot/config_reader.py
Mostly parser errors.
2020-06-19 23:38:09 -03:00
Salvador E. Tropea 7679604646 Major code refactor
Pro:
- Much easier to add new outputs and pre-flights
- All options are optional
- Much better configuration syntax check
- Access to data is simpler

Cons:
- Much more source code files
- I focused on one application, not multiple instances running on the same
  process.
2020-06-19 15:54:55 -03:00
Salvador E. Tropea c2c221151b Bumped version to 0.4.0. 2020-06-17 15:38:49 -03:00
Salvador E. Tropea b8f8ed53bd Added a mechanism to avoid problems with ibom
This new mechanism should be accepted in the upstream.
So we will be able to use unpatched ibom.
2020-06-17 15:34:43 -03:00
Salvador E. Tropea 3382b4fe7b Fixed the way options with arguments are passed to kicad2step. 2020-06-15 15:58:08 -03:00
Salvador E. Tropea ef64a57697 Documented the fact that current kicad2step program never fails.
Well, it fails, but returns 0.
2020-06-15 15:17:09 -03:00
Salvador E. Tropea 2766b5afcb Added STEP file output 2020-06-15 13:21:24 -03:00
Salvador E. Tropea 8fbcffba0f Bumped version to 0.3.0 2020-06-14 15:28:25 -03:00
Salvador E. Tropea 0d9256fb24 The 'check_zone_fills' option is now independent of 'run_drc'
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00
Salvador E. Tropea 406a9ab374 Fixed gzip exception name. 2020-06-14 12:02:15 -03:00
Salvador E. Tropea 4101f69cd4 Added support for compressed YAML files. 2020-06-14 11:05:08 -03:00
Salvador E. Tropea 61f1ebbab2 Better debug info, fixed errors and no .kicad_pcb dependency
- When a BoM operation fails now we show the output of the child process.
  (Only enabled when using debug verbosity)
- The error levels 1 and 2 were overlapped with internal Python codes.
- Now we delay the PCB load until we really need it. Which could be never.
2020-06-12 15:10:56 -03:00
Salvador E. Tropea aef19e31c7 Bumped version to 0.2.5 2020-06-11 13:10:45 -03:00
Salvador E. Tropea c390ec3cb8 Added support for kicad-automation-tools v1.4.0 DRC/ERC filters 2020-06-09 13:49:04 -03:00
Salvador E. Tropea 9e3865d881 Removed another redundant makedirs. 2020-05-26 19:28:14 -03:00
Salvador E. Tropea 46248a6e2e Removed redundant checks to create the output dir.
They became useless after adding it to _configure_output_dir
2020-05-26 19:15:10 -03:00
Salvador E. Tropea be7a613fc8 Removed os import on plot_config.py. No longer used. 2020-05-26 19:14:10 -03:00
Salvador E. Tropea ee7de07ee4 Removed impossible error condition 2020-05-26 14:55:04 -03:00
Salvador E. Tropea 6c5c33be12 Excluded from coverage an internal error.
Is code that gets executed only if we are in the middle of an
implementation.
2020-05-26 14:52:54 -03:00
Salvador E. Tropea 9f60eca419 Removed two PlotConfig members formerly used for testing. 2020-05-26 14:45:19 -03:00
Salvador E. Tropea 3b7bfe40f7 Set the domain for log messages so we get "kiplot..." and not "kilog...." 2020-05-26 14:33:34 -03:00
Salvador E. Tropea 103ef8b79e Fixed: Most formats that needed layers didn't complain when ommited 2020-05-26 13:50:38 -03:00
Salvador E. Tropea bb6bae95a2 Excluded from coverage the fatal case case when python-yaml isn't installed. 2020-05-26 12:43:14 -03:00
Salvador E. Tropea 53be46e1fe Fixed the pragma in __main__ (typo) 2020-05-26 12:27:48 -03:00
Salvador E. Tropea 9672871ebe Excluded the module import main() exclusion from coverage 2020-05-26 12:23:01 -03:00
Salvador E. Tropea 153d967015 Excluded an "internal error check" from coverage and commented why. 2020-05-25 20:01:31 -03:00
Salvador E. Tropea 1dda835cc5 Removed some dead code about configurations.
_configure_plot_ctrl is called only for "layer" outputs, there is no
point trying to configure other formats.
Also some of the "configuration" were ridiculous calls with an assert
that only tested Python's sanity. Probably optimized out by python
compiler.
2020-05-25 19:23:11 -03:00
Salvador E. Tropea c22ccb607a Fixed: All pcbnew plot formats generated gerber job files 2020-05-25 18:31:31 -03:00
Salvador E. Tropea b053017284 Tolerate config files without outputs 2020-05-20 10:36:28 -03:00
Salvador E. Tropea da94eb3f57 Excluded from coverage the test for pcbnew import 2020-05-20 09:24:59 -03:00
Salvador E. Tropea 84831cbdfc Bumped version to 0.2.4. 2020-05-19 12:14:06 -03:00
Salvador E. Tropea 26b4f5c385 Adapted to kicad-automation-scripts 1.3.x 2020-05-19 12:09:19 -03:00
Salvador E. Tropea bcfaead5f1 Fixed: for print_sch, when the PCB name included a path, it wasn't removed and the
output pointed to a mix of both paths, failing.
2020-05-19 11:37:51 -03:00
Salvador E. Tropea da09a617c4 Problems for kibom output when the PCB name included a path 2020-05-15 10:38:26 -03:00
Salvador E. Tropea a58d99325a Added assert for the pcbnew initialization. Also made some debug messages more clear.
I'm getting errors when the test is done using --plot_dir
2020-05-14 09:41:18 -03:00
Salvador E. Tropea ba22eae5b8 Tunned flake8 and removed all unfiltered warnings and errors 2020-04-28 17:56:50 -03:00
Salvador E. Tropea c554c6e71c Bumped version to 0.2.3 2020-04-23 14:40:33 -03:00
Salvador E. Tropea 67403b2353 Added option to list available targets 2020-04-23 14:39:05 -03:00
Salvador E. Tropea 28328d924d Bumped version to 0.2.2 2020-04-20 18:35:59 -03:00
Salvador E. Tropea 90004f923a Removed KiBoM temporal files 2020-04-20 17:46:22 -03:00
Salvador E. Tropea 92980bb8fa Fixed pre-flight tasks that didn't honor --out-dir 2020-04-20 17:45:18 -03:00
Salvador E. Tropea 7805af77a6 Bumped version to 0.2.1 2020-04-18 16:06:22 -03:00
Salvador E. Tropea 540a0b080d Fixed problem when the excellon drill target directory didn't exist (now created) 2020-04-18 15:56:53 -03:00
Salvador E. Tropea 41c0c726cd Bumped version to 0.2.0 2020-03-28 16:43:15 -03:00
Salvador E. Tropea 467c995c07 Added --version option 2020-03-28 16:42:33 -03:00
Salvador E. Tropea 0fa2eaf629 Added error when no -b option and we can't guess the PCB file 2020-03-23 22:41:10 -03:00
Salvador E. Tropea 33736e5cb1 Made -c option optional, now we guess the config 2020-03-23 22:37:17 -03:00
Salvador E. Tropea d5f1c27591 Made -b option optional, now we guess the board. 2020-03-23 22:21:54 -03:00
Salvador E. Tropea 82e4cba655 Added inner layers check for the pdf_pcb_print type 2020-03-23 01:06:04 -03:00
Salvador E. Tropea e7d5accaa6 Put PlotError for the case of an incorrect inner layer. 2020-03-23 01:01:35 -03:00
Salvador E. Tropea 0a018e8b2b Added a catch for KiPlotConfigurationError errors and printed it with context. 2020-03-23 00:42:48 -03:00
Salvador E. Tropea 9747d6457c Removed the PlotError exception in favor of simple error messages 2020-03-22 21:07:01 -03:00
Salvador E. Tropea 9267597330 Made flake8 compliant 2020-03-22 20:16:57 -03:00
Salvador E. Tropea d4f12a1d13 Unified the YAML errors, added more context information 2020-03-22 13:02:17 -03:00
Salvador E. Tropea 6067c84394 Added support for the layer names used in the PCB file. 2020-03-21 15:10:24 -03:00
Salvador E. Tropea 3aaf1ce045 Added support to print the PCB in PDF format (using print, not plot) 2020-03-21 14:34:02 -03:00
Salvador E. Tropea d0d9c37064 Added schematic printing to PDF.
Partially added PCB printing to PDF.
2020-03-19 19:59:19 -03:00
Salvador E. Tropea 46e2a12385 Simplified the scripts installation check.
Moved names and URLs to constants defined in misc module.
2020-03-19 16:58:41 -03:00
Salvador E. Tropea 6d6a11a02b Fixed debug message 'Skipping update_xml' 2020-03-19 16:30:03 -03:00
Salvador E. Tropea 438142dabd Added KiBoM and InteractiveHtmlBoM support 2020-03-19 16:26:45 -03:00
Salvador E. Tropea 85acaadf26 Added generation of the BoM in XML format 2020-03-19 09:57:11 -03:00
Salvador E. Tropea ef3ef2bbe6 Added check for pcbnew_run_drc 1.1.0 or newer 2020-03-18 23:19:40 -03:00
Salvador E. Tropea 5a386bdd32 Added ERC check 2020-03-18 23:15:17 -03:00
Salvador E. Tropea 7d02012dbc Made --skip-pre to take a list of actions. 2020-03-18 19:49:22 -03:00
Salvador E. Tropea e4b94eec08 Added option to skip the pre-flight actions 2020-03-18 19:14:41 -03:00
Salvador E. Tropea ea18fb7be0 Merge branch 'run_drc' 2020-03-17 20:42:38 -03:00
Salvador E. Tropea e269d04ceb Implemented check_zone_fills, it saves the updated zones after DRC. 2020-03-17 20:39:41 -03:00
Salvador E. Tropea d78d6d8a9d Changed sys.exit to exit 2020-03-16 11:02:47 -03:00
Salvador E. Tropea 2af2c0c88d Added DRC support using kicad-automation-scripts 2020-03-16 10:59:36 -03:00
Salvador E. Tropea 070989c7b0 Changed the exceptions for check_zone_fills and run_drc to simple errors. 2020-03-16 10:24:11 -03:00
Salvador E. Tropea b9964a9295 Sorted command line options 2020-03-16 10:12:54 -03:00
Salvador E. Tropea bcfee6283d Added targets selection, all by default and an --invert-sel option to do all
but named targets.
2020-03-16 10:09:04 -03:00
Salvador E. Tropea a56a847621 Added the task type when printing its name 2020-03-14 17:25:49 -03:00
Salvador E. Tropea c0acfe3865 Added format and color to the logs. Also enhanced the yaml/pcbnew log error. 2020-03-14 16:12:05 -03:00
Salvador E. Tropea 8d1668a7d6 Merge branch 'add_info_process' 2020-03-13 14:16:50 -03:00
Salvador E. Tropea e6d58724a8 Bumped version to 0.1.1 2020-03-13 13:14:41 -03:00
Salvador E. Tropea bce849b44b Added only_smd to only generate positions for SMD components.
Made the .pos more similar to what KiCad generates (sorted, capitalization, date, etc.)
2020-03-13 13:04:27 -03:00
Salvador E. Tropea 97b6cedf06 Merge branch 'position' of https://github.com/rdeterre/kiplot 2020-03-13 10:46:10 -03:00
Salvador E. Tropea 49bb86d748 Moved the module to the root and added a script named kiplot to call it from /usr/bin.
Simplified the setup.py to make it work with Debian.
Added Debian package files.
Added a MANIFEST.in
2020-03-10 14:49:18 -03:00
John Beard c80c34939e Move to src directory 2018-06-02 17:55:32 +01:00
John Beard 2eec853d08 Tweak debug 2018-06-02 17:52:33 +01:00
John Beard 02f3db1a2d Add preflight options, but they don't wowork 2018-06-02 17:21:47 +01:00
John Beard ac2ceedae2 Add HPGL and PDF to config 2018-06-02 17:06:37 +01:00
John Beard 57c320984a Add svg, fix mirror plot 2018-06-02 16:56:20 +01:00
John Beard 6dfbaea4e0 Add gerber drills 2018-06-02 16:51:58 +01:00
John Beard d3b331e3ad Add validation 2018-06-02 16:33:11 +01:00
John Beard 5aada8a3cd Add postscript and other stuff 2018-06-02 15:51:24 +01:00
John Beard 1519ff2e08 Overhaul config parsing 2018-06-02 13:31:03 +01:00
John Beard fb7e579a64 Even more working 2018-06-02 12:28:46 +01:00
John Beard 5298dc2c72 Getting there 2018-06-01 23:56:22 +01:00
John Beard 21e185c9d6 Initial commit 2018-06-01 20:08:57 +01:00