From a429e3fee80b7736e590c2c9a60a694bfc4c156b Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Fri, 26 Jun 2020 23:03:52 +0200 Subject: [PATCH] Make the pwl parameter r adjustable by .param if r == -1, no repetition done. if r == 0, repeat forever. if r == xx, repeat from time xx to last time point given. If r is omitted, like r == -1 no rpetition done. --- src/spicelib/devices/vsrc/vsrcpar.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/spicelib/devices/vsrc/vsrcpar.c b/src/spicelib/devices/vsrc/vsrcpar.c index ccc7c5462..66fa83036 100644 --- a/src/spicelib/devices/vsrc/vsrcpar.c +++ b/src/spicelib/devices/vsrc/vsrcpar.c @@ -123,6 +123,14 @@ VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) case VSRC_R: { double end_time; + /* Parameter r of pwl may now be parameterized: + if r == -1, no repetition done. + if r == 0, repeat forever. + if r == xx, repeat from time xx to last time point given. */ + if (value->rValue < -0.5) { + here->VSRCrGiven = FALSE; + break; + } here->VSRCr = value->rValue; here->VSRCrGiven = TRUE;