kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #42720
Re: Back annotate references from PCB
-
To:
Alexander Shuklin <jasuramme@xxxxxxxxx>
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Fri, 22 Nov 2019 09:16:23 -0500
-
Autocrypt:
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==
-
Cc:
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CAD--COd71koPaX4DpV1caV4MCAM29XkX6Kx-B1KKe+bBEbDt9A@mail.gmail.com>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
There is no need to create your own dialog. Just call the update board
from schematic function before you back annotate. You will have to make
a temporary copy of your board reference changes because updating from
the schematic will clobber any reference changes in the board.
On 11/22/19 9:13 AM, Alexander Shuklin wrote:
> Hi Wayne,
>
> I don't want to start PCB update from eeschema straight away, because
> if you run back-annotation, you already changed some references in
> layout and you gonna lose it. And probably you can get some footprints
> which are not connected to any of components in schematics as there's
> possibility in pcbnew to create them. What I almost done is reporting
> about all errors in dialog (I currently use annotation dialog in
> eeschema, but I can create my own if it necessary), and if there's any
> errors, it will not allow you to back-annotate. It will ask you to fix
> them first.
> But if you want, I can run "update pcb from schematic" dialog.
>
> On Fri, 22 Nov 2019 at 16:30, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>
>> Hi Alexander,
>>
>> You must ensure that all of the reference paths are up to date with the
>> schematic before you attempt to back annotate from the board. Schematic
>> changes can result in the footprint paths in the board being out of sync
>> so you have to perform and update board from schematic (this code
>> already exists) before you attempt to run the back annotation process
>> from the board editor to ensure all of the paths are up to date. This
>> will ensure when you back annotate that there is a one to one
>> correlation between board footprint sheet paths and schematic symbol
>> sheet paths.
>>
>> Cheers,
>>
>> Wayne
>>
>> On 11/22/19 1:18 AM, Alexander Shuklin wrote:
>>> Hi Wayne,
>>> thanks for answer.
>>> Hopefully I will show you commit soon, so team could look, check and
>>> suggest something about that. I'm aware about differences between
>>> PCBnew and eeschema and just now I'm writing algorithm that will check
>>> it.
>>> Do you mean that some schematic file(.sch) can be used in more than
>>> one projects? So, I don't plan to change the unique IDs and those
>>> components will still be linked to each other, but if references will
>>> be changed it will make a mess in another project.
>>> I have 3 ideas how I can deal with that:
>>> 1) create a dialog, which will say something like "please make sure,
>>> that your schematic files are not shared between different projects"
>>> 2) I can go by recently opened projects, parse schematics in each of
>>> them and look if any schematic uses sheet, which already in use in
>>> current project. I'm now sure, but I would presume, that it will be
>>> quite slow.
>>> 3) To hold information in what project this particular schematics was
>>> used. So that's should be saved in .sch file then. But I don't think
>>> that information will be very valuable.
>>>
>>>
>>> On Thu, 21 Nov 2019 at 00:07, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>
>>>> On 11/7/19 5:06 AM, Alexander Shuklin wrote:
>>>>> Hi,
>>>>> is it alright to answer anybody in one letter?
>>>>> First of all, don't take amiss if I keep silence for a day, as I have
>>>>> 2 little children and at the best case I have couple of hours a day on
>>>>> my own.
>>>>>
>>>>> On Wed, 6 Nov 2019 at 16:27, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>>> Complex schematic hierarchies (using the same schematic more than once in a design) always trips up new developers.
>>>>> Can you please explain a bit more? I know that you can use
>>>>> hierarchical sheets, so there will be more than one sch files in the
>>>>> schematic. And there's also "multi-symbols" which have few eeschema
>>>>> symbols but one footprint. I'm not quite understand what means "using
>>>>> the same schematic more than once in a design", as every symbol has
>>>>> unique ID. Is it something else I'm not aware of?
>>>>
>>>> Yes, every symbol has a unique path ID but that doesn't mean that the
>>>> board and the schematic will always be in sync so this is where issues
>>>> come into play. There also can be unique IDs from other projects
>>>> because schematics can be shared between projects so you have to be
>>>> careful not to break all of these cases.
>>>>
>>>>>> You'll want to take a close look at KIWAY::ExpressMail() and KIWAY_PLAYER::KiwayMailIn()
>>>>> Ok, I'll look at that. I think I've seen that in footprints back annotation.
>>>>>> 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.
>>>>> Thanks for that. Actually now i think to join FOSDEM, but I need visa
>>>>> and I'm not sure yet.
>>>>>> Asking first prevents you from working on something that someone else may already be working on and writing code that would be immediately rejected
>>>>> Actually I already made that mistake, when made board statistics
>>>>> dialog. It was accepted, but I felt myself really stupid.
>>>>>> Good luck and thank you for your interest in contributing to KiCad.
>>>>> Thanks! I will try hard to match coding and git polices.
>>>>>
>>>>> On Wed, 6 Nov 2019 at 17:24, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>>>> Eeschema now keeps its internal net state up to date continuously, but I didn't work on any continuous syncing to PcbNew. The way it works in Eeschema, the graphical schematic is still the driving source of truth; the netlist does not drive the schematic.
>>>>> Am I right in general idea: Eeschema creates netlist which updates
>>>>> continuously. And PCB updates through eeschema by "uppdate PCB from
>>>>> schematic" tool. It isn't planned to do that automatically and
>>>>> continuously, is it?
>>>>>
>>>>> On Wed, 6 Nov 2019 at 17:56, Brian Piccioni <brian@xxxxxxxxxxxxxxxxxxxxx> wrote:
>>>>>> My utility is up on GitHub as a standalone app. I learned enough c++ and wxWidgets so porting it to Kicad should be useful.
>>>>> I've seen your app, and bug report. And actually I try to jump in
>>>>> because I use geometrical renumber of components as well)))
>>>>>> Replacing my homebrew parsing of PCB, Schematic, and netlist files to calls to internal Kicad functions/methods in the respective apps;
>>>>>> Once this is done I’ll use Kiway to communicate the changes between eeSchema and PCBNew.
>>>>> Have you already start to create communication between eeschema and
>>>>> pcbnew? If not, don't you mind if I'll start with that first? From my
>>>>> point of view, that's a worst part in this question today. For example
>>>>> you can renumber modules in pcbnew even by python scripts, but you
>>>>> have no any tool to change schematic after that. And by the way it's
>>>>> not only about renumber of all components. Somebody would like to
>>>>> change some references in pcbnew by hand at push that data back to
>>>>> schematics.
>>>>>> In the final version, if I understand correctly, in V6 changes to the PCB will be back-annotated to the schematic in order to support pin and gate swapping. So updating the PCB will immediately incorporate the changes to the schematic. I haven’t seen any discussions of how this will be done but clearly if the prototype as described above works it will be trivial to support the V6 common database.
>>>>> Hm... I haven't think about that... I'm not sure if pin swapping will
>>>>> interact with back-annotation tool. I wouldn't say that, but if
>>>>> somebody has comments and thoughts about that, it would be greatly
>>>>> appreciated.
>>>>>
>>>>> As far as I see now, It should be some tool a bit similar to "Update
>>>>> PCB from schematic", which will utilize KiWay functions to send data
>>>>> between PCBnew and eeschema..
>>>>>
>>
>> _______________________________________________
>> 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
Follow ups
References
-
Back annotate references from PCB
From: Alexander Shuklin, 2019-11-06
-
Re: Back annotate references from PCB
From: Wayne Stambaugh, 2019-11-06
-
Re: Back annotate references from PCB
From: Simon Richter, 2019-11-06
-
Re: Back annotate references from PCB
From: Ian McInerney, 2019-11-06
-
Re: Back annotate references from PCB
From: Brian Piccioni, 2019-11-06
-
Re: Back annotate references from PCB
From: Alexander Shuklin, 2019-11-06
-
Re: Back annotate references from PCB
From: Brian Piccioni, 2019-11-06
-
Re: Back annotate references from PCB
From: Alexander Shuklin, 2019-11-07
-
Re: Back annotate references from PCB
From: Wayne Stambaugh, 2019-11-20
-
Re: Back annotate references from PCB
From: Alexander Shuklin, 2019-11-22
-
Re: Back annotate references from PCB
From: Wayne Stambaugh, 2019-11-22
-
Re: Back annotate references from PCB
From: Alexander Shuklin, 2019-11-22