Commit Graph

107 Commits

Author SHA1 Message Date
Salvador E. Tropea 86ead74c27 Added KiBot warning filters.
- Closes #15
- This patch also changes the logging initialization, that was broken at
  some recent point.
- Also adds tests to ensure the mechanism used to avoid repeated
  warnings is working.
2020-10-12 16:31:47 -03:00
Salvador E. Tropea c8e81a4668 Added numbers to all the warnings 2020-10-09 18:33:51 -03:00
Salvador E. Tropea 1aee407cb9 Fixed KiBom variants special cases.
When using multiple variants and a components used more than one,
specifying oposite rules.
2020-10-09 16:00:52 -03:00
Salvador E. Tropea 71fe37cfc6 Support for new `pcbnew_do export` options. 2020-10-09 11:27:30 -03:00
Salvador E. Tropea 5a50477f7c Sorted the DNF/DNC values in the docs. 2020-10-09 11:23:40 -03:00
Salvador E. Tropea 43bf78bfb9 Added some help about filters and variants. 2020-09-28 19:25:04 -03:00
Salvador E. Tropea 659ae27e7b Fixed small flake8 details 2020-09-21 20:02:50 -03:00
Salvador E. Tropea 7a7fc0a87d Fixed log warning detail.
Cases when % was in the string but not for C style.
2020-09-21 20:02:03 -03:00
Salvador E. Tropea ec1e6f6e02 Fixed debug log entry that wasn't removed. 2020-09-21 19:37:10 -03:00
Salvador E. Tropea c59c31fb6e Added support for KiCad v6 to the position output. 2020-09-21 19:17:31 -03:00
Salvador E. Tropea 93863788e7 Better log.warning messages
- Corrent source for Python 3.8+
- Support for C style formatted strings
2020-09-21 19:15:44 -03:00
Salvador E. Tropea ed7eae0338 Added support to load pcbnew from nightly. 2020-09-21 19:14:31 -03:00
Salvador E. Tropea 27e4c23236 Added support for reference separator in BoMs.
So you can get things like "R1, R2, R3"
From the following PR: SchrodingersGat/KiBoM#139
by @n0dyjeff
2020-09-19 17:35:31 -03:00
Salvador E. Tropea 1ed960d045 Replaced dicts used just to test membership by sets. 2020-09-12 12:50:16 -03:00
Salvador E. Tropea f131be6bd9 Bumped version to 0.7.0 2020-09-11 17:55:03 -03:00
Salvador E. Tropea af567b611f Bumped version to 0.7.0rc2 2020-09-11 12:54:33 -03:00
Salvador E. Tropea bef2203b24 Changed the layer number used to disable *.Adhes
Using undefined generates errors.
Now using "Rescue" layer.
2020-09-11 12:51:33 -03:00
Salvador E. Tropea 80005f2871 Fixed: solder paste and adhesive glue should also removed for print 2020-09-11 12:50:14 -03:00
Salvador E. Tropea 5be4a64293 Bumped version to 0.7.0rc1 2020-09-10 16:03:03 -03:00
Salvador E. Tropea f38b63236d Avoid repeating the same warning.
Also report a warnings count.
2020-09-10 15:50:53 -03:00
Salvador E. Tropea 6b21f00a65 Removed extra blanck line. 2020-09-10 15:47:18 -03:00
Salvador E. Tropea 512776ce8e Added a mechanism to set a default variant for all outputs.
It can be used to overwrite the output file template too.
2020-09-10 12:56:53 -03:00
Salvador E. Tropea 709d6facb9 Fixed warnings when printing a schematic variant.
We use a temporal copy of the schematic in a temporal dir.
So now we add a dummy .pro file to avoid warnings.
2020-09-10 12:54:43 -03:00
Salvador E. Tropea c522fa003e Fixed problems with 3D relative models in STEP output
When using a variant and one or more 3D models were stored in a
relative path the STEP file didn't contain them.
This is because we use a temporal PCB and it was stored in /tmp
Now is stored in the same directory as the real PCB.
2020-09-10 12:52:07 -03:00
Salvador E. Tropea b03b56ae5d Added more coherence to the variants/filters.
- Now they behave more coherently across outputs.
- Component status is explicitly reset, so having a variant + filter
  behaves in a more consistent way. Even when this isn't the
  recommended use.
- Virtual components are handled by the exclude filter.
- Moved code to modify the PCB to VariantOptions.
- Added a real virtual component to the tests, not a ridiculous case.
2020-09-08 20:01:16 -03:00
Salvador E. Tropea 23e46df1c5 Added variants support to the PCB print (PDF)
Needs some adjustement, but is working.
2020-09-07 19:26:16 -03:00
Salvador E. Tropea 0e394b468b Added variants support to the schematic SVG print. 2020-09-06 18:22:38 -03:00
Salvador E. Tropea 64f50d2a07 Moved repeated code related to variants to a base class. 2020-09-06 17:36:29 -03:00
Salvador E. Tropea f7e8033a09 Make clear that KiBoM output doesn't support KiBot variants.
The internal BoM can be used instead.
2020-09-06 12:03:55 -03:00
Salvador E. Tropea d719718eca Moved KiBoM default behavior to the KiBoM variant.
So it can be applied to other outputs.
2020-09-05 18:58:26 -03:00
Salvador E. Tropea 1163d28e71 Added "Not " prefix to negation filter names. 2020-09-05 18:56:01 -03:00
Salvador E. Tropea 7e5791fcfa Added variants to the IBoM output. 2020-09-05 17:48:25 -03:00
Salvador E. Tropea d09400d49d Added support for variants to the PcbDraw output. 2020-09-04 18:08:22 -03:00
Salvador E. Tropea dab7baa2d4 Fixed show_components validation in out_pcbdraw.
The same error could be in other places.
I had to change the internal logic in Optionable.
The old code allowed invalid values to be used.
2020-09-04 18:06:17 -03:00
Salvador E. Tropea cf46a8ba86 Added variants support to the STEP output.
3D Models of excluded components are removed.
2020-09-03 18:50:30 -03:00
Salvador E. Tropea b36e276969 Added crosses in the *.Fab layer for excluded components. 2020-09-03 17:17:08 -03:00
Salvador E. Tropea 8bf0a13210 Remove filtered components from the *.Adhes layer.
All shapes in the *.Adhes are removed.
2020-09-03 12:29:04 -03:00
Salvador E. Tropea c56af11007 Added variants to all the PCB plot outputs.
Tested for gerbers that are currently excluding pads from *.Paste.
2020-09-03 11:11:03 -03:00
Salvador E. Tropea 26ee971e26 Added variants suport to out_position
Also: we never include virtual components.
2020-09-02 18:08:50 -03:00
Salvador E. Tropea d681528a03 Fixed: SCH load and PCB components consolidation reuse.
The code did the tasks over and over.
2020-09-02 18:08:04 -03:00
Salvador E. Tropea 712d135df5 Fixed: if no filters are applied we must reset the fields.
Added funtions to apply the filters
Moved code from bom.py to out_bom.py
2020-09-02 18:07:38 -03:00
Salvador E. Tropea 9558f7cf45 Added test for rogue component in PCB. 2020-09-02 15:16:23 -03:00
Salvador E. Tropea 42562185ea Added filter options using PCB attributes.
KiCad 6 will break this, we'll see how to adapt.
2020-09-02 14:48:26 -03:00
Salvador E. Tropea 0a6fdccb1d Removed dead code. 2020-09-01 20:32:41 -03:00
Salvador E. Tropea 0b3c36d11a Fixed the DrawText.write method
Was writing an extra quote
2020-09-01 20:31:41 -03:00
Salvador E. Tropea 76ea47c04f Now the default exclude filter excludes ref == '#*' 2020-09-01 20:30:34 -03:00
Salvador E. Tropea 12534d8202 Added new filter criteria: exclude ref == '#*' 2020-09-01 20:29:49 -03:00
Salvador E. Tropea 9ebf18ba11 Added new basic filters.
`!` is always False
`_none` is no filter
2020-09-01 18:48:45 -03:00
Salvador E. Tropea 563c00cc5b Enabled the variants exception catch.
Now the variants configuration can raise exceptions.
2020-09-01 18:47:38 -03:00
Salvador E. Tropea 8a2810fd8d Added support to remove the filters of the internal BoM. 2020-09-01 18:46:59 -03:00