Wayne Stambaugh
fda677eecc
Prevent schematic I/O plugin from setting the library cache to null.
...
Don't call init() when performing library functions as it was always
setting the m_cache variable to null which cause the library to be
reloaded every time a library command was performed as well as a
memory leak.
Delete cache object when the plugin is destroyed.
2017-02-10 08:36:58 -05:00
Wayne Stambaugh
73bbc35c3e
Make the schematic I/O plugin the only option.
...
Add SCH_PLUGIN object to PART_LIB object.
Convert all PART_LIB I/O to use SCH_PLUGIN.
Remove library caching from PART_LIB and use caching provided by SCH_PLUGIN.
Add support to use PROPERTIES for buffering and document file write control
instead of adding code the SCH_PLUGIN object in the SCH_LEGACY_PLUGIN that
will not be required when the new file formats are implemented.
Add buffering to SCH_LEGACY_PLUGIN to prevent cache from writing file on
every change to library. This is to prevent the cache library from being
written every time a new symbol is added.
Add option to not save library document file when saving library. This is
primarily used by the cache library write code.
Move symbol library write code out of LIB_PART and into SCH_LEGACY_PLUGIN.
Add exception handling where LIB_PART caught the exception and returned
an error status.
Remove KICAD_SCH_IO_MANAGER build option as it is no longer optional.
2017-02-10 08:36:57 -05:00
Chris Pavlina
9bb1b33e89
libedit: menu bar UI compliance tweaks
2017-02-07 16:38:23 -05:00
Chris Pavlina
93a90926c2
eeschema: menu bar UI compliance tweaks
2017-02-07 16:38:18 -05:00
Chris Pavlina
bca74853d1
Display more information in component selector
2017-02-07 15:01:20 -05:00
Oliver
a5dcc192dc
Fix for bug where rotating / editing a selected item would remove it from screen
...
- Added test to see if there was a currently-editing item
Fixes: lp:1661866
https://bugs.launchpad.net/kicad/+bug/1661866
2017-02-07 09:12:38 -05:00
Chris Pavlina
431abcff0c
libedit: no units in the new Delete Part dialog
2017-02-05 09:08:07 -05:00
Oliver
4cd7514c8e
libedit: Improved selection process for DeleteComponent
...
- Reused SelectComponent dialog
- Reduced selection to current library only
- Ability to filter component for deletion
- Automatically pre-select the current component
2017-02-05 08:50:22 -05:00
jean-pierre charras
7dddb1d1c1
When editing a label property it always goes to right orientation by itself
...
Fixes: lp:1661264
https://bugs.launchpad.net/kicad/+bug/1661264
2017-02-02 16:50:49 +01:00
Chris Pavlina
1ab1d8e7e6
Revert "libedit: Improved selection process for DeleteComponent"
...
This reverts commit 4ba0fef8c1
.
This was accidentally merged before review due to clumsiness, and has a
bug.
2017-02-02 06:28:56 -05:00
Oliver
4ba0fef8c1
libedit: Improved selection process for DeleteComponent
...
- Reused SelectComponent dialog
- Reduced selection to current library only
- Ability to filter component for deletion
2017-02-02 06:14:32 -05:00
Oliver
702795f4a9
Added progress dialogs for library loading
...
- Modal wxProgressDialog when loading symbol libraries (eeschema / libedit)
2017-02-02 06:14:32 -05:00
Wayne Stambaugh
9319ef034d
Fix rotate bug in symbol library editor.
...
The rotate hotkey was rotating individual items when a block was selected
which is invalid behavior. Add check for block mode and disable rotating
items when block mode is active.
Fixes: lp:1660875
https://bugs.launchpad.net/kicad/+bug/1660875
2017-02-01 13:07:20 -05:00
Chris Pavlina
e03fef3266
Reorder eeschema toolbar slightly
...
- Put the output generation steps (annotation through pcbnew) in the
correct order as expected by the user running through them.
- Add a Plot button to match pcbnew
2017-01-31 16:06:27 -05:00
Diogo Condeco
8033c6fa9a
Eeschema one field dialog text selection.
...
This patch selects the text in the dialog_one_field.
For annotated symbols the number is selected. For unannotated symbols the ? is selected.
All other cases the entire text is selected, including references in library editor.
2017-01-31 16:01:08 -05:00
Chris Pavlina
49f881375b
libedit: add hotkey for Load Component
2017-01-31 16:01:08 -05:00
Chris Pavlina
1d83e23927
libedit: preselect active component when switching
2017-01-31 16:01:08 -05:00
Diogo Condeco
75ffcbcef5
MACOS Setfocus and CancelButtonIssue moved into dialog_shim.
...
Setfocus now works on macos dialogs by setting DLGSHIM_USE_SETFOCUS.
This option is only enabled __WXMAC__ is defined.
FixOSXCancelButtonIssue() is now called inside DIALOG_SHIM::SHOW.
All other calls from within the dialogs were removed.
2017-01-29 23:51:35 +01:00
Dick Hollenbeck
d0c46a81d9
SCH_TEXT::SwapData() was not swapping m_shape, causing abandoned drag to distort pinsheet.
...
Fixes: lp:1659683
* https://bugs.launchpad.net/kicad/+bug/1659683
2017-01-27 16:44:24 -05:00
Wayne Stambaugh
8e7fe9dab2
Fix spice simulator build error due to EDA_TEXT changes.
2017-01-25 09:25:05 -05:00
Dick Hollenbeck
0c459ced97
EDA_TEXT object refactor.
...
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.
Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.
Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
2017-01-25 08:03:32 -05:00
diogocondeco
1a05c8a5a8
eeschema/add_component setfocus moved into OnInitDialog
...
SetFocus executed by OnInitDialog wxInitDialogEvent handler
2017-01-23 12:31:00 -05:00
Robbert Lagerweij
550a1ea4d6
eeschema: set title of plotted pdf to sheet title
...
Fixes: lp:1656956
https://bugs.launchpad.net/kicad/+bug/1656956
2017-01-20 17:11:12 -05:00
Simon Richter
fbace8e513
Fixed two hidden overloaded function warnings.
...
Correct way of writing commit c4db8bf4
.
2017-01-18 17:24:50 +01:00
Maciej Suminski
c4db8bf45f
Revert "Removed Pin{Shape,Type}ComboBox::SetSelection()."
...
Enforcing the appropriate type is a good thing, though it results in
build warnings. For the moment we stay with the latter.
This reverts commit 6dd47119fe
.
2017-01-18 16:58:20 +01:00
Maciej Suminski
6dd47119fe
Removed Pin{Shape,Type}ComboBox::SetSelection().
...
These methods were hiding an overloaded method, which was called anyway.
2017-01-18 14:20:39 +01:00
Frank Villaro-Dixon
c2fb3368f3
Change default symbol pin length to match KiCad Library Convention (KLC).
2017-01-09 16:27:26 -05:00
Wayne Stambaugh
50a388fe56
Page setting menu entry consistency fixes.
...
Move the page setting menu entry from the edit menu to the file menu in
Eeschema so it is consistent with Pcbnew.
Change the page setting menu entry tooltip in Pcbnew so it is the same as
Eeschema.
2017-01-04 15:24:45 -05:00
jean-pierre charras
655f54bea5
Fixes: lp:1652353 (pspice netlist export: library include path is always empty)
...
https://bugs.launchpad.net/kicad/+bug/1652353
2016-12-30 15:32:45 +01:00
jean-pierre charras
dec2d6e8cc
Fix a few Coverity warnings. A bit of clean code in export_vrml.cpp.
2016-12-30 12:40:05 +01:00
jean-pierre charras
a5178c70db
sch legacy plugin: fix a compatibility issue with old schematic files
2016-12-29 19:38:48 +01:00
Wayne Stambaugh
88df496168
Eeschema: implement loading of global symbol table.
...
Add global symbol library storage and access to SYMBOL_LIB_TABLE object.
Add code to Eeschema to load global symbol table on start up.
2016-12-10 10:23:09 -05: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
jean-pierre charras
9a535d4c70
Fixes: lp:1645430 (CSV BOM generation using bom2csv.xsl script with custom entries has wrong format)
...
https://bugs.launchpad.net/kicad/+bug/1645430
2016-11-29 13:07:20 +01:00
jean-pierre charras
ccdfabc866
Add tool tips to autosave widget in dialogs (pcbnew and eeschema)
2016-11-22 11:26:32 +01:00
jean-pierre charras
308dc0e46a
sch legacy plugin: fix compatibility with old and very old library and symbol files
2016-11-21 09:57:07 +01:00
Wayne Stambaugh
64c892ee23
Make footprint ID into a generic library ID.
...
Rename FPID to LIB_ID as is now used as a generic library identifier and
is no longer specific to footprints.
Remove all mention of footprint from the new LIB_ID doxygen comments and
code.
Rename files fpid.h and fpid.cpp to lib_id.h and lib_id.cpp.
Rename fp_lib_table.keywords file to lib_table.keywords and adjust CMake
build dependencies accordingly.
Update all source files effected by the code and file name changes.
Update .gitignore for file name changes.
2016-11-20 18:35:08 -05:00
Wayne Stambaugh
4d018039aa
Eeschema: lay the groundwork for symbol library tables.
...
Create SYM_LIB_TABLE and SYMBOL_LIB_TABLE_ROW objects derived from LIB_TABLE
and LIB_TABLE_ROW respectively for supporting symbol library tables.
Add FPID member to LIB_PART for associating a symbol to a specific library
nickname. Please note, this is not used in any way at this time and will be
implemented when the symbol library table is actually implemented.
Add sym_lib_table keyword to keywords file. This is a temporary measure
until a more elegant method for parsing and formatting library tables can
be implemented.
Build FPID support in the common library instead of the pcbcommon library
for use in Eeschema.
2016-11-20 13:38:20 -05:00
jean-pierre charras
430a09a5a0
sch legacy plugin: fix compatibility issues with old library 2.2 version
2016-11-20 15:19:06 +01:00
jean-pierre charras
de46873dfe
Eeschema, main menu (menubar.cpp): better code and fix outdated command and tool tip texts
2016-11-20 12:57:16 +01:00
jean-pierre charras
6cf8ff9ca6
Fix message.
2016-11-20 07:21:19 +01:00
jean-pierre charras
07e2ccdb59
Eeschema: cosmetic enhancement.
2016-11-19 09:05:58 +01:00
Aylons Hazzud
5dc43a1d77
Gray out "Units are not interchangeable" if 1 unit
...
Fixes: lp:1503921
* https://bugs.launchpad.net/kicad/+bug/1503921
2016-11-18 11:42:42 +01:00
jean-pierre charras
682c15ed62
Add connection highlight to eeschema, step 2: Fixes, refinements, add hot key, cleanup code.
2016-11-16 13:09:34 +01:00
Nox_firegalaxy
44b8533d4d
Add connection highlight to eeschema, step 1.
2016-11-16 11:07:02 +01:00
jean-pierre charras
d3af42d5de
Fixes: lp:1641456 (Linux specific: Unable to load Eeschema libraries that have an absolute path, due to an incorrect initialization of a wxFileName variable)
...
https://bugs.launchpad.net/kicad/+bug/1641456
2016-11-14 13:12:33 +01:00
jean-pierre charras
e246a61a72
Eeschema: fix compil warning on 64 bits machines.
2016-11-13 08:43:24 +01:00
jean-pierre charras
318429590e
Eeschema: Fix an issue with new schematic plugin: it expects absolute paths for libraries, but if a library is in the current working dir, its filename was not absolute, and the lib was silently ignored. Now, filenames are always absolute.
2016-11-10 17:47:53 +01:00
Jean-Noel Avila
58af5bc3a4
Eeschema: Fix off-by-one in saving bitmaps
2016-11-09 09:46:35 +01:00
jean-pierre charras
3af551cef8
Fixes: lp:1639330 (Assertion failure opening libedit from eeschema in debug mode)
...
https://bugs.launchpad.net/kicad/+bug/1639330
2016-11-05 11:39:22 +01:00
jean-pierre charras
c7fcb2695c
Add a specific bitmap for show electrical type option (component editor and component viewer)
2016-11-04 13:59:45 +01:00
jean-pierre charras
f15a59f0ad
Component Editor and Component viewer: add option to show the electrical pin type.
2016-11-04 12:13:22 +01:00
jean-pierre charras
9a09b0cb3c
Remove a test file committed by mistake (I am guessing)
2016-11-02 19:48:42 +01:00
jean-pierre charras
3bb3f31c7a
schematic legacy plugin: fix compatibility with old files, and with doc.
2016-11-02 19:47:38 +01:00
Wayne Stambaugh
d470ac9c24
Eeschema: minor LIB_PART object changes.
...
Replace LIB_PART::Conflicts() with an external test to for alias name
conflicts. This was only use in one place so don't clutter the library
API.
Change LIB_PART::AddPart() return type from bool to void since it's not
checked by any callers and differs from the equivalent schematic I/O
plugin function.
2016-10-26 18:37:28 -04:00
Wayne Stambaugh
4ee0b3827e
Eeschema: more schematic I/O plugin prep work.
...
Add code to schematic I/O plugin for updating library modification
hashes.
Remove unused RemoveLibrary() method from PART_LIBS object.
Purge wxT() macros from modified files.
2016-10-25 18:45:33 -04:00
jean-pierre charras
1840c3c4c7
Eeschema/Pcbnew: Update PCB From Schematics tool: ensure the netlist is reliable: warn user if a component is not annotated before exporting the netlist to Pcbnew (like in netlist creation dialog).
2016-10-22 20:02:15 +02:00
jean-pierre charras
3bf1717002
Fix a minor cosmetic issue in dialog edit libentry fields
2016-10-22 18:43:12 +02:00
Kevin Cozens
31f583f949
Fix compile error
2016-10-21 13:51:22 -04:00
Wayne Stambaugh
1e752ba164
Eeschema: symbol library viewer improvements.
...
Select the first library in the list and the first symbol in the first
library if they exist the first time the symbol viewer is opened.
Prevent clicking on the next or previous toolbar buttons from wrapping
past the end of the symbol list to mimic the behavior of the up and down
arrow key strokes.opens a select
library dialog.
Use incriminating or decrementing the current symbol selection when using
the next and previous symbol toolbar buttons rather looking up the next
symbol in the library. Just use the next or previous symbol name in the
list.
Replace the select library and select symbol from library list dialogs
which where redundant with the symbol search dialog used in place symbol
tool in the schematic editor. This gives the user type ahead search and
selects the library and symbol in one dialog.
Move updating toolbar buttons from the ReCreateHToolbar() function into
dedicated wxUpdateUIEvents.
Break Process_Special_Functions() into individual event handlers.
Remove PART_LIB::GetNextEntry() and PART_LIB::GetPreviousEntry() as they
are no longer required due to the changes to the symbol library viewer.
Purge wxT() macros from all modified source files.
2016-10-21 08:39:18 -04:00
jean-pierre charras
1924478558
Eeschema: editors: show the pin position (when clicking on it) in message panel.
...
Pin properties dialog: show pin position ( and allow editon ).
2016-10-18 18:59:26 +02:00
Michele Renda
64bb1ca924
Fix infinite loop when schema file contains a comment or an empty line
2016-10-17 08:35:20 -04: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
jean-pierre charras
d1e4399a29
dialog edit libentry fields in lib: Add button to edit spice parameters, and therefore to add spice parameters in lib components.
2016-10-15 20:05:03 +02:00
Wayne Stambaugh
fc07716aed
Eeschema: schematic I/O plugin preparation work.
...
Rename PART_LIB GetEntryNames() and RemoveEntry() to GetAliasNames() and
RemoveAlias() respectively for improved readability.
Rename PART_LIBS FindLibraryEntry() to FindLibraryAlias() improved
readability.
Remove commented out PART_LIBS::FindLibraryEntries().
Remove PART_LIB::GetFirstEntry() and update all effect code accordingly.
Remove unused PART_LIB::SetFileName() method.
Remove unused PART_LIBS::RemoveAllLibraries() method.
2016-10-14 19:29:24 -04:00
Cirilo Bernardo
48ed9f080e
Add Help Menu item to open browser at kicad-pcb.org/contribute
2016-10-10 19:01:45 -04:00
Fabrizio Tappero
194bd1d617
Minor menu text consistency improvements.
2016-10-10 18:54:58 -04:00
Simon Richter
b0f9864bc4
Clean up warnings from exception handlers
...
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Wayne Stambaugh
213ceaa280
Eeschema: add delete symbol library code to schematic legacy plugin.
2016-10-09 08:29:44 -04: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
Maciej Suminski
efdfaebf62
Support subdirectories in relative paths in Spice model dialog
2016-10-07 16:07:38 +02:00
Wayne Stambaugh
4f0c2ad083
Eeschema: add create symbol library to legacy schematic I/O plugin.
2016-10-07 09:18:15 -04:00
Chris Pavlina
9547dd4e52
Fix GetBoundingBox hiding overloaded virtual
2016-09-30 22:32:24 -04:00
Wayne Stambaugh
9d258ba921
Eeschema: fix parsing bug in legacy schematic I/O plugin.
...
Yet another quirk parsing LIB_TEXT object was found. Apparently even in
library version 2.3, the text properties can be dropped so a check for
end of line was added to prevent the parser from choking on a valid text
line.
Fixes lp:1628160
https://bugs.launchpad.net/kicad/+bug/1628160
2016-09-30 10:01:50 -04:00
Wayne Stambaugh
aa5e979b8a
Eeschema: add delete symbol method to schematic I/O plugin.
2016-09-29 18:34:31 -04:00
Wayne Stambaugh
92216b7351
Eeschema: fix assertion on delete node hot key while busy.
...
Performing a delete node hot key operation while Eeschema is busy performing
another operation causes an assertion in the delete node command event
handler in debug builds. It also causes the operation in progress to be
cleared if the assertion is ignored or in release builds.
Fix a similar issue when the leave current sheet hot key is called while
busing performing another operation which causes rather interesting behavior
in the sheet that was exited.
Fixes lp:1627434
https://bugs.launchpad.net/kicad/+bug/1627434
2016-09-27 20:40:59 -04:00
jean-pierre charras
673b094b2b
Fix a few missing override qualifiers and shadowed vars.
2016-09-27 10:58:05 +02:00
Chris Pavlina
52aa4ecdf4
Unify window title formats
...
Most window titles are now of the format "Application — file [info]",
with adaptations as necessary. Version information has been removed from
titles.
2016-09-26 17:28:25 -04:00
Simon Richter
ad088db6d2
Add more "override" markers.
2016-09-25 13:59:41 -04:00
Simon Richter
59c81976dc
Explicitly mark overriding functions.
2016-09-24 14:53:15 -04:00
John Beard
360794b3a4
On a failure to cache a symbol lib, don't skip subsequent libs
...
By rethrowing the exception here, the entire caching process is
curtailed if there is an IO_ERROR while parsing a lib. This means any
libs up to the one before the bad one will be cached, but ones after it
wil not be.
Change to wxLogError to gather the errors to present to the user at the
end of the process.
2016-09-24 12:08:12 -04:00
Wayne Stambaugh
58abb29827
Eeschema: add delete alias from library to I/O manager.
...
Modify base I/O manager class to delete alias from a symbol library.
Add delete alias from legacy symbol library plugin.
2016-09-23 13:29:17 -04: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
Dick Hollenbeck
964b5a1830
Split IO_ERROR out of richio.* and store Problem() and Where() separately
2016-09-20 11:56:23 -04:00
Dick Hollenbeck
9ad49dc2d1
Split IO_ERROR out of richio.* and store Problem() and Where() separately
2016-09-20 11:56:18 -04:00
jean-pierre charras
3f104448df
Rename libedit_icon to icon_libedit, bo be consistent with other icon names.
2016-09-20 13:23:17 +02:00
jean-pierre charras
1051732580
DIALOG_SPICE_MODEL_BASE: cosmetic enhancements (mainly better look of spice units table in Passive notebook page)
2016-09-19 18:48:07 +02:00
Wayne Stambaugh
679eef1c43
Eeschema: fix build errors and warnings.
...
Fix build error when KICAD_USE_SCH_IO_MANAGER=OFF due to const issues with
LIB_PART ctor.
Fix unused variable build warning in legacy schematic plugin.
2016-09-17 20:18:03 -04:00
Wayne Stambaugh
3ae240ea46
Eeschema: add save code to legacy symbol library plugin.
...
Make LIB_PART copy constructor take a const LIB_PART reference.
Add SaveSymbol to legacy symbol library plugin.
Add removeAlias to legacy symbol library cache.
Add AddSymbol to legacy symbol library cache.
2016-09-17 14:45:01 -04: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
f3d4f7322b
Simulator dialogs: Fix incorrect handling of Validate(), which was called for all widgets by the default wxID_OK button handler. It is now called only for the active page of these dialogs (as wanted in code), therefore only for used widgets.
...
Note: strangely, this issue was noticed only on Windows, not on Linux.
2016-09-17 14:38:34 +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
jp-charras
1b62fdae92
Fixes: lp:1623060 (EEschema page orientation is not retrieved when compiled with KICAD_USE_SCH_IO_MANAGER=ON)
...
https://bugs.launchpad.net/kicad/+bug/1623060
2016-09-13 19:48:43 +02:00
Maciej Suminski
b5bfa14057
Removed unused EDA_ITEM::m_Image field.
2016-09-12 11:50:06 +02:00
Chris Pavlina
21b76d0837
eeschema: short-circuit disambiguation for {sheet pin, sheet}
2016-09-08 08:31:09 -04:00
Nick Østergaard
caafcde585
Add KICAD_ prefix to build switches
...
KICAD_ prefix was added to the USE_OCE and USE_SCH_IO_MANAGER build
switches together with a small description to the devdocs from
compiling.md.
2016-09-05 08:46:01 -04:00
jp-charras
b63f2f81b7
Fixes: lp:1619436
...
https://bugs.launchpad.net/kicad/+bug/1619436
Eeschema crashes when selecting a text editor from the REC dialog. (Linux Only)
It happens only if a text editor was never selected in Kicad.
2016-09-05 09:02:15 +02:00
Wayne Stambaugh
24f6c4be21
Eeschema: add code to plugin manager to load a symbol from a library.
2016-09-03 14:28:17 -04:00
Wayne Stambaugh
f477cc958c
Eeschema: PART_LIB object clean up.
...
* Rename redundant function PART_LIB::GetEntry() to PART_LIB::GetAlias() which
is more descriptive and move the GetAlias() function which was nothing more
than a call to GetEntry().
2016-09-02 19:40:18 -04: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
Wayne Stambaugh
9287b42648
Revert commit 67230ac8e7
.
2016-08-30 09:04:25 -04:00
Maciej Suminski
81e015036e
Fixes for drawing color labels in simulator's signal list
2016-08-30 14:25:59 +02:00
Maciej Suminski
f954abae4e
Comments for NETLIST_EXPORTER_PSPICE
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
69e4231303
Sch editor and Simulator: close the simulator frame when the schematic editor is closed, to avoid crash, due to the fact the simulator can try to access to a no more existing frame..
2016-08-29 19:47:08 +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
Niki Guldbrand
67230ac8e7
Keep Source tree clean
...
* Move all generated files to the build tree during build so the source
tree is kept clean.
Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
2016-08-26 17:25:12 -04: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
jean-pierre charras
13cfe74956
Simulator dialogs: fix minimal sizes and best sizes.
2016-08-20 17:25:51 +02:00
jean-pierre charras
c0b1e4cd38
Do not allow spaces in component name (value field) in component library editor, in dialogs (Edit field, Create component).
...
In component libraries, a space in name breaks the library, and is not allowed.
2016-08-19 18:42:39 +02:00
Maciej Suminski
7ea120c2a1
Spice model editor by default looks for libraries in the project directory when there is no library assigned
2016-08-19 17:33:26 +02:00
Maciej Suminski
e1d20dd6e3
NETLIST_EXPORTER_PSPICE skips removed pins when processing a list of sorted pins.
...
NETLIST_EXPORTER marks removed duplicates by setting them to NULL in m_SortedComponentPinList vector.
2016-08-19 17:32:30 +02:00
jean-pierre charras
ea59ce40e1
sch_legacy_plugin.cpp: fix compil warnings about incorrect return type.
2016-08-19 17:31:46 +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
Wayne Stambaugh
bcfce68daa
Fix debug build warning due to improper debug macro.
2016-08-19 08:53:06 -04:00
Wayne Stambaugh
eaa7f3f114
Eeschema: implement schematic I/O plugin symbol library parser.
...
* Write SCH_LEGACY_PLUGIN_CACHE object for handling the legacy symbol library
file format.
* Write legacy symbol library file parser.
* Write code to transfer cache to PART_LIB object so existing library save
code can be used for round trip testing. This is temporary until Eeschema
is updated to use the plugin for library management rather than PART_LIB.
* Add LIB_XXXX object helper functions where there was no way to set the member
variables of an object.
* Give the cache object friend status to some object where there are incredibly
byzantine ways of setting text in LIB_XXXX objects.
2016-08-18 19:23:10 -04:00
Maciej Suminski
cac571c056
Initialize ngspice only once
2016-08-18 18:10:00 +02:00
Maciej Suminski
ad3c2ac4ea
NGSPICE_NETLIST_EXPORTER: Display a message if there is a missing library. Wrap library file names in quotes.
2016-08-18 18:06:26 +02:00
Simon Richter
bfb6e0bbb2
Convert remaining occurences of stri[n]cmp to str[n]casecmp.
...
This also reverses the substitution logic if strcasecmp is missing (config.h.cmake)
2016-08-16 10:27:09 +02:00
jean-pierre charras
01d3c72dda
Cosmetic enhancement: add a dismiss icon to clarification menu "title" (the "title" is also the close menu command)
2016-08-15 20:22:54 +02:00
Maciej Suminski
41b75f0105
Added a missing header in netlist_exporter_spice.h
2016-08-15 17:16:54 +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
jean-pierre charras
5ed19b6e82
Dialogs for simulator: cosmetic enhancements, make them translatable and resizable. Remove 2 printf used in debug.
2016-08-15 09:53:15 +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
6bfdfd5226
Look for libraries in the project path
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
80d8dd7205
sim: default to decade frequency sweep for ac analysis
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
2b041425e5
Resized Spice model dialog
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
6d7a7a3233
KICAD_SPICE CMake flag
2016-08-11 14:42:13 +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
02e4252fcd
A few fixes for DIALOG_SIM_SETTINGS
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
741ae10a97
Improved Spice model dialog for sources Now user can specify both DC/AC & transient analysis specifications at once.
2016-08-11 14:42:09 +02:00
Maciej Suminski
53d772989a
Store relative library path if possible
2016-08-11 14:42:08 +02:00
Maciej Suminski
39caddd22b
Parsing sim command directives
2016-08-11 14:42:08 +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
Maciej Suminski
2740556505
Fix for Spice library parser
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
1cb7f665fb
sim: tuner slider now located in a nested wxPanel
2016-08-11 14:42:00 +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
6c53aba680
Validators for Spice model dialog
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
dfeb5385f3
Disable current signals in all analyses but transient
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
114e3638e7
Renamed tabs in Spice model dialog
2016-08-11 14:41:52 +02:00
Maciej Suminski
5fdc32b79a
AC analysis plots using linear frequency scale
2016-08-11 14:41:52 +02:00
Maciej Suminski
324d27711a
Hide OP & noise analysis, scale settings for AC in settings dialog
2016-08-11 14:41:52 +02:00
Maciej Suminski
0f993ba98c
Current probing
2016-08-11 14:41:52 +02:00
Maciej Suminski
6e05d1656b
Bugfix for NETLIST_EXPORTER_PSPICE::GetSpiceField()
2016-08-11 14:41:51 +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
3ebc2494a7
Minor fix in NETLIST_EXPOTER_PSPICE
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
132e30081b
Disabled assert for unknown Spice primitives
2016-08-11 14:41:47 +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
fead9ca831
TUNER_SLIDER widget
2016-08-11 14:41:44 +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
3999ff1973
Resized DIALOG_SIM_SETTINGS
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
9acdedcb85
Improved library management in simulator Now it also gathers information from Spice_Lib_File fields
2016-08-11 14:41:40 +02:00
Maciej Suminski
1a6e048afc
Pressing Enter accepts changes in Simulation settings dialog
2016-08-11 14:41:40 +02:00
Maciej Suminski
246a43baf0
Spice model editor dialog
2016-08-11 14:41:40 +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
4dc62e061b
SPICE_VALUE class to handle Spice value expressions
2016-08-11 14:41:39 +02:00
Maciej Suminski
63e8e17cce
Added missing class declaration in sch_component.h
2016-08-11 14:41:38 +02:00
Maciej Suminski
3a9dcca32f
Enum SPICE_FIELD
2016-08-11 14:41:38 +02:00
Maciej Suminski
01f40e258c
More elegant way for checking Spice_Netlist_Enabled value
2016-08-11 14:41:37 +02:00
Maciej Suminski
1c74e27366
NETLIST_EXPORTER_PSPICE fix
2016-08-11 14:41:37 +02:00
Maciej Suminski
06463252d7
wxMathPlot: Limited zooming and panning
2016-08-11 14:41:37 +02:00
Maciej Suminski
a83d4802f9
Load Spice directives from schematics when Sim settings dialog is launched
2016-08-11 14:41:36 +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
822f436231
Removed unused DIALOG_SIMULATE_PLOT
2016-08-11 14:41:35 +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
fe92630f16
Fixes for DC sweep directive generated by Simulator settings dialog
2016-08-11 14:41:34 +02:00
Maciej Suminski
ab8c88f10b
SIM_TYPE enum
2016-08-11 14:41:34 +02:00
Maciej Suminski
ee1adcd92c
Fix for noise directive generated by Simulation settings dialog
2016-08-11 14:41:32 +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
183fb24112
Fixed string for transient simulation directive
2016-08-11 14:41:31 +02:00
Maciej Suminski
c5227b7279
Fix: use correct node numbers in noise simulation directive
2016-08-11 14:41:31 +02:00
Maciej Suminski
3c909e2c32
Allow typing zeroes in Simulation settings dialog
2016-08-11 14:41:31 +02:00
Maciej Suminski
d055692cf3
Renamed 'Simulate' to 'Simulator' in menu
2016-08-11 14:41:30 +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
95ca3914ce
Fields in simulation settings dialog are treated as invalid when empty
2016-08-11 14:41:29 +02:00