kicad-developers team mailing list archive
Mailing list archive
Re: Hoping to contribute but I have some questions
Wayne Stambaugh <stambaughw@xxxxxxxxx>
Sat, 5 Jan 2019 08:07:06 -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.3.1
On 1/4/19 6:18 PM, Tomasz Wlostowski wrote:
> On 04/01/2019 18:51, Brian Piccioni wrote:
>> I am still keen to attempt to incorporate geographical component annotation into KiCad. In general, it is preferable for component annotation to be done relative to the PCB and in some logical order (left/right, top to bottom, etc). Thereafter this information is imported to the schematic. I wrote a standalone utility (RenumKicadPCB) which does this but ideally, we’d want the function built into Kicad.
>> I understand this would be viewed as a “rogue effort” but lack of geographical component annotation is a major missing feature and my hope is that if my code works the developers might consider adding it or something like it into the project. Otherwise I’ll just maintain my own variant of the two affected applications for limited use.
>> I am not used to working in c++ or working on large projects. Nevertheless, I figured I’d give it a try. I have been studying the source for a few weeks and have developed a strategy which would be very simple to implement if I had more skill/experience.
>> The first thing I want to do is to add the ability for eeSchema to import a “was/is” file to update schematic annotation. Since renumbering the PCB can be done manually or with a plugin this seems like a good first step. Since an annotation function already exists in eeSchema, all I would have to do it provide an option for replacing annotation with a was/is rather than the annotation generated by eeSchema’s annotate function.
>> I see a clear path to doing so however, the scope of Kicad and my limited experience with c++ and large projects mean it is not going to be easy for me. I am not that adept at navigating Doxygen files so I have a few questions regarding the source code (these are limited to eeSchema at the moment).
>> 1) Where are the file IO functions? I have searched for (for example) LoadProjectFIle and find the prototype but not the actual function. Similarly I find the prototype for SaveEEFile() but not the actual function.
>> 2) I would like to copy as much of the existing code and dialogs as possible (i.e. make new dialog based off another dialog) but when I open, for example, dialog_annotate_base.h I see
>> // C++ code generated with wxFormBuilder (version Jun 5 2018)
>> // http://www.wxformbuilder.org/
>> // PLEASE DO *NOT* EDIT THIS FILE!
>> But I can’t find the “source” from which this file is generated. Where is it?
>> 3) There is a guide on the Kicad documentation “Tool framework” which describes adding a tool to PCBNew. Is there a similar guide to adding a tool/function to eeSchema? How do I go about this?
> Hi Brian,
> Others have already answered to your questions so here's my offer: I
> believe geographical annotation is a very useful feature so I can offer
> a bit of my help. Point me to:
> - the latest sources of your tool,
> - a sketch of the user interface (dialogs), can be a hand-made drawing
> Once I have this information, I'll try making a basic port of your code
> to Kicad codebase to the stage where you could take it over and
> contribute further features/fixes on your own.
There is a lower level piece of the puzzle that is missing and that is
back annotation from the board editor to the schematic editor. This is
non-trivial because you have create a netlist from the board information
and pass it back to the schematic editor. This would be the only
solution that I would accept. I want to avoid multiple ad-hoc solutions
for back annotation purposes.