← Back to team overview

kicad-developers team mailing list archive

Re: [patch?] Handling conflict between projname-cache.lib and an updated library

 

On 30.03.2015 17:43, Chris Pavlina wrote:
> Well, seems I missed the freeze on this one, but I've got a patch, might
> as well share. Works well for me - comments welcome, of course, and
> ideas for more testcases.
> 
> At schematic load, or when the tool is selected from the menu, the
> schematic is analyzed for any problematic components. These are where
> the component found in the cache has pins moved or changed from the one
> found in the system libraries. When this happens, the following dialog
> is displayed:
> 
> https://db.tt/qIAesEQv
> 
> The user can choose per symbol whether to keep the library version or
> the cached version.  Any cached components selected for "rescue" are
> renamed to "$componentname-RESCUE-$projectname" and placed in a
> "$projectname-rescue" library, which is added to the project at the top
> of the library list.
> 
> When the operation is complete, the user is presented with a nice
> summary of the renames done.
> 
> Aliases are a tricky case, because the cached and library components
> don't have to have the same alias list. The simplest way I found to
> handle this was to break apart aliases in the -rescue library: all
> components are stored as single parts with no aliases.
> 
> For those who don't want their hands held, there is a "Never Show Again"
> button.  The setting for this can be reverted by a checkbox in Component
> Libraries if done by mistake.

Hi Chris,

Nice patch, although with its current purpose, it will become obsolete
in the future, as the new schematic file format Wayne's working on will
add the possibility to cache the schematic symbols within .kicad_sch
files (just like the footprint copies are stored in .kicad_pcb files now).

Nonetheless, your tool (after some minor refactoring) could make a nice
library to SCH symbol updater (or sch->library symbol extractor), a
feature present in most good EDA tools ;)

Tom

> 
> -- 
> Chris
> 
> On Mon, Mar 23, 2015 at 01:27:35PM -0400, Wayne Stambaugh wrote:
>> On 3/23/2015 1:16 PM, Chris Pavlina wrote:
>>> On Mon, Mar 23, 2015 at 01:07:33PM -0400, Wayne Stambaugh wrote:
>>>> On 3/23/2015 12:12 PM, Chris Pavlina wrote:
>>>>> I like your idea - I proposed it myself, but it was not well
>>>>> received ;)
>>>>> [[snip]]
>>>>
>>>> Please see the discussion here on why this will not work.
>>>>
>>>> https://bugs.launchpad.net/kicad/+bug/1435338
>>>>
>>>> I see no point in replacing one bug with another bug that doesn't fix
>>>> the underlying problem.
>>>
>>> Haha, just kidding, I know :)
>>>
>>>> Rather than just copy the cache file, rename all of the footprints in
>>>> the copied library with a prefix or suffix, i.e. 74LS00 in the cache
>>>> becomes 74LS00_SCH in the new library.  Then rename all the components
>>>> in the schematic accordingly if the user chooses the new library
>>>> option.
>>>> This way there will be little chance of conflicting component names and
>>>> the library search order is less likely to be an issue.  This gives you
>>>> the best of both worlds.  You keep your existing components in the
>>>> schematic and you can still use the updated components from the your
>>>> libraries if you so choose.  Obviously this still wont fix the library
>>>> search ordering issue but it would be a more robust solution.
>>>
>>> Actually, I quite like this idea.
>>
>> I know it's more work but it solves the component name clash issues and
>> the user will still be able to use their normal libraries.
>>
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> 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
> 
> 
> _______________________________________________
> 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