Bus Automatic member inclusion/listing

Hello everyone.
Since i am make relative big schematic for work and i am using hierarchical sheet i am using busses to input/output the signals from differents sheet.
Normally i use the method File/schematic setup/Bus Alias i found that can be big improvements this tool.
The first that i can note/suggest is that i cannot reorder the items (alphabetic, prefix, or arbitrary). Here is a point to improve
Second, that i can comment/suggest is an automatic member inclusion/listing.
For example if i draw the next thing:
Bus DATA>----------\D0 (element)
Visually we understand that the bus data have an element called D0, but in kicad we need go to the alias manager and add it manually. I think that this can be an automatic task.
In Reverse mode, when i place an output can be great if appear a item list to pick one.
In few words can be, placing the label if the name is new then add, if i dropdown then select one preexistent.
Third, The bus manager is a blocking window, need to be a panel or a working window. To watch in one monitor (the item list) and work in another monitor placing the outputs.

Changing of theme: The BOM generator is great, the integration with parameter manager is good. Since i use the function “exclude from bom” i confuse a bit when the items will be listed or not.
Thanks you all, i place this with the hope of help the kicad project, a positive feedback.
Best Regards
Christian

Entering new members in the Bus Alias Definitions lists is indeed quite cumbersome. Personally I would much more like it if this was a multi line text edit box, so you can easily copy / paste multiple names (For example also between a spreadsheet and KiCad). Being able to sort the list would be nice too, but you should not assume the list should always be sorted.

I have some difficulty what you mean with the following section. I guess you are struggling a bit with translation between Portuguese and English.

Yes, when using the Bus Alias Definitions list, you do have to edit the list in the schematic setup.

Are you aware of the Foldout from Bus in the popup menu (Right mouse click on a bus). If you first create the list of aliases, you can use this to place wires on a bus without having to type or remember the exact names.

image

In the screenshot below, the I2C is expanded to SDA and SCL in the Unfold from Bus, and Schlabs was entered as a separate name in the bus name label. If you connect a wire to a bus that is not a member of the bus, then ERC gives an error. Such members are not automatically added to the bus, and this is done by design.

Blocking windows are a nuisance in KiCad. I also hope this will get fixed at some time, but I have no hope this will get done in the near future.

Dear Paul:
About the “bus manager”, i agree with you. Yes The order can be arbitrary, but even we need manage the final order since sometimes we add a new member at middle of work, and the element go to the end of the list. An textarea to copy-paste? Great i agree.
Excellent the unfold function, i dont know this function.

I clarify my cheaper text:
imagen
If i draw some like the image, the desired function is that the entry “Out0” be included automatically into “GPO_3v3” bus.
That is, it is not necessary to enter the bus manager to write down the members of the bus.

KiCad has made a deliberate choice to not do this.

Are you familiar with vector buses and group buses.
You can create a bus alias with the name GPIO_3V3 and then in the bus members add OUT[0..7] and this makes all 8 members a part of the bus.

I suggest you take some time to get familiar with the Foldout from Bus function. With that you only have to type bus member names once (in the alias list).

Modifying the alias list is indeed a bit of a nuisance. I guess this will be improved over time. KiCad is a very active project. Each month between 200 and 300 (sometimes even more) issues get fixed on gitlab, but just as many new issues get opened too. That is 10 issues each and every day, including weekends! As an open source project, the amount of available time from the developers is limited. There are many known limitations in KiCad and around 1500 open issues waiting for implementation or review. Some of these may get fixed with an hour of programming time, others may take a year or more to implement a singe feature.

Is sad read this, in complex buses I lost a lot of time entering to a “setup” when the buses/members are part of the schema and not of the setup. Altium has included and really speedup the work

Yes, i use this method:

To end, thanks for your words Paul. And my reports should not be seen as reproaches or complaints. Just as contributions to help project.

I have no experience with altium. A workaround in KiCad is:

  1. Just draw the buses and bus connections as you like it.
  2. At some later time run ERC.
  3. While the ERC window is open, also open the bus alias list, and add all the missing names.

Also, KiCad’s implementation is not set in stone. Maybe at some future time a way to do this may get implemented.

What I usually do is this:

I place the bus on a spot where it sorta comes out of the schematic sheet. I use Unfold from Bus to make to add the labels. Than I draw the labels on a spot where they connect with the MCU in this case.

However, sometimes it is faster with vector busses to place one label by and use insert key alot.

Main advantage is that the order is not really important. What I would like is that I can unfold all labels at once. I don’t believe this is possible yet?


Even more would I like that I can insert the bus alongside his members as shown in above image

Entering new members in the Bus Alias Definitions lists is indeed quite cumbersome.

True, but you can alter your workflow so you have to do this less often.

You can make yourself a default template. If you start a new KiCad projects, just copy past your template project. Or whatever means KiCad has concerning templates. This template you should keep up to date whenever you create a new bus alias in some project.

The idea is that your template will grow with aliases with every PCB you make.
I do this alot for schematic sheets and pre-routed parts of board I can recycle.

An other option is to import the settings from this template project. This is what I do. If I import my template I can use the {I2C} bus without having to make the alias first.

And yeah sure, you will always have some buses which are just married to that one single project. I am in favor of your idea to automatically add members to the bus when you create a new label. Or a ‘make new member’ option when you right click a bus or something…

Kind regards, :coffee:

Bas

Please i will ask something: What are vector buses? Is when the name the nets and incorporate to the bus as: D0… D7 as D[0…7] ?

Sorry for the question, but if i search vector buses on google appear a lot of buses with wheels to transport people o

1 Like

that’s ok.

Is when the name the nets and incorporate to the bus as: D0… D7 as D[0…7] ?

Yes, this we name a vector bus.

1 Like

Then i use it. Thanks you.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.