Re: [Kicad-developers] Patch set: Display Origin Transforms rebase

2019-05-25 Thread Seth Hillbrand

Hi Reece-

I've had a chance to test this a bit.  It works really nicely.  Thanks 
for the good idea here.


I only noticed one spot where it wasn't transformed so far: the 
Measurement tool.  When used, it displays a sign with the distance, 
which doesn't match the increasing/decreasing convention.


The second part is mostly a question.  Where do I set this in Eeschema 
and page layout?  The setting is in the panel under pcbnew, so I would 
assume it is a per-application process.  However, there is no other 
application that has that panel for setting.


I don't have a strong opinion on whether this should be a KiCad-wide 
preference or not.  I can't imagine someone wanting to set it one way in 
Eeschema and another in pcbnew.  If that was your intention, the panel 
should be at the top level rather than under pcbnew.  If it wasn't, can 
you give some more insight into why it would be good to split between 
the applications?


Lastly, and this is a bit fundamental, I have reservations about passing 
this parameter around when it is not needed.  This is more of a C-style 
convention.  Where functions inherit the frame with the preference, that 
should be used by a Get() method rather than passing down in a parameter 
chain.


In some cases (UNIT_HELPER), this should either be incorporated into 
UNIT_HELPER or written as a class that inherits UNIT_HELPER.  The class 
then gets the current setting (as Unit helper does with the units) and 
applies it in one place only.


The problem with the current solution is that it becomes very difficult 
to maintain as the parameter count increases.


Overall, this is an excellent piece of work.  I look forward to using it 
and flipping my perspective around. :)


Best-
Seth



On 2019-05-25 09:08, Reece R. Pollack wrote:

The Zip file attachment contains the complete set of patches
implementing Display Origin Transforms, now squashed and rebased for
your merging pleasure!

They should apply cleanly atop this commit from JP Charras:


b8e2054 Activate context menu in LIB_VIEW_FRAME canvas.

 Folks, please resist the urge to commit another 110 patches before
Wayne has a chance to merge these onto master. :-)

-Reece
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Atomic Libraries Proposal

2019-05-25 Thread Simon Richter

Hi,

Am 24/05/2019 um 13:32 schrieb Wayne Stambaugh:


Just as an FYI in case it wasn't obvious, Seth's proposal uses library
IDs to define the symbol and footprint.


Yes, so would mine, on any level that is more detailed than "footprint".

The main problem I see with atomic libraries is that "fully defined" is 
not fully defined. Is it


 - symbol+footprint
 - symbol+footprint+3d
 - symbol+footprint+order no
 - symbol+footprint+3d+order no

or any of these, and a SPICE model attached?

That's why my proposal is to define a hierarchy based on a "non-atomic" 
workflow, starting with generic components and refining until you have 
an order number attached to the part as well, because that is still 
useful even if you prefer to define everything at once: you just use the 
"fully defined" parts then and filter out the generic and partially 
defined ones during selection.


Workflow for part creation would be

1. define the symbol:
   - draw one, *or*
   - select an existing one, *or*
   - go with "generic box with pin definitions"

During this step, pin numbers are optional, but you can already enter 
them if you want.


2. attach a SPICE model, or skip this step

3. define the package
   - draw one, *or*
   - select an existing one

The pin mappings from step one are then transferred to this layer.

4. optionally, attach a 3D model
5. optionally, attach a manufacturer part number
6. optionally, attach a distributor part number

Each of these steps generates a new symbol internally, and if you are in 
"atomic library" mode, hides the previous one in the selection dialog.


This becomes useful already when you define your second diode: even if 
you defined a 0603 1N4001 part complete with DK order number first, you 
have a standalone diode symbol now that you can reuse, and if you do, 
swapping out parts in the schematic becomes easier:


 - we can add a "exchange part with ->" context menu with other diodes 
that use the same symbol
 - any other diode will be properly connected without adjusting any 
wires, because the pins are in the same place, and anode and cathode 
have the same pin names.


If you don't like atomic libraries, or you're just doing a quick drawing 
that should never go into production, you can use "incomplete" 
definitions in the schematic as well, by deactivating the "atomic 
library" filter.


The idea is to make the "atomic libraries [y/n]" decision a pure UI 
thing, so a single library can work for either workflow, and both camps 
can contribute to the shipped kicad library.



This means that in order for
the atomic libraries as proposed to be portable, the symbol, footprint,
and 3D model would have to be available on the host machine.  Otherwise,
any missing symbol, footprint, and/or 3D model would break the library.


The hierarchical model could degrade somewhat gracefully here, by 
storing references to all layers: the schematic would say


symbol: generic:diode
value_symbol: diode:1N4001 (inherits generic:diode, adds SPICE)
footprint: diode:1N4001_0603 (inherits diode:1N4001, adds FP/3D)
mfgno: 12345 (inherits diode:1N4001_0603, adds part number)
orderno: 67890 (inherits 12345, adds order number)

each of these fields would be a library reference, and import would just 
initially go with the most specific one it can find locally:


1. does the local library have a symbol "67890"?
2. does the local library have a symbol "12345"?
3. does the local library have a symbol "diode:1N4001_0603"?

etc., so if you are missing the manufacturer and distributor levels, you 
at least get the symbol, SPICE, footprint and 3D model, and if you 
derived your own manufacturer and distributor levels from the generic 
ones, a "refine part selection" context menu could immediately provide 
them for you.



  - US vs EU vs GOST symbols, can we somehow make them use the same pin
positions and different graphics, so these become interchangeable?



This technically isn't atomic but could be supported with the new file
format.


True, that's why I put them under "random thoughts". It'd be nice if we 
could somehow teach KiCad that different graphical symbols can mean the 
same thing.



  - multi-unit components, can we somehow make them inherit the generic
symbol multiple times and thus allow unit mapping without changing the
schematic (i.e. gate swapping)?



I'm not sure what you mean here.  Doesn't changing a symbol gate change
the schematic?  The symbol will have to be a complete symbol not just
one of the sub-units.  I don't see how it's possible to associate a
footprint to a single gate of component.


Sorry, that was unclear, it should have been "without having to adjust 
wires in the schematic".


Swapping a part with one that uses the exact same graphical symbol can 
be done without risking connectivity, so it becomes possible to quickly 
exchange unit A for unit B, or switch from a two-unit to a four-unit 
package, and we could even offer that from within 

Re: [Kicad-developers] Release Checklist

2019-05-25 Thread Adam Wolf
Great idea! I have a lightweight test procedure for macOS packaging of
major releases here,  under Test Procedure:
https://github.com/KiCad/kicad-mac-builder/blob/master/README.md


On Sat, May 25, 2019 at 11:27 AM Seth Hillbrand  wrote:
>
> Hi Devs-
>
> I've committed a proposed checklist format to my branch[1] on launchpad.
>   This is the outline of a proposed checklist for KiCad releases that we
> can use to verify consistent (i.e. fewer regressions) behavior before
> tagging new versions.  This currently documents just the main window.
> If people like the idea, I'll work on expanding the list to cover the
> full suite.
>
> The proposed release workflow would then look like:
> 1) Wayne tags an RC and copies the current template into a new file
> called release_checklist_v#.#RC#
> 2) Everyone begins testing the items on the list, marking them as
> working or reporting/fixing bugs
>a. All tests happen against the tag.  If a test fails, it can be
> marked **fixed** after a fix is committed
> 3) Once all tests are marked either **complete** or **fixed**, and no
> new issues arise, we start again with a fresh RC
> 4) Once an RC has all tests marked **complete** instead of **fixed**, we
> are ready for release.
>
> Let me know if people have suggestions for how this process might be
> improved/modified.
>
> Best-
> Seth
>
>
> [1]
> https://git.launchpad.net/~sethh/kicad/commit/?id=8c2d0b6957d4b1da47741947850a959602564ba4=3=0=1
>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] Release Checklist

2019-05-25 Thread Seth Hillbrand

Hi Devs-

I've committed a proposed checklist format to my branch[1] on launchpad. 
 This is the outline of a proposed checklist for KiCad releases that we 
can use to verify consistent (i.e. fewer regressions) behavior before 
tagging new versions.  This currently documents just the main window.  
If people like the idea, I'll work on expanding the list to cover the 
full suite.


The proposed release workflow would then look like:
1) Wayne tags an RC and copies the current template into a new file 
called release_checklist_v#.#RC#
2) Everyone begins testing the items on the list, marking them as 
working or reporting/fixing bugs
  a. All tests happen against the tag.  If a test fails, it can be 
marked **fixed** after a fix is committed
3) Once all tests are marked either **complete** or **fixed**, and no 
new issues arise, we start again with a fresh RC
4) Once an RC has all tests marked **complete** instead of **fixed**, we 
are ready for release.


Let me know if people have suggestions for how this process might be 
improved/modified.


Best-
Seth


[1] 
https://git.launchpad.net/~sethh/kicad/commit/?id=8c2d0b6957d4b1da47741947850a959602564ba4=3=0=1


___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] Patch set: Display Origin Transforms rebase

2019-05-25 Thread Reece R. Pollack
The Zip file attachment contains the complete set of patches 
implementing Display Origin Transforms, now squashed and rebased for 
your merging pleasure!


They should apply cleanly atop this commit from JP Charras:

   b8e2054 Activate context menu in LIB_VIEW_FRAME canvas.

Folks, please resist the urge to commit another 110 patches before Wayne 
has a chance to merge these onto master. :-)


-Reece
<>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Kicad's way of drawing filled zones

2019-05-25 Thread jp charras
Le 19/05/2019 à 21:28, jp charras a écrit :
> Le 18/05/2019 à 14:13, Tomasz Wlostowski a écrit :
>> On 13/05/2019 12:58, jp charras wrote:
>>> If we are talking about V6.0 version, we should add zone property field
>>> in the file format like (outline_thickness 0.0) to avoid serious issues
>>> (generating broken boards for fabrication).
>>>
>>
>> Hi JP,
>>
>> Are you going to work on this (commit code)?
>>

Hi Tom,

Are you working on that?

If not, now Seth committed the last code about zones, I can finalize my
work on zone filled areas without thickness outlines.

(This is not a lot of changes)

Thanks.


-- 
Jean-Pierre CHARRAS

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp