Roberto Fernandez Bautista
8f74085ca4
CADSTAR PCB: Handle older boards without construction layers
...
Use KiCad default stackup for older CADSTAR boards that do not
define any dielectric layers between the electrical layers.
Also fix default stackup calculation to ensure finished board thickness
is 1.6mm
2021-10-09 21:26:16 +01:00
Roberto Fernandez Bautista
d62a5ecf46
Remove unused GetPcbThickness() function in PANEL_SETUP_BOARD_STACKUP
...
The function used now is computeBoardThickness()
2021-10-09 20:35:10 +01:00
jean-pierre charras
5853f0890e
Gerber job file: fix a bug that prevent writing dielectric constants for impedance controlled boards.
2021-09-26 16:11:15 +02:00
Jeff Young
2ac03e2cdb
Change Loss Tg to Loss Tan.
...
We'll need Tg in the future for glass transition temp.
Fixes https://gitlab.com/kicad/code/kicad/issues/4734
2021-09-07 10:49:17 +01:00
Jeff Young
2b3477ca28
Handle RGBA conversion to hexadecimal format for wxWidgets 3.0
2021-08-25 02:40:17 +01:00
Jeff Young
21f2b235ce
Rework stackup colors a bit to support opacity for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9012
2021-08-23 20:00:17 +01:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
jean-pierre charras
3d61c8b0c4
PANEL_SETUP_BOARD_STACKUP: Do not limit the EpsilonR mantissa to 1 or 2 digits.
...
Fixes #8956
https://gitlab.com/kicad/code/kicad/issues/8956
2021-08-14 09:42:05 +02:00
Jeff Young
e81b7b4a14
Give a few dialogs a bit of love.
...
1) improve spacing in copper zone properties.
2) improve spacing and naming in dielectric material properties.
3) clearer naming in board setup > constraints.
4) remove over-exuberant stretching in board setup > mask & paste.
2021-08-06 18:16:38 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
jean-pierre charras
1a5e63bcab
PANEL_SETUP_BOARD_STACKUP: fix a incorrect behavior when changing layer count,
...
and add a button to adjust dielectric thickness (regression fix)
Fixes #8800
https://gitlab.com/kicad/code/kicad/issues/8800
2021-07-16 20:39:00 +02:00
Jeff Young
1fcd7992a0
Performance improvement for adding/removing dielectric layers.
...
(Roughly a 10X speedup on Mac.)
2021-06-27 09:43:20 +01:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Jon Evans
5157c6c3b9
Use half copper thickness as the thickness of the start and end of vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8384
2021-05-10 21:48:50 -04:00
Jon Evans
1a45d9474b
Don't show commands that cancel routing when routing is in progress
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8363
2021-05-08 14:55:02 -04:00
Roberto Fernandez Bautista
ae009e0758
Ensure clipboard data is available after KiCad closes
...
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
Wayne Stambaugh
2ae264751f
Rename class_board_stackup.{h|cpp} to board_stackup.{h|cpp}.
2021-04-16 17:07:06 -04:00
Jon Evans
433e148e08
Move some string formatting functions out of base_units
...
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
jean-pierre charras
675ec70f0f
PANEL_SETUP_BOARD_STACKUP: fix a wxassert due to a "C" locale test in a format function.
...
A call to FormatInternalUnits() was made without switching to "C" locale.
In this case it was not necessary, but FormatInternalUnits() expects in some tests
this locale, thus creating issues (assert and incorrect conversion)
Fixes #8177
https://gitlab.com/kicad/code/kicad/issues/8177
2021-04-12 09:57:40 +02:00
Ian McInerney
9939af3e27
Fix color handling in the stackup manager panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5671
2021-04-09 00:56:31 +01:00
Ian McInerney
5490a85f97
Don't recompute the board thickness on UI update
...
The thickness only needs to be computed when the actual
values change, so computing on UI update is a waste of
resources and can cause UI lag.
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-09 00:56:31 +01:00
Ian McInerney
1a727558b0
Switch update event handlers to use the event instead of pointers
...
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01:00
Jeff Young
69fd0b38ff
Remove a couple of unused OnUpdateUI handlers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-06 13:47:15 +01:00
Jon Evans
cdfb014ab6
CHANGED: Account for via height in track length calculations
2021-04-04 13:59:18 -04:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young
91350ec9ea
Don't update thickness unless it really changed.
...
Otherwise we're going to generate a continuous stream of OnUpdateUI
events....
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-03-04 14:15:39 +00:00
Jon Evans
bba7fae104
Coverity fixes
2021-02-24 22:55:11 -05:00
Jeff Young
d384316335
Fix some layout issues in board stackup pane.
...
Also decided the extra paramaters on the right weren't working out
on smaller screens and so moved Board Finish to its own panel.
2021-02-24 21:42:00 +00:00
Jon Evans
887ad1c30d
CHANGED: Copper layer count is now set on physical stackup page
...
REMOVED: Board layer stackup presets that were not very useful
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6765
2021-02-23 21:31:12 -05:00
Seth Hillbrand
10442b98df
Unify thickness
...
The removal of the pcbnew general section was meant for v6 but passed
the deadline. This removes the duplication of thickness. We do not
allow the thickness to be different between nominal and stackup, so
keeping separate text fields is unnecesarily confusing to users
2021-02-11 11:28:00 -08:00
Roberto Fernandez Bautista
9aedeae5c3
Don't log error messages when using the clipboard
...
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example: https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.
The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
jean-pierre charras
96af236493
Code cleanup: remove include wx.h from pcb_plot_params.h.
...
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Dominik Wernberger
07635d2fc7
Minor adjustments
2021-01-12 20:51:31 +00:00
Dominik Wernberger
ac94d72d2d
Add more const specifiers
2021-01-12 20:51:31 +00:00
Werni
0e44f5128c
Add const specifiers
2020-11-18 19:50:36 +00:00
Marek Roszko
16e3e59495
Split out arrayDim and MIRROR templates from macros.h
...
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Wayne Stambaugh
7a7719bf97
Pcbnew: layer stack up dialog layout fixes.
2020-11-11 12:02:11 -05:00
Oleg Endo
a238209f3f
Add group-by-suffix display option in net inspector
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2469
2020-11-04 02:49:19 +00:00
Marek Roszko
b043b5b5c6
Nip 3 no longer needed common includes
2020-10-25 20:01:13 -04:00
Marek Roszko
77ece552f7
Remove macros.h from files that don't need it
2020-10-24 08:28:02 -04:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Jeff Young
505d764f25
Set board modify bit only when necessary after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5685
2020-10-13 23:11:29 +01:00
Benjamin Vernoux
00baaaa831
Add substrateMaterial FR408-HR
...
https://docs.oshpark.com/resources/four-layer-substrate-FR408HR.pdf
2020-10-06 10:31:00 +00:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
jean-pierre charras
8285110c2a
more cleanup about removing useless include
2020-10-02 08:58:19 +02:00
jean-pierre charras
f702da95c7
Minor code cleanup, step2: remove more useless include.
...
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
jean-pierre charras
3f8c9d49f8
Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
...
due to compil issue on Linux
This reverts commit cffccc3970
.
2020-09-30 20:47:20 +02:00
jean-pierre charras
cffccc3970
Code cleanup: remove useless wx/wx.h include inside a few files.
...
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Wayne Stambaugh
188232de6f
Pcbnew: add user defined layers and allow all layers to have user names.
...
This changes the file format. All previous copper layers that had a user
defined name are forced back to the canonical name and the user defined
name is stored as an optional quoted string in the layer definition and
only used for UI and plotting purposes. All copper object layer names
are now the canonical name for internal file use.
ADDED: Nine new user definable non-copper layers that can be optionally
added to the board layer stack.
CHANGED: All board layers can now be renamed by the user.
CHANGED: User defined layer names can now contain space characters.
Fixes https://gitlab.com/kicad/code/kicad/issues/1969
2020-09-23 15:41:43 -04:00
Jeff Young
a6cdb6440a
Give the user a bit of help with board thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3807
2020-08-05 16:51:58 +01:00
Jeff Young
9fda8d58d0
Take user to Stackup Page when layers don't match.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3807
2020-08-05 00:41:29 +01:00
Ian McInerney
967587adcc
Guard against dynamic cast failure
2020-07-19 01:47:03 +01:00
Jon Evans
9795d30f12
Fix iteration issue in physical stackup editor
...
Also switch to KiCad color chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4735
2020-06-27 21:42:09 -04:00
jean-pierre charras
2d0582daa7
Pcbnew, stack-up manager: allows 2 digits in mantissa for EpsilonR
...
Fixes #3942
https://gitlab.com/kicad/code/kicad/issues/3942
2020-02-26 18:12:24 +01:00
Jeff Young
dcfb7cadce
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Ian McInerney
00e58cd974
Fix unintialized values (from coverity scan)
2020-01-12 13:00:42 +00:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Simon Richter
270aaec443
Rewrite FBP files generated with unreleased wxFB
...
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
jean-pierre charras
2cd60cdfaf
Layer stack manager: remove dielectric layer: fix incorrect sub-layer selection.
2019-11-25 13:30:48 +01:00
jean-pierre charras
ce7857b715
Layer stack manager: fix crash due to a double deletion on unix.
...
Did not happen on Windows.
Fixes: lp:1853764
https://bugs.launchpad.net/kicad/+bug/1853764
2019-11-25 10:51:59 +01:00
jean-pierre charras
544867cf2a
ADD: layer stack manager: support of multilayer dielectric between 2 copper layers
...
This feature is useful for advanced microwave applications.
This is the last missing feature in the board stackup management.
2019-11-15 14:33:10 +01:00
jean-pierre charras
a6b94b37ec
Minor fixes in board_stackup_reporter.
2019-11-12 14:44:10 +01:00
jean-pierre charras
6ad3e4a565
Board stackup manager: Fix missing initialization of dielectric type.
2019-11-12 14:43:48 +01:00
jean-pierre charras
2b201487e1
Board stackup manager: prepare code to allow multiple dielectric material by layer.
...
For advanced microwave applications, sometime a dielectric between 2 copper layers
must be itself created by a stack of different materials.
2019-11-12 14:43:47 +01:00
jean-pierre charras
d3982d0cb2
board stackup manager: a few enhancements in code and make some strings translatable
2019-09-27 17:12:24 +02:00
jean-pierre charras
2e3d781bf2
layer stack manager: fix a crash due to a recent change in code.
2019-09-26 20:48:28 +02:00
jean-pierre charras
3cd12088a3
PANEL_SETUP_BOARD_STACKUP: minor cosmetic enhancement.
2019-09-25 09:27:36 +02:00
jean-pierre charras
cd6c1c48a4
Board stackup manager: add material selector to solder mask and silkscreen layers.
2019-09-24 16:30:25 +02:00
jean-pierre charras
8be9aeac9f
Fix typo
2019-09-21 09:50:01 +02:00
jean-pierre charras
7355ed3bda
Fix Typo
2019-09-20 13:15:06 +02:00
jean-pierre charras
badd0bfa54
Minot fixes in GERBER_JOBFILE_WRITER, due to recent changes in .gbrjob file format.
2019-09-20 13:13:19 +02:00
jean-pierre charras
91c66a05ae
DIALOG_DIELECTRIC_MATERIAL_BASE: Minor fix
2019-09-13 11:35:27 +02:00
jean-pierre charras
f5692584f2
cleanup
2019-09-12 13:25:15 +02:00
jean-pierre charras
271465a644
Stackup manager: Add a dielectric manager to handle more easily user defined dielectric substrates
...
panel_board_stackup.cpp: material selection:
replace wxChoice by a better widget (wxTextCtrl+wxButton) to call the dielectric manager dialog
Move dielectric material class to a specific file
2019-09-12 10:37:05 +02:00
jean-pierre charras
c3bd9b7b8f
Stackup manager: better code.
2019-09-09 17:22:17 +02:00
jean-pierre charras
37fac7a8f2
Stackup editor: fix crash when trying to calculate dielectric layer thickness if all dielectric layers are locked.
...
Add also more tests to validate values.
Fixes: lp:1843131
https://bugs.launchpad.net/kicad/+bug/1843131
2019-09-08 11:49:04 +02:00
Jeff Young
14c4175040
Tighten up the board setup dialog layout a bit.
2019-09-07 13:57:38 +01:00
Jeff Young
e3a525d3c9
See if this fixes the Mojave layout issue.
2019-09-07 13:22:33 +01:00
Jeff Young
83a02e18eb
Mac OSX changes for new board stackup panel.
...
Fixes: lp:1843033
* https://bugs.launchpad.net/kicad/+bug/1843033
2019-09-06 23:43:50 +01:00
jean-pierre charras
e0c82fb003
Board stack manager: add a basic reporter to copy the current stackup to the clipboard.
2019-09-06 11:26:27 +02:00
jean-pierre charras
a5c8b5ed41
Stack manager: cosmetic enhancement: replace a text having no meaning by a bitmap
2019-09-05 21:02:11 +02:00
jean-pierre charras
f3f0e20a67
Pcbnew: add a board layer stack manager
...
This is a new feature.
2019-09-05 18:51:18 +02:00
jean-pierre charras
fc2379ca8a
Fix some issues in .gbrjob file.
...
2 issues are fixed: a missing double quote, and a incorrect handling of unicode chars
Fixes: lp:1836448
https://bugs.launchpad.net/kicad/+bug/1836448
2019-07-14 10:23:45 +02:00
jean-pierre charras
c1eee56785
Prepare changes to support a better board stack management in .gbrjob file.
...
In .gbrjob file, one can specify the thickness and color of some layers.
Currently, there is no way to enter these parameters.
This commit prepare a better support of .gbrjob files.
2019-06-25 18:39:11 +02:00