kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #43550
Re: DRC marker persistence
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxx>
-
Date:
Tue, 3 Mar 2020 15:55:36 -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==
-
In-reply-to:
<CA+qGbCDo+K9nh7H1dx83ysfnbOte6DUGDP3jSima+LX-0GoBtg@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
On 3/3/20 8:59 AM, Jon Evans wrote:
> Hi Jeff,
>
> There are several ways to do persistence. It sounds like you are
> planning to implement it as "save the state of all DRC markers", which
> is one way.
> Another way would be to just save the exceptions (aka waived
> violations), so closing and opening a board would not return the markers
> to view, but re-running DRC would.
>
> The choice of approach maybe impacts your questions. If the goal is to
> persist the entire state (i.e. someone can close and re-open PcbNew and
> nothing is changed about the DRC markers), you obviously have to save a
> lot more data and so the diff churn becomes more of a concern. If you
> only persist the "settings" in the form of waived violations, there
> shouldn't really be a churn problem.
>
> For ERC, I was always thinking that waived violations would have to be
> stored in a project-local settings file rather than any one schematic
> file, because ERC violations are not tied to a specific sheet. It seems
> fine to me to have this be a difference between ERC and DRC, though.
>
> I personally do not think that I need the entire DRC state persisted
> across runs for my workflow. I just need DRC to produce the same
> results every time it's run, and that includes persisting violations
> that I want ignored.
> In regards to what ignoring means, the first option seems sufficient to
> me. I'll have to check some commercial tools to see if they actually
> store more data, but I suspect not.
> Usually when I mark DRC violations as ignored (in Altium, for example),
> it's because I know there is a specific situation going on with a
> certain item that is easier to ignore than to write a new rule against.
> I don't use ignoring as a way of "bookmarking" where I am in a long list
> of errors -- for that I just use clearing by type or by
> multi-selection. Clearing (unlike ignoring) is not persisted in Altium.
>
> @Wayne - If we do decide to put them in project storage rather than the
> board file, I'll be moving them out of the project file to a dedicated
> file along with everything else. I'm fine with Jeff temporarily adding
> stuff to the project file so as to not block him on the project settings
> work I'm doing.
I'm just wondering about the impact to CVS users of adding them to the
project file. I'm not sure if it's an issue or not.
>
> -Jon
>
> On Tue, Mar 3, 2020 at 8:42 AM Jeff Young <jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx>> wrote:
>
> Hi Henrik,
>
>> On 3 Mar 2020, at 13:33, Henrik Hansen <Henrik.Enggaard@xxxxxxxxx
>> <mailto:Henrik.Enggaard@xxxxxxxxx>> wrote:
>>
>> 1) As long as files with markers can be easily shared between
>> people it is good.
>>
>> Why isn't "bloated diff" a problem for storing the markers in the
>> project files?
>
> I don’t think people diff their project files, but I know some of
> them diff their board files.
>
>>
>> Would it make sense to have an option to not store the markers?
>
> That’s another option.
>
>>
>> 2) The second scenario of marking a specific error is the least
>> surprising. How frequently will there be multiple errors of a
>> certain type between the two same objects? That is a risky
>> scenario, but it is hard to asses without knowing the chance.
>
> It’s not for multiple errors, but for running DRC again. So if I
> mark “ignore pad to pad clearance between pads 1 and 7 of U22”, when
> I run DRC again it will still ignore it. (The risk is that I might
> have moved them even closer together, and that while the first
> clearance violation was deemed acceptable, the second wouldn’t be.
> Then again, if you want to check again you can delete your ignore list.)
>
> Cheers,
> Jeff.
>
>
>>
>> Best regards,
>> Henrik
>>
>> On Tue, Mar 3, 2020 at 11:04 AM Jeff Young <jeff@xxxxxxxxx
>> <mailto:jeff@xxxxxxxxx>> wrote:
>>
>> Part of the 6.0 DRC architecture is marker persistence. This
>> will allow you to work your way through a large set of DRC
>> violations, flagging those that have already been checked as
>> exceptions or some-such.
>>
>> Two questions:
>>
>> 1) Store markers in board file or project file?
>>
>> Board file is much easier (in fact currently zero-cost as it’s
>> implemented in my tree), but it may cause heartache in
>> “bloated diff” camp? (Note that you can always press Delete
>> All Markers when you’re done with DRC, so you can choose to
>> not have them in the board file.)
>>
>> 2) Should exceptions be of the form “ignore error type X
>> between object Y and object Z”, or “this specific error
>> condition is a false-positive”?
>>
>> The first is more like a C++ #pragma. The second is arguably
>> “safer”, but requires storing hashes of the entire data-state
>> of objects Y and Z. Likely expensive to calculate on large
>> boards (and somewhat expensive to implement).
>>
>> Cheers,
>> Jeff.
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> 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