Commit Graph

1046 Commits

Author SHA1 Message Date
Salvador E. Tropea 171803ff64 [Populate] Added support to compress and Makefile generation 2022-10-28 08:29:54 -03:00
Salvador E. Tropea ddd0018f43 [Populate] Handle missing mistune properly 2022-10-28 07:51:54 -03:00
Salvador E. Tropea 8512b41feb [Populate] Added pybars and pymeta 2022-10-28 07:16:05 -03:00
Salvador E. Tropea f3049351da [Populate] Documented the changes
- Also added author and license to the files
2022-10-28 06:30:17 -03:00
Salvador E. Tropea e56343d214 New populate output
- The PcbDraw command
2022-10-27 21:24:57 -03:00
Salvador E. Tropea b8f9b2e924 [PcbDraw] Applied the SVG patch like the upstream
- To make the code more convergent, is equivalent
2022-10-24 13:02:37 -03:00
Salvador E. Tropea 491c598afb [iBoM] Added support for the `offset_back_rotation` option 2022-10-24 12:58:36 -03:00
Salvador E. Tropea 417dbadcd2 [PcbDraw][PCB_Print][Fixed] SVG issues for browsers
- Same fix used for SVG output
2022-10-21 13:42:29 -03:00
Salvador E. Tropea 623ce5c65e [SVG][Fixed] Problems using Chrome and Firefox
- The KiCad 6 default scale is too big
2022-10-21 11:51:08 -03:00
Salvador E. Tropea 446f87aad1 [Debug] Added command line information
- For level 2 or more
2022-10-19 13:14:53 -03:00
Salvador E. Tropea 8ec4d481c0 [Package] Moved all resources to a central place
- All KiBot resources are now under kibot/resources
- PcbDraw resources are now in kibot/resources/pcbdraw
- All resources can be loaded relative to the script or from
  /usr/share/kibot
- The Debian package installs the resources in /usr/share/kibot
- The Python manifest includes all resources
- PcbDraw is now detected as a Python package
2022-10-19 13:05:56 -03:00
Salvador E. Tropea 5fe00f2598 Bumped version to 1.4.1
- Just to identify it as different
2022-10-19 10:44:02 -03:00
Salvador E. Tropea c79e5b0b0f [PcbDraw] Better support for variants
- All variant stuff is applied
- A new mode allows to get a more coherent behavior for the show_components
2022-10-19 10:19:00 -03:00
Salvador E. Tropea 0d3661ccca [PcbDraw] Removed _create_style
- No longer needed
2022-10-19 09:01:30 -03:00
Salvador E. Tropea aff00b44b6 [PcbDraw] Skipped the VCUTs layer check when the option is disabled 2022-10-19 08:59:54 -03:00
Salvador E. Tropea 0be6f40053 [PcbDraw] Individual margin control 2022-10-19 08:32:46 -03:00
Salvador E. Tropea 4b0965fc4d [PcbDraw] Added option to control the size detection
- Now we can use the full method found in newer versions
- But we can also use simpler methods that are usable and needs
  less dependencies (also they are faster)
2022-10-19 08:05:06 -03:00
Salvador E. Tropea 97dd675a6d [PcbDraw] A `remap_components` option with better type checks
- The old option was simpler, but you could put anything there
2022-10-18 13:37:37 -03:00
Salvador E. Tropea 087b1aabe3 [PcbDraw] Added resistor remap and flip options 2022-10-18 13:16:43 -03:00
Salvador E. Tropea f46f9557fd [PcbDraw] Avoid creating a temporal file for the style
- This is exactly the same structure needed by PcbDraw
2022-10-18 12:55:19 -03:00
Salvador E. Tropea 5887b29bf2 [PcbDraw] Added support to set the V-CUTS layer 2022-10-18 12:49:28 -03:00
Salvador E. Tropea ad2b4e48d1 [Fixed] The hide_stderr function when exception
- Needed a finally
2022-10-18 12:34:51 -03:00
Salvador E. Tropea f78f8b3064 [PcbDraw] Added solder paste removal 2022-10-18 11:38:29 -03:00
Salvador E. Tropea 268e1ef2f7 [PcbDraw] Added support for the outline width 2022-10-18 11:34:12 -03:00
Salvador E. Tropea 00cea42cda [PcbDraw] Added support for image margin 2022-10-18 11:27:11 -03:00
Salvador E. Tropea 801f7f5183 [PcbDraw] Avoid loading the PCB for each call to PcbDraw 2022-10-18 11:08:57 -03:00
Salvador E. Tropea 701824e4e4 Removed spurious KiCad messages during KiCad 5 PCB loads
- Seen on KiCad 6
2022-10-18 10:59:36 -03:00
Salvador E. Tropea 207dd8f67c [PcbDraw] Removed PIL as dependency
- So now the save function only supports SVG as input and SVG/PNG as
  output. All other cases are handled from outside
- This is because KiBot heavily uses ImageMagick and migrating to PIL
  is not something simple.
- There is no point in using PIL just for file conversion, as we don't
  use `render` this is the only use.
2022-10-18 10:49:13 -03:00
Salvador E. Tropea f61ca58ffa [PcbDraw][Fixed] Removed temporal style file 2022-10-18 10:11:53 -03:00
Salvador E. Tropea bb6b0c6141 [PcbDraw] Replaced `unit` code
- So we have only one units conversion
- I think the only difference is that KiBot code currently supports
  the locales decimal point
2022-10-18 09:57:56 -03:00
Salvador E. Tropea 473d1c27e2 [PcbDraw] Updated the components libs
- Added 0402 components
2022-10-18 08:58:48 -03:00
Salvador E. Tropea 749618782b [PcbDraw] Removed numpy as dependency
- Currently svgpathtool is disabled, it really needs numpy
- `numpy` is used to:
  - Multiply matrices (1 line code)
  - Find the index of the smaller element (1 line code)
  - I added a replacemt for the `array` function, it just makes all
    matrix elements float
2022-10-18 08:56:29 -03:00
Salvador E. Tropea a6f4173226 [PcbDraw] Included pcbnreTransition
- Just 2.8 kiB no worth the effort of pulling a dependency
- In fact it could be reduced to less than 10 lines, but I keep it
  almost unchanged (just added author and license) to make it easy
  to updated.
2022-10-18 08:51:25 -03:00
Salvador E. Tropea 7707ec3ef6 [PcbDraw] Fixed `collect_holes` for KiCad 5
- pad.GetDrillSizeX() and pad.GetDrillSizeY() are KiCad 6 specific,
  you must use pad.GetDrillSize()
- KiCad 5 vias were skipped
- Vias detection crashed on KiCad 5
2022-10-18 08:22:09 -03:00
Salvador E. Tropea c16fb7144e [PCB_Print] Replaced external PcbDraw
- Using the internal module
2022-10-18 07:53:12 -03:00
Salvador E. Tropea 531ace00a1 [PcbDraw] Added mechanism to only plot the solder mask 2022-10-18 07:37:16 -03:00
Salvador E. Tropea bca04a3222 [PcbDraw][Fixed] Avoid looking for PcbDraw as dependency
- No longer a dependency
2022-10-18 07:09:02 -03:00
Salvador E. Tropea 838129e69c [PcbDraw] Embedded the PcbDraw.plot code
- Now PcbDraw is not a dependency of out_pcbdraw.py
2022-10-17 12:58:06 -03:00
Salvador E. Tropea 1fdd3c26d1 [Fixed][QR lib update] Problems on KiCad 5
- Related to moving the footprint to the bottom
2022-10-14 11:08:42 -03:00
Salvador E. Tropea 25d9806b47 [Diff] Added option to compare only the first schematic page.
- So now the default is to compare all the schematic pages.
Closes #319
2022-10-14 10:25:37 -03:00
Salvador E. Tropea 619a7da745 Bumped version to 1.4.0 2022-10-12 10:21:49 -03:00
Salvador E. Tropea 72cae7c787 Changes to write v6 schematics more similar to prior versions 2022-10-11 13:09:49 -03:00
Salvador E. Tropea a337028007 [Internal BoM] Added some basic support for "Exclude from BoM" flag
Related to #316
2022-10-11 11:46:00 -03:00
Salvador E. Tropea d28ecfd8c4 [Schematic v6][Fixed] Autoplace fields could be lost in variants. 2022-10-11 10:06:00 -03:00
Kevin Joly bab8b97a76 [Position] Add "right_digits" option
KiCAD's generated position files have 6 digit mantissa. Some users would like to have the position file(s) generated in the same way than KiCAD. This option makes that possible while keeping the default behaviour of using 4 digits mantissa.

Signed-off-by: Kevin Joly <kevin.joly@armadeus.com>
2022-10-06 15:39:34 +02:00
Salvador E. Tropea 1106708a6d [Fixed][Position] Wrong side classification
- When the side column wasn't the last column

Closes #313
2022-10-06 08:59:15 -03:00
Salvador E. Tropea 86a9c25949 [Diff] Added option to skip pages with no diffs 2022-10-05 11:30:00 -03:00
Salvador E. Tropea 5592f5a2d5 [Dependencies] Added max_version
- Needed for incompatible PcbDraw 1.x until this is solved.
2022-10-04 09:06:07 -03:00
Salvador E. Tropea 33566c719d [Install Checker] Added Helvetica font detection
- Seems to be a problem on Arch Linux and derivatives
2022-10-04 08:40:28 -03:00
Salvador E. Tropea 925d3596dd New filter `field_modify`
- Also added `pre_transform` shortcut.
2022-10-03 13:11:01 -03:00
Salvador E. Tropea 82b299a159 [iBoM] Fixed the name displayed in the HTML when using filters
- and/or variants
2022-10-03 13:08:48 -03:00
Salvador E. Tropea c4cc6371a8 [Diff] Added mechanism to compare with the last Nth tag
Related to #312
2022-10-03 09:04:29 -03:00
Salvador E. Tropea fe223e64f6 [DOCs] Added note about `checkout` GitHub action
- It produces a shallow checkout

Related to #308
2022-09-30 12:39:28 -03:00
Salvador E. Tropea a9d5b8cd58 New filter `urlify` to convert URLs in fields to HTML links
Closes #311
2022-09-30 11:28:21 -03:00
Salvador E. Tropea 193632ff65 [Fixed] Sch v6 sub-sheet issues
- When saving a sub-sheet that was edited as a standalone sheet
- In this case we have symbo instances, but they weren't
  processed, so we can't look for filter modifications.

Closes #307
2022-09-29 13:45:00 -03:00
Salvador E. Tropea b24f3b4e3b [PcbDraw] Added extension to temporal files
- More clear
- PcbDraw 1.0.0 doesn't support files without extension
  Is this a Windows legacy?!
2022-09-29 10:45:37 -03:00
Salvador E. Tropea 63b4c526f8 Fixed missing XYRS information for components with multiple units
Closes #306
2022-09-29 07:54:32 -03:00
Salvador E. Tropea 92c4d4f15d [DOCs][Fixed] Default values for KiBoM variant filters
Closes #303
2022-09-27 13:49:35 -03:00
Salvador E. Tropea ee967235e6 [Fixed] KiCad 5 "assert "lower <= upper" failed in Clamp()"
Closes #304
2022-09-27 13:26:35 -03:00
Salvador E. Tropea 9c1d32fac3 [Debug] Added place where we use run_command 2022-09-27 11:01:44 -03:00
Salvador E. Tropea 5d6362f620 [Install checker] Added preliminar help for Arch Linux packages
- Not yet tested
2022-09-24 20:06:08 -03:00
Salvador E. Tropea 7acf971b55 [PCB_Print] Changed scale strategy to make it more similar to old
- Rounding the scale
2022-09-23 12:48:10 -03:00
Salvador E. Tropea 518d533887 [Fixed] Python 3.10 "Decimal" issue 2022-09-23 12:38:49 -03:00
Salvador E. Tropea 7ed371cd50 [Pcb_Print] RSVG 2.54 seems to solve scale issues
- So now we adjust the scale according to the resulting size,
  instead of assuming RSVG will do it always wrong.
2022-09-23 12:34:54 -03:00
Salvador E. Tropea 4f0e0cc9cf [Diff] Avoid warnings about no PDF reader 2022-09-23 09:47:41 -03:00
Salvador E. Tropea d5c398e04e [Dependencies] Avoid trying to remove older python versions
- Older packages could be installed at system level, so we will fail.
  Also: we don't want to remove what the user has, just have a better
  version.
2022-09-23 08:10:32 -03:00
Salvador E. Tropea 1042edbb0e [Update_XML] Correct error when using wrong value 2022-09-21 12:41:30 -03:00
Salvador E. Tropea 58b7958899 [Update_XML] Now you can check PCB and schematic parity
Related to #297
2022-09-21 11:33:26 -03:00
Salvador E. Tropea 7238539a29 [CLI] Fixed the -w option
- Missing member in simple filter

Related to #296
2022-09-21 08:21:53 -03:00
Salvador E. Tropea 82229e126d [Copy_Files] Made 3D models use the project path as base
- To avoid problems when KiCad is running from other place
2022-09-21 08:00:58 -03:00
Salvador E. Tropea dff7d9d299 [3D models] More flexible about relative dirs
- When solving a relative path accept it to be relative to the
  PCB or relative to the current working directory.
2022-09-20 13:42:06 -03:00
Salvador E. Tropea e2fdf87d6b [Copy_Files] Now you can copy the 3D models
- Also save a PCB modified to use them
- Changed the syntax so we can copy other stuff
2022-09-20 13:13:12 -03:00
Salvador E. Tropea 39eabd996f [Schematic v5] Better error message when mixing v5/6 files
Related to #298
2022-09-20 09:18:25 -03:00
Salvador E. Tropea 49b21c8e93 [DOCs] Made the filters for ERC/DRC vs globals more clear
- Now the KiBot ones doesn't mention KiCad versions
- If the user uses Wxxx for the `error` in the KiBot ones we filter xxx
- Added text to clarify how to get rid of W058 warnings
- Also now we report warning counts when all filtered

Related to #214
2022-09-16 10:16:20 -03:00
Salvador E. Tropea 098b38c462 [DOCs] Documented the error level for diff fail 2022-09-16 09:24:47 -03:00
Salvador E. Tropea 751e8e8c2f Removed debug messages in run_drc/run_erc 2022-09-16 08:45:27 -03:00
Salvador E. Tropea 67175dcbd9 Now the error about differences bigger than the threshold is more clear
- KiBot also returns a distinct error level.
2022-09-16 08:41:15 -03:00
Salvador E. Tropea e273d615f2 Fixed -w implementation issues
- Crash when not used
2022-09-16 08:13:10 -03:00
Salvador E. Tropea 252f10e8f3 Added command line option to specify warnings to be excluded.
- Useful for warnings issued before applying the global options
  (i.e during import).

Fixes #296
2022-09-16 07:48:22 -03:00
Salvador E. Tropea a8e48031c8 [Diff] Added mechanism to specify the PCB/Schematic in memory
- Now this is the default

Closes #295
2022-09-16 07:07:43 -03:00
Salvador E. Tropea de4daddc52 Assigned a number to the experimetal warning about missing refs
Related to #248
2022-09-16 06:21:24 -03:00
Salvador E. Tropea 0cf25c3295 Allow empty references in the generic filter
Related to #248
2022-09-16 06:17:34 -03:00
Salvador E. Tropea 4f54712a94 Added experimental option to accept CSV files without reference. 2022-09-15 14:05:24 -03:00
Salvador E. Tropea 5c825151b0 [Import] Global options are now "merged"
Close #291
2022-09-15 13:27:54 -03:00
Salvador E. Tropea 06152348ff Report unknown stuff in kibot/kiplot section 2022-09-15 12:57:00 -03:00
Salvador E. Tropea e49cbc2b93 [Global Ops] Added mechanism to give more priority to local globals.
- `imported_global_has_less_priority` in the KiBot section

Related to #291
2022-09-15 12:51:25 -03:00
Salvador E. Tropea 488f2dcbc2 [Global options] Now the global `dir` option also applies to the preflights
- Can be disabled using `use_dir_for_preflights`.

Closes #292
2022-09-15 09:33:57 -03:00
Salvador E. Tropea 74d8b57830 Moved the BaseVariants import to the place where we use it
- Seems to solve macros issues
2022-09-15 07:38:57 -03:00
Salvador E. Tropea 3e03228b7b [DOCs] Added help about the variant options
- Generated by a new command line `--help-variants`

Related to #257
2022-09-15 07:13:33 -03:00
Salvador E. Tropea 76742bb69f [Fixed] Problems when aggregating a CSV without footprint
See #248
2022-09-15 06:34:17 -03:00
Salvador E. Tropea e4ee39eadf [DOCs] Added details about what poor means regarding to worksheet
Related to #233
2022-09-14 13:33:38 -03:00
Salvador E. Tropea d51791f197 Added a warning whe we download 3D models 2022-09-14 10:58:05 -03:00
Salvador E. Tropea 446364fb32 [Fixed] Download datasheet abort on connection error
- Now it isn't fatal
- This is PR #290 applied to master

Closes #289
2022-09-14 10:45:06 -03:00
Salvador E. Tropea d01943ed87 Added support for 3D models aliases
- Also a global option to define them in the KiBot configuration

Related to #261
2022-09-14 09:38:47 -03:00
Salvador E. Tropea 418b74b2f3 Environment and text variables now can be used as 3D model aliases.
- Environment and text variables expansion is now recursive.
  So in `${VAR}` the *VAR* can contain `${OTHER_VAR}`

Related to #261
2022-09-14 07:30:13 -03:00
Salvador E. Tropea 23d46b9a10 [Fixed] --define wasn't allowed for --list
- So people couldn't use definitions and use --list

Fixes #288
2022-09-14 06:45:17 -03:00
Salvador E. Tropea 08a0628eff Added some basic preprocessing
- Now you can parametrize the YAML config.

Related to #233 and #243
2022-09-13 13:31:25 -03:00
Salvador E. Tropea 4cbb7a3405 [Fixed] 2D PCB processing didn't show in 3D targets
- I.e. solder paste not removed in the 3D render.

Related to #270
2022-09-13 11:32:27 -03:00
Salvador E. Tropea 87ce073e77 [Fixed][BoM] CSV detection 2022-09-13 11:01:57 -03:00
Salvador E. Tropea 6f2c4ccf24 [Globals] Added options to control which stuff is changed on PCB variants
- cross_footprints_for_dnp
- remove_adhesive_for_dnp
- remove_solder_paste_for_dnp
- hide_excluded (default value)

Related to #270
2022-09-13 10:44:07 -03:00