Salvador E. Tropea
68269c10f1
Avoid KiAuto warnings about missing project for pdf_pcb_print
...
This applies to cases using variants.
Now we copy the current project to the temporal location.
Closes #23
2020-10-24 16:25:09 -03:00
Salvador E. Tropea
de9628e5c1
Added columns configuration for position files.
...
You can customize which columns are used, their names and order.
Closes #22
2020-10-23 14:18:11 -03:00
Salvador E. Tropea
a623d9168c
Adapted to last KiCad 5.99 Python interface.
...
- SKETCH and FILLED are defined again.
- SetDXFPlotUnits type is now exported.
2020-10-22 13:03:31 -03:00
Salvador E. Tropea
1a77b2d007
Added support for build versions of KiCad compiled locally.
2020-10-22 13:01:53 -03:00
Salvador E. Tropea
263b9c41e4
Fixed log.init() errors when pcbnew/yaml modules aren't installed.
...
Also added tests for these cases.
2020-10-20 11:41:01 -03:00
Salvador E. Tropea
14cdd33c6d
Added support for the KiCad 6 default layer names.
...
Not deeply tested.
KiCad 6 support user names for technical layers, and assigns new
names to them.
2020-10-19 16:47:13 -03:00
Salvador E. Tropea
dbcbbfeb47
Fixed missing GS declarations.
2020-10-19 16:04:03 -03:00
Salvador E. Tropea
66e6bdf5b6
Disabled more line width code for KiCad 6.
2020-10-19 16:00:21 -03:00
Salvador E. Tropea
3977a55d4a
Fixed indentation
2020-10-19 13:36:49 -03:00
Salvador E. Tropea
8a87a677e2
Fixed plot constant names
...
Too much cut & paste
2020-10-19 13:36:02 -03:00
Salvador E. Tropea
4fff3d27e9
KiCad 5.99 no longer supports PCB_PLOT_PARAMS.SetLineWidth()
2020-10-19 13:13:21 -03:00
Salvador E. Tropea
3579080e15
Added workaround for KiCad 5.99 bug.
...
PCB_PLOT_PARAMS.SetPlotMode argument values (SKETCH and FILLED) are
missing.
https://gitlab.com/kicad/code/kicad/-/issues/6070
2020-10-19 13:11:30 -03:00
Salvador E. Tropea
127ad89483
Added the name of the error to the tests when it fails.
...
Not just the error level.
2020-10-19 13:10:24 -03:00
Salvador E. Tropea
9c876d5783
Removed dead code in macros.py
2020-10-17 16:51:17 -03:00
Salvador E. Tropea
d850bb8ffe
Merge pull request #19 from INTI-CMNB/try_mcpyrate
...
Replace mcpy by mcpyrate
2020-10-17 15:28:40 -03:00
Salvador E. Tropea
52a29c26d7
Implemented `de_activate` in mcpyrate.activate
...
This disables macros after loading the plug-ins.
Now the timing is 160 ms, 30% faster than `mcpy` and 4 times faster
than `macropy`
2020-10-17 15:01:21 -03:00
Salvador E. Tropea
307e553534
Added more info to the plug-ins load fail.
...
Trying to see why it fails (not in my docker image?!)
2020-10-17 12:03:33 -03:00
Salvador E. Tropea
2d55859782
Code style fixes (flake8)
2020-10-17 12:03:06 -03:00
Salvador E. Tropea
4538163e7e
Removed all the code related to Python cache.
2020-10-17 12:01:52 -03:00
Salvador E. Tropea
c29b5902c2
Enhanced the document macro coverage info.
...
- Recycled the s.value Str as @Technologicat suggested
- Added line number info to the target Name as I learned from the
experiments test,
2020-10-17 11:11:24 -03:00
Salvador E. Tropea
5a24d72772
Updated mcpyrate, now the time is 260 ms, just 13% over mcpy
2020-10-17 10:17:25 -03:00
Salvador E. Tropea
43278717e9
Updated mcpyrate, now the cache can be enabled.
...
This compensates most of the speed penalty:
macropy: ~650 ms (has cache)
mcpyrate no cache: 440 ms
mcpyrate: 290 ms
mcpy: 230 ms (no cache)
2020-10-17 09:48:07 -03:00
Salvador E. Tropea
17aafd88a0
Adapted the speed meassurement script
2020-10-16 19:26:07 -03:00
Salvador E. Tropea
087ef2bbb0
Trying to fix coverage details using copy_location
2020-10-16 18:58:51 -03:00
Salvador E. Tropea
17e75236da
KiCad 6 no longer has SetPlotPadsOnSilkLayer
2020-10-16 18:40:20 -03:00
Salvador E. Tropea
fec0091712
Added support for KiCad 6 to drill outputs.
...
I wonder why KiCad 6 doesn't provide a compatibility function for
GetAuxOrigin. The project seems to be trying to reduce the ammount
of code (removing old code) at the cost of breaking every existing
plug-in.
2020-10-16 17:04:37 -03:00
Salvador E. Tropea
ae9e889bc0
Added debug information to out_bom to detect the line numbers issue.
2020-10-16 16:32:24 -03:00
Salvador E. Tropea
7c7549e6d7
Changed mcpy by mcpyrate to test its functionality.
2020-10-16 15:32:00 -03:00
Salvador E. Tropea
235e4831a8
Avoid loading KiCad 6 schematics.
...
Waiting for the Python bindings.
2020-10-15 18:53:44 -03:00
Salvador E. Tropea
17dd1d1be6
Added support to detect KiCad 6 schematics.
2020-10-15 18:53:15 -03:00
Salvador E. Tropea
4a97885495
Added support for KiCad 6 error filters.
2020-10-15 17:00:58 -03:00
Salvador E. Tropea
9bb42eda9a
Added support for the new EDGE_MODULE name: FP_SHAPE
...
KiCad 6 is renaming part of the API without providing compatibility
aliases.
2020-10-14 16:08:21 -03:00
Salvador E. Tropea
d2913f0bb4
Normalized the warning numbers to be 3 digits
2020-10-14 16:05:18 -03:00
Salvador E. Tropea
257a6ff2fa
Added support for --mirror pcbnew_do export option.
...
It currently works only for KiCad 5.99
2020-10-14 12:34:00 -03:00
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
Salvador E. Tropea
c26481790a
Added support for filters to sch_variant
2020-09-01 16:55:36 -03:00
Salvador E. Tropea
0216fc93c7
Added support for filters and variants to pdf_print_sch
2020-09-01 16:54:51 -03:00
Salvador E. Tropea
05f14e2049
Removed the plural in variant.
...
Is just one. It can be complex, but one name.
2020-09-01 16:51:11 -03:00
Salvador E. Tropea
16aefbffb6
Removed debug print.
2020-09-01 16:49:51 -03:00
Salvador E. Tropea
7cd0ccafa1
Fixed component save method.
...
The first value of the redundant position is the unit.
Not always 1.
2020-09-01 16:48:43 -03:00
Salvador E. Tropea
744aa3b9c5
Added a simple output to generate filtered schematics.
...
They can display DNF components crossed!
2020-08-31 20:51:20 -03:00
Salvador E. Tropea
4cc8a0916f
Added filters to the variants.
...
So they have the same functionality than internal BoM.
I keep the (redundant) filters in internal BoM so users doesn't need to
create a variant just to apply a filter.
2020-08-31 20:49:41 -03:00
Salvador E. Tropea
7882cb0f4f
Moved internal filters to the base class.
...
So they can be used not only for internal BoM purposes.
2020-08-31 20:48:56 -03:00
Salvador E. Tropea
f12c7fc1ce
Removed code for testing.
2020-08-31 20:45:08 -03:00
Salvador E. Tropea
b0c014abe9
Added support to write schematics.
2020-08-31 20:44:34 -03:00
Salvador E. Tropea
094cf41e7b
Added support for Italic and Bold in Text* elements.
2020-08-31 20:43:52 -03:00
Salvador E. Tropea
a0db94d67c
Added support for cross to multi-part components.
2020-08-31 20:42:06 -03:00
Salvador E. Tropea
8b0247bf80
Fixed rectangle computation for pins.
...
Left and Right exchanged.
2020-08-31 20:41:02 -03:00
Salvador E. Tropea
6620779e09
Handled missing components.
2020-08-30 18:49:01 -03:00
Salvador E. Tropea
fee593c091
Added members to create the cache.lib
...
This is equivalent to the cache.lib, not the real one.
We can generate two versions, one normal and the other with crossed
components.
Now we need a schematic to use them.
2020-08-30 18:26:27 -03:00
Salvador E. Tropea
48be2fa749
Merge pull request #5 from INTI-CMNB/variants
...
Added Variants and Filters
2020-08-30 12:10:29 -03:00