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
Maciej Suminski
96dcee81fe
Modified Spice netlist exporter to run in two passes Now it creates a list of Spice items, so they can be used by other objects, instead of directly dumping them.
2016-08-11 14:41:29 +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
5795a2dbf3
Fixed Spice netlist exporter
2016-08-11 14:41:20 +02:00
Maciej Suminski
68e3daec6e
Removed probe-related stuff from NETLIST_EXPORTER_PSPICE
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
112cf074f6
Heuristics to correct passive component values
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
b6eab191d0
Added a button to add Spice fields to a schematic component
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
171e649313
Fixed type names (NET_INDEX_MAP & PROBE_LIST)
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
9748b65a6d
str[n]icmp -> str[n]casecmp
2016-08-11 14:41:06 +02:00
Maciej Suminski
b4d9e7ee99
Fixed asserts in DIALOG_LIB_EDIT_TEXT_BASE.
2016-08-11 14:41:04 +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
Tomasz Wlostowski
2dd53b6a43
spice wip
2016-08-11 14:40:57 +02:00
jean-pierre charras
3ca757b653
Eeschema, new legay plugin reader: ensure component flags (mainly used in edition) are cleared after loading from file.
2016-08-01 09:11:31 +02:00
Wayne Stambaugh
9c5e872a4f
Eeschema: fix complex hierarchy file bug. (fixes lp:1605872)
...
* Add project path to sheet file name and extension so the test to see if a
file is loaded by another sheet works correctly.
2016-07-24 20:52:40 -04:00
Wayne Stambaugh
78e4787297
Eeschema: more schematic part library plugin prep work.
...
* Remove unused sort and make upper case options from PART_LIB::GetEntryNames()
and PART_LIB::GetEntryTypePowerNames() since they were never used anywhere in
the code. All comparisons are case sensitive and the array of names is always
sorted.
2016-07-20 14:11:14 -04:00
jean-pierre charras
defac5272b
refinemenst in dialogs and OSX Cancel button fix
2016-07-18 17:54:41 +02:00
jean-pierre charras
f83a76a970
Eeschema: dialogs: incorrect sizes fixes and osx copy text fix
2016-07-18 09:04:13 +02:00
jean-pierre charras
7253ba28df
Eeschema: dlg size fixes and osx fixes
2016-07-16 13:25:07 +02:00
jean-pierre charras
3cea754d90
Eeschema: dlg size fixes and osx fixes
2016-07-16 12:54:55 +02:00
Wayne Stambaugh
959450beed
Eeschema: component library plugin prep work.
...
* Remove unused functions in the PART_LIB and PART_LIBS objects.
2016-07-13 16:36:16 -04:00
Dick Hollenbeck
c2b8a4ee43
Move from class INSPECTOR as the EDA_ITEM::Visit() callback interface to a std::function
...
callback. This improves conciseness and encourages use of Visit() due to the lower cost
of entry in C++.
2016-07-12 15:05:54 -04:00
Wayne Stambaugh
98ad5096b0
Eeschema: add saving schematic files to schematic plugin.
...
* Add SCH_PLUGIN::Save() for current file format and code for saving all
SCH_XXX objects.
* Add function to SCH_FIELD to get the position of the field in the component
not the position added to the component position which is what GetPosition()
does. This was required because saving the component field expects position
of the field sans the position of the component.
* Remove public members from BITMAP_BASE object and fix all associated
code.
* Fix the never ending coding policy violations found making these changes.
2016-07-11 15:48:46 -04:00
Wayne Stambaugh
3bdca9a821
Eeschema: schematic I/O manager bug fixes.
...
* Create a new dummy root sheet and screen when the schematic fails to load
which was causing Eeschema to crash.
* Remove conversion from UTF8 to wxString left over from a previous change
which hopefully will fix an OSX build error.
* Fix parsing of text objects to handle version 1 schematic files.
* Fix parsing of component fields to handle version 1 schematic files.
* Don't throw a parse error when a version 1 schematic file doesn't end with
$EndSCHEMATC.
2016-07-07 09:09:32 -04:00
Wayne Stambaugh
61e886e956
Eeschema: fix bug in release builds.
...
* Change debug message macro from wxASSERT to wxCHECK so that the primary
object token name gets called instead of compiled away on release builds.
2016-07-06 09:52:47 -04:00
Wayne Stambaugh
4ed346ea64
Eeschema: initial schematic I/O plugin.
...
* Factor out PROPERTIES object from the PCB plugin code and move it into
common so it can be used by both the Pcbnew and Eeschema plugins.
* Add schematic I/O plugin manager for loading and saving schematic and
component library files.
* Add initial attempt at a parser for current schematic file format. This
parser will be infinitely more strict than the current parser which is very
forgiving in what it parses.
* Make minor changes to the base bitmap class to support the new parser.
* Add find root sheet support to sheet object to allow fetching the root
sheet from any sheet in the stack.
2016-07-06 05:22:56 -04:00
Simon Richter
6614e5ef5d
Eeschema: rewrite loop conditions in SCH_SCREEN::SchematicCleanUp().
...
* These are a tiny bit more readable and do not depend on all branches to
correctly advance the loop variable.
2016-06-30 11:15:46 -04:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Simon Richter
527c0eff8e
Eeschema: ERC dialog code improvements.
...
* Rename the "net", "lastNet" and "nextNet" variables to "item", "lastItem"
and "nextItem", respectively, because these refer to netlist items, not
nets.
* This adds a suffix "Idx" to the indexes into the list, and introduces local
copies of the pointers to the objects we are looking at, in order to have a
shorter way of addressing them.
* The ERC code depends on netlist items to be sorted by net code, so verify
that in debug builds. While this condition is stricter than necessary, it
should still hold with the current code, and provide a good canary if a
change to the sorting code might break ERC.
2016-06-28 08:52:22 -04:00
Simon Richter
10c8dae794
Eeschema: improve merging of overlapping SCH_LINEs.
...
* Use std::min and std::max to determine the overlapping line end points.
2016-06-27 19:54:46 -04:00
Simon Richter
4bf72be9e4
Eeschema: minor improvements to SCH_LINE::MergeOverlap() function.
...
* Do not statically initialize candidates vector.
* Preset candidates vector allocation size since it is always the same.
2016-06-27 14:17:39 -04:00
Dick Hollenbeck
e47f0df068
Cleanups
...
* coding standard fixes
* library part not library component (no such thing as a library component)
* string concatenation fix
* and an inline harmless debug/dump function
2016-06-24 12:55:54 +02:00
Chris Pavlina
81144c2476
Move hotkey list from Preferences menu to Help menu
2016-06-11 21:22:13 -04:00
Chris Pavlina
9eef653625
Remove legacy option to zoom to selection on middle mouse button
...
This feature was not reliably available: neither pl_editor nor GAL supported
it. It has been replaced over the past few commits with a new zoom-to-selection
tool available in all applications and modes.
2016-06-11 19:37:43 -04:00
Chris Pavlina
c13f80bb49
Remove unneeded compile option KICAD_KEEPCASE
...
Libraries have been 100% case-sensitive for a while now; there is no longer a
need to keep this option around. This will change nothing except for any
stragglers still manually specifying this old option.
2016-06-10 23:15:02 -04:00
Chris Pavlina
8c01318141
Add zoom-to-selection tool
2016-06-08 07:19:53 -04:00
jean-pierre charras
37deba60c3
Fix shadowed vars (in microstrip.cpp) and deprecated compil warnings.
2016-06-08 09:28:19 +02:00
Simon Richter
715eddf68b
Code cleanup: remove dead code, add comment.
2016-06-08 08:32:01 +02:00
Simon Richter
961fe1abe8
Eeschema: fix spelling "propageNetCode" -> "propagateNetCode"
2016-06-07 21:07:49 -04:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00