A few small database things I have run across

I know everyone is busy with v7 rollout but just a few minor things (which could possibly just be me missing something):

  1. I have been refining my database, and added a table with power symbols. I only have minimal fields in this table (there is no mfg-num etc), and since power symbols do not need a footprint I don’t have that field either. I added the new table definition to the .kicad_dbl file, but in kicad’s symbol chooser I could only see the tables defined above this power symbol table (in the .kicad_dbl file) – it is as if the json parser just stopped at the power symbol table entry since it didn’t see a footprint definition and ignored not only the power symbol table but all tables defined below it as well. So I added the “footprints” line as shown below and then the whole json file was parsed properly. Note: I didn’t actually add a footprints column to the power symbol table, just added the hack footprints line in the .kicad_dbl file. I suppose the best way to handle this is to always have a footprint field in every table, whether needed or not.

  2. Adding a “visible_in_chooser” entry in the .kicad_dblfile such as:
    { “column”: “Package”, “name”: “Package”, “visible_in_chooser”: true },
    does not seem to do anything different whether it is left off (default false)
    or set to true. Perhaps I just don’t see it – I thought it would add a
    column beside the partnum and desc columns in the chooser.

  3. I have datasheets tied to most of my database parts with a ${KDS} prefix, and I
    define KDS via the Configure-Paths tool. If in the schematic I select a part and
    go to Symbol-Properties I can view the datasheet by clicking the little icon next
    to the datasheet name. However, if I open the Choose-Symbol dialog to select a part, I also see a clickable datasheet link that does not work properly – it tries to open it in a browser as a url.

This is on:

thx, gil

1 - with power symbols from database does clicking the icon:
works for you?
I wasn’t able to make it work, so i resorted having power symbols as a ‘normal’ library (i’ve tried some time ago, maybe something changed in the 7.0.0-rc2)

3 - yes, same here craftyjon confirmed that. It’s unfortunate since in my case, most of the time i check the datasheets during placement of symbols, so having a working link in the symbol chooser can be very handy.

there is some not uniform behavior also in the hypertext of strings (i think is not related to the db stuff).
i’ve tried several different approches, some works other don’t:

Claudio: I have never used the power-sym selection icon on the kicad right side toolbar. In v6 I had all of my power symbols in my library and used symbol-chooser to place them. Now with v7 and the database I still use symbol-chooser to access them:

It is just that I had to put “footprint” in the json file or the parser did not load the power-sym table (or any other tables below it in the json file). It is not a big deal to work around, and it does not affect most tables (which of course include footprints). The power symbol is a special table and I have it separate as I have about 60 entries.

I have one other special table (with no order info or bom fields at all) I call MiscNonParts, where I have testpoints and wirepads, jumpers, mounting holes, fiducials, schematic-only symbols, and pcb-only symbols:

This is an odd collection as they have different needs, but it is a good place to toss them all. Testpoints/wirepads and Jumpers do appear on the schematic circuitry, and have a footprint, but there is no part to put on the bom. Mtg-holes, fiducials, and pcb-only symbols are not a part of the schematic circuitry, but need a little symbol just to place them, which I stick into my “Other” schematic page. Well, mtg-holes with pads get connected to ground or something, so there is a little bit of circuit connection on the Other page. Schematic-only symbols are the only one in this table that have no footprint. I could have also jammed power-symbols into this catch-all table but just wanted it separate for quicker access.

So my three little issues:

  1. no footprint in table – yeah, just don’t do that.
  2. “visible in chooser” – still no idea what this does
  3. datasheet link in symbol chooser – sounds like a known issue

Let me add one more oddity:

  1. If you select a part via the database, plop it into the schematic, update the pcb, all is well and generating a bom pulls the order info that you defined in the database record for the part. Fine and dandy. Now select the symbol on the schematic, change the footprint in the symbol properties (E), update pcb, and everything looks proper. However, now the bom will be wrong as it has the old part info. In most cases you will never do this, but say you want to change a 2-pin 100mil header to a 2-pin 2mm header – you need to delete the current part and choose the new part via db-symbol-chooser, and reconnect in schematic (and not just change footprint in symbol properties). Maybe some master mode selection like “Enable Database Mode” could provide logic to enable/disable things appropriately, but I realize that we are early in the database feature.

These are all minor fyi sort of things.

Please open these kind of requests (like #3) on the issue tracker, otherwise we will never remember them.

“visible in chooser” currently only affects the first time you install a library. If you have already installed the libray, continuing to edit the kicad_dbl will do nothing. This is because you may have customized which columns you show in the chooser (by right-clicking) and we don’t want to erase that customization and replace it by what is in the kicad_dbl file.

I don’t know where the issue tracker is Jon – do I need a github acct for that? Never messed with git.

You will need an account on gitlab.com – you can either create one there, or sign in using an existing account with Google, GitHub, or a few other places.

Also, I am not really sure I understand what you mean with your point (4). Are you saying you want “database mode” parts to be locked for editing, preventing you from making any changes? I don’t think we will be going this route.

I am just saying that you can break the database workflow and corrupt the bom. A simple case: new project, add a 2x5 100mil header two times. Update pcb from schematic and looks as expected. Then generate BOM from schematic and get:

Now say I wanted one of those headers to be a 2x5 50mil cortex programming header. Instead of deleting the symbol and adding the correct one, I drift back into pre-database workflow and select/edit the symbol and change the footprint in the properties dialog. I update pcb, and see the new connector and all seems fine, until I generate a new bom – the description/datasheet/manufacturer-part… is all wrong (only the footprint has changed) since I did not re-place this part via the database:

Database users will need to get used to a new way of working to not make mistakes like that. I was just saying that if I could tell the program I was in “database mode” it could prevent or alert when someone attempts something like this that breaks database workflow. This is more of an fyi thing than a feature request.

KiCad does not want to have an opinion on what your workflow is, so we’re not going to have a “database workflow” dictated by KiCad. You are right, if you as the user start editing parts you can get into trouble. This is why there is an ERC check for “symbol on schematic does not match the version in the library” though.

Ahh, I will need to re-visit erc then, which I really had not found insightful in the past. Thanks.

for 3) i’ll file a issue request tomorrow when i’m at the office.

1 Like