Commit Graph

4000 Commits

Author SHA1 Message Date
Holger Vogt 93dbc846a3 declare functions and variables static, if so 2026-04-30 13:06:26 +02:00
Holger Vogt 3d82891a87 reformat, set better error message for src_process() 2026-04-30 13:06:26 +02:00
Holger Vogt feb89e07dc add progress report when entering wav output stage 2026-04-30 13:06:26 +02:00
Holger Vogt 8c157b887e add commands sndprint, sndparam with
associated functions com_sndprint and com_sndparam
2026-04-30 13:06:25 +02:00
Holger Vogt fd254d7620 add dotcards .sndparam and .sndprint 2026-04-30 13:06:25 +02:00
Holger Vogt e1e0d08ad5 add files sndprint, vsjack 2026-04-30 13:06:25 +02:00
Holger Vogt d20315309f Do not replace GND by 0 f if GND is used inside of the subcircuit
and is referenced on the .subckt line, and ps is set.
This will allow using this subcircuit with non-zero reference
voltage.
2026-04-30 11:26:17 +02:00
Holger Vogt 51ebf841ac Make the memory printout more portable and readable.
Avoid integers, uses doubles.
2026-04-28 20:17:01 +02:00
Holger Vogt cb1a29b8c0 If newcompat.ki is enabled, allow /gnd and /0 (local ground symbols
in KiCad and replace them by true ngspice ground 0 .
2026-04-28 16:19:12 +02:00
Holger Vogt 9ef52c10b9 newcompat.ki has already been set in sharedspice.c 2026-04-28 16:17:35 +02:00
Holger Vogt 7cf526ce4c Update memory check:
Only for WINDOWS baile out if requested memory is larger than existing.
For other OSs issue a warning, but then move on.
2026-04-28 11:50:46 +02:00
Holger Vogt 2c0aabd760 Remove linker warnings (VS2022) 2026-04-25 11:46:35 +02:00
Holger Vogt 1636ca3ce1 Show that the external process 'gnuplot' is running (Windows only) 2026-04-24 23:30:00 +02:00
Holger Vogt 597358f4a8 remove linker warning. 2026-04-24 15:58:05 +02:00
Holger Vogt 08accebcd3 Move the memory check to a place where it is called once only per plot 2026-04-24 15:21:34 +02:00
Holger Vogt 215dd0e136 Status display 'shell', if shell command takes its time. 2026-04-24 14:47:15 +02:00
Holger Vogt 21b3131e12 Implement getrusage() with ru_maxrss permanently for Apple ARM. 2026-04-18 13:27:07 +02:00
Holger Vogt 7859aa0db9 Updating the 'available memory' measurement for Apple ARM 64 bit 2026-04-17 17:10:31 +02:00
Holger Vogt afd4eb64ed Fix a bug introduced by yesterday's commit
8abfb5aeb0/
2026-04-07 22:25:27 +02:00
Holger Vogt 8abfb5aeb0 Remove unused ft_gidb
Add debug ft_shvecsearch
Make ft_codemodelerror more verbose.
2026-04-06 14:15:42 +02:00
Giles Atkinson ae4a05158b Ugly fix for failing MacOS builds on github: move parse-binon.y to the top.
BUILT_SOURCES seems not to work.
2026-04-01 09:53:34 +01:00
Giles Atkinson e42a9e6b5c Fix excessive forcing to lower-case in pure script files.
Add string comparisons as protected commands so they can be case-sensitive.
2026-04-01 07:35:20 +01:00
Giles Atkinson 3586cbcbea Fix crash when a "*ng_script_with_params" script is called
from a control section.
2026-04-01 07:35:20 +01:00
Holger Vogt 4feeb94b12 Improve error message, make fprintf independent from OS 2026-03-30 16:03:19 +02:00
Holger Vogt 96404e9939 Exclude memory check for Apple Silicon
Not yet working as getAvailableMemorySize delivers wrong values.
2026-03-30 16:00:32 +02:00
Holger Vogt f227a3abd6 Prevent a crash with shared ngspice when memory is exhausted:
Add a pre-check if available memory is sufficient. If not, bail out.
2026-03-27 10:31:30 +01:00
Holger Vogt cd14f85cde Remove ft_skywaterpdk, replace it by variable no_auto_braces 2026-03-25 13:33:52 +01:00
Holger Vogt aab3371f36 A memory leak occurs when command 'step' is followed by 'quit'
without having reached the final TSTOP.
New function DCtran_step_quit() removes the leak.
2026-03-25 13:33:17 +01:00
Holger Vogt af67662a3f In case of transient simulation error, bail out when fft is called. 2026-03-20 16:59:11 +01:00
geraldfournier 65e5ccb7bb Make fft scaling independent from rounding behaviour for odd data.
Add a time slot to fft span.
2026-03-20 13:37:06 +01:00
dwarning b3a78b02cc Special Nyquist scaling only for even length.
Let nyquist bin not empty for odd vector
2026-03-20 13:33:39 +01:00
Holger Vogt 88895f1394 Parameter np=xx added. xx may be a number or auto2n.
If np is not set, 'linearize' behaves as usual, (TSTOP-TSTART)/TSTEP + 1.5
If np=<number>, integer <number> is used
If np=auto2n, the number of points is 2^n, close to (TSTOP-TSTART)/TSTEP.
2026-03-20 10:58:36 +01:00
Holger Vogt 38ce7778b3 Update 2 to warning messages if osdi or code model files cannot be loaded 2026-03-20 10:57:37 +01:00
Holger Vogt 7d0dce0e70 Update to warning messages if osdi or code model files cannot be loaded 2026-03-20 10:57:23 +01:00
Holger Vogt f86018afe9 Do not give up when non-existing fft window is chosen,
but issue a message and go on.
2026-03-20 10:43:44 +01:00
Enrique 7a76310b6b Added parameter numPeriod so that the user can select the number of fundamental frequency periods used in the detection of the fundamental frequency and its harmonics. This is usefull when trying to recover the fundamental frequency and its harmonics from a noisy signal, like the output of a DCDC converter 2026-03-20 10:40:15 +01:00
Holger Vogt e613d5b8db Improve error message, no output of line string if not 'set ngdebug' 2026-03-20 10:38:51 +01:00
Holger Vogt 603089b29f Re-enable not setting lower case if commands from spinit or .spiceinit 2026-03-20 10:38:21 +01:00
Holger Vogt a165ab5c28 Allow Cd as a valid C reference designator for a capacitor,
i.e. lower-casing of node names,
by re-organizing the setting of lower cases in the netlist:
No lower-casing for cd only while in a .control section.
2026-03-20 10:37:42 +01:00
Holger Vogt d13cd984f4 Special treatment while spiltting multiple .param lines, if .param is a .func 2026-03-20 10:35:32 +01:00
Holger Vogt 7474cd70d0 Ignore .hdl and .biaswarn commands. 2026-03-20 10:34:45 +01:00
Holger Vogt 84f87aeafd Improve error message by adding the sourcing netlist line 2026-03-20 10:31:34 +01:00
Holger Vogt 81d3812db0 Add a user-settable variable measureprec to set the number of digits
when printing the measure outputs.
Internally this is a global variable measure_precision.
Enable all measure commands to recognize measure_precision when
printing an output.
Default value is 5 (yielding 6 digits after .?).
2026-03-20 10:28:28 +01:00
Holger Vogt 9ac5bda207 After an ac simulation, a tran measurement causes a segfault.
A check prevents this issue.
2026-02-03 22:38:56 +01:00
Holger Vogt afb17cb6c7 New analogue and digital device models from TI contain
the token GND in their subcircuit. Up to now ngspice has
declared GND as global and replaced it by 0.

Now, if PS is selected as compat mode, GND is not
declared as global, and is not replaced inside of a subcircuit.
2026-02-03 14:25:09 +01:00
Holger Vogt b25ff08307 Moving window filtering with function 'newvec = mtimeavg(vec)'
Window of fixed time width given by 'set mtimeavgwindow=400u'
Length and scale of newvec resembles the original vetor vec.
Large vec and large mtimeavgwindow take their time.
OpenMP is used if available.
2026-02-03 14:23:32 +01:00
Holger Vogt 84ce2b4084 Exclude B voltage source, whan '.probe alli' is used.
It already gets a bxx#branch for current measurement.
2026-02-03 14:23:22 +01:00
dwarning 23eafe9978 remove redundant definition and unused variable 2026-02-03 14:22:57 +01:00
Holger Vogt cd6ca5e86a re-enable maling old app ngsconvert
ngnutmeg is still defect
2026-02-03 14:22:21 +01:00
Holger Vogt 8737839f41 Add a function m3avg(vector) for filtering of trap ringing.
Moving average with D(n) = (C(n-1)/2 + C(n) + C(n+1)/2)/2
2026-02-03 14:20:08 +01:00