Cannot select custom component values from shared hierarchical schematic sheet
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Unknown
|
Bug Description
Running current KiCad for MacOS version 5.0.2.
I have some schematics that I converted over to a hierarchy with a reusable block saved as an individual schematic file. I instantiate this sheet multiple times on a root sheet, with multiple unique sheet names, but a shared underlying schematic file.
When I annotate this root sheet, each sub-sheet gets specific component designations, which is correct. Changes to the underlying sheet propagate to all instances of the shared 'children' as expected. However changing the component value also changes it in all instances, which isn't correct.
For example, if I create a simple RC low-pass filter as a shared schematic sheet, with a single resistor and capacitor, and instantiate it twice with hierarchical sheets in a root schematic, then use the annotate tool to assign component designations, I see it assigns R1/C1 to the first instance, R2/C2 to the second instance, etc.
When I assign PCB footprints, I can assign individual footprints to each of these components, even though each RC pair belongs to the same 'logical schematic'. When I generate a netlist for pcbnew, I see each individual instance of R1, R2, C1, and C2. Looking at the .sch file in a text editor it appears that eeschema 'collapses' the hierarchy into the root schematic as I would expect.
My current workaround it to assign a value of "FIXME" for the part values that are different, then assign all footprints in the footprint assignment tool, then generate a netlist for pcbnew. After this, I manually edit the .net file, and replace the "FIXME" text using a text editor to the real values that I intent to use in the layout for each individual component, which appears to work properly, although it is a pain because I have to go through this process every time I make a change and forward annotate through to the pcbnew layout program.
Why can't each component have a unique tuple of name, value, and footprint, given the schematic file representation appears to support this already (at least for names and footprints)?
Changed in kicad: | |
importance: | Wishlist → Unknown |
status: | Expired → Fix Released |
This is how hierarchical sheets have ever been in kicad. But yes a more flexible implementation that allows changing things other than the reference designator might increase the usefulness of this feature.