Hi Andras-

Push your branch to a draft Merge Request for discussion.

In general, relaxing this sort of antiquated constraint is a good thing.
However, there are many places that KiCad expects a prefix+number, so
ensuring that you've addressed them all will be key to accepting this
change.

Some things to consider: How do you reannotate a schematic?  If we know
that a refdes ending in a number is annotated, then the number can be
stripped and re-assigned.  If we don't, then we need some other way to know
what the proper prefix is.  This would entail storing the prefix separately
from the reference (see https://gitlab.com/kicad/code/kicad/-/issues/12079
for some more discussion)

Seth

[image: KiCad Services Corporation Logo]
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬
Long Beach, CA
www.kipro-pcb.com    [email protected]


On Tue, Sep 3, 2024 at 11:46 AM Andras Tantos <[email protected]>
wrote:

> Hello all!
>
> My name is Andras Tantos. I'm new to this group, but a relatively
> long-time user of KiCAD. I would like to suggest a change to the way KiCAD
> determines if annotation is needed for a schematic.
>
> *Right now* the behavior is that if any reference ends with a '?' or not
> end with a number, the schematic is deemed not fully annotated. Since only
> fully annotated schematics can be synchronized, this prevents updating the
> PCB from the schematic.
>
> *The suggested new behavior* would be to relax this and only deem the
> schematic unannotated if more than one component has the same reference, or
> if any of them have a terminal '?'.
>
> *Examples:* placing a single capacitor with reference 'C' would be OK.
> Placing a second capacitor with the same reference would now force
> annotation. If the reference of the first capacitor is changed to
> 'BYPASS_C', the schematic would be considered fully annotated. If a
> capacitor with reference 'C?' is placed, the schematic is considered
> unannotated until the name is changed, even if only a single such entity
> exists.
>
> Obviously multi-part symbols allow replication of reference. So, if U_CPU
> has two units (A and B), that's fine. If there are two unit A-s with the
> same reference (U_CPU again for the sake of argument) that would trigger
> annotation.
>
> *Why?* This annotation logic aligns better with other packages such as
> Altium. Apart from the user-education part, this is important for imported
> projects: these schematic and PCB files can violate assumptions about
> component naming after import and would be impossible to synchronize
> further changes between PCB and schematic.
>
> *Why not?* It's a change to existing behavior. Things that didn't work
> before would start working and can cause confusion. Libraries are usually
> developed with no '?' in the reference name, so as long as a single
> component is placed on the schematic no annotation would be triggered. This
> could potentially be confusing for users.
>
> I have created a fork where I implemented this change. It seems to be
> working (CI is still running) and is ready for a pull-request. I wanted to
> have a discussion about it before submitting it though.
>
> Thanks,
> Andras
>
> --
> You received this message because you are subscribed to the Google Groups
> "KiCad Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/kicad.org/d/msgid/devlist/6af07dfc-2ccb-46d2-9fb5-73bc7516ac95n%40kicad.org
> <https://groups.google.com/a/kicad.org/d/msgid/devlist/6af07dfc-2ccb-46d2-9fb5-73bc7516ac95n%40kicad.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/CAFdeG-pB5iWAmRgLv66jW2uyjTtdWu76Ov89Mx1op1CvxjxYqA%40mail.gmail.com.

Reply via email to