KiBoM icon indicating copy to clipboard operation
KiBoM copied to clipboard

bom.ini file does not support "True"

Open peter-jensen opened this issue 5 years ago • 10 comments

The generated "ini" file contains the two lines: hide_headers = False and hide_pcb_info = False, however, setting the values to "True" does not work. I.e hide_pcb_info = True does not work.

peter-jensen avatar Sep 27 '19 20:09 peter-jensen

"hide_pcb_info = 1" works, However "group_connectors = 0" does not work.

peter-jensen avatar Sep 27 '19 21:09 peter-jensen

Is there any way to deactivate "group_connectors" at the moment? I get understable errors because to parts with the same footprint have different descriptions. Is there any workaround for that?

Also it seems, that everytime I start it, it generates a new bom.ini file

Halbelunge avatar Jun 08 '20 14:06 Halbelunge

@schneidersoft solution is correct. These options has some inconsistencies in the write part, that's why the are "False" and not "0". I fix it and other incosistencies in: https://github.com/INTI-CMNB/KiBoM/pull/11 I'll PR this change when @SchrodingersGat merges my other PRs. This is because I also fix code that is inside the pending PRs (#112 in particular).

set-soft avatar Jul 20 '20 22:07 set-soft

Is there any way to deactivate "group_connectors" at the moment?

Did you try the following?

group_connectors = 0

In the current code anything different than '1', 'yes' or 'true' (case insensitive) will disable it.

Also it seems, that everytime I start it, it generates a new bom.ini file

Yes, if bom.ini is absent is created again. Like some virus ;-) I don't like it, but is part of the fact that the script is designed to work as a "magic" plug-in to KiCad.

set-soft avatar Jul 20 '20 22:07 set-soft

Yes I tried exactly this. Had no impact, at all.

Halbelunge avatar Jul 21 '20 10:07 Halbelunge

image

What I did, was this in the end, So it stops the grouping, if it starts with a "J" what indicates most of times connectors.

Not pretty, but worked for the moment :)

Halbelunge avatar Jul 21 '20 10:07 Halbelunge

Do you have a small example to reproduce this problem? I failed using a trivial example.

I used the following netlist: connectors.xml

It contains 4 connectors with 4 different names, but using 2 different footprints.

Then I tried without a configuration file and got:

Component,Description,Part,References,Value,Footprint,Quantity Per PCB,Datasheet
1,"Generic connector, single row, 01x06, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x06_Male,J1 J2,Bizarre Bus,PinHeader_1x06_P2.54mm_Vertical,2,~
2,"Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x04_Female,J3 J4,Bla bla connector,PinHeader_1x04_P2.54mm_Horizontal,2,~

Then I tried with the following configuration file: no_group_connectors.ini And got:

Component,Description,Part,References,Value,Footprint,Quantity Per PCB,Datasheet
1,"Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x04_Female,J4,Another connector,PinHeader_1x04_P2.54mm_Horizontal,1,~
2,"Generic connector, single row, 01x06, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x06_Male,J1,Bizarre Bus,PinHeader_1x06_P2.54mm_Vertical,1,~
3,"Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x04_Female,J3,Bla bla connector,PinHeader_1x04_P2.54mm_Horizontal,1,~
4,"Generic connector, single row, 01x06, script generated (kicad-library-utils/schlib/autogen/connector/)",Conn_01x06_Male,J2,Output crazy,PinHeader_1x06_P2.54mm_Vertical,1,~

You can try them in my fork running:

make test_local

You'll get an output directory containing the results of the tests in GroupConnectors and NoGroupConnectors subdirs.

BTW, the results of the current test can be downloaded from the GitHub Actions, i.e. Test_Output.zip

set-soft avatar Jul 21 '20 16:07 set-soft

So this is the thing that I exportet via the BOM dialog in KiCAD. In the bom.ini is

; If 'group_connectors' option is set to 1, connectors with the same footprints will be grouped together, independent of the name of the connector group_connectors = 0

So it should not group the connectors. If you look in the .html at position 7, you see that J1 J6 J11 are grouped, even if they should not. Is used your stock version. I am not sure how I parse your test xml from Kicad. OpenBikeSensor_pcb.zip

Halbelunge avatar Jul 24 '20 20:07 Halbelunge

Ahh I see what the difference is. I have for all three connectors the same value. So it does not split them because of this.

I dont know if this is intended. But I think it should decide it on the designator "J" or rather on a set of configurable designators.

Halbelunge avatar Jul 24 '20 20:07 Halbelunge

The [GROUP_FIELDS] section controls how to group components.

Common practice is to use the Value field of connectors to describe what they are i.e. "Power"

This is why we need the group_connectors option, so they are grouped. If you want to separate them put the comment (bemerkung?) information in the Value. Or use another grouping criteria (i.e. the manufacturer part number).

set-soft avatar Jul 24 '20 22:07 set-soft