Holger Vogt
aa3ab5bc25
Fixing bug 804.
...
Using function get_windows_canonical_path() may neglect the
ngspice file search sequence, as an absolute path is returned also
for relative input paths. ngspice however searches a file not only
relative to the current directory, as inforced by this
function, but for example also in the directory of the previous
input file.
So restrict this function to paths longer than MAX_PATH, which would fail
otherwise.
2025-09-06 17:47:21 +02:00
Holger Vogt
4693173d37
Revert "Fix a bug in the Windows Builds:"
...
This reverts commit ecb288138f .
2025-09-06 17:46:50 +02:00
Holger Vogt
ecb288138f
Fix a bug in the Windows Builds:
...
With commit
80d6e681f ("MS Windows: Get a canonical paths name: Important if path length exceeds MAX_PATH, might happen when using PDKs", 2025-04-12)
the newly introduced function get_windows_canonical_path() does not do the
right thing when the path name is only a simple file name. Then internally
used function GetFullPathNameW() then will prepend the current directory to the
file name, which may be simply wrong.
2025-09-04 00:03:25 +02:00
Holger Vogt
a2b3d7c7d2
Enhance comment.
2025-08-28 12:39:13 +02:00
Holger Vogt
7fc68c0c07
Adding .param SWSOA=1 right after the .lib entry during reading in
...
the libraries.
2025-08-28 12:39:01 +02:00
Holger Vogt
b1f4f32b36
Prevent a segfault if cp_variablesubst return a nullptr.
...
Fixes bug-801
2025-08-28 12:16:22 +02:00
Holger Vogt
21c238276a
Another copyright update
2025-08-08 11:46:22 +02:00
Holger Vogt
632b55a90d
Update copyright notice
2025-08-08 11:46:13 +02:00
Holger Vogt
4ab6be1b90
Keep saving nodes only once, but make an exception for node 'all'.
...
Fixes bug-799, at least partially (diffpair.cir is running again.).
2025-07-29 11:05:14 +02:00
Holger Vogt
3d55c16531
Don't print a form feed if 'option nopage' is given.
...
Print the header really only once if 'option nopage' is given.
2025-07-29 11:05:00 +02:00
Jason Pyeron
178b541fb2
BUGFIX: #797 - gettoks did not protect against NULL pointer input
2025-07-29 11:04:05 +02:00
Holger Vogt
c2f9f6d3f4
retain type=0, type=1, type=+1, or type=-1 in a .model card,
...
even if compatmode PS or LT are set.
2025-07-29 10:52:54 +02:00
Holger Vogt
dd1690521c
Fix a bug: do not read in front of string s by s[-1].
...
Still needs more checking: we remmove and add 'params:'?
2025-07-29 10:49:49 +02:00
Holger Vogt
9c1714d2f5
typo
2025-07-29 10:49:22 +02:00
Giles Atkinson
5c4f151c6d
Snapshot support for new statistics added by e1677a18c4.
...
That prevents a crash exiting examples/snapshot/adder_snload.script.
2025-07-29 10:39:00 +02:00
Giles Atkinson
95fc95771a
Fix Bug #793 - "breakp.c error: compling without XSPICE failed".
...
Additional changes to conditional compilation are needed for
iplot without XSPICE.
2025-07-29 10:38:42 +02:00
Holger Vogt
9c4a54ffb7
Enable real (from fft)or complex (from sp) frequency vetors in plot sp
2025-07-29 10:38:17 +02:00
Holger Vogt
f73873c495
Enable expressions in a meas statement within a .control section, like
...
meas tran yeval2 FIND v(2) WHEN v(1)= 0.9*v(2)
2025-07-29 10:37:59 +02:00
Holger Vogt
0713f46506
Make all new entries lower case.
2025-05-30 12:56:25 +02:00
Holger Vogt
705c0d8dc6
Prevent crash if file cannot be opened.
2025-05-30 12:56:11 +02:00
Brian Taylor
1b39cf9025
Fix some more -Wextra warnings.
...
Fix to inpcom.c removed by HVO
2025-05-24 11:31:05 +02:00
Holger Vogt
3ceb16024a
Fixes a bug introduced by
...
317378085 ("Tidy code in get_number_terminals(), removing unneeded copying.", 2025-02-25)
2025-05-24 11:30:56 +02:00
Holger Vogt
c2702208bd
Allow command 'stop when time=val' also if the tran simulation has
...
already been started, e.g. while waiting for resume.
Add a breakpoint if 'val' is in the future.
2025-05-24 11:30:37 +02:00
Brian Taylor
a7961f1a97
Fix some compiler warnings when -Wextra is added to CFLAGS.
2025-05-24 11:30:25 +02:00
Giles Atkinson
8ab446fc9c
Fix Bug #750 - "VDMOS Model Naming Rules in NGSPICE Cause Confusion."
...
Recognise VDMOS as a special keyword only as the third token in a
.model line. A new function, skip_token(), included in the change
allows simplification of some existing code.
2025-05-24 11:29:22 +02:00
Giles Atkinson
44b620658e
Event nodes can be plotted with offset by "iplot", like the
...
digitop option for "plot". Offsets may be explicit or automatic with "-o".
A variable to set the offset is shared with "plot". In plotcurv.c
suppress some warnings that should not apply to event nodes and do
not falsely claim that some vectors have only one x-value.
2025-05-24 11:27:37 +02:00
Giles Atkinson
78924a86a1
Support use of XSPICE event nodes with iplot.
...
In graf.c, local function set() is renamed setflag() to avoid conflict
with a newly-visible global function with the same name.
2025-05-24 11:27:28 +02:00
Holger Vogt
80d6e681f2
MS Windows: Get a canonical paths name: Important if
...
path length exceeds MAX_PATH, might happen when using PDKs
Patch provided by kreijstal
2025-05-24 11:26:31 +02:00
Holger Vogt
43c4c49e11
re-enable adding variables (path names) to list variable "sourcepath"
2025-05-24 11:26:18 +02:00
Holger Vogt
a2dbedff4e
Improved error message, not using internal 'circbyline'
2025-05-24 11:25:55 +02:00
Holger Vogt
cf934bca7d
New command 'save nointernals' to suppress outputting and
...
saving of internal device nodes, espicially needed for PSP
OSDI model. Output file size reduction is e.g. from 20GB to 200MB.
2025-05-24 11:24:57 +02:00
Holger Vogt
338cc42dd0
PS compatibility: MOS level 5 and Bip level 2
...
will create an error. ngspice then bails out, as no
such models are available. Hint to use OpenVAF, OSDI.
2025-05-24 11:24:33 +02:00
Holger Vogt
d776a229e1
Create a vector thdnm from THD calculation, e.g. thd11
...
New vector fournosave: if set, suppress creation of
vectors thd11 and fourier, usefull when writing a raw file.
2025-05-24 11:24:25 +02:00
Giles Atkinson
629d1f5462
Fix a bug where a node name is mis-identified as the model for
...
an OSDI device and remove a limit on node count.
Problem was reported by user Sam in ngspice-users.
2025-05-24 11:24:11 +02:00
Giles Atkinson
b41b8a48c3
Tidy code in get_number_terminals(), removing unneeded copying.
2025-05-24 11:23:58 +02:00
Giles Atkinson
d18479b45b
Always check for GUI events during simulation, if any graphs exist.
...
Previously this check was only made if an iplot window existed.
The 100W.sp example displayed frozen windows with X11-based plotting.
2025-05-24 11:23:44 +02:00
Holger Vogt
7cf0129254
Add a descriptive comment
2025-05-24 11:21:52 +02:00
Holger Vogt
ef00416ebf
Add a section without source info to the debug output.
...
Truncate .model lines in this section, as .model lines with
several hundred parameters may mask the relevant information.
2025-05-24 11:19:08 +02:00
Holger Vogt
dd07008b55
Remove ADMS related code
2025-05-24 11:17:56 +02:00
Giles Atkinson
ddd14cf84c
Do not include term.h and curses.h in terminal.c without checking that
...
they exist. Modern ncurses does not need curses.h to compile term.h
so that header has been removed. Also make ncurses the last choice
when looking for tputs().
2025-05-24 11:17:25 +02:00
Holger Vogt
2afd3d1ea8
Prevent a crash in case of incomplete stoks[]
2025-05-24 11:03:29 +02:00
Holger Vogt
0c2a287d3c
Allow .probe I(XU1)
...
For device with more than 2 nodes, and alli not set, the vcurr_xxx
nodes did contain a probe_int_ section which made them to be
not saved. While o.k. for power measurement, this was not o.k. for
measuring current.
2025-05-24 11:00:11 +02:00
Holger Vogt
1abeb1290b
Align title line to the numbers following
2025-05-24 10:59:47 +02:00
Holger Vogt
26b197df33
Allow m parameter for B source with current output
...
Fixes bug no. 734
2025-05-24 10:59:04 +02:00
Giles Atkinson
afb399a1f0
Fix Bug #733 -
...
"Pre-master-45 hangs forever on a circuit that works on older versions."
That was an infinite loop when parsing a line with just "*#",
introduced by commit fb63573b6b . Also add some comments.
2025-05-24 10:58:08 +02:00
Árpád Bűrmen
d659943d77
Per-device load timing support.
2025-05-24 10:56:33 +02:00
Holger Vogt
e5d4d7d63f
Add to debug-out.txt an output without source file information.
...
Thus cluttering the view is reduced.
2025-05-24 10:55:18 +02:00
Holger Vogt
e1bd97d8f6
If C= or Q= is omitted in the instance line of a behavioral capacitor,
...
select as default the C= formulation, not the Q= formula..
2025-01-10 15:17:22 +01:00
Giles Atkinson
2666460663
Using XFlush() instead of XSync() avoids a round trip to the X server
...
on each call to DevUpdate(). That speeds plotting when using XQuartz
on Macintosh and makes iplot useable there.
2025-01-09 13:21:31 +01:00
Holger Vogt
1b7c8eb2d7
Fix a crash due to buggy user input.
...
Improve error message.
Reported in
https://gitlab.com/kicad/code/kicad/-/issues/19439#note_2277932762
2025-01-09 13:21:05 +01:00