Jspice3
Main Page
Data Structures
Files
File List
Globals
acsetp.c
Go to the documentation of this file.
1
/***************************************************************************
2
JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3
Copyright 1990 Regents of the University of California. All rights reserved.
4
Authors: 1985 Thomas L. Quarles
5
1993 Stephen R. Whiteley
6
****************************************************************************/
7
8
#include "
spice.h
"
9
#include <stdio.h>
10
#include "
cktdefs.h
"
11
#include "
acdefs.h
"
12
#include "
jobdefs.h
"
13
#include "
iferrmsg.h
"
14
15
16
/* ARGSUSED */
17
int
18
ACsetParm
(cktp,anal,which,value)
19
20
GENERIC
*cktp;
21
GENERIC
*anal;
22
int
which;
23
IFvalue
*value;
24
{
25
ACAN
*job = (
ACAN
*) anal;
26
27
if
(
ACsetp
(&job->
AC
,which,value) ==
OK
)
28
return
(
OK
);
29
if
(
DCTsetp
(&job->
DC
,which,value) ==
OK
)
30
return
(
OK
);
31
return
(
E_BADPARM
);
32
}
33
34
35
int
36
ACsetp
(ac,which,value)
37
38
struct
sACprms
*ac;
39
int
which;
40
IFvalue
*value;
41
{
42
switch
(which) {
43
44
case
AC_START
:
45
ac->fstart = value->
rValue
;
46
break
;
47
48
case
AC_STOP
:
49
ac->fstop = value->
rValue
;
50
break
;
51
52
case
AC_STEPS
:
53
ac->numSteps = value->
iValue
;
54
break
;
55
56
case
AC_DEC
:
57
if
(value->
iValue
) {
58
ac->stepType =
DECADE
;
59
}
60
else
{
61
if
(ac->stepType ==
DECADE
) {
62
ac->stepType = 0;
63
}
64
}
65
break
;
66
67
case
AC_OCT
:
68
if
(value->
iValue
) {
69
ac->stepType =
OCTAVE
;
70
}
71
else
{
72
if
(ac->stepType ==
OCTAVE
) {
73
ac->stepType = 0;
74
}
75
}
76
break
;
77
78
case
AC_LIN
:
79
if
(value->
iValue
) {
80
ac->stepType =
LINEAR
;
81
}
82
else
{
83
if
(ac->stepType ==
LINEAR
) {
84
ac->stepType = 0;
85
}
86
}
87
break
;
88
89
default
:
90
return
(
E_BADPARM
);
91
}
92
return
(
OK
);
93
}
94
95
96
97
static
IFparm
ACparms
[] = {
98
{
"start"
,
AC_START
,
IFP
|
IF_REAL
,
"starting frequency"
},
99
{
"stop"
,
AC_STOP
,
IFP
|
IF_REAL
,
"ending frequency"
},
100
{
"numsteps"
,
AC_STEPS
,
IFP
|
IF_INTEGER
,
"number of frequencies"
},
101
{
"dec"
,
AC_DEC
,
IFP
|
IF_FLAG
,
"step by decades"
},
102
{
"oct"
,
AC_OCT
,
IFP
|
IF_FLAG
,
"step by octaves"
},
103
{
"lin"
,
AC_LIN
,
IFP
|
IF_FLAG
,
"step linearly"
},
104
{
"name1"
,
DC_NAME1
,
IFP
|
IF_INSTANCE
,
"name of source to step"
},
105
{
"start1"
,
DC_START1
,
IFP
|
IF_REAL
,
"starting voltage/current"
},
106
{
"stop1"
,
DC_STOP1
,
IFP
|
IF_REAL
,
"ending voltage/current"
},
107
{
"step1"
,
DC_STEP1
,
IFP
|
IF_REAL
,
"voltage/current step"
},
108
{
"name2"
,
DC_NAME2
,
IFP
|
IF_INSTANCE
,
"name of source to step"
},
109
{
"start2"
,
DC_START2
,
IFP
|
IF_REAL
,
"starting voltage/current"
},
110
{
"stop2"
,
DC_STOP2
,
IFP
|
IF_REAL
,
"ending voltage/current"
},
111
{
"step2"
,
DC_STEP2
,
IFP
|
IF_REAL
,
"voltage/current step"
}
112
};
113
114
SPICEanalysis
ACinfo
= {
115
{
116
"AC"
,
117
"A.C. Small signal analysis"
,
118
119
sizeof
(
ACparms
)/
sizeof
(
IFparm
),
120
ACparms
121
},
122
sizeof
(
ACAN
),
123
FREQUENCYDOMAIN
,
124
ACparse
,
125
ACsetParm
,
126
ACaskQuest
,
127
ACan
128
};
cktdefs.h
AC_STOP
#define AC_STOP
Definition:
analysis.h:56
AC_START
#define AC_START
Definition:
analysis.h:55
ACaskQuest
int ACaskQuest()
DC_STOP1
#define DC_STOP1
Definition:
analysis.h:19
ACAN::AC
struct sACprms AC
Definition:
acdefs.h:20
ACparse
int ACparse()
DC_START1
#define DC_START1
Definition:
analysis.h:18
ACAN::DC
struct sDCTprms DC
Definition:
acdefs.h:21
sACprms
Definition:
analysis.h:59
AC_OCT
#define AC_OCT
Definition:
analysis.h:53
E_BADPARM
#define E_BADPARM
Definition:
iferrmsg.h:26
ACan
int ACan()
OCTAVE
#define OCTAVE
Definition:
analysis.h:48
IF_INSTANCE
#define IF_INSTANCE
Definition:
ifsim.h:112
uIFvalue::iValue
int iValue
Definition:
ifsim.h:232
jobdefs.h
uIFvalue::rValue
double rValue
Definition:
ifsim.h:233
AC_LIN
#define AC_LIN
Definition:
analysis.h:54
ACparms
static IFparm ACparms[]
Definition:
acsetp.c:97
DC_NAME2
#define DC_NAME2
Definition:
analysis.h:21
OK
#define OK
Definition:
iferrmsg.h:17
AC_STEPS
#define AC_STEPS
Definition:
analysis.h:57
IFP
#define IFP
Definition:
analysis.h:10
DC_STEP1
#define DC_STEP1
Definition:
analysis.h:20
IF_INTEGER
#define IF_INTEGER
Definition:
ifsim.h:107
LINEAR
#define LINEAR
Definition:
analysis.h:49
ACsetParm
int ACsetParm(GENERIC *cktp, GENERIC *anal, int which, IFvalue *value)
Definition:
acsetp.c:18
ACAN
Definition:
acdefs.h:15
spice.h
iferrmsg.h
DC_NAME1
#define DC_NAME1
Definition:
analysis.h:17
sIFparm
Definition:
ifsim.h:54
IF_REAL
#define IF_REAL
Definition:
ifsim.h:108
FREQUENCYDOMAIN
#define FREQUENCYDOMAIN
Definition:
jobdefs.h:34
IF_FLAG
#define IF_FLAG
Definition:
ifsim.h:106
AC_DEC
#define AC_DEC
Definition:
analysis.h:52
ACsetp
int ACsetp(struct sACprms *ac, int which, IFvalue *value)
Definition:
acsetp.c:36
uIFvalue
Definition:
ifsim.h:231
acdefs.h
DECADE
#define DECADE
Definition:
analysis.h:47
DC_START2
#define DC_START2
Definition:
analysis.h:22
DC_STOP2
#define DC_STOP2
Definition:
analysis.h:23
SPICEanalysis
Definition:
jobdefs.h:11
DC_STEP2
#define DC_STEP2
Definition:
analysis.h:24
ACinfo
SPICEanalysis ACinfo
Definition:
acsetp.c:114
GENERIC
char GENERIC
Definition:
ifsim.h:27
DCTsetp
int DCTsetp()
src
lib
analysis
acsetp.c
Generated by
1.8.11