Commit Graph

8380 Commits

Author SHA1 Message Date
Holger Vogt 87f0db6f50 Prevent crash when ControlledExit* is not initialized
in ngspice shared library.
2023-07-15 11:28:07 +02:00
Holger Vogt b0f2ab8764 Fix bug 637
Prevent crash when external current source is used.
2023-07-15 11:27:43 +02:00
Holger Vogt 90d8f7f34f Prevent crash if EXTERNAL voltage source is used
Fixes
98763c0ad ("Note: ix: dc value used for op instead of transient time=0 value Former warning message or note only issued when dc value and value at transient time=0 differ.", 2022-09-20)
2023-07-15 11:27:32 +02:00
Holger Vogt 4421d95379 improve comment 2023-07-15 11:27:14 +02:00
Holger Vogt a28784d6d7 Prevent crash if *line == NULL 2023-07-15 11:26:52 +02:00
Holger Vogt 53b72a7693 Skip title line when resorting .params, .meas, .temp 2023-07-15 11:25:27 +02:00
Giles Atkinson 762b131bb3 Fix Bug #635 - "Starting ngspice with HOME env variable unset causes segfault". 2023-07-15 11:22:13 +02:00
Holger Vogt eda9cadbed The 'plot' command is not available in batch mode.
Issue a warning and ignore it.
2023-07-15 11:22:00 +02:00
Holger Vogt 0e6b785728 Remove the error message when a simulation has been started via the .control section. 2023-07-15 11:21:40 +02:00
Holger Vogt f5091bdc2d Make the error message a little more reasonable.
Unfortunately the current setup does not easily allow naming
the offending command.
2023-07-15 11:21:11 +02:00
Holger Vogt c7ebb7aabb Error message up to now was strictly for command line interactive use only.
Improve error message when parsing .ac lines.
2023-07-15 11:20:41 +02:00
Holger Vogt d46cd894cc Prevent crash if s == NULL 2023-07-15 11:20:09 +02:00
Holger Vogt 7f8e1cecab Allow ';' also at the beginning of a line. 2023-07-15 11:19:57 +02:00
Holger Vogt c1db561373 No syntax check for title line 2023-07-15 11:19:31 +02:00
Holger Vogt 0c1f114dea add comment 2023-07-15 11:19:03 +02:00
Holger Vogt cb9cc7140d Prevent crash if no or not enough coeffs are given.
r is then probably not the repeat coefficient.
2023-07-15 11:18:36 +02:00
Holger Vogt 3420e66705 During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
2023-07-15 11:18:09 +02:00
Holger Vogt 29c51c0d30 Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
2023-07-15 11:17:34 +02:00
Holger Vogt 0ee5e3f32a Add a control language function cvector, to create a complex vector.
Let vec1 = cvector(50)
will generate a complex vector, with the real part values
increasing from 0 to 49, the imaginary values are set to 0.
Useful in ac loops to store result data.
2023-07-15 11:17:10 +02:00
Holger Vogt 01e8b4da84 Prevent crash upon buggy user input (missing ] or >) 2023-07-15 11:16:57 +02:00
Holger Vogt 1340002c05 Improve error message 2023-07-15 11:16:43 +02:00
Holger Vogt fc169fe23f CIDER: Plug some memory leak 2023-07-15 11:16:22 +02:00
Holger Vogt 67b2ddbad5 CIDER: Plug some memory leaks by adding to TWOdestroy() 2023-07-15 11:16:13 +02:00
Holger Vogt 3bb9cd738f CIDER: Plug small memory leaks in INPparseNumMod() 2023-07-15 11:16:01 +02:00
Holger Vogt 695c1e1bd6 Add an extra model stitching for CIDER only.
This one fills in actualLine, which is use by
parsing the CIDER model parameters in INPparseNumMod()
from inpgmod.c
2023-07-15 11:15:50 +02:00
Holger Vogt 3b90c12307 Enable compiling with MSVC 2023-07-15 11:15:28 +02:00
Giles Atkinson d31568bd83 Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
2023-07-15 11:15:08 +02:00
Giles Atkinson 1fdf7dac51 Fix Bug #623 - "Parser warning for voltage source".
Do not warn when a single-element vector lacks parentheses.
2023-07-15 11:14:57 +02:00
Giles Atkinson 422a205409 Always propgate any individual scale for a vector that appears
in an expression, resolving conflicts by matching length and warning
only when making an arbitary choice.  One effect of this is that it
is now possible to mix analog nodes with offset digital nodes
(an expression like dvalue+6) without a warning and get a correct plot.
2023-07-15 11:14:35 +02:00
Giles Atkinson eeb912228a When creating a plot vector from XSPICE event history, add a
final point at the end of the vector, so that a plotted line
does not end at the last event, leaving an odd spike.
2023-07-15 11:13:19 +02:00
Giles Atkinson 2db6b529f2 Fix Bug #630 - "pwl if r=last time, simulation never ends".
Allowing a PWL repeat to start at the last time-point makes no sense.
2023-07-15 11:13:05 +02:00
Giles Atkinson f4f2f41940 Fix another error in 9c71db3a72. 2023-07-15 11:12:52 +02:00
Giles Atkinson 9099a922fd Apply a patch from Aleksey Morozov to fix a bug that he identified
and reproduced.  It is the same as Bug #331 -
"XSpice skips digital output point" except that it applies to the
instance queue, not the event queue.
2023-07-15 11:12:31 +02:00
Holger Vogt ee7bcac256 Reduce excessive use of TREALLOC 2023-07-15 11:12:10 +02:00
Holger Vogt 585f13bd4a Better visibility of the results 2023-07-15 11:11:48 +02:00
Holger Vogt fd24e5af7e re-formatting the code 2023-05-27 10:50:14 +02:00
Holger Vogt d295fe3ac6 Slightly improve error handling and warning message 2023-05-27 10:50:02 +02:00
Holger Vogt 823465ceb8 .csparam: Add some safeguarding against wrong input and crash,
allow multiple parameters in a .csparam row (like .param).
2023-05-27 10:49:53 +02:00
Holger Vogt dcf9846d6e remove unused header file 2023-05-27 10:49:43 +02:00
Holger Vogt c7bb12d9d0 More info 2023-05-27 10:49:32 +02:00
Holger Vogt b24c613ce6 Safeguard against bad arguments (no crash upon NULL) 2023-05-27 10:49:19 +02:00
Holger Vogt ba7ad783a8 safeguard against crash upon buggy input 2023-05-27 10:49:07 +02:00
Holger Vogt c723e124d9 Make error message more verbose and useful 2023-05-27 10:48:57 +02:00
Holger Vogt 9b3146b1fb Correct the warning message 2023-05-27 10:48:41 +02:00
Holger Vogt e834c89313 Prevent a crash when number of nodes differs in subckt and X call. 2023-05-27 10:48:30 +02:00
Holger Vogt 8c9602574e Improve error messages 2023-05-27 10:48:15 +02:00
Holger Vogt 5c8af9770b Add rusage to measure simulation time. 2023-05-27 10:48:07 +02:00
Holger Vogt 6ea2882c3b Plug a memory leak 2023-05-27 10:48:00 +02:00
Holger Vogt 2685df1b05 Add vto model parameter (the default has changed!), add .ic
to ease op and immediately start oscillation.
2023-05-27 10:47:43 +02:00
Holger Vogt 96bebafac5 Enable history substitution of interactive commands only when variable 'histsubst' is set.
This feature is in conflict with ! (logic inversion)
in .control language logic expressions.
2023-05-27 10:47:27 +02:00