Holger Vogt
510b1865b4
Re-sort wide char variable definitions.
...
add utf-8 ... utf-16 conversion.
Strings in history buffer shall remain utf-8.
History buffering is not yet working.
2020-03-15 08:51:07 +01:00
Holger Vogt
7a41921035
prevent crash if 'hardcopy' is given without parameters
2020-03-15 08:51:07 +01:00
Holger Vogt
6edb0eea41
re-organize PS color selection
...
Improve settings for PS image
Improve error messages
2020-03-15 08:51:07 +01:00
Holger Vogt
18f1e896f8
allow independent linewidth and gridwidth settings from within the .control section
2020-03-15 08:51:07 +01:00
Holger Vogt
7c0b72c387
prevent compiler warnings
...
enable short GUI interaction from within spfactor.c
2020-03-15 08:51:06 +01:00
Holger Vogt
bd7b35541d
Lengthy op calculations make the Win GUI unresposive.
...
A macro adds a short travel to the GUI fro0m within
the matrix ordering and factoring. Time overhead
during op is less than 0.5%.
2020-03-15 08:51:06 +01:00
Holger Vogt
3d009fef22
Variables xbrushwidth and gridwidth (to be set e.g. in
...
.spiceinit) allow setting separately the linewidths of the
graph (xbrushwidth) and the grid (gridwidth).
2020-03-15 08:51:06 +01:00
Holger Vogt
c9edc6fcb3
Add function returning the true string length in pixels.
...
May be called from outside of x11.c.
2020-03-15 08:51:06 +01:00
Holger Vogt
10f0eea93e
add gridwidth, xbrushwidth to postscript output
2020-03-15 08:51:06 +01:00
Holger Vogt
ca7c77315a
add missing üarameter to DevDrawLine for X11 and HPGL
2020-03-15 08:51:06 +01:00
Holger Vogt
8751092812
Enable separate linewidths for grids and graphs.
...
New variable gridwidth overrides xbrushwidth for graphs.
Fcn DevDrawLine() with boolean flag if grid is plotted.
Postscript, Gnuplot and X11 not (yet) supported.
2020-03-15 08:51:05 +01:00
Holger Vogt
7690b64571
add missing declaration of old_x11
2020-03-15 08:51:05 +01:00
h_vogt
7c3a305d43
add wide char for string i/o under Windows
...
add utf-8 systax check
2020-03-15 08:51:05 +01:00
h_vogt
22f4e8f82d
return extended ascii as alpha
2020-03-15 08:51:05 +01:00
Holger Vogt
85142709fc
For UNICODE use char in comparison to ' '
...
only as unsigned char
2020-03-15 08:51:05 +01:00
h_vogt
531c229b0e
Add library xft for allowing text rotation.
...
Setting variabe 'old_x11' will retain previous behaviour.
2020-03-15 08:51:05 +01:00
h_vogt
0cdea87cb5
Add and ignore angle in fcn for text out
2020-03-15 08:51:05 +01:00
Holger Vogt
0dfe8a22ad
add angle to allow text rotation
2020-03-15 08:51:04 +01:00
h_vogt
697facdc30
#define fopen newfopen
...
and header for MINGW and MS VS
2020-03-15 08:51:04 +01:00
h_vogt
9f272ea8f6
function newfopen to replace fopen
...
by reading wide char strings
2020-03-15 08:51:04 +01:00
Holger Vogt
59adfc1d68
add extended ascii and its selection
...
converter UTF-8 to ISO-8859-1/ISO-8859-15
2020-03-15 08:51:04 +01:00
Holger Vogt
c4f641dad6
remove bracket left over from recent manual merge conflict resolution
2020-03-15 08:51:04 +01:00
h_vogt
dbd0a5743a
Enable utf-8 and UNICODE for string handling.
...
preprocessor flag EXT_ASC resets handling to old behaviour.
Add utf-16 wide char to all Windows string i/o.
Add translation between utf-8 and utf-16.
Add angle to fcn DevDrawText.
2020-03-15 08:51:04 +01:00
Holger Vogt
28c0fbf397
Zero fp, this fixes bug no #475
2020-03-15 08:51:04 +01:00
Jim Monte
93233fde2c
Made descriptions of invalid interpolation cases more descriptive and fixed a memory leak
2020-03-15 08:51:04 +01:00
dwarning
740df722c7
partially revert commit b4bbcb149 for spec analysis functionality
2020-03-15 08:51:04 +01:00
dwarning
86d7963f32
more meaningful warning if vector can't interpolate
2020-03-15 08:51:03 +01:00
Holger Vogt
0ad7acadec
remove unreachable code warning, add const
2020-03-15 08:51:03 +01:00
Holger Vogt
c77da1870d
Fixed compiler warnings related to const, unreachable code, and an empty translation unit.
2020-03-15 08:51:03 +01:00
Jim Monte
7084274344
Fixed incorrect type of variable ch_cur. It was from const char * but should have been const char.
2020-03-15 08:51:03 +01:00
Holger Vogt
5bd45c0451
make path to dstring.c independent from build directory
2020-03-15 08:51:03 +01:00
Holger Vogt
5bc9a320eb
Revert "correct the path to dstring.c"
...
This reverts commit 28002be150 .
2020-03-15 08:51:03 +01:00
Holger Vogt
89ea46e39a
prevent false freeing of vector
2020-03-15 08:51:03 +01:00
dwarning
129b219ed2
correct the path to dstring.c
2020-03-15 08:51:03 +01:00
dwarning
4f75d56011
no wrapper cp_globmatch needed
2020-03-15 08:51:03 +01:00
Vogt
e628fd8977
just use strcmp instead of wrapper function
2020-03-15 08:51:02 +01:00
Holger Vogt
5e76758e57
update to cmpp by J. Monte
2020-03-15 08:51:02 +01:00
Jim Monte
955dda749d
Jim Monte's update to cmpp
2020-03-15 08:51:02 +01:00
Holger Vogt
375a92d788
Fix of buffer overrun in interpolation at endpoint of interval.
...
Made cfunc.mod for tables more modular.
Prevented buffer overrun when building file name.
Added error checking for allocation failures in many locations.
Made binary search for interpolation more efficient.
2020-03-15 08:51:02 +01:00
Jim Monte
92065ea41b
fixed singluar/plural agreement in an error message generated by the let command
2020-03-15 08:51:02 +01:00
Jim Monte
a53cd3a3e9
fixed path created by ngdirname in Windows. Also added const to parameters whose arguments do not change and fixed some potential buffer overruns.
2020-03-15 08:51:02 +01:00
Jim Monte
2d9110bf65
Add const to some parameters, made function static
2020-03-15 08:51:02 +01:00
Jim Monte
1867f5b727
Fix of buffer overrun in interpolation at endpoint of interval. Made cfunc.mod for tables more modular. Prevented buffer overrun when building file name. Added error checking for allocation failures in many locations. Made binary search for interpolation more efficient.
2020-03-15 08:51:02 +01:00
Jim Monte
b4757f934b
Added support for DSTRING in code modules with makefile builds
2020-03-15 08:51:02 +01:00
Jim Monte
190c7fb75c
Clarified error message
2020-03-15 08:51:01 +01:00
Jim Monte
ac49ccaf58
Fixed compile warning about signed/unsigned comparison.
2020-03-15 08:51:01 +01:00
Jim Monte
d254b6c97e
Gave structure defining Mif_Complex_t a name so that it could be forward referenced.
2020-03-15 08:51:01 +01:00
Jim Monte
bfe660e57b
Formatting and added comments
2020-03-15 08:51:01 +01:00
Jim Monte
082f36e794
Formatting
2020-03-15 08:51:01 +01:00
Jim Monte
2f8b7ab062
Minor fix to end-of-index processing of let command
2020-03-15 08:51:01 +01:00
Jim Monte
b967caaabb
File path built more efficiently and now allows an arbitrary length. Prevented strdup() of NULL if path too long. Similarly prevented fopen with a NULL file name. Added function to determine Windows absolute paths properly. Fixed numerous issues that were caused by including Windows system header due to conflicting names. Generally a CMPP_ prefix was added as a "namespace". Also used the standard C bool type instead of defining one.
2020-03-15 08:51:01 +01:00
Jim Monte
0c741bbde2
Rework of let command. Added support for slices as described in feature #69 and fixed several crashes and issues described in bugs #443 , #444 , #446 , #447 , and #448 .
2020-03-15 08:51:01 +01:00
Jim Monte
7990a82f02
Formatting and comments added
2020-03-15 08:51:01 +01:00
Jim Monte
3a2a05f7b0
Removed unnecessary comparisons when lowercasing a string.
2020-03-15 08:51:01 +01:00
Jim Monte
b767df3a7e
Modified calculation to determine when memory is nearly exhausted. Also changed prototypes of memory reporting functions to match their definitions.
2020-03-15 08:51:00 +01:00
dwarning
93317c87a9
simplify beta derivation
2020-03-15 08:51:00 +01:00
dwarning
e966ce5054
alternative temperature model for extrinsic resistances and subthreshold range
2020-03-15 08:51:00 +01:00
Holger Vogt
ec1d655289
In VDMOS device, if instance parameter tnodeout is set,
...
check for exactly five nodes
2020-03-15 08:51:00 +01:00
Holger Vogt
643b0edc26
enable local or global statistical values for B source
...
pre_set statlocal
(or set statlocal in spinit or .spiceinit) will be setting a
different random number for evaluating the value of fcn agauss
etc. in each B line, e.g. if this line appears in a subcircuit,
all expanded B lines will have different values. If not set,
each B line will use the same random number for agauss evaluation.
2020-03-15 08:51:00 +01:00
Holger Vogt
1353a5de77
allow again single letter vector names
2020-03-15 08:51:00 +01:00
dwarning
0fb1c6a000
prevent program crash by misusing thermal model
2020-03-15 08:50:59 +01:00
dwarning
7d17b8f082
vdmos have no Cgb
2020-03-15 08:50:59 +01:00
dwarning
0362d63094
update vdmos with self-heating network and tj and tcase terminal
2020-03-15 08:50:59 +01:00
Holger Vogt
f585807085
re-enable V source with parameter EXTERNAL
...
Fix bug #463
2020-03-15 08:50:59 +01:00
Holger Vogt
b699c7fad8
add the PSPICE vswitch S_ST variant,
...
which resolves to the classical ngspice sw switch
2020-03-15 08:50:59 +01:00
Holger Vogt
9d53780992
allow vec_get to verify vectors if their names are quoted by ""
2020-03-15 08:50:59 +01:00
Holger Vogt
987cc0aa86
another preliminary patch for macOS
2020-03-15 08:50:58 +01:00
Holger Vogt
7680be7312
stub to enable compilation on macOS,
...
memory info for macOS is currently not available.
2020-03-15 08:50:58 +01:00
dwarning
fa8a77343b
format line with LF
2020-03-15 08:50:58 +01:00
Holger Vogt
b7012065ae
remove compiler warning by setting variables to 0
2020-03-15 08:50:58 +01:00
Holger Vogt
a9f83f3445
remove two small memory leaks
2020-03-15 08:50:58 +01:00
Holger Vogt
58901fe898
remove spurious error message
2020-03-15 08:50:58 +01:00
Holger Vogt
7ae76f0f51
update to the .measure and meas error messages:
...
remove crash uipon buggy inputs
add buggy example input file
unify fcn returns: 0 is OK, 1 is bad
Improve on error message for bad syntax
2020-03-15 08:50:58 +01:00
Holger Vogt
e9603dcdeb
enable inp_dodeck() to return an error state,
...
if error, inp_spsource() will return error as well
2020-03-15 08:50:57 +01:00
Holger Vogt
651ba72344
return immediately if ckt is NULL
2020-03-15 08:50:57 +01:00
Holger Vogt
51f80abe00
if inp_spsource() returns with an error code, emit a message
2020-03-15 08:50:57 +01:00
Holger Vogt
f9307d0beb
enable returning inp_spsource() with an error code
2020-03-15 08:50:57 +01:00
Holger Vogt
0c74820821
enable PSPICE compatible ~(~v(9)&v(8))
2020-03-15 08:50:57 +01:00
Holger Vogt
46adeb5eaa
plug memory leaks for the 'plot' command
2020-03-15 08:50:57 +01:00
Holger Vogt
573b270b6d
Give a better, modern name for this type of display
2020-03-15 08:50:57 +01:00
Holger Vogt
b1be546939
User expects an empty input line, not a text that has to be deleted befopre writing
2020-03-15 08:50:57 +01:00
Holger Vogt
966b69090d
use only TMALLOC and TREALLOC for memory allocation
2020-03-15 08:50:56 +01:00
Holger Vogt
53613f4e69
deprecated gets() -> fgets()
2020-03-15 08:50:56 +01:00
Holger Vogt
85e0a08cff
error message even if pNAME is not defined
2020-03-15 08:50:56 +01:00
Holger Vogt
39ce1f77d2
patch provided by Vito (see
...
https://sourceforge.net/p/ngspice/discussion/133842/thread/31aa24261e/ )
2020-03-15 08:50:56 +01:00
Holger Vogt
09f829b863
Further improvement of error message im 'meas'
2020-03-15 08:50:56 +01:00
Holger Vogt
94d5ad312e
Improve error messages for the 'meas' command.
2020-03-15 08:50:56 +01:00
Jim Monte
d4088c896a
Restored command arguments accidentally deleted.
2020-03-15 08:50:56 +01:00
Jim Monte
4b145ddf5e
Added #include <stdio.h> to define FILE.
2020-03-15 08:50:55 +01:00
Jim Monte
06ebf80983
Modified search for init file so that it searches both <HOME> and <USERPROFILE> if both are defined.
2020-03-15 08:50:55 +01:00
Jim Monte
2068c4fffb
Added -D/--define option to define a variable from the command line.
2020-03-15 08:50:55 +01:00
Jim Monte
372fe2a5e7
Opened binary files for writing using "wb" in all cases
2020-03-15 08:50:55 +01:00
Jim Monte
21f3eb74b8
Added basic help messages in addtion to reference to web pages
2020-03-15 08:50:55 +01:00
Jim Monte
de4788cfe5
Added conjugate function conj().
2020-03-15 08:50:55 +01:00
Jim Monte
a7946474fa
Additional freeing of device-dependent information for bug #419 and related bugs.
2020-03-15 08:50:55 +01:00
Jim Monte
d3343b1791
Removed redundant macro
2020-03-15 08:50:55 +01:00
Jim Monte
0cf53a34b2
Fixed resolution of ~ to home directory. (Bug #405 ) Also fixed potential buffer overruns in glob expansion
2020-03-15 08:50:54 +01:00
Jim Monte
ce5410d33f
Fixed checking for redirection tokens
2020-03-15 08:50:54 +01:00
Jim Monte
cec6a8edd3
Fixed access of freed memory when reporting an error.
2020-03-15 08:50:54 +01:00
Jim Monte
8141a634d7
Fixed several issues related to plotting and vector lifetimes and made ownership of vectors clearer. The issues in bugs 419, 423, 425, and 426 were related and were addressed here.
2020-03-15 08:50:54 +01:00
Jim Monte
57ffe1769f
Fixed "phantom vector" issue with plots and crash when plots are resized. See bugs #419 and #423 for details. Also several parameters were changed from char * to const char * in the plotting functions.
2020-03-15 08:50:54 +01:00
Jim Monte
9d2c105942
Fixed bug with 255 card deck entered using circbyline
2020-03-15 08:50:54 +01:00
Jim Monte
e1ec2a21dd
Added error recovery when invalid foreach statement found
2020-03-15 08:50:54 +01:00
Jim Monte
690b7730fe
Fixed memory leak when empty word found.
2020-03-15 08:50:54 +01:00
Jim Monte
b120e7bd21
Fixed reporting of system information in Windows.
2020-03-15 08:50:53 +01:00
Jim Monte
271afc87cf
Made UI more consistent when comments are entered.
2020-03-15 08:50:53 +01:00
Jim Monte
2df00ad8c9
Cleaned up defintions of macro constants
2020-03-15 08:50:53 +01:00
Jim Monte
2f3b9d0f2d
Used Win32 function PathIsRelativeA() to identify an absolute path instead of checking the string since the system function may handle more cases (network shares, etc.). Also reviewed formatting that was done on inpcom.c by a code beautifier in an earlier commit. Nearly all of it was an improvement, but a few cases were reverted back to closer to the original form. One particular instance was comments where a list of steps was given one per line.
2020-03-15 08:50:53 +01:00
Jim Monte
70600258bb
Made checking for single-character words faster. The testing now also uses less memory and works for 8-bit characters, which would have previously caused buffer overruns. It is also more modular and has additional documentation.
2020-03-15 08:50:53 +01:00
Jim Monte
92725594f3
Used the new capabilities of ft_numparse() to allow the creation of variables and list items of type CP_NUM
2020-03-15 08:50:53 +01:00
Jim Monte
ad970ae4e7
Made cp_enqvar() mode modular by adding a separate function to handle the case of a vector. Lists are more efficiently handled by moving common comparisons out of the loop over elements. The first argument of cp_enqvar() is changed from char * to const char * since the name of the variable being found is not altered by the function.
2020-03-15 08:50:53 +01:00
Jim Monte
72801b1ab1
Fixed buffer resizing, made string utilities more modular, and added several new utilities, some which do not require a null termination, potentially avoiding the need to copy a string. Also some substring utilities using the Rabin-Karp algorithm were added.
2020-03-15 08:50:52 +01:00
Jim Monte
f7951af50b
Fixed locating vectors like V(node)
2020-03-15 08:50:52 +01:00
Jim Monte
81fa829b7d
Fixed potential infinite loop (until memory is exhausted) and added several utility functions for processing strings.
2020-03-15 08:50:52 +01:00
Jim Monte
068df274bf
Made ft_numparse() thread-safe (no internal static variables) and prepared to support ngspice variable type CP_NUM.
2020-03-15 08:50:52 +01:00
Holger Vogt
89411e2fe4
Fixed merge conflict. Also made readifile() static and removed an unnecessary string duplication there.
2020-03-15 08:50:52 +01:00
Jim Monte
873e4a8db0
Added no_histsubst option and related fixes
2020-03-15 08:50:52 +01:00
Jim Monte
4bd4a6e9be
Fixed usage of new dstring functions. Also added const to some parameters that did not change.
2020-03-15 08:50:52 +01:00
Jim Monte
75d233c40d
If the prompt variable was set to a value that is not a string, memory that has been freed would be used when displaying the command prompt. This could lead to strange prompts and possible access violations, although it may appear to work OK if the freed memory has not been modified. This issue is fixed. Some useless duplications of strings when defining variables are also removed.
2020-03-15 08:50:51 +01:00
Jim Monte
b677ae1611
The check for the scale vector was not comparing the name in a case-insensitive manner, so unlet Yes would delete the default yes scale vector, for example. That issue was corrected. The code was also made more modular and descriptive regarding the check for the scale vector. Also, the warning now prints the scale vector as it is stored to make clear that vector names are not case sensitive.
2020-03-15 08:50:51 +01:00
Jim Monte
b7d8c61cd9
Cleaned up code to locate a vector in a plot by name. The code was made more modular, and special names like allv are handled more efficiently
2020-03-15 08:50:51 +01:00
Jim Monte
c7b95587de
Fixed compiler warnings regarding type of argument passed
2020-03-15 08:50:51 +01:00
Jim Monte
c368f32039
Added a macro R_MIN to define the minimum resistance value aS 0.01 and replaced the numeric value with the macro in the sourc code.
2020-03-15 08:50:51 +01:00
Jim Monte
89efe5aeae
Dynamic string (dstring) rework
2020-03-15 08:50:51 +01:00
Holger Vogt
9452121954
Remove memory leaks in cmpp.
...
Two small ones (a few bytes) are still there, difficult to assess.
2020-03-15 08:50:51 +01:00
Holger Vogt
29b2799c22
plug a memory leak by CALLBACK,
...
deleting locally malloced memory
2020-03-15 08:50:51 +01:00
Holger Vogt
e89a92f944
prevent referencing a NULL pointer
...
free the loc pointer and NULL its origin STATIC_VAR (locdata)
(that translates to mif_private->inst_var[0]->element[0].pvalue)
2020-03-15 08:50:51 +01:00
Holger Vogt
707936efe3
enable setting a variable from an input file
...
using the existing i/o redirection
2020-03-15 08:50:50 +01:00
Holger Vogt
05f02f3662
On Linux: allow calling gnuplot without invoking a terminal.
...
Reported by Terry Pilling
2020-03-15 08:50:50 +01:00
Holger Vogt
9238c0f9d4
prevent crash if 0 length vector is assessed
2019-11-30 11:43:29 +01:00
Holger Vogt
ac65968595
allow 'dc TEMP 10 20 1' as well as 'dc temp 10 20 1'
2019-11-30 11:43:12 +01:00
Holger Vogt
ee5f4cfc29
Replace B source pwl by XSPICE PWL Controlled Source
...
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2019-11-30 11:42:00 +01:00
Holger Vogt
b76fbf99fe
Replace B source pwl by XSPICE PWL Controlled Source
...
that has smooth rounded and differentiable corners.
Microchip or On-Semi OpAmps that needed gmin and source
stepping for operating point calculation now converge
without, others like MCP6001 that generally refused
to converge are o.k. now. Reason is the heavily used
Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
from the OpAmp models.
2019-11-30 11:39:09 +01:00
Holger Vogt
917ea99758
enable system info for Windows 10,
...
exclude function not existing in older SDKs
2019-11-30 11:38:53 +01:00
Holger Vogt
6598225ec0
Replace deprecated GetVersionExA by version helper functions
...
Add new macro _MSC_PLATFORM_TOOLSET to check for toolset
2019-11-30 11:38:25 +01:00
Holger Vogt
de9dfad0c9
remove VS 'assignment within conditional expression' warning
2019-11-30 11:38:11 +01:00
Holger Vogt
13a6e042f6
remove 'unreachable code' warning
2019-11-30 11:37:49 +01:00
Holger Vogt
dc1ee5f11f
remove 'potentially uninitialized' warning
2019-11-30 11:37:02 +01:00
Holger Vogt
ceea40e012
Revert "enable compiling with readline for macOS"
...
This reverts commit 11df2b7719 .
2019-11-30 11:36:09 +01:00
Holger Vogt
71917744a8
remove superfluous double parentheses
2019-11-30 11:35:56 +01:00
Holger Vogt
7983b0d16a
macOS: Do not use deprecated finite, but isfinite
2019-11-30 11:35:44 +01:00
Holger Vogt
fa58223204
update for Linux
2019-11-30 11:35:24 +01:00
Holger Vogt
5542729694
fix for macOS
2019-11-30 11:35:12 +01:00
Holger Vogt
67f6fda216
Complete redesign of memory monitoring in resource.c.
...
Acquiring memory size is done by four functions
getMemorySize, getAvailableMemorySize, getPeakRSS,
and getCurrentRSS.
Time data are still obtained without code modifications.
2019-11-30 11:34:58 +01:00
Holger Vogt
22b111d9c0
tabs to spaces
2019-11-30 11:34:48 +01:00
Holger Vogt
6cd2e245c4
Add resource info on memory used and available for macOS
2019-11-30 11:34:35 +01:00
Holger Vogt
42e99ec66c
safeguard against crash if instance lines are incomplete
2019-11-30 11:33:04 +01:00
Holger Vogt
33985ae1e5
Make DEVNUM robust against double initialization.
2019-10-05 13:17:38 +02:00
Holger Vogt
2f396187fa
Better indentation of message
2019-10-05 13:17:30 +02:00
Holger Vogt
0575481206
Better info in case of error
...
Initited by a patch from Bohdan Tkhir
2019-10-05 13:17:22 +02:00
Holger Vogt
eb667118cf
If there are no controls, just skip creating the controls thread.
2019-10-05 13:17:11 +02:00
Holger Vogt
a4402f1da7
prevent potential false reads if 'controlswait' is set.
2019-10-05 13:16:40 +02:00
Holger Vogt
03c5870034
in ps compatibility mode: translate t_measured to tnom
2019-10-05 13:16:25 +02:00
Holger Vogt
552d587deb
readability
2019-09-28 16:21:44 +02:00
Holger Vogt
976c949c86
avoid false warnings of model not found
2019-09-28 16:21:36 +02:00
Holger Vogt
8276ef7b58
correct typos found by linthian
2019-09-28 12:24:09 +02:00
Holger Vogt
840d00c4ca
no actions if controls thread tid2 is not set
2019-09-28 12:01:09 +02:00
Mamoru TASAKA
fa0fc7f131
tclspice: avoid get_plot function type conflict
...
re-name get_plot as get_plot_by_index
2019-09-28 12:01:04 +02:00
Holger Vogt
9e427a1a1e
Better thread handling
...
Embed thread tid2 into tid1
Avoid spurious thread collisions
2019-09-28 12:00:57 +02:00
Holger Vogt
1085512be5
Do not start a spurious thread with empty controls
2019-09-28 12:00:48 +02:00
Holger Vogt
712014b6db
Does crash with recent Linux openSUSE Tumbleweed
...
Not required by shared ngspice
2019-09-28 12:00:31 +02:00
Holger Vogt
cf752bf730
Revert "encapsulate fcn calls to cp_evloop into a mutex"
...
This reverts commit 2426a037db .
2019-09-28 12:00:23 +02:00
Holger Vogt
92b237da3b
Missing files in distribution
...
Correction to commit
Fix a build error on FreeBSD 12, bison 3.3.2, automake 1.16.1 and BSD make
2019-09-28 12:00:16 +02:00
Kevin Zheng
6f20ec9929
patch to simplify compile for FreeBSD
2019-09-28 12:00:05 +02:00
Holger Vogt
11df2b7719
enable compiling with readline for macOS
...
which has a very simple readline header only
2019-09-20 20:43:36 +02:00
Holger Vogt
acd0c7156c
return immediately if empty commands are sent
2019-09-20 19:22:47 +02:00
Holger Vogt
2426a037db
encapsulate fcn calls to cp_evloop into a mutex
...
thus preventing thread collisions
2019-09-20 19:21:56 +02:00
Holger Vogt
191ad0a574
avoid warning about potentially undefined variable
2019-09-14 12:43:48 +02:00
Holger Vogt
ec6d676920
Make CopyGraph safe against NULL argument.
...
Otherwise memcpy will fail.
2019-09-14 12:38:57 +02:00
Holger Vogt
aa726c9864
Make ...search_identifier safe against NULL arguments
...
Otherwise strstr will fail
2019-09-14 11:30:20 +02:00
Holger Vogt
0071ad8569
If a subcircuit is defined more than once,
...
only read the first one, rename the others und thus discard them.
2019-09-14 11:28:32 +02:00
Holger Vogt
972785095f
Avoid crash, and send error message when r,l,c
...
instance lines does not have enough tokens.
2019-09-14 11:28:07 +02:00
Holger Vogt
f9deefe326
Skip '\r' when reading lines from a file
2019-09-14 11:27:23 +02:00
Holger Vogt
8fc1b70e93
Bug #424 now lower-casing whenh following the redirection token >
...
Re-order the code for defining exceptions for not lower casing
2019-09-14 11:27:13 +02:00
Holger Vogt
cdc8d3d054
new_title may contain a \r, remove it
2019-09-14 11:26:52 +02:00
dwarning
134e92b78f
vbic model implementation including self-heating effect
2019-09-14 11:26:10 +02:00
Holger Vogt
1c8992bf15
Enable the file input as search path for .include files
...
also for non-Wondows OSs
2019-09-14 11:25:34 +02:00
Holger Vogt
9543a5644c
Improve handling of non-printable characters (esp. for Linux)
...
If there is an isolated non-printable character leading the line,
convert it to *.
In fact there are some, e.g. in device lib TL072.301 from TI.
2019-09-14 11:25:07 +02:00
Holger Vogt
88008af088
remove memory leaks
2019-09-14 11:24:34 +02:00
Holger Vogt
afdd0fe85e
comments added
...
White spaces according to clang format
2019-09-14 11:24:05 +02:00
Holger Vogt
4cf2b5e5ce
remove commenting out unused .model lines
...
from comment_out_unused_subckt_models().
This now handled by inp_rem_unused_models()
taking appropriate scoping into account.
2019-09-14 11:23:40 +02:00
Holger Vogt
6669cbc17c
add function inp_rem_unused_models().
...
checking for unused models now also removes models
that are out of scope.
2019-09-14 11:23:24 +02:00
rlar
9e729bc8ee
bug fix, avoid segfault when instantiating a unknown subcircuit
2019-09-14 11:22:52 +02:00
rlar
e2b3dffcff
drop bogus_find_subckt, use a proper scoped search
2019-09-14 11:22:39 +02:00
rlar
96bb0dd941
inpcom.c, introduce inp_add_levels(), add scope to decks
2019-09-14 11:22:24 +02:00
Holger Vogt
d901665517
enable 'res' as valid resistor model identifier
2019-09-14 11:21:53 +02:00
Holger Vogt
1adc3e559c
inp_get_elem_ident(): enable VDMOS devices as identifier m
2019-09-14 11:21:16 +02:00
Holger Vogt
7f95e9d40c
inp_get_elem_ident
...
model type as input, element identifier as output
2019-09-14 11:20:48 +02:00
Holger Vogt
b0e750c3d2
Remove printing an empty line to stderr
2019-08-18 10:53:25 +02:00
Holger Vogt
bc9a22e5f7
Make interface responsive during plotting,
...
prevent endless loop, probably because of full internal buffers
2019-08-18 10:52:46 +02:00
Holger Vogt
3ab2c6468c
raise time for immediate output, to catch some more information
2019-08-18 10:52:36 +02:00
Holger Vogt
5a45fdbebb
Skip name and node if searching for 'tc' in an
...
R, L, or C line. Thus a node name 'tc' would be allowed.
2019-08-18 10:52:21 +02:00
Holger Vogt
6a1b6ced18
Enable tc conversion also for L and C
...
Even is PSPICE manual does not mention this,
device model makers are using this option.
2019-08-18 10:51:57 +02:00
Holger Vogt
63b4cf05de
Do not bail out if 'load file' command has unavailable file,
...
just post error message and continue
A fix to https://sourceforge.net/p/ngspice/discussion/127605/thread/986c04f22b/
by Clyde
2019-08-13 23:35:48 +02:00
Jim Monte
0fbff063b8
bug #408 : prevent invalid data or crash by not reading beyond end of string
2019-08-13 23:35:17 +02:00
Holger Vogt
30565e45c4
Improve commant
2019-08-13 23:35:03 +02:00
AsamMich
9b28a951d2
Patch #83
...
Improve and complete command 'compose'
2019-08-13 23:34:48 +02:00
Holger Vogt
ca5997b705
Change variable 'stepsizelimit', added in commit
...
c86f6265d ("relieve the step size limitation..." 2019-02-02)
to 'nostepsizelimit', thus keeping the limit, if not set.
Maximum step size is limited to tstep given by .tran tstep tstop <tstart <tmax>>.
May be overridden by giving 'set nostepsizelimit' to (tstop - tstart)/50.
Both may be overriden by setting tmax.
2019-08-13 23:34:40 +02:00
Holger Vogt
fac46c0bfd
Speed up the text output in Windows GUI:
...
The stream is pushed to the display only every 30 milliseconds.
For the first 200ms the stream is still pushed for every line.
2019-08-13 23:34:16 +02:00
Holger Vogt
6ac67c2285
make GUI more responsive. Prevent output freezing
...
if large data volumes are sent to the display
2019-08-13 23:33:59 +02:00
Holger Vogt
1b96b5a087
fix typos
2019-08-13 23:33:44 +02:00
Holger Vogt
f1cf4103c0
If the comaptibility mode is PS, LTPS or LTPSA, '$' is treated as a valid
...
character, not a s end-of-line comment delimiter, except for that it is
located at the beginning of a line.
2019-08-13 23:33:37 +02:00
Holger Vogt
0b92a15ae8
safeguard against vectors with 0 length
2019-08-13 23:33:28 +02:00
Holger Vogt
b27d0e701c
allow very short version information with new options -v and -d
2019-08-13 23:33:15 +02:00
Holger Vogt
45e2155e57
Instead of the reverted commit
...
5542f2ec1 ("dio/diotemp.c, drop DIOgradingCoeff limit", 2017-07-18)
allow setting a new limit for the diode grading coefficient by
set DIOgradingCoeffMax=0.85
Default is 0.9
2019-08-13 23:32:55 +02:00
Holger Vogt
db85dead58
Revert "dio/diotemp.c, drop DIOgradingCoeff limit"
...
This reverts commit 5542f2ec10 .
2019-08-13 23:32:37 +02:00
Holger Vogt
aad247621e
raise warning only when params are on the .subckt line
2019-08-13 23:32:26 +02:00
Holger Vogt
01742eefef
The PSPICE area token for a device instance may be not only a number,
...
but also a parametrized token like {tok}
2019-08-13 23:32:16 +02:00
Jim Monte
8ed7080227
[PATCH #70 ] Made parameter const and reduced excess allocation.
2019-08-13 23:32:01 +02:00
Jim Monte
3def275be4
[PATCH #76 ] Fixed access violation when iplot called without a circuit
...
loaded.
2019-08-13 23:31:54 +02:00
Jim Monte
978429018b
[PATCH #73 ] Fixed crash when attempting to set a breakpoint without a
...
circuit loaded.
2019-08-13 23:31:46 +02:00
Jim Monte
e208aab4cd
[PATCH #69 ] Changed vector type from to the enum assigned to it.
2019-08-13 23:31:37 +02:00
Jim Monte
73379f4146
[PATCH #66 ] Removed definition of macro MAXWORDS since it is unused.
2019-08-13 23:31:28 +02:00
Jim Monte
4a26ea9847
[PATCH #64 ] Made shell command with no arguments functional for Windows.
2019-08-13 23:31:22 +02:00
Holger Vogt
9a904cb952
prevent crash upon wrong user input
2019-08-13 23:31:14 +02:00
Holger Vogt
c50dfa2be8
prevent crash if function is called with NULL argument
2019-08-13 23:31:01 +02:00
Jim Monte
060c51d68a
missing part of patch #56
2019-08-13 23:30:39 +02:00
Jim Monte
e92e2c7362
[PATCH #62 ] Fixed buffer overrun. Reworked to not use dstring for more
...
efficient parsing.
2019-08-13 23:30:31 +02:00
Jim Monte
24a13736bd
[PATCH #63 ] Fixed infinite loop when setscale is given as a command.
2019-08-13 23:30:20 +02:00
Jim Monte
031b722640
[PATCH #56-2] Added hist_info source and header files for new history API
...
and system DLL Shlwapi.dll to resolve PathIsRelative()
2019-08-13 23:30:12 +02:00
Jim Monte
3874916948
[PATCH #56 ] New history buffering
2019-08-13 23:30:05 +02:00
Jim Monte
f086fd3bef
[PATCH #61 ] Removed unnecessary check for null pointer. There would have
...
been several access violations before the check if it were invalid.
2019-08-13 23:29:55 +02:00
Jim Monte
1665b53b84
[PATCH #59 ] Made INP*Cat() functions more modular and efficient. Also
...
eliminated the possibility of a buffer overrun in INPstrCat() due to an error
in the calling funciton.
2019-08-13 23:29:41 +02:00
Jim Monte
9e5b0e8f82
[PATCH #58 ] Made annotations of WinMain() agree with its prototype
2019-08-13 23:29:34 +02:00
Jim Monte
8f2677438b
[PATCH #57 ] Fixed several issues with win_x_fread()
2019-08-13 23:29:27 +02:00
Holger Vogt
f9a4800d86
[PATCH #55-2] Prevent reading from a NULL pointer
2019-08-13 23:29:20 +02:00
Jim Monte
ea81da2b01
[PATCH #55-1] Fixed some compiler warnings added by Visual Studio 2019
2019-08-13 23:29:13 +02:00
Jim Monte
ba60c4e8a9
[PATCH #54 ] Fixed bug with processing of user input when the user input
...
size equals or exceeds the allowed amount. A 1-byte buffer overrun resulted
in incorrect processing of the buffer returned from the window supplying user
input which lead to an infinite loop.
2019-08-13 23:29:06 +02:00
Jim Monte
74857e2527
[PATCH #53 ] Removed useless zeroing of a copy of a variable (twice) when
...
the original variable should be zeroed. Made cp_free_control static because
it was only used in control.c and it was not defined in any header file.
Added comments
2019-08-13 23:28:58 +02:00
Jim Monte
1c5176282b
[PATCH #52 ] General cleanup of word list processing, such as adding
...
comments and const. Also added a new function wl_from_string() to convert a
single word into a word list. This function can be useful when calling a
function taking a single-word word list.
2019-08-13 23:28:49 +02:00
Jim Monte
10474a06a8
[PATCH #50 ] Ensured no buffer overrun for long namess and improved
...
efficiency of compare. Also made more modular.
2019-08-13 23:28:41 +02:00
Jim Monte
c71d66a3bb
[PATCH #49 ] Ensured no buffer overrun for long script strings and
...
improved efficiency of building string
2019-08-13 23:28:34 +02:00
Jim Monte
051b5e602d
[PATCH #48 ] Fixed infinite loop and variation from documented behavior of
...
atodims()
2019-08-13 23:28:25 +02:00
Jim Monte
0fd5b0fd80
[PATCH #51 ] Added scrolling to input window
2019-08-13 23:28:16 +02:00
Holger Vogt
9a9b7c68d0
unify the numerical constants
2019-08-13 23:28:05 +02:00
Holger Vogt
b9901a2569
[PATCH 47] Refactored ft_getnames() and used the new function in
...
com_let().
2019-08-13 23:27:49 +02:00
Holger Vogt
afdf3ff710
Partially undo commit 016c558d7, 2019-05-01
...
If sacles for plotting differ, issue a warning.
Skip this plot command only, when strict_errorhandling is set.
2019-08-13 23:27:15 +02:00
Holger Vogt
8af1663bba
Try to detect, if one wants to plot vectors with
...
different scale vectors into the same graph.
Issue a warning and skip the plot command.
2019-08-13 23:26:58 +02:00
Holger Vogt
eb33388707
Update to patch #33 , stdlib.h required on Linux for size_t
2019-08-13 23:20:48 +02:00
Jim Monte
451a88a2b0
[PATCH #46 ] Fixed uninitialized buffer in case of 0 dim for dimstring()
...
and prevented the compilation of unused functions. Also a comment was
corrected.
2019-08-13 23:20:39 +02:00
Jim Monte
23703a32c0
[PATCH #45 ] Fixed uninitialized buffer in case of 0 dim and improved
...
efficiency in other cases.
2019-08-13 23:20:29 +02:00
Jim Monte
b66412f517
[PATCH] Changed prototypes of some functions having parameters that
...
should not be changed to const and added assorted comments. Also two very
minor efficiency improvements.
2019-08-13 23:20:21 +02:00
Jim Monte
0183964d6f
[PATCH #41 ] Made constants agree across ngspice simulator. File const.h
...
is the source of the values with all other files referencing it.
2019-08-13 23:20:00 +02:00
Jim Monte
55b7626fa9
[PATCH #40 ] Fixed memory leaks under 3 different conditions when the
...
deftype command is used. Added more argument validation. Enhanced error
reporting. Implemented facility to free allocations associated with
user-defined types
2019-08-13 23:19:51 +02:00
Jim Monte
7dacfe5bda
[PATCH #38 ] Fixed crash when composing a complex vector from a mix of
...
real and complex values. Also eliminated unnecessary test for element being
real when composed vector is real.
2019-08-13 23:19:41 +02:00
Jim Monte
f28709f410
[PATCH #37 ] Fixed crash when composing a complex scalar
2019-08-13 23:19:31 +02:00
Holger Vogt
7598bbe83b
[PATCH 35] Fixed values of physical constants such as the speed of light
2019-08-13 23:19:13 +02:00
Jim Monte
86ed788025
[PATCH 6/6] Fixed Visual Studio C4456 compiler warnings related to
...
variable name hiding another variable and reduced scopes of arg and sarg
variables in the process
2019-08-13 23:18:34 +02:00
Jim Monte
34c2df11bb
[PATCH 5/6] Fixed formatting for consistent nesting level indentation
2019-08-13 23:18:24 +02:00
Jim Monte
93ae8b41ac
[PATCH 4/6] Fixed Visual Studio C4456 compiler warning related to
...
variable name hiding another variable
2019-08-13 23:18:16 +02:00
Jim Monte
d0f8c6896d
[PATCH 3/6] Fixed Visual Studio C4389 compiler warnings related to
...
signed/unsigned mismatch
2019-08-13 23:18:07 +02:00
Jim Monte
3dea14e223
Fixed Visual Studio C4334 compiler warnings related to
...
32-bit vs 64-bit shifts
2019-08-13 23:17:55 +02:00
dwarning
cf394a03d1
update to hicum version 2.40
2019-08-13 23:17:41 +02:00
Holger Vogt
e6a05bda7d
remove the token mfg=nfgname from each .model statement
2019-08-13 23:17:31 +02:00
Holger Vogt
61039c2736
add a new function gettok_model to consider {...} expressions
...
in VDMOS .model statements
2019-08-13 23:17:14 +02:00
Holger Vogt
ad5ad8270f
correct the temperature replacement in ps
...
TEMPER is in degrees °C
2019-08-13 23:17:02 +02:00
Kevin Zheng
b4ee4e28d6
Fix a build error on FreeBSD 12, bison 3.3.2, automake 1.16.1 and BSD make
...
by dropping the rules to run bison and use automake's built-in rules instead
2019-08-13 23:16:49 +02:00
Holger Vogt
bfe9e29580
If a in command set name="value" value is encapsulated in double quotes, it is always treated as a string variable.
2019-08-13 23:16:37 +02:00
Jim Monte
6bce493d25
Remove memory leak: If the check of the data fails, the data itself is leaked.
...
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:16:02 +02:00
Jim Monte
4afc5ed5b5
One of the links provided when the help command is executed returned a 404 not found error. This patch replaces that link with an HTML version of the ngspice manual.
...
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:15:27 +02:00
dwarning
657d4994b9
no fall-through by asking m value
2019-08-13 23:15:03 +02:00
Jim Monte
7e0dd64ce5
[PATCH 33 1/6] Fixed Visual Studio C4028 compiler warnings related to
...
mismatches between prototypes and function definitions
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:14:49 +02:00
Jim Monte
0ddd4a8456
Fixed excess buffer allocation and converted wordlist to string more efficiently
...
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:14:27 +02:00
dwarning
ef79942782
Tnom is not a instance parameter
2019-08-13 22:57:02 +02:00
dwarning
6bcf3ac41c
Tnom default inline with model specification
2019-08-13 22:56:50 +02:00
dwarning
033a290783
use a better place for model parameter defaulting
2019-08-13 22:56:38 +02:00
dwarning
360a3985e8
remove unused conductance variables
2019-08-13 22:56:29 +02:00
dwarning
f42c513381
correct current contribution by gmin
2019-08-13 22:56:19 +02:00
dwarning
293f0afc2f
remove unused variables
2019-08-13 22:55:34 +02:00
dwarning
f90295f46a
remove last remainder of unused sensitivity analysis
2019-08-13 22:55:25 +02:00
dwarning
2b60d56606
remove ancient, unused and untested sensitivity code
2019-08-13 22:55:12 +02:00
dwarning
7966aa36ae
correct init for convergence test
2019-08-13 22:54:51 +02:00
Holger Vogt
3494e6b390
prevent crash
...
bug-395 reported by Bohdan Tkhir
2019-08-13 22:54:30 +02:00
Holger Vogt
7bb8049d2a
fix bug no. 394, reported by Yurii Demchyna
2019-08-13 22:54:10 +02:00
dwarning
a549776972
high current devices need lower limit of resistances - set to 10mOhm
2019-08-13 22:53:52 +02:00
Holger Vogt
31db4228f5
fix a typo, correct writing to files under Linux
2019-08-13 22:53:41 +02:00
Holger Vogt
52584312c3
delete the plt and data files after writing eps or png
...
(only if gnuplot_terminal is set to eps/quit of png/quit)
2019-08-13 22:53:32 +02:00
Holger Vogt
8efa08602a
no plotting, only saving to file
...
if gnuplot_terminal is eps/quit or png/quit
2019-08-13 22:53:24 +02:00
Holger Vogt
601dfbd781
sprintf -> snprintf: prevent buffer overflow
2019-08-13 22:53:13 +02:00
Holger Vogt
ec4625eda6
redo gnuplot_terminal: Do not save eps/png automatically
...
none 1: do not print an eps or png file (default)
png 2: print png file, keep command window open
png/quit 3: print png file, quit command window
eps 4: print eps file, keep command window open
eps/quit 5: print eps file, quit command window
2019-08-13 22:53:00 +02:00
Holger Vogt
2344e3d012
patch no. 30 by astx:
...
don't show command window if gnuplot_terminal is set to png/quit
2019-08-13 22:52:49 +02:00
Holger Vogt
e937adc372
remove bug 388: enable plot unit W for plotting @q1[p]
2019-08-13 22:52:41 +02:00
Holger Vogt
4f8fd19309
Allow " around netnames for .plot and .print commands.
...
This enables characters like - / + in netnames, e.g.
.print tran v("/jk-flip-flop-1/q")
2019-08-13 22:52:08 +02:00
Holger Vogt
5b21caae98
correct the command name to 'setcs'
2019-08-13 22:51:48 +02:00
h_vogt
a0d87048e6
command.c, inpcom.c, add command 'setcs': like command 'set',
...
but case sensitive, and thus keeping upper or lower case
of subsequently following variable name and other letters.
2019-08-13 22:51:36 +02:00
dwarning
d03df9d326
correct entry for vdmos bulk diode in acload
2019-08-13 22:49:39 +02:00
Holger Vogt
198fea0db4
-rm -> rm, re-enable 'make uninstall'
2019-03-21 20:24:18 +01:00
Holger Vogt
d4c3d9ceb2
relieve the step size limitation (formerly set to TSTEP in tran simulation).
...
However not all examples will do without, thus the variable 'stepsizelimit'
is set in spinit. Unset it in .spiceinit to get the new behavior.
Of course then you might add the limit by setting TMAX in the tran command.
2019-03-21 20:22:42 +01:00
Holger Vogt
b4559327de
do not use the current plot, but try to get the plot set in arg...
2019-03-21 20:20:56 +01:00
Holger Vogt
9ee359b1e9
beautify code with astyle
2019-03-21 20:20:37 +01:00
Holger Vogt
1fb2a04f79
use fcn plot_get
2019-03-21 20:20:28 +01:00
Holger Vogt
c1b54a5978
return vector located in plot type given by 'name',
...
not just from the current plot
2019-03-21 20:20:00 +01:00
Holger Vogt
40411197e0
add function get_plot(name) to return address of named plot
2019-03-21 20:17:21 +01:00
Holger Vogt
a89e5db571
creating a linearized cutout of the original vector
...
by defining the vectors lin-tstart, lin-tstop, and lin-tstep
before issuing the 'linearize' command
2019-03-21 20:13:27 +01:00
Holger Vogt
2d8b30aebe
enable node names containing '-' in .ic and .nodeset statements
2019-03-21 16:13:43 +01:00
Holger Vogt
0bd3bbd333
clarify estmation of memeory size for output vectors
2019-03-21 16:13:24 +01:00
Holger Vogt
b771ee9c60
don't print status output in dcpss.c, if norefvalue is set
2019-03-21 16:12:47 +01:00
Holger Vogt
9dd47e3029
Remove memory warning message in shared lib
...
False warning on some OSs, especially on Linux when loaded during runtime.
The caller then has to take care of memory available
2019-03-21 16:12:36 +01:00
Holger Vogt
be6eca1dbb
add 'option norefvalue' to suppress printing the reference value.
2019-03-21 16:07:12 +01:00
Holger Vogt
5cd23fae72
move adding 1 to meminit to the right place (needed only once)
2019-03-21 15:52:23 +01:00