Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-06 Thread Evan Shultz
Sorry if this is mixing things since Michael replied after me.

Continuing on with the numbering I used above:
8. To clarify, I meant the material name in the Material column, not the
layer name in the Name column. I assume this would fit in with adding
custom materials which is to be done later.
9. Even those basic impedance calculations are valuable. And I have found
trace impedance calculations done from a the material stackup just like
this to be accurate. I'm sure there are cases where it's not, and it
appears you've run into those cases, but does that mean it's not worth
adding? Naturally this is just my feedback but I would think it's valuable.
It's a logical extension of this new feature.
10. Got it. Very cool. It would be nice if the units were aligned
immediately when a new value was typed in, rather than having to close and
reopen the dialog to see "1oz" converted to "0.034798 mm". Also, the popup
for max error on allowed thickness error is very annoying to me. If I'm
typing in the copper thickness (or really dielectric thickness as well) I
would not like to be told there is a problem if I know the stackup I'm
targeting. How is max error derived or set? Can this popup be disabled for
users that don't need or want KiCad nagging them?
12. I do not. When supply chain limits my PCB supplier selection I had to
make due with the materials they could offer. And the resulting stackup is
proprietary.

And one thing after trying the below version:
14. The two paste layers have a thinner height that other rows.

Thanks again, JP!

Application: Pcbnew
Version: (5.99.0-76-g3bd38ec24), release build
Libraries:
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6
libidn2/2.0.5 libpsl/0.21.0 (+libidn2/2.1.1) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.68.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.61.1
Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

On Fri, Sep 6, 2019 at 3:53 AM jp charras  wrote:

> Le 06/09/2019 à 12:04, Michael Kavanagh a écrit :
> > Hi JP,
> >
> > This will be a great addition to KiCad, and I'm excited to see this
> > progress. Now it's merged into master, would you prefer feedback on
> > the mailing list or bug reports?
> >
> > In any case, the panel display seems to be broken on macOS (I do not
> > remember this issue when the dialog was standalone, however I do agree
> > with the panel being part of Board Setup). Please see the attached
> > screenshot. It was already mentioned above but I also believe wxGrid
> > would be better for this, and other commercial EDA tools all use grid
> > controls for this functionality.
> >
> > I can submit a bug report if you prefer.
> >
> > Cheers,
> > Michael
> >
>
> Hi Michael,
>
> For feedback, the mailing list is good for be: the layer stack manager
> is still a moving target.
>
> For bugs, of course, a bug report is better.
>
> About macOS:
>
> I tested the Layer Stack Manager on W7 and Linux Kubuntu 18.04/KDE.
> But I am unable to test it on macOS.
> So I am expecting macOS guys will be able to fix these specific issues.
>
> To answer your question about using wxGrid:
> I agree wxGrid should be better, but unfortunately it does not works fine:
> I used it is the first version, but I had so many issues (after spending
> too many time to try to fix them) (read: having a barely usable dialog)
> I gave up and replaced it by a wxFlexGridSizer.
> The main advantage of a wxFlexGridSizer is: it works.
>
> Perhaps other commercial EDA tools use a grid control, but perhaps not a
> wxGrid.
>
> --
> 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
>
___
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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-06 Thread jp charras
Le 06/09/2019 à 12:04, Michael Kavanagh a écrit :
> Hi JP,
> 
> This will be a great addition to KiCad, and I'm excited to see this
> progress. Now it's merged into master, would you prefer feedback on
> the mailing list or bug reports?
> 
> In any case, the panel display seems to be broken on macOS (I do not
> remember this issue when the dialog was standalone, however I do agree
> with the panel being part of Board Setup). Please see the attached
> screenshot. It was already mentioned above but I also believe wxGrid
> would be better for this, and other commercial EDA tools all use grid
> controls for this functionality.
> 
> I can submit a bug report if you prefer.
> 
> Cheers,
> Michael
> 

Hi Michael,

For feedback, the mailing list is good for be: the layer stack manager
is still a moving target.

For bugs, of course, a bug report is better.

About macOS:

I tested the Layer Stack Manager on W7 and Linux Kubuntu 18.04/KDE.
But I am unable to test it on macOS.
So I am expecting macOS guys will be able to fix these specific issues.

To answer your question about using wxGrid:
I agree wxGrid should be better, but unfortunately it does not works fine:
I used it is the first version, but I had so many issues (after spending
too many time to try to fix them) (read: having a barely usable dialog)
I gave up and replaced it by a wxFlexGridSizer.
The main advantage of a wxFlexGridSizer is: it works.

Perhaps other commercial EDA tools use a grid control, but perhaps not a
wxGrid.

-- 
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


Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-05 Thread jp charras
I just committed the Layer Stack Manager feature.

Some comments below:

Le 03/09/2019 à 20:47, Evan Shultz a écrit :
> A few comments from the peanut gallery using Simon's "497" build...
> 
> Some things Seth suggested that I support and don't see:
> - Units could be shown once at the top of the panel or in each column
> header instead of each cell of the table. That would reduce clutter a
> bit and shorten the string that needs to go into each cell.
> - Moving the right-side stuff (impedance control and board finish) into
> a separate panel of the dialog would allow the table to be wider. It's
> awfully cramped right now.
> - Alternating a color across each row would make the table easier to
> visually parse.
> 
> And some suggestions from me, as a knucklehead who has ran into many
> issues with stackup:
> 1. In the left pane of the dialog, there is a mix of "Stack-up" and
> "Stackup".

Fixed

> 2. Dielectric layers are the only items in the Name column that do not
> start with a capital letter.

Fixed

> 3. This panel and the popups use a mix of sentence capitalization, camel
> case, and capitalizing every word. While it doesn't impair understanding
> the panel's purpose, it doesn't look polished.
> 4. The "X" column is not salient. It is the only column header with a
> popup, and that's required because the function is opaque. Along with
> the comment above about expanding the table, using a more verbose term
> (or an icon?) for this column would be nice.

Good idea.

> 5. There are tables in the Defaults > Text & Graphics and Design Rules >
> Net Classes panels. Having column dividers makes the table much easier
> to read. Adhering to that style, I suspect, would improve readability of
> the stackup table.

The layer stack panel does not use a wxGrid.
My first implementation used a wxGrid, but I had a lot of issues.

> 6. I don't see the value of the "Board thickness" textbox at the top
> left. It changes the dielectric layer thicknesses when clicking the Set
> Dielectric Thickness button, but it sets the thickness of all dielectric
> layers equal. I have rarely seen this done in practice and never for an
> impedance-controlled board. This button seems to be mainly of value for
> simple boards with low layer counts. For a 2- or 4-layer board it's not
> much of a burden for the user to set the dielectric thickness manually
> to whatever they want, or leave it alone as the user probably doesn't
> care, and I can't imagine a high layer count board using controlled
> impedances having all dieletric layers with the same thickness. So this
> button doesn't seem useful to me. It's likely I'm daft and just don't
> get it.
> 7. One use for this is to specify the materials to be used by the board
> vendor. Picking a dielectric material type not in the list means keying
> in the parameters manually, probably after selecting "FR4". This can get
> tedious. It would be nice to have a list of materials, perhaps from an
> external file which could be shared company-wide, with approved
> materials (NanYa NP-175FR, ITEQ IT-180A, etc.). Selecting one of these
> materials would import the proper parameters. Perhaps an entire stackup,
> and just the stackup, could be imported from a file or existing board.


User defined dielectric material is not yet available.

I'll add it later.

> 8. Along with the above, allowing a custom name for the dielectric layer
> lets the user better communicate design intent to the board vendor. And
> if a custom material can be named once, perhaps it could appear as a
> selectable material in the list so other dielectric layers could use the
> same material with just a click. I get that keeping things in sync would
> then be a pain but I'm trying to imagine ways to avoid manually typing
> in the same info many times.

Good idea.
However it need a modifcation of .gbrjob specifications.

> 9. Another equally important use for this table is to select track width
> for single-ended and diff pair tracks (and in both broadside- and
> edge-coupled DPs). This table is a logical place to report all three
> impedances in new columns so the user can select the stackup, and then
> design constraints, before routing begins. While I can understand this
> being a later piece of the puzzle, I mention it in case there's anything
> that makes sense to do now.

Do not dream: one can calculate impedance only is basic cases.

> 10. It would be convenient if the copper thickness could be selected in
> ounces, even if that was converted to a mm thickness after selecting a
> value from the pulldown list. Selecting copper thicknesses (with custom
> names) and board finishes is another obvious set of selections that
> could be included in a company configuration as mentioned above.

You can enter a value with units: for instance 1oz instead of 0.035mm

> 11. Additionally, selecting the thickness on outer layers does not
> capture if the thickness is fully copper or copper plated up to the
> specified thickness. 

Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-03 Thread Eeli Kaikkonen
ti 3. syysk. 2019 klo 21.48 Evan Shultz (evan.shu...@gmail.com) kirjoitti:

>
> 4. The "X" column is not salient. It is the only column header with a
> popup, and that's required because the function is opaque. Along with the
> comment above about expanding the table, using a more verbose term (or an
> icon?) for this column would be nice.
> 6. I don't see the value of the "Board thickness" textbox at the top left.
> It changes the dielectric layer thicknesses when clicking the Set
> Dielectric Thickness button, but it sets the thickness of all dielectric
> layers equal. I have rarely seen this done in practice and never for an
> impedance-controlled board. This button seems to be mainly of value for
> simple boards with low layer counts. For a 2- or 4-layer board it's not
> much of a burden for the user to set the dielectric thickness manually to
> whatever they want, or leave it alone as the user probably doesn't care,
> and I can't imagine a high layer count board using controlled impedances
> having all dieletric layers with the same thickness. So this button doesn't
> seem useful to me. It's likely I'm daft and just don't get it.
>

I don't know if you're daft or not, but likely you just didn't get it :)
You already saw the X column. It locks the thickness. When you calculate
automatically the space left after adding locked thicknesses together is
used evenly for non-locked items. You can for example lock the thin layers
in a 4-layer board and let KiCad calculate the core up to the user defined
total thickness.

I agree with your comments about visuals and usability. I can't say about
the technical aspects, other than it would be cool to have layer
thicknesses in the 3D view (as was suggested in the forum).

Eeli Kaikkonen
___
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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-03 Thread Evan Shultz
A few comments from the peanut gallery using Simon's "497" build...

Some things Seth suggested that I support and don't see:
- Units could be shown once at the top of the panel or in each column
header instead of each cell of the table. That would reduce clutter a bit
and shorten the string that needs to go into each cell.
- Moving the right-side stuff (impedance control and board finish) into a
separate panel of the dialog would allow the table to be wider. It's
awfully cramped right now.
- Alternating a color across each row would make the table easier to
visually parse.

And some suggestions from me, as a knucklehead who has ran into many issues
with stackup:
1. In the left pane of the dialog, there is a mix of "Stack-up" and
"Stackup".
2. Dielectric layers are the only items in the Name column that do not
start with a capital letter.
3. This panel and the popups use a mix of sentence capitalization, camel
case, and capitalizing every word. While it doesn't impair understanding
the panel's purpose, it doesn't look polished.
4. The "X" column is not salient. It is the only column header with a
popup, and that's required because the function is opaque. Along with the
comment above about expanding the table, using a more verbose term (or an
icon?) for this column would be nice.
5. There are tables in the Defaults > Text & Graphics and Design Rules >
Net Classes panels. Having column dividers makes the table much easier to
read. Adhering to that style, I suspect, would improve readability of the
stackup table.
6. I don't see the value of the "Board thickness" textbox at the top left.
It changes the dielectric layer thicknesses when clicking the Set
Dielectric Thickness button, but it sets the thickness of all dielectric
layers equal. I have rarely seen this done in practice and never for an
impedance-controlled board. This button seems to be mainly of value for
simple boards with low layer counts. For a 2- or 4-layer board it's not
much of a burden for the user to set the dielectric thickness manually to
whatever they want, or leave it alone as the user probably doesn't care,
and I can't imagine a high layer count board using controlled impedances
having all dieletric layers with the same thickness. So this button doesn't
seem useful to me. It's likely I'm daft and just don't get it.
7. One use for this is to specify the materials to be used by the board
vendor. Picking a dielectric material type not in the list means keying in
the parameters manually, probably after selecting "FR4". This can get
tedious. It would be nice to have a list of materials, perhaps from an
external file which could be shared company-wide, with approved materials
(NanYa NP-175FR, ITEQ IT-180A, etc.). Selecting one of these materials
would import the proper parameters. Perhaps an entire stackup, and just the
stackup, could be imported from a file or existing board.
8. Along with the above, allowing a custom name for the dielectric layer
lets the user better communicate design intent to the board vendor. And if
a custom material can be named once, perhaps it could appear as a
selectable material in the list so other dielectric layers could use the
same material with just a click. I get that keeping things in sync would
then be a pain but I'm trying to imagine ways to avoid manually typing in
the same info many times.
9. Another equally important use for this table is to select track width
for single-ended and diff pair tracks (and in both broadside- and
edge-coupled DPs). This table is a logical place to report all three
impedances in new columns so the user can select the stackup, and then
design constraints, before routing begins. While I can understand this
being a later piece of the puzzle, I mention it in case there's anything
that makes sense to do now.
10. It would be convenient if the copper thickness could be selected in
ounces, even if that was converted to a mm thickness after selecting a
value from the pulldown list. Selecting copper thicknesses (with custom
names) and board finishes is another obvious set of selections that could
be included in a company configuration as mentioned above.
11. Additionally, selecting the thickness on outer layers does not capture
if the thickness is fully copper or copper plated up to the specified
thickness. While it doesn't necessarily affect board thickness or
impedance, this is an open area that can lead to getting boards NOT as
intended which I understand is the whole point of adding this table so far.
12. In order to get the exact stackup I want, often coupled with material
availability, I have sometimes used multiple dielectric layers between
conductor layers. Currently only a single dielectric layer between
conductor pairs is supported.
13. Especially when dealing with board vendors who speak another language,
a graphic is a powerful communication tool. Creating a drawing like
https://img.taodabai.com/upload/4e/78/4e789a33d80a15c0aa480e11699e1b48.jpg,
which captures the materials 

Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-03 Thread Eeli Kaikkonen
Found it and it works.

ti 3. syysk. 2019 klo 15.21 Simon Richter (simon.rich...@hogyros.de)
kirjoitti:

> Hi,
>
> > Are the binaries downloadable? I downloaded
> > kicad-patched-495-762dabd75-x86_64.exe from
> >
> https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/testing/patched/
> > but pcbnew crashes before it opens.
>
> The binaries on the download server and on the Jenkins host (found under
> "Artifacts") should be identical.
>
> The only thing that could explain a crash would be that I built with
> Python3 enabled. I'm trying again with Python2, that will be #497.
>
>Simon
>
> ___
> 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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-03 Thread Simon Richter
Hi,

> Are the binaries downloadable? I downloaded
> kicad-patched-495-762dabd75-x86_64.exe from
> https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/testing/patched/
> but pcbnew crashes before it opens.

The binaries on the download server and on the Jenkins host (found under
"Artifacts") should be identical.

The only thing that could explain a crash would be that I built with
Python3 enabled. I'm trying again with Python2, that will be #497.

   Simon

___
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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-02 Thread Eeli Kaikkonen
Are the binaries downloadable? I downloaded
kicad-patched-495-762dabd75-x86_64.exe from
https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/testing/patched/
but pcbnew crashes before it opens.

Eeli Kaikkonen

ma 2. syysk. 2019 klo 15.06 Simon Richter (simon.rich...@hogyros.de)
kirjoitti:

> Hi,
>
> > Please test and comment.
> > I want to commit this feature soon.
>
> Builds on msys2 and msvc are on the way:
>
> https://jenkins.simonrichter.eu/job/windows-kicad-msys2-patch/495/
> https://jenkins.simonrichter.eu/job/windows-kicad-msvc-patch/142/
>
> There should be binaries there for easier testing soon.
>
>Simon
>
> ___
> 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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-02 Thread jp charras
Le 02/09/2019 à 14:06, Simon Richter a écrit :
> Hi,
> 
>> Please test and comment.
>> I want to commit this feature soon.
> 
> Builds on msys2 and msvc are on the way:
> 
> https://jenkins.simonrichter.eu/job/windows-kicad-msys2-patch/495/
> https://jenkins.simonrichter.eu/job/windows-kicad-msvc-patch/142/
> 
> There should be binaries there for easier testing soon.
> 
>Simon

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


Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-02 Thread Simon Richter
Hi,

> Please test and comment.
> I want to commit this feature soon.

Builds on msys2 and msvc are on the way:

https://jenkins.simonrichter.eu/job/windows-kicad-msys2-patch/495/
https://jenkins.simonrichter.eu/job/windows-kicad-msvc-patch/142/

There should be binaries there for easier testing soon.

   Simon

___
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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-09-02 Thread jp charras
I just finished the version of board stack manager that should fix all
issues and remarks previously made, and has some tests to avoid
incorrect parameters.
The patch is against latest master branch version (5.99.0-48)

The stackup settings is now in the board settings dialog.

Note also the board settings dialog has a flaw:
All panels are working on the current board settings instead of a "local
copy" of these settings.
If when validating settings in panels a veto is generated by a panel
(due to a incorrect parameter) all changes made by previous panels are
already committed, and if canceling the changes, some are committed, and
some others not.
My patch does not fix this issue, that is specific to the dialog, not
the stack manager.

Please test and comment.
I want to commit this feature soon.

-- 
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


Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-21 Thread José Ignacio
+1 on Wayne's comments. One of the nice things about the recent work on the
board setup dialog is the centralization of board settings that were
previously spread all over the place, we really shouldn't go back the other
direction.

On Wed, Aug 21, 2019 at 8:46 AM Wayne Stambaugh 
wrote:

> Hi JP,
>
> On 8/17/19 2:39 PM, jp charras wrote:
> > Le 13/08/2019 à 18:52, Wayne Stambaugh a écrit :
> >> JP,
> >>
> >> I took a look at your patch and I have a few comments.
> >>
> >> Shouldn't the stack up dialog just be another panel the the board setup
> >> dialog?  I would think this information is part of the board setup but I
> >> could be wrong.
> >>
> >> If the stack up information is part of the board setup then it should be
> >> in the "setup" section of the file format as well instead of a separate
> >> section.
> >>
> >> Change the "board_stackup" token to "stackup".  Board is implied.
> >>
> >> I'm not sure "dielectric_constrains" is necessarily clear.  Maybe
> >> "control_dielectric" would be more clear although I'm open to
> suggestion.
> >>
> >> The dialog layout definitely needs improved.  The board thickness
> >> control has the units appended in the edit control along with the units
> >> displayed using static text.  The layer color swatches are not aligned
> >> with the rest of the layer row controls.  The color comboboxes are
> >> cutoff on GTK.  The capitalization is incorrect for the check box and
> >> sizer strings.
> >>
> >> All in all, it's a good first step.  I'm sure this will be improved over
> >> time to cover other board stack up parameters.
> >>
> >> Cheers,
> >>
> >> Wayne
> >>
> >
> > Wayne and Seth, thanks for your input.
> >
> > I attached a new version of the  Layer Stack Manager that fixes some
> issues.
>
> I could not apply the attached patch.  Please rebase against the latest
> master when you get a chance so I can test it.
>
> I did not see the updated file format revision in your patch but maybe I
> missed it.
>
> >
> > A few comments on the dialog (also for @Seth):
> > I have fixed some issues (the issue with wxBitmapComboBox is a wxGTK
> > bug: I added a workaround)
> > Currently the  Layer Stack Manager uses its own dialog.
> > However the main code uses a wxPanel, so it can be easily moved in the
> > Preferences or the Board setup dialogs.
> >
> > But I am not convinced the Preferences or the Board setup is the right
> > place for this stack manager:
> >
> >  1- the Layer Setup in board setup is already a list with many info.
> > Adding more widgets on each line will create usability issues.
>
> I wasn't suggesting that we merge the layer setup panel and layer stack
> dialog.  I agree that it would probably to too confusing.  I was merely
> suggesting that the board stack manager be a separate panel in the board
> setup dialog which would not change the complexity of either the layer
> or the stack configuration views.
>
> >
> >  2- these (layer setup and stack manager) panels are already not easy to
> > use when setting the copper layer count to 32.
> >
> > 3- the layer setup manages info for the board editor.
> > the stack manager manages info only for the CAM tools (currently, the
> > .gbrjob file) and none of the settings in  this stack manager are used
> > by the board editor (but some will be used by the 3D viewer).
> > I do not see a good reason to merge the layer setup the stack manager.
> > Moreover, in the future, the layer setup should manage more info (when
> > the possibility to add custom layers is added)
>
> True, but there are design parameters where the layer stack information
> could be used such as in the router to prevent layer to layer minimum
> insulation violations or signal integrity simulations.  While the stack
> information may be primarily for CAM tools in it's current form, there
> is valuable information that could be used for things like the routing,
> thermal simulation, RF simulation, etc. so that is why I think it should
> be added to the board setup dialog even if initially it's only used for
> CAM output.  I also think users will be more likely to expected it to be
> in the same place as the rest of the board configuration but I could be
> wrong.
>
> >
> > 4- Once the stack manager is added to Pcbnew, the board thickness
> > setting will be removed from the Layer setup panel.
>
> This is one more reason that the layer stack configuration should be in
> the board setup dialog.  It's replacing the current fixed board
> thickness setting.
>
> >
> > 5- A good place for this stack manager could be inside a CAM tool that
> > allows to create all files (Gerber, drill files and gbrjob file) in one
> > command, with the same settings.
> > The the current stack manager dialog should be seen only as a temporary
> > dialog.
>
> How would a CAM tool be separate from the board setup?  As long as the
> information was CAM only, I could see this making sense.  What I want to
> avoid is having duplicate information in the setup and stack
> 

Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-21 Thread Wayne Stambaugh
Hi JP,

On 8/17/19 2:39 PM, jp charras wrote:
> Le 13/08/2019 à 18:52, Wayne Stambaugh a écrit :
>> JP,
>>
>> I took a look at your patch and I have a few comments.
>>
>> Shouldn't the stack up dialog just be another panel the the board setup
>> dialog?  I would think this information is part of the board setup but I
>> could be wrong.
>>
>> If the stack up information is part of the board setup then it should be
>> in the "setup" section of the file format as well instead of a separate
>> section.
>>
>> Change the "board_stackup" token to "stackup".  Board is implied.
>>
>> I'm not sure "dielectric_constrains" is necessarily clear.  Maybe
>> "control_dielectric" would be more clear although I'm open to suggestion.
>>
>> The dialog layout definitely needs improved.  The board thickness
>> control has the units appended in the edit control along with the units
>> displayed using static text.  The layer color swatches are not aligned
>> with the rest of the layer row controls.  The color comboboxes are
>> cutoff on GTK.  The capitalization is incorrect for the check box and
>> sizer strings.
>>
>> All in all, it's a good first step.  I'm sure this will be improved over
>> time to cover other board stack up parameters.
>>
>> Cheers,
>>
>> Wayne
>>
> 
> Wayne and Seth, thanks for your input.
> 
> I attached a new version of the  Layer Stack Manager that fixes some issues.

I could not apply the attached patch.  Please rebase against the latest
master when you get a chance so I can test it.

I did not see the updated file format revision in your patch but maybe I
missed it.

> 
> A few comments on the dialog (also for @Seth):
> I have fixed some issues (the issue with wxBitmapComboBox is a wxGTK
> bug: I added a workaround)
> Currently the  Layer Stack Manager uses its own dialog.
> However the main code uses a wxPanel, so it can be easily moved in the
> Preferences or the Board setup dialogs.
> 
> But I am not convinced the Preferences or the Board setup is the right
> place for this stack manager:
> 
>  1- the Layer Setup in board setup is already a list with many info.
> Adding more widgets on each line will create usability issues.

I wasn't suggesting that we merge the layer setup panel and layer stack
dialog.  I agree that it would probably to too confusing.  I was merely
suggesting that the board stack manager be a separate panel in the board
setup dialog which would not change the complexity of either the layer
or the stack configuration views.

> 
>  2- these (layer setup and stack manager) panels are already not easy to
> use when setting the copper layer count to 32.
> 
> 3- the layer setup manages info for the board editor.
> the stack manager manages info only for the CAM tools (currently, the
> .gbrjob file) and none of the settings in  this stack manager are used
> by the board editor (but some will be used by the 3D viewer).
> I do not see a good reason to merge the layer setup the stack manager.
> Moreover, in the future, the layer setup should manage more info (when
> the possibility to add custom layers is added)

True, but there are design parameters where the layer stack information
could be used such as in the router to prevent layer to layer minimum
insulation violations or signal integrity simulations.  While the stack
information may be primarily for CAM tools in it's current form, there
is valuable information that could be used for things like the routing,
thermal simulation, RF simulation, etc. so that is why I think it should
be added to the board setup dialog even if initially it's only used for
CAM output.  I also think users will be more likely to expected it to be
in the same place as the rest of the board configuration but I could be
wrong.

> 
> 4- Once the stack manager is added to Pcbnew, the board thickness
> setting will be removed from the Layer setup panel.

This is one more reason that the layer stack configuration should be in
the board setup dialog.  It's replacing the current fixed board
thickness setting.

> 
> 5- A good place for this stack manager could be inside a CAM tool that
> allows to create all files (Gerber, drill files and gbrjob file) in one
> command, with the same settings.
> The the current stack manager dialog should be seen only as a temporary
> dialog.

How would a CAM tool be separate from the board setup?  As long as the
information was CAM only, I could see this making sense.  What I want to
avoid is having duplicate information in the setup and stack
configurations.  It seems to me like there is some overlap here so we
should make sure there is clear differentiation between the two before
we implement this.

> 
> What about merging the code to master, and using advanced config to
> enable it, although it is not really finished?

I'm not opposed to this once we have all of the issues addressed.

Cheers,

Wayne

> 
> Thanks.
> 
>> On 8/10/19 7:18 AM, jp charras wrote:
>>> Since a long time, I started (slowly...) a layer stack manager.
>>> The 

Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-17 Thread jp charras
Le 13/08/2019 à 18:52, Wayne Stambaugh a écrit :
> JP,
> 
> I took a look at your patch and I have a few comments.
> 
> Shouldn't the stack up dialog just be another panel the the board setup
> dialog?  I would think this information is part of the board setup but I
> could be wrong.
> 
> If the stack up information is part of the board setup then it should be
> in the "setup" section of the file format as well instead of a separate
> section.
> 
> Change the "board_stackup" token to "stackup".  Board is implied.
> 
> I'm not sure "dielectric_constrains" is necessarily clear.  Maybe
> "control_dielectric" would be more clear although I'm open to suggestion.
> 
> The dialog layout definitely needs improved.  The board thickness
> control has the units appended in the edit control along with the units
> displayed using static text.  The layer color swatches are not aligned
> with the rest of the layer row controls.  The color comboboxes are
> cutoff on GTK.  The capitalization is incorrect for the check box and
> sizer strings.
> 
> All in all, it's a good first step.  I'm sure this will be improved over
> time to cover other board stack up parameters.
> 
> Cheers,
> 
> Wayne
> 

Wayne and Seth, thanks for your input.

I attached a new version of the  Layer Stack Manager that fixes some issues.

A few comments on the dialog (also for @Seth):
I have fixed some issues (the issue with wxBitmapComboBox is a wxGTK
bug: I added a workaround)
Currently the  Layer Stack Manager uses its own dialog.
However the main code uses a wxPanel, so it can be easily moved in the
Preferences or the Board setup dialogs.

But I am not convinced the Preferences or the Board setup is the right
place for this stack manager:

 1- the Layer Setup in board setup is already a list with many info.
Adding more widgets on each line will create usability issues.

 2- these (layer setup and stack manager) panels are already not easy to
use when setting the copper layer count to 32.

3- the layer setup manages info for the board editor.
the stack manager manages info only for the CAM tools (currently, the
.gbrjob file) and none of the settings in  this stack manager are used
by the board editor (but some will be used by the 3D viewer).
I do not see a good reason to merge the layer setup the stack manager.
Moreover, in the future, the layer setup should manage more info (when
the possibility to add custom layers is added)

4- Once the stack manager is added to Pcbnew, the board thickness
setting will be removed from the Layer setup panel.

5- A good place for this stack manager could be inside a CAM tool that
allows to create all files (Gerber, drill files and gbrjob file) in one
command, with the same settings.
The the current stack manager dialog should be seen only as a temporary
dialog.

What about merging the code to master, and using advanced config to
enable it, although it is not really finished?

Thanks.

> On 8/10/19 7:18 AM, jp charras wrote:
>> Since a long time, I started (slowly...) a layer stack manager.
>> The purpose is to allow users to define (for board fabrication) some
>> important parameters like:
>> - tech, copper and dielectric thickness
>> - color of some tech layers
>> - dielectric material
>> - board constraints.
>>
>> All of these parameters are in the .gbrjob file generated when plotting
>> gbr files.
>> Note also these parameters are not used in the board editor, only used
>> to fabricate the board.
>>
>> the dialog is available from the "Tools" menu.
>>
>> The ultimate purpose is to have something like a CAM tool to manage info
>> about the board fabrication and to create files needed to fabricate the
>> board all in once.
>> This is mandatory to ensure all files (gbr files, gbrjob files,
>> placement files and some others) are created at the same time, and use
>> the same settings.
>> The first step is this layer Stack Manager.
>>
>> Please test and comment.
>> Note also the dialog is not very good, but it is good enough (i hope) to
>> test the feature.
>> The main result of these settings is in the .gbrjob file.
>> Thanks.
>>
>>
>> ___
>> 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
> 


-- 
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


Re: [Kicad-developers] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-13 Thread Seth Hillbrand

Hi JP-

This looks like a good addition.  I'm happy to see it being developed.

A few notes:
- "dielectric_constrains" maybe could be "dielectric_constraints"
- It would be nice to see this replace the "Layers" panel in Board 
setup.  We also set pcb thickness there as well as have our add/remove 
layer feature, which would be nice to integrate with your dialog.
- Units (mm/mil/in) would be good to have in the header instead of in 
the text box
- If you decide to move this to the Board setup, the options like 
"Impedance control, plated edges, etc" could fit in a separate panel 
giving more room for the primary table.
- I'd love it if the rows had alternating background colors that coded 
for the type of material all the way across.  That would make viewing 
much easier.


Overall, I really like where this is headed. It will make some of the 
2581-work much easier, thank you!


Best-
Seth


On 2019-08-10 07:18, jp charras wrote:

Since a long time, I started (slowly...) a layer stack manager.
The purpose is to allow users to define (for board fabrication) some
important parameters like:
- tech, copper and dielectric thickness
- color of some tech layers
- dielectric material
- board constraints.

All of these parameters are in the .gbrjob file generated when plotting
gbr files.
Note also these parameters are not used in the board editor, only used
to fabricate the board.

the dialog is available from the "Tools" menu.

The ultimate purpose is to have something like a CAM tool to manage 
info

about the board fabrication and to create files needed to fabricate the
board all in once.
This is mandatory to ensure all files (gbr files, gbrjob files,
placement files and some others) are created at the same time, and use
the same settings.
The first step is this layer Stack Manager.

Please test and comment.
Note also the dialog is not very good, but it is good enough (i hope) 
to

test the feature.
The main result of these settings is in the .gbrjob file.
Thanks.

___
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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-13 Thread Wayne Stambaugh
JP,

I took a look at your patch and I have a few comments.

Shouldn't the stack up dialog just be another panel the the board setup
dialog?  I would think this information is part of the board setup but I
could be wrong.

If the stack up information is part of the board setup then it should be
in the "setup" section of the file format as well instead of a separate
section.

Change the "board_stackup" token to "stackup".  Board is implied.

I'm not sure "dielectric_constrains" is necessarily clear.  Maybe
"control_dielectric" would be more clear although I'm open to suggestion.

The dialog layout definitely needs improved.  The board thickness
control has the units appended in the edit control along with the units
displayed using static text.  The layer color swatches are not aligned
with the rest of the layer row controls.  The color comboboxes are
cutoff on GTK.  The capitalization is incorrect for the check box and
sizer strings.

All in all, it's a good first step.  I'm sure this will be improved over
time to cover other board stack up parameters.

Cheers,

Wayne

On 8/10/19 7:18 AM, jp charras wrote:
> Since a long time, I started (slowly...) a layer stack manager.
> The purpose is to allow users to define (for board fabrication) some
> important parameters like:
> - tech, copper and dielectric thickness
> - color of some tech layers
> - dielectric material
> - board constraints.
> 
> All of these parameters are in the .gbrjob file generated when plotting
> gbr files.
> Note also these parameters are not used in the board editor, only used
> to fabricate the board.
> 
> the dialog is available from the "Tools" menu.
> 
> The ultimate purpose is to have something like a CAM tool to manage info
> about the board fabrication and to create files needed to fabricate the
> board all in once.
> This is mandatory to ensure all files (gbr files, gbrjob files,
> placement files and some others) are created at the same time, and use
> the same settings.
> The first step is this layer Stack Manager.
> 
> Please test and comment.
> Note also the dialog is not very good, but it is good enough (i hope) to
> test the feature.
> The main result of these settings is in the .gbrjob file.
> Thanks.
> 
> 
> ___
> 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] [RFC] Comments for a Layer Stack Manager in Pcbnew

2019-08-10 Thread jp charras
Since a long time, I started (slowly...) a layer stack manager.
The purpose is to allow users to define (for board fabrication) some
important parameters like:
- tech, copper and dielectric thickness
- color of some tech layers
- dielectric material
- board constraints.

All of these parameters are in the .gbrjob file generated when plotting
gbr files.
Note also these parameters are not used in the board editor, only used
to fabricate the board.

the dialog is available from the "Tools" menu.

The ultimate purpose is to have something like a CAM tool to manage info
about the board fabrication and to create files needed to fabricate the
board all in once.
This is mandatory to ensure all files (gbr files, gbrjob files,
placement files and some others) are created at the same time, and use
the same settings.
The first step is this layer Stack Manager.

Please test and comment.
Note also the dialog is not very good, but it is good enough (i hope) to
test the feature.
The main result of these settings is in the .gbrjob file.
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