kicad-developers team mailing list archive
Mailing list archive
Re: Back annotate references from PCB
Wayne Stambaugh <stambaughw@xxxxxxxxx>
Wed, 6 Nov 2019 08:26:52 -0500
addr=stambaughw@xxxxxxxxx; prefer-encrypt=mutual; keydata= mQGiBEM0hxQRBAC2fNh3YOVLu1d5GZ0SbrTNldGiGnCJPLqzEnqFX9v6jmf33TMt6EmSLkl6 Wtfkoj0nVwKxcYmJkA8DX0QAokBkwNIzhSsBzQvthBLIk/5LnPVVKrEXOcL4mUyH1doKlkaE slgJozNa6Av+oavcvD02o1zJOloBbaHlNlyRt7fKswCgtIFlVjWggVH/15KfWk+Qo5JVPbME AIUBAQyL2OAx0n60AWec2WHnO9buHuG0ibtICgUMkE+2MRmYyKwYRdyVwGoIUemFuOyHp0AJ InX4T+vy2E7vkwODqjtMLfIoRkokW74Fi4nrvjlhOAw/vdq/twLbAmR9MOfPTpR4y7kQy1O2 /n+RkkRvh26vTzfbQmrH7cBJhk6aA/9Uwvu3E4zNJgHVZeS0HyWtmR1eOPPRbnkPgJTToX5O KMKzTJI/FX6kT7cFoCamitHrW3BJP4Dx+cMMsa47EGxqVTdbVJ4LjogsXTXxb+0Fn1u4zBdx x3Cer6O7+hqWy7zvpzeC6nSREjqDKa5CgHtv/GLm5uFPOmsjAsnHj2tlBrQmV2F5bmUgU3Rh bWJhdWdoIDxzdGFtYmF1Z2h3QGdtYWlsLmNvbT6IeAQTEQIAOBYhBOffs6CbblRzBkv33BtR cWlZ+CReBQJbFBS2AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEBtRcWlZ+CReMI8A nRbrLkzp7+c2f0vX7sfg4ICX8LAKAJ9uClo4uJajmZa5zZrL2nKdZlUwIrkCDQRDNIcxEAgA gCru+3/aOC6RCjpvYC72wY+d5SmHphC6yeiV2/mOumyt5MLo/Ps2GznZr11JspqFk5K/Zpvp MMLqqjDZ39+50a2iKRQFJ6NlK+hJWMmj6eJygQrCwYo3Gjc6CqfrqUv+8VSnf/i5sIZmtOVA 4ZjML18MuBvMSsNdVLFJd5HNnYb1iOECpvqdPVh/21LLCEw7MUUGGnHBhCrmk2aJe5hFmcSN g4ldBcXrgMQBwf7aMVoobXBMFDb/IENByXn0llB7Gr2IFMRmNS9/p8s/II1Yl2bTqyX4FSz8 cfn7C9KEz7faZ7wzAcpwHFC/zs3JoAjJ0IEKdNUpIwAlKMzT3CzctwADBQf/cxpG28MKyrqk nNmq/8LQLy+x6FSYXBLjxQz9BiBNYeesDZQ6J5UbL1mjpJzMa5tLZypPYo4bbGyR22hrbyDF K7m6AcVaMIJKl98g4ukMutFfAJyRDaREH5Zl/X1P4u1Z/yaAIy9mKaNbaK1/5djNJ5wCTFen TUgAp9xdc30kGkFDdLJFp5uxDY4P0vaZiZdjUCvDM3Zjv5IzpNOfxVqTUBQNUP/BnnKhkk0p DTD6s3X8S+D0rOtEBQ8K0cwERI/E8EFa8nj0TNw4e2MYGR8wg+SxqJ7z5f0zPY0bO6G9DDFB wYCqzzPWGqdAh9vA5971TAbPERtdFybhkurozp2SfYhJBBgRAgAJBQJDNIcxAhsMAAoJEBtR cWlZ+CResHUAniULLCWiT26ieRTl7N2vS6vBo/DuAJ4m7Ss/gyiW6ybTn1ctDXAUgm2QVQ==
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
On 11/6/19 5:39 AM, Alexander Shuklin wrote:
> Hi all,
> I used some Python script to renumber components in PCB and annotate
> it back to schematics. I think now it's usually done by parsing .sch
> file as a plain text and re-writing references inside.
This is fine for your own personal use but this would not be an
acceptable solution for inclusion into KiCad.
> May I implement some back annotation feature from PCB to schematic?
You are welcome to contribute to KiCad. I suspect it will not be as
easy as you think it will be. Complex schematic hierarchies (using the
same schematic more than once in a design) always trips up new developers.
> I looked a bit and probably easiest way - to add a new option in
> "Import->Footprint Association File" in eeschema. Something like
> "update references according timestamps". And get information about
> references and timestamps from .cmp file.
This also would not be an acceptable solution. We are doing away with
intermediate files and using the internal message passing features
present in the code base. You'll want to take a close look at
KIWAY::ExpressMail() and KIWAY_PLAYER::KiwayMailIn() and where they are
used in the board and schematic editors. This is the method for passing
information between the board and schematic editors (actually any object
derived from KIWAY_PLAYER).
> I would be happy to join you and discuss that at the FOSDEM, but
> unfortunately I cannot go there ;'-(
This is unfortunate. Being able to work directly with on of the lead
developers would have made this task a lot easier to understand. You
are always free to reach out for help on this mailing list.
> And second question, sorry if it's stupid: If I want some new feature
> in KiCad, what do I do first? Write here and ask like "Hi, I want to
> implement that."? Or should I use some other stuff like IRC? Or first
> I do patch and team will look if that's useful?
You got it right. This is the place to ask all development questions
related to KiCad. You also get kudos for asking before you started
coding. This is mistake a lot of developers make. Asking first
prevents you from working on something that someone else may already be
working on and writing code that would be immediately rejected (in the
case of your solution using intermediate files). You've already saved
yourself the time and aggravation of not having to rewrite any code.
That being said, I think someone was or is working on something similar
to implement a tool to reassign references base on the board geography
and then back annotating the schematic. This would have a lot of
overlap with what you are proposing so you may want to collaborate with
that person. Off the top of my head, I cannot remember who is working
on it but hopefully they will chime in.
The preferred method for small changes are patches created using `git
format-patch` and attaching them to an email to this list. For larger
changes which might include what you are proposing, please use the merge
request feature on Launchpad. We have a coding and a commit
message format policies that all developers are expected to follow.
We provide a simple commit hook tool for git that makes following the
coding policy easier.
> I'm quite new to open source and still not sure how to behave if I
> want to do some improvements
You are off to a good start. The most important thing apart from your
coding skill is to be willing to cooperate with the development team.
Good luck and thank you for your interest in contributing to KiCad.
> Best regards,
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp