Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00: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
Marek Roszko
a2c3bdec0d
Remove kicad_string.h from netlist_exporter.h
2020-10-15 18:48:53 -04:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00:00
jean-pierre charras
111ed6c4ac
Fix simulator: op results are not printed correctly when numbers are very small
...
Was due to an overflow in units calculation.
Fixes #5074
https://gitlab.com/kicad/code/kicad/issues/5074
2020-08-08 15:18:50 +02:00
Jeff Young
741481591e
NetClass settings for Eeschema.
...
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.
Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Seth Hillbrand
67bd49b4a8
Fix order-of-ops issue in sim plot
2020-06-27 19:59:49 -07:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans
de9520d65e
Finish porting netlisters to use CONNECTION_GRAPH
2020-05-23 12:45:24 -04:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Simon Richter
632494cba7
Add missing includes
...
A few more instances of missing <algorithm> for std::max
2020-05-10 00:24:11 +02:00
jean-pierre charras
83cb9c0d14
Fix a few Coverity and compil minor warnings. Remove dead code
2020-04-21 12:47:48 +02:00
Ian McInerney
3b67e3d0a4
Rewrite window positioning logic
...
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.
CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
jean-pierre charras
25d7c0cae2
Opencascade: fix min version: OCE=0.18, OCC=6.9.0
...
Fix also a few minor Coverity warnings.
2020-04-16 10:22:20 +02:00
Sylwester Kocjan
fdccdd5cb9
Eeschema: adding .op SPICE simulation support
...
ADDED new tab on simulation settings dialog, which allows to run .op analysis.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2368
2020-04-15 01:51:58 +00:00
Jeff Young
5134856f18
Rationalise 3D settings data-structure.
...
Move the camera out to its own so that everything else is board-
related, and then rename BOARD_ADAPTER.
At some point the flags should probably be moved out too, and they
can have the EDA_3D_SETTINGS name.
2020-03-28 16:09:40 +00:00
Jeff Young
d69ebfae49
Push tool framework base down into TOOL_HOLDER.
...
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Jeff Young
93b7eacfb2
Fixup some Coverity issues.
2020-03-21 16:32:22 +00:00
jean-pierre charras
0f0b9bdf87
SIM_PLOT_FRAME_BASE: gives a minimal size for right panels.
...
On KDE, a too small size can hang wxWidgets.
2020-03-17 08:27:34 +01:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras
0e51ed32f9
ADDED: Sim plot panel: option to plot on a white background or a black background.
2020-02-01 18:20:18 +01:00
Ian McInerney
0d017e262c
Update documentation and comment
2020-01-22 08:47:14 +00:00
Simon Richter
f87dc08801
Readd <config.h> to ngspice.cpp
...
This file should really be included first from any source file, because it
contains platform specific workarounds.
This also groups includes a bit by source.
2020-01-22 08:38:45 +00:00
Jeff Young
384ff2539a
Fix uninitialized variables.
2020-01-21 09:29:33 +00:00
Ian McInerney
00e58cd974
Fix unintialized values (from coverity scan)
2020-01-12 13:00:42 +00:00
Jonatan Liljedahl
4378290094
Fix menu string capitalization for simulator Dotted Current/Phase
2020-01-07 19:45:44 +00:00
Jonatan Liljedahl
f433037dcd
Eeschema: simulator: allow dotted traces for current and phase.
...
ADD: Allow drawing of current and phase traces with dotted style
for easier differentiation from voltage and magnitude. The option
is available in the View menu of the simulator.
2020-01-07 19:45:44 +00:00
Jonatan Liljedahl
90d2ea5dd5
Eeschema: simulator: add keyboard shortcuts for add signal, etc
...
(cherry picked from commit bc4caa8913ceff15391f6347a9edb8acbc60172e)
2019-12-11 04:34:22 +00:00
Seth Hillbrand
c6f5df134c
Minor speed cleanup
...
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Jonatan Liljedahl
7c7d9c3e3f
Eeschema: simulator plot: allow standard mac pan and pinch to zoom
2019-11-25 09:24:31 -05:00
jean-pierre charras
c5290de6ec
housekeeping:
...
Remove not used files:
- markdown2html is not used (we are using "Sundown" tool)
- newstroke_font_without_CJK.cpp is removed.
Due to code optimization the full font works fine without memory issues
-fix also a few very minor compil warnings
2019-11-16 09:39:36 +01:00
Jonatan Liljedahl
fa14d5b9fa
Eeschema: simulator: more trace colors, smarter color allocation
...
NEW: The simulator plot now avoids colors already in use, if possible.
The palette is replaced with a larger one with less saturated colors.
Fixes: lp:1851372
* https://bugs.launchpad.net/kicad/+bug/1851372
2019-11-11 17:20:56 +00:00
Sylwester Kocjan
1c01cc001d
eeschema: fixed recognizing SPICE sim directive
2019-10-20 12:08:01 -07:00
Adam Wolf
c7c49cee5a
Add additional ngspice codemodel path for launching from standalone eeschema on macOS.
2019-10-04 13:41:50 -04:00
Jeff Young
67915b6a96
Add a warning message for attempting to current probe a subckt.
...
Fixes: lp:1843159
* https://bugs.launchpad.net/kicad/+bug/1843159
2019-09-12 14:45:01 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young
23d824de66
Simulator improvements.
...
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
2019-08-05 16:48:18 -06:00
Jeff Young
97d70d7844
Fix cursor bugs in simulation.
...
1) cancel simProbe or simTune when simulator window closed
2) handle non-stock cursors through SetCurrentCursor()
Fixes: lp:1833583
* https://bugs.launchpad.net/kicad/+bug/1833583
2019-08-04 16:25:36 -06:00
Simon Richter
05353049b5
Pull in macro definition for strncasecmp on MSVC
2019-07-17 08:10:47 -04:00
jean-pierre charras
d92396341e
Simulation: do not add .save V(0) and/or .save V(GND) to ngspice.
...
These 2 nets are internally added by ngspice (info from Holger Vogt)
2019-07-07 17:55:43 +02:00
jean-pierre charras
bc27b0ed5f
Sim spice: fix unescaped netnames in spice netlist and simulator dialogs.
...
Net names in eeschema that include '/' are escaped ('/' replaced by "{slash}")
Escaped netnames are only for internal use, and must be unescaped in spice netlist and dialogs.
2019-06-09 17:48:01 +02:00
Jeff Young
568c8c336b
Move DRC control to a tool; move assorted commands to ACTIONS.
2019-06-03 21:08:30 +01:00
Jeff Young
39b91c90dd
Moved more operations to ACTIONs.
2019-06-01 23:03:24 +01:00
Jon Evans
5287ab6e4f
Eeschema: improve simulator behavior for two-source DC analysis
...
Fixes: lp:1830478
* https://bugs.launchpad.net/kicad/+bug/1830478
(cherry picked from commit 356ccd0314
)
2019-05-27 18:23:56 -04:00
jean-pierre charras
6cdde97e6f
ngspice dll search: add auxiliary search paths on Linux, like on other platforms
2019-04-15 11:04:59 +02:00
jean-pierre charras
6d4fbcd5bb
SIM_PLOT_FRAME_BASE: very minor fix.
2019-04-15 10:13:47 +02:00
jean-pierre charras
ad5a1fd963
SIM_PLOT_FRAME: cosmetic enhancement: add icons in main menu.
...
Fix also Upeer/lower case issues in main menu strings.
2019-04-14 15:31:46 +02:00
Jeff Young
d8cc2f8280
More cleanup from non-reference return from GetText().
2019-04-03 19:35:25 +01:00
John Beard
6f1c3f5ef8
Eeschema: construct simulator cursors on demand
...
Statically constructing wxCursors as used for the probe
and tune cursors crashes the qa_eagle_plugin test
instantly.
Fix this by introducing a new class CURSOR_STORE,
which allows to abstract the platform wierdness of wxCursors
and allow the simulator to laziliy init its own cursors
at runtime.
This code isn't properly tested, as these cursors are never
actually used. However, it does allow the eeschema unit test
to run.
Fixes: lp:1781191
* https://bugs.launchpad.net/kicad/+bug/1781191
2019-04-02 18:26:33 +01:00
Maciej Suminski
b445b0fab2
Link eeschema with ngspice DLL
...
Adds a link-time dependency for libngspice, so that other tools may
detect ngspice as a KiCad dependency.
The library is still loaded with dlopen() as it gives a way to reload it
in case of problems. The DLL name is recognized during CMake
configuration and used to load the library at runtime.
2018-10-30 08:32:38 +01:00
Stefan Brüns
d1db2c7621
Use fixed version for libngspice.so.0
...
CanonicalizeName only adds the lib prefix and .so suffix, so loading
libngspice.so fails until the development package is installed.
MAC/Windows code paths lookup soversion 0 of ngspice as well, as this
is the only compatible version.
2018-10-27 10:20:09 +02:00
Maciej Suminski
85ef058458
Spice simulator: change gain units to dBV
2018-09-22 19:05:04 +02:00
jean-pierre charras
e750382e75
Fix a few wxWidgets minor asserts
2018-07-29 17:27:11 +02:00
Jeff Young
7841f8a466
Unified preferences dialog framework.
...
(cherry picked from commit 8ee3e77)
2018-07-17 15:11:17 +01:00
Carsten Schoenert
9f7109826d
fix misspelled 'allows to' -> 'allows one to'
...
Fixup small grammar issues around used 'allows to ...' almost in
code comments.
2018-07-11 10:35:03 -04:00
jean-pierre charras
da392728d4
spice_value.cpp: replace std::invalid_argument by KI_PARAM_ERROR (replacement forgotten in commit a288d6199
)
...
see commit a288d6199
for the reasons of this replacement.
2018-06-05 16:07:47 +02:00
jean-pierre charras
a288d6199e
Add KI_PARAM_ERROR, similar to std::invalid_argument but using wxString instead of std::string to throw errors.
...
std::invalid_argument does not work fine with translated strings as argument for message.
(the translated message is incorrectly or not displayed if it contains non ascii8 chars, at least on Windows).
KI_PARAM_ERROR can be throw-ed with a translatable/translated string (a wxString)
2018-06-05 13:29:51 +02:00
Wayne Stambaugh
7343e78347
Fix some Coverity uninitialized field warnings.
...
Fixes Coverity CIDs:
- 175824
- 169337
- 163191
- 175827
- 175440
- 175438
- 157136
2018-06-04 13:48:57 -04:00
Marco Ciampa
2cb65f9c19
Make the Simulator error strings translatable
2018-05-28 14:51:10 +02:00
Maciej Suminski
61597db12d
Make the Simulator dialog strings translatable
2018-05-25 11:24:25 +02:00
Maciej Suminski
9960416e32
Spice simulator: plot currents in DC sweep simulation
...
Fixes: lp:1767457
* https://bugs.launchpad.net/kicad/+bug/1767457
2018-04-28 01:14:00 +02:00
Maciej Suminski
539d12b08f
Spice simulator: more elegant approach to generating Spice device names
...
Code fixing Spice device names (prefixing reference with a character
corresponding to the assigned device model type) that was duplicated in
a few places has been moved to a function (NETLIST_EXPORTER_PSPICE::GetSpiceDevice()).
2018-04-28 01:14:00 +02:00
jean-pierre charras
502bed083d
Fix a minimal size for the spice simulator frame.
...
For an obscure reason, the minimal frame size fixed in EDA_BASE_FRAME was not working.
2018-04-27 20:35:23 +02:00
jean-pierre charras
a9dd5b5335
Sim spice fix: the frame size was not the last stored size (like for other frames) but a default fixed value.
...
The frame size (and its subframes) is now the last used.
2018-04-27 18:33:13 +02:00
Maciej Suminski
e3a06dca70
Fallback to system ngspice library when libngspice is not found in other paths on macOS
2018-04-19 14:48:31 +02:00
Maciej Suminski
4526f40fe1
ngspice: add extra paths to search for libngspice
...
The main purpose of the patch is to load libngspice from macOS bundle.
There are also some additional paths that could make Windows developers
easier.
Fixes: lp:1630675
* https://bugs.launchpad.net/kicad/+bug/1630675
2018-04-19 11:43:29 +02:00
Maciej Suminski
a8ef222517
ngspice: keep the ngspice DLL handle as an automatic variable
2018-04-19 11:44:48 +02:00
Maciej Suminski
cb2c447c23
Spice Simulator: add close buttons to plot tabs
...
Fixes: lp:1761902
* https://bugs.launchpad.net/kicad/+bug/1761902
2018-04-07 22:53:50 +02:00
Maciej Suminski
058f2bffd0
Spice simulator: safety check
2018-03-22 18:20:02 +01:00
Maciej Suminski
bad462a228
Spice simulator: reload ngSpice dll on error
...
ngSpice frequently ends up a simulation with an error:
"Error: ngspice.dll cannot recover and awaits to be detached"
The only way forward is to reload the shared library and
reinitialize ngSpice.
Fixes: lp:1753101
* https://bugs.launchpad.net/kicad/+bug/1753101
2018-03-21 18:01:38 +01:00
Maciej Suminski
61e42ba392
Spice simulator: changed NGSPICE instance type to shared_ptr
...
It was yet another time when I tried to free a singleton pointer.
Let's make clear it is not meant to be freed manually.
2018-03-21 18:01:38 +01:00
Maciej Suminski
50053e7f27
Spice simulator: code formatting
2018-03-21 18:01:38 +01:00
Maciej Suminski
33620ecc85
Revert "libngspice is linked at compile time"
...
This reverts commit 75f8b20493
.
In case of problems, ngspice demands to be detached which is not
possible when it is linked at compile time.
2018-03-21 18:01:38 +01:00
Tomasz Włostowski
919b449595
Added 'show spice netlist' menu option in the simulator
...
Fixes: lp:1745887
* https://bugs.launchpad.net/kicad/+bug/1745887
2018-03-03 17:38:28 +01:00
jean-pierre charras
af1281433b
fix minor compil warning
2018-02-18 21:22:16 +01:00
Jeff Young
b3884669cf
Proper error reporting for Annotate dialog.
...
Also fixes:
- forcing the annotation scope to "full schematic" when run
as a prerequisite to Generate Netlist.
- a long-standing bug where displaying extra items in a dialog
would mess up the height of the HTML_REPORT_PANEL (becasue
we were setting the html window's height rather than its
parent flexgrid.
- initializing the annotation radio buttons to safe values
(full schematic and keep existing)
Fixes: lp:1750062
* https://bugs.launchpad.net/kicad/+bug/1750062
2018-02-18 15:08:24 -05:00
Jeff Young
1afbfad44a
Use "..." uniformly in menus.
...
See the bug report for some wording changes and a couple of
menu restructurings that were also cleaned up.
Fixes: lp:1597827
* https://bugs.launchpad.net/kicad/+bug/1597827
2018-02-10 17:32:28 -05:00
jean-pierre charras
8022f1cc01
fix code after renamin files
2018-01-30 11:49:51 +01:00
Chris Pavlina
c5b2ad9595
simulator: DPI-independent default size
2018-01-06 22:23:58 -07:00
Dan Weatherill
0dcf95ee1a
automatically add extension to sim workbook files
...
CHANGED: When a workbook file is saved from the simulation dialog
in eeschema, the extension is automatically added if it is not
specified. This behaviour is consistent with the workbook loading
dialog, which filters the filelist for only ".wbk" files with no
"all files" option.
2018-01-06 12:04:53 -05:00
Mark Roszko
b98cc0b937
Some coverity fixes
2018-01-05 22:51:03 -07:00
Christian Jacobsen
ff4829eee6
Added a validity check in SIM_PLOT_PANEL::IsGridShown()
...
Fixes: lp:1712086
* https://bugs.launchpad.net/kicad/+bug/1712086
2017-12-18 09:34:25 +01:00
Simon Richter
a9ccf1161b
Fix quotes in UI messages
...
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.
Sorry to all translators.
2017-12-15 07:33:07 -05:00
Maciej Suminski
33cf082c41
Fixed library path resolution in Spice netlist exporter
...
SEARCH_STACK is a deprecated method for getting the list of paths where
one could look for a file. Instead it tries the project path and
environmental variables.
2017-11-19 11:38:57 +01:00
Wayne Stambaugh
652b969193
GTK+ file dialog wildcard improvements.
...
The GTK+ file dialog is case sensitive however it does support regular
expressions. Most of the file dialog wildcards are lower case so only
files with the lower case extensions will show up in the file dialog.
This code adds a method to convert file extensions of any case to the
appropriate (sch -> [sS][cC][hH]) regular expression on GTK+ builds so
all file extension case combinations will show up in the file dialog.
A note to developers: make sure to add a file extension when setting
when setting the default file argument. If you do don't set an
extension, the GTK+ file dialog will happily append the regular
expression as the file extension which is surely not what you want.
There are still a few known places (mostly gerbview) where there are
some complex wildcard code that has not been converted.
Fixes lp:1720542
https://bugs.launchpad.net/kicad/+bug/1720542
2017-11-11 19:32:26 -05:00
Wayne Stambaugh
36f6d4a1f4
Convert symbol library editor over to use symbol library table.
...
Simplify some of the library editing code. There have been a few minor
changes in the behavior of the editor. If the current symbol is deleted
from the library, the next symbol in the library is not loaded. The
deleted symbol is cleared and the current symbol is empty.
Change component to symbol to align with the preferred terminology
discussed on the developer's mailing list.
Add separate update UI event for save library as to enable the menu entry
whenever a library is selected.
Change the select symbol list dialog to a single column using the LIB_ID
format LIB_NICKNAME:LIB_ITEM_NAME so that the selection can be parsed by
LIB_ID.
Add method to expand URI to LIB_TABLE_BASE.
Override wxApp::OnExceptionInMainLoop() in debug builds to make debugging
easier when an unhandled exception occurs in a wxUpdateUIEvent handler.
Change SCH_SCREENS::HasNoFullyDefinedLibIds() to return false when the
schematic has no symbols to prevent the remapping dialog from being run.
Use SCH_COMPONENT part reference when creating netlist rather than looking
up the library symbol.
2017-11-09 18:50:20 -05:00
Tomasz Włostowski
b945d2a708
cleanup: replace CLASS_MIRE with CLASS_PCB_TARGET for naming clarity
2017-11-03 20:02:06 +01:00
jean-pierre charras
1466d0cee6
Fix a few doxygen warnings
2017-06-18 09:18:41 +02:00
Maciej Suminski
2018d48946
Fixed removal order in SIM_PLOT_PANEL::DeleteTrace()
2017-06-16 23:17:34 +02:00
Wayne Stambaugh
66e97fa905
Doxygen comment improvements.
...
Fix lots of Doxygen warnings.
Fix Doxygen comment for IO_MGR::FootprintEnumerate() which was recently
changed.
2017-06-13 19:47:46 -04:00
Chris Pavlina
ef12f0bcbc
Fix warning: shadowed wxWindow::IsShown in sim_plot_panel.h
2017-03-19 09:18:28 -04:00
Chris Pavlina
bfa22c6ce8
Fix warning: uninitialized constant in sim_plot_panel.h
2017-03-19 09:18:23 -04:00
Maciej Suminski
d7e1152aa3
Correct way of freeing memory in NGSPICE class
...
Strings created with strdup() should be deleted using free(), not
delete.
2017-03-01 13:56:24 +01:00
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
...
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
jean-pierre charras
54c5f6bbb0
Simulator frame: fix a min size for panels, and now stores in config the position and size of the frame and panels
2016-12-02 15:34:23 +01:00
Marco Inacio
c6cbc9ec95
Fixes: lp:1646224 (Simulation: small tune field)
...
https://bugs.launchpad.net/kicad/+bug/1646224
2016-12-02 08:58:01 +01:00
Maciej Suminski
af3d5befa7
Solve codemodel libraries loading problem in ngspice
...
Fixes: lp:1630675
* https://bugs.launchpad.net/kicad/+bug/1630675
2016-10-17 10:11:27 +02:00
Maciej Suminski
26ee676278
Handle Spice_Netlist_Enabled attribute in Spice netlist exporter
...
Fixes: lp:1630502
* https://bugs.launchpad.net/kicad/+bug/1630502
2016-10-07 16:50:47 +02:00
jean-pierre charras
673b094b2b
Fix a few missing override qualifiers and shadowed vars.
2016-09-27 10:58:05 +02:00
Maciej Suminski
9e587a1ea2
Fixed an assertion in SIM_PLOT_FRAME
...
wxListCtrl cannot have wxLC_REPORT and wxLC_SMALL_ICON enabled at the same time (Windows)
2016-09-22 18:27:56 +02:00
jean-pierre charras
0719f8d214
Fixes: lp:1624659 (fix some issues in countries which are not using a point as decimal separator)
...
https://bugs.launchpad.net/kicad/+bug/1624659
Small enhancement in dialog_spice_model_base.cpp: add comments about spice values notation.
2016-09-17 18:34:44 +02:00
jean-pierre charras
48f916bd63
Kicad manger: add .cir netlist files to the list of files to show in project tree.
...
Simulator: open/save worbook file dialog: the dialog opens the current project folder by default.
2016-09-17 09:34:16 +02:00
jean-pierre charras
cd94da7972
Spice simulator and netlist generation: use only netnames (outdated option "use net numbers as net names removed" removed)
...
netlist generation: remove option "replace IC and U ref by X" (broken option).
All component refs are now prefixed by the Spice_Primitive field value.
Therefore the netlist used by Kicad ngsipce simulator and the spice netlist generated from dialog are the same.
(note: like previously, forbidden chars like ( and ) are replaced by _ in netnames)
2016-09-16 20:36:19 +02:00
Maciej Suminski
fcedef836a
Revert "Do not use double component primitives in Spice netlist exporter"
...
This commit creates more issues than resolves. It could happen that
there are components with different reference types (e.g. U1 and IC1)
that would be later converted to X1, causing a conflict.
2016-08-31 11:51:17 +02:00
Maciej Suminski
81e015036e
Fixes for drawing color labels in simulator's signal list
2016-08-30 14:25:59 +02:00
Maciej Suminski
67573f15be
Do not use double component primitives in Spice netlist exporter
...
Fixes: lp:1617768
* https://bugs.launchpad.net/kicad/+bug/1617768
2016-08-30 14:25:56 +02:00
Johannes Maibaum
b87bac22c7
Simulator: Fix probe and tune cursors on OSX.
2016-08-30 10:48:40 +02:00
jp-charras
26b1c732de
Simulator: add simulator icon, and colored icons to identify more easily traces in trace list and cursor list.
2016-08-29 11:39:54 +02:00
jean-pierre charras
7e3aedda82
Slightly modify the way DIALOG_SIM_SETTINGS m_settingsDlg is created in SIM_PLOT_FRAME frame: for an obscure reason, if it is created in ctor SIM_PLOT_FRAME, m_settingsDlg has an annoying issue on Windows: when shown, the parent SIM_PLOT_FRAME is sent to the background. When created outside the ctor, this issue is gone.
2016-08-20 19:51:33 +02:00
jean-pierre charras
2456db3817
Simulator: Make a few strings translatable.
2016-08-20 17:37:51 +02:00
Maciej Suminski
42f6cf33a1
Unbind REPORTER from NGSPICE before deleting
2016-08-19 16:39:46 +02:00
Maciej Suminski
fe30985742
Do not delete the NGSPICE singleton
2016-08-19 16:33:31 +02:00
Maciej Suminski
2a6b8f153b
NGSPICE as a singleton
...
One cannot call ngSpice_Init() twice without unloading the dll. When calling
ngSpice_Init, we pass a pointer to a NGSPICE instance and thus it cannot be changed.
When any of the callback function is called with a stale pointer everything crashes.
2016-08-19 15:51:19 +02:00
Maciej Suminski
cac571c056
Initialize ngspice only once
2016-08-18 18:10:00 +02:00
Maciej Suminski
43d93682a2
Fix locale in NGSPICE methods using LOCALE_IO instead of setlocale.
...
More information: https://lists.launchpad.net/kicad-developers/msg25763.html
2016-08-15 15:52:07 +02:00
Maciej Suminski
75f8b20493
libngspice is linked at compile time
2016-08-15 13:52:13 +02:00
Maciej Suminski
497b2a9442
CMake module for libngspice
2016-08-12 15:56:51 +02:00
jean-pierre charras
6e5628ceaf
Avoid simulator crash if the simulation was not run, when using most of main menu commands, due to a null pointer not tested.
2016-08-12 15:36:43 +02:00
jean-pierre charras
dd395a6854
Fix deprecated and shadowed var compil warnings
2016-08-12 11:00:58 +02:00
Maciej Suminski
18e99fa30f
Fixed a crash with certain shared library versions
2016-08-11 14:42:21 +02:00
Maciej Suminski
6b3584ce9b
fxup system ngspice.h
2016-08-11 14:42:19 +02:00
Maciej Suminski
0cb1e80e00
Activate eeschema on tune/probe
2016-08-11 14:42:19 +02:00
Maciej Suminski
dfb5c6bfdd
Do not update values if simulation is rerun Otherwise sometimes the signal list might be cleared and a new list is not yet available, resulting in loss of signals and cursors.
2016-08-11 14:42:19 +02:00
Maciej Suminski
d15eef06f9
Removed redundant debugging info
2016-08-11 14:42:18 +02:00
Maciej Suminski
2c29133c57
Use system ngspice.h file
2016-08-11 14:42:18 +02:00
Maciej Suminski
0667b7ba63
Fixed ngspice freeze when there is an error in the simulated netlist Does not work with current ngspice head, it has to be compiled from the official master branch.
2016-08-11 14:42:18 +02:00
Maciej Suminski
8227cd6d80
Do not recreate the simulator every time simulation is run
2016-08-11 14:42:17 +02:00
Maciej Suminski
eeeb3e0a9a
Simulator code formatting and clean up
2016-08-11 14:42:17 +02:00
Maciej Suminski
957c6ec417
Removed hard limit for ngspice netlist
2016-08-11 14:42:17 +02:00
Maciej Suminski
0a6390701d
NGSPICE uses a more convenient function to generate DLL name
2016-08-11 14:42:16 +02:00
Maciej Suminski
46ecfd8139
Resized simulator dialogs
2016-08-11 14:42:16 +02:00
Johannes Maibaum
c78462c4f5
sim: Modifications to compile the simulator on OSX.
2016-08-11 14:42:15 +02:00
Maciej Suminski
c9a1b45666
Fixed probe & tune cursors under Windows.
2016-08-11 14:42:15 +02:00
Tomasz Wlostowski
1930cd4d66
sim: display labels on current scale when only currents are added to transient plot
2016-08-11 14:42:14 +02:00
Maciej Suminski
e452992a6c
Cursor centering fix
2016-08-11 14:42:14 +02:00
Maciej Suminski
ca36f15fee
Temporary disable cursor centering
2016-08-11 14:42:14 +02:00
Maciej Suminski
2c576afdf3
Fixed menu entries
2016-08-11 14:42:13 +02:00
Maciej Suminski
ca13dc93b1
Support for simulation workbooks
2016-08-11 14:42:12 +02:00
Maciej Suminski
7b81516b61
Fixed SIM_PLOT_FRAME::CurrentPlot()
2016-08-11 14:42:12 +02:00
Tomasz Wlostowski
b20f941bd0
sim: hopefully final version of plot axis unit/suffix handling.
2016-08-11 14:42:10 +02:00
Maciej Suminski
01d18bad97
Save simulation command directive for every plot
2016-08-11 14:42:10 +02:00
Maciej Suminski
fb56420654
Do not store Spice vector names, but regenerate them
2016-08-11 14:42:10 +02:00
Maciej Suminski
ed8f555331
Remove plots that are invalid after component removal
2016-08-11 14:42:09 +02:00
Maciej Suminski
672fd76995
Remove tuners for components that were removed
2016-08-11 14:42:09 +02:00
Maciej Suminski
06287e4986
Display an error message for unannotated schematics
2016-08-11 14:42:09 +02:00
Maciej Suminski
dbf0fd6156
Better normalization rules for SPICE_VALUE
2016-08-11 14:42:07 +02:00
Maciej Suminski
bf758dce3e
Tuners are common for all plots
2016-08-11 14:42:07 +02:00
Maciej Suminski
5772938a71
New cursor shows up in the center, can be dragged by its axis
2016-08-11 14:42:07 +02:00
Maciej Suminski
2f8f92cf0a
Closing tabs with middle button click I could not find a way to make tab close button work in wxWidgets..
2016-08-11 14:42:07 +02:00
Maciej Suminski
fccf71aadd
Change 'Run Simulation' button icon when simulation is running
2016-08-11 14:42:06 +02:00
Maciej Suminski
8306cd3b9b
Fixed tuners layout after a tuner is removed
2016-08-11 14:42:06 +02:00
Tomasz Wlostowski
e691565fe3
sim: updated label generation code to match changes in the mathplot api
2016-08-11 14:42:04 +02:00
Maciej Suminski
7d268d2608
Reset scales upon simulation relaunch
2016-08-11 14:42:04 +02:00
Maciej Suminski
9d8b40b93d
Reset scales when a plot is removed
2016-08-11 14:42:03 +02:00
Maciej Suminski
ba3ce9b566
Fixed tuner autoplacement
2016-08-11 14:42:03 +02:00
Maciej Suminski
bc433764fe
Fixed layout proportions
2016-08-11 14:42:02 +02:00
Tomasz Wlostowski
36297f84c3
sim: further locale hacks, fixed plot/welcome message sizing
2016-08-11 14:42:02 +02:00
Tomasz Wlostowski
8e4ae1968f
sim: working on improved UX [wip]
2016-08-11 14:42:01 +02:00
Tomasz Wlostowski
2bcd8af25c
sim: fix trailing zero removal
2016-08-11 14:42:01 +02:00
Tomasz Wlostowski
bba57097b7
sim: use C locale for SPICE simulation. Added error callback
2016-08-11 14:42:01 +02:00
Tomasz Wlostowski
8c14f2f6b1
sim: working on UX
2016-08-11 14:42:00 +02:00
Tomasz Wlostowski
ec1b8be528
sim: fixed build errors & locale issues
2016-08-11 14:41:58 +02:00
Maciej Suminski
7406aad8ea
Display current plots using the current axis
2016-08-11 14:41:57 +02:00
Maciej Suminski
ce59b282d3
Display both axis names in the cursor list
2016-08-11 14:41:56 +02:00
Maciej Suminski
973a3d7bcb
Fixed a crash when a signal was removed
2016-08-11 14:41:56 +02:00
Maciej Suminski
07b451f4b1
Do not draw cursors outside margins
2016-08-11 14:41:55 +02:00
Maciej Suminski
cdf758b173
Automatically update cursor coordinates
2016-08-11 14:41:55 +02:00
Maciej Suminski
b25781814d
Fixed cursors
2016-08-11 14:41:55 +02:00
Maciej Suminski
65a0327e85
Better normalization rules for SPICE_VALUE
2016-08-11 14:41:55 +02:00
Maciej Suminski
65c7520544
Bulletproof Simulation settings dialog
2016-08-11 14:41:54 +02:00
Maciej Suminski
16fec4d73e
Strip comas from a Spice value
2016-08-11 14:41:54 +02:00
Maciej Suminski
920cf09ac1
Fixed plot for DC sweep analysis
2016-08-11 14:41:53 +02:00
Maciej Suminski
38810930ec
Removed redundant TRACE_* classes
2016-08-11 14:41:53 +02:00
Maciej Suminski
806b862a5e
Corrected Spice vector name for voltages
2016-08-11 14:41:53 +02:00
Maciej Suminski
5fdc32b79a
AC analysis plots using linear frequency scale
2016-08-11 14:41:52 +02:00
Maciej Suminski
0f993ba98c
Current probing
2016-08-11 14:41:52 +02:00
Maciej Suminski
caef84d622
SPICE_SIMULATOR::GetXAxis()
2016-08-11 14:41:51 +02:00
Maciej Suminski
27a7a9b1a5
Spice fields enum values renamed from SPICE_* to SF_*
2016-08-11 14:41:51 +02:00
Maciej Suminski
cf28e843ba
Fix for crash when AC simulation is relaunched
2016-08-11 14:41:50 +02:00
Maciej Suminski
e5604fee1c
SPICE_VALUE bugfix
2016-08-11 14:41:50 +02:00
Maciej Suminski
ef45cd696d
Refresh plots after simulation is relaunched
2016-08-11 14:41:50 +02:00
Tomasz Wlostowski
e8d6a42e1a
simulator: working on magnitude/phase plots
2016-08-11 14:41:49 +02:00
Tomasz Wlostowski
e5bf70996b
eeschema: migrate SIM_PLOT_PANEL to improved wxMathPlot [wip]
2016-08-11 14:41:49 +02:00
Maciej Suminski
d869771f04
Display an error message if ngspice DLL is missing
2016-08-11 14:41:48 +02:00
Maciej Suminski
a717194b1e
Enable tuner for RLC components only
2016-08-11 14:41:45 +02:00
Maciej Suminski
92a3e405c2
Tuner tool.
2016-08-11 14:41:45 +02:00
Maciej Suminski
4f9a418694
Moved SPICE_VALUE to a separate source file
2016-08-11 14:41:43 +02:00
Maciej Suminski
f62a6425a3
Changed the simulator code license to GPLv3+
2016-08-11 14:41:43 +02:00
Maciej Suminski
51f0564119
Signals are added using a separate dialog
2016-08-11 14:41:42 +02:00
Maciej Suminski
b897af7eb9
Added a few checks for SIM_PLOT_FRAME to improve robustness
2016-08-11 14:41:41 +02:00
Maciej Suminski
6bfe6342fc
Simulator fixes for Windows
2016-08-11 14:41:41 +02:00
Maciej Suminski
3e2061158e
SIM_PLOT_FRAME: Do not update plots if the just run a different type of simulation
2016-08-11 14:41:39 +02:00
Maciej Suminski
06463252d7
wxMathPlot: Limited zooming and panning
2016-08-11 14:41:37 +02:00
Maciej Suminski
78526ee913
Additional options for netlist exporter (fix passive values, library include paths)
2016-08-11 14:41:36 +02:00
Maciej Suminski
6580a355ab
Strip 'stdout' & 'stderr' from ngspice log
2016-08-11 14:41:35 +02:00
Maciej Suminski
90b6112c5d
Rearranged SIM_PLOT_FRAME, changed console log from wxRichTextCtrl to wxTextCtrl
2016-08-11 14:41:35 +02:00
Maciej Suminski
e90fcaa6d9
New type of simulation opens a new plot
2016-08-11 14:41:35 +02:00
Maciej Suminski
ab8c88f10b
SIM_TYPE enum
2016-08-11 14:41:34 +02:00
Maciej Suminski
0da13052dd
SPICE_SIMULATOR interface allows to obtain different types of plots (mag, phase, real, imag)
2016-08-11 14:41:31 +02:00
Maciej Suminski
2b1784cfc6
Simulation settings combo boxes are filled with net/power source choices
2016-08-11 14:41:30 +02:00
Maciej Suminski
a2b16ae640
Initial 'Simulation settings' dialog
2016-08-11 14:41:29 +02:00
Maciej Suminski
17294aaf6a
Simulation plot CSV & PNG export
2016-08-11 14:41:28 +02:00
Maciej Suminski
1d4fe279db
Menu entries to toggle legend & coordinates
2016-08-11 14:41:27 +02:00
Maciej Suminski
8c138312fb
Cursors are updated on request instead of using update UI events Previously CPU was busy updating the list of cursors even though nothing was changing.
2016-08-11 14:41:27 +02:00
Maciej Suminski
e364cfdbac
Renamed wxEVT_SIM* events to EVT_SIM*
2016-08-11 14:41:27 +02:00
Maciej Suminski
fa4ba69661
Simplified SIM_PLOT_FRAME layout Removed unnecessary panels & sizers, changed wxAuiNotebook to wxNotebook
2016-08-11 14:41:26 +02:00
Maciej Suminski
433f934dc1
Simulation frame displays a list of cursors and their values
2016-08-11 14:41:26 +02:00
Maciej Suminski
f3fabeb9fb
Right click context menu for signals (including adding cursors)
2016-08-11 14:41:25 +02:00
Maciej Suminski
88adcc894a
SIM_PLOT_FRAME::CurrentPlot() made public
2016-08-11 14:41:25 +02:00
Maciej Suminski
cd25e62052
CURSOR does not take mpWindow* in constructor
2016-08-11 14:41:24 +02:00
Maciej Suminski
0b0885f6cd
Removed 'Parameters' listbox, expanded 'Signals' list
2016-08-11 14:41:24 +02:00
Maciej Suminski
8b61bb4acc
Signals toggling in SIM_PLOT_PANEL
2016-08-11 14:41:24 +02:00
Maciej Suminski
ba99dfdabf
CURSOR class for simulation plot
2016-08-11 14:41:22 +02:00
Maciej Suminski
24bccb00d6
Menu event handlers for simulation plot frame
2016-08-11 14:41:22 +02:00
Maciej Suminski
51906625ee
Replaced sim plotting widget with wxMathPlot
2016-08-11 14:41:21 +02:00
Maciej Suminski
951d16c655
Fixed Spice netlist export options and added a few new flags
2016-08-11 14:41:20 +02:00
Maciej Suminski
9f3324bac7
Changed the way ngspice is executed Previously it was run in a wxThread, but it did not allow to issue commands while the simulation is running. If you check ngspice shared library source code, then you will discover "bg_*" commands that executes commands in background, so the simulator still can be controlled.
2016-08-11 14:41:19 +02:00
Maciej Suminski
544da3feda
Handle 'Simulate' button label in idle event handler
2016-08-11 14:41:19 +02:00
Maciej Suminski
aea29fc730
Update already plotted signals upon simulation run
2016-08-11 14:41:18 +02:00
Maciej Suminski
38042ac9e0
NGSPICE class minor cleanup
2016-08-11 14:41:17 +02:00
Maciej Suminski
8fdb9e8307
SIM_PLOT_FRAME::NewPlot() -> SIM_PLOT_FRAME::NewPlotPanel()
2016-08-11 14:41:17 +02:00
Maciej Suminski
8a6e6f2d36
Do not add a trace if it is already plotted
2016-08-11 14:41:16 +02:00
Maciej Suminski
cb463f48b1
Add a signal on double click
2016-08-11 14:41:16 +02:00
Maciej Suminski
0d764741f9
Simulation commands moved from eeschema menu to SIM_PLOT_FRAME buttons
2016-08-11 14:41:16 +02:00
Maciej Suminski
751a335503
Minor SIM_PLOT_FRAME redesign
2016-08-11 14:41:16 +02:00
Maciej Suminski
2b1d2d7bd1
Fixed Kiway problems in SIM_PLOT_FRAME
2016-08-11 14:41:15 +02:00
Maciej Suminski
40224f48fb
Minor simulation plot style changes
2016-08-11 14:41:14 +02:00
Maciej Suminski
781a12222c
Fixed simulation plot legend
2016-08-11 14:41:14 +02:00
Maciej Suminski
0261a0e59c
Axis autorange
2016-08-11 14:41:14 +02:00
Maciej Suminski
91d1f7135b
SIM_PLOT_PAINTER class
2016-08-11 14:41:12 +02:00
Maciej Suminski
ae5424c44a
Probe cursor (TODO: has to be discussed)
2016-08-11 14:41:12 +02:00
Maciej Suminski
ac17165947
Initial version of simulator probe tool
2016-08-11 14:41:11 +02:00
Maciej Suminski
aa3e251cdd
Sim plots get consecutive numbers
2016-08-11 14:41:11 +02:00
Maciej Suminski
a4868a0e5a
Minor fixes to debug output
2016-08-11 14:41:10 +02:00
Maciej Suminski
0d8c095215
Fill the signal list box when a simulation is finished
2016-08-11 14:41:10 +02:00
Maciej Suminski
402a438339
NETLIST_EXPORTER_PSPICE adjusts paths for .include directives
2016-08-11 14:41:09 +02:00
Maciej Suminski
9ef2cb94bf
Simulation executes in a separate thread
2016-08-11 14:41:07 +02:00
Maciej Suminski
e72b54a6e0
Code cleanup
2016-08-11 14:41:07 +02:00
Maciej Suminski
9e2485ea97
SPICE_SIMULATOR: Code formatting & clean up
2016-08-11 14:41:07 +02:00
Maciej Suminski
9dc681b198
Build fixes (for mathgl2)
2016-08-11 14:41:04 +02:00
Tomasz Wlostowski
7b05dc2a13
Fbp files for simulator
2016-08-11 14:41:04 +02:00
Tomasz Wlostowski
095af6e77a
wip
2016-08-11 14:41:01 +02:00
Tomasz Wlostowski
f1f69979e6
ngspice: something starts to work
2016-08-11 14:41:01 +02:00