You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

51 lines
1.4 KiB

/**********
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Gordon Jacobs
Modified: 2001 Jon Engelbert
**********/
/*
*/
#include "ngspice/ngspice.h"
#include "swdefs.h"
#include "ngspice/ifsim.h"
#include "ngspice/sperror.h"
#include "ngspice/suffix.h"
int
SWmParam(int param, IFvalue *value, GENmodel *inModel)
{
SWmodel *model = (SWmodel *)inModel;
switch(param) {
case SW_MOD_SW:
/* just says that this is a switch */
break;
case SW_MOD_RON:
model->SWonResistance = value->rValue;
model->SWonConduct = 1.0/(value->rValue);
model->SWonGiven = TRUE;
break;
case SW_MOD_ROFF:
model->SWoffResistance = value->rValue;
model->SWoffConduct = 1.0/(value->rValue);
model->SWoffGiven = TRUE;
break;
case SW_MOD_VTH:
/* take absolute value of hysteresis voltage */
model->SWvThreshold = value->rValue;
model->SWthreshGiven = TRUE;
break;
case SW_MOD_VHYS:
/* take absolute value of hysteresis voltage */
// model->SWvHysteresis = (value->rValue < 0) ? -(value->rValue) :
// value->rValue;
model->SWvHysteresis = value->rValue;
model->SWhystGiven = TRUE;
break;
default:
return(E_BADPARM);
}
return(OK);
}