4
|
1 |
/* THIS IS A GENERATED FILE. DO NOT EDIT! */
|
|
2 |
/* Generated from ../O.Common/kstm.dbd */
|
|
3 |
|
|
4 |
#include <string.h>
|
|
5 |
|
|
6 |
#include "epicsStdlib.h"
|
|
7 |
#include "iocsh.h"
|
|
8 |
#include "iocshRegisterCommon.h"
|
|
9 |
#include "registryCommon.h"
|
|
10 |
|
|
11 |
extern "C" {
|
|
12 |
|
|
13 |
epicsShareExtern rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET,
|
|
14 |
*pvar_rset_aaoRSET, *pvar_rset_acalcoutRSET, *pvar_rset_aiRSET,
|
|
15 |
*pvar_rset_aoRSET, *pvar_rset_asynRSET, *pvar_rset_biRSET,
|
|
16 |
*pvar_rset_boRSET, *pvar_rset_calcRSET, *pvar_rset_calcoutRSET,
|
|
17 |
*pvar_rset_compressRSET, *pvar_rset_dfanoutRSET, *pvar_rset_eventRSET,
|
|
18 |
*pvar_rset_fanoutRSET, *pvar_rset_histogramRSET,
|
|
19 |
*pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET,
|
|
20 |
*pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET,
|
|
21 |
*pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET,
|
|
22 |
*pvar_rset_permissiveRSET, *pvar_rset_printfRSET,
|
|
23 |
*pvar_rset_scalcoutRSET, *pvar_rset_selRSET, *pvar_rset_seqRSET,
|
|
24 |
*pvar_rset_sseqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET,
|
|
25 |
*pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET,
|
|
26 |
*pvar_rset_swaitRSET, *pvar_rset_transformRSET,
|
|
27 |
*pvar_rset_waveformRSET;
|
|
28 |
|
|
29 |
typedef int (*rso_func)(dbRecordType *pdbRecordType);
|
|
30 |
epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset,
|
|
31 |
pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset,
|
|
32 |
pvar_func_acalcoutRecordSizeOffset, pvar_func_aiRecordSizeOffset,
|
|
33 |
pvar_func_aoRecordSizeOffset, pvar_func_asynRecordSizeOffset,
|
|
34 |
pvar_func_biRecordSizeOffset, pvar_func_boRecordSizeOffset,
|
|
35 |
pvar_func_calcRecordSizeOffset, pvar_func_calcoutRecordSizeOffset,
|
|
36 |
pvar_func_compressRecordSizeOffset, pvar_func_dfanoutRecordSizeOffset,
|
|
37 |
pvar_func_eventRecordSizeOffset, pvar_func_fanoutRecordSizeOffset,
|
|
38 |
pvar_func_histogramRecordSizeOffset, pvar_func_longinRecordSizeOffset,
|
|
39 |
pvar_func_longoutRecordSizeOffset, pvar_func_lsiRecordSizeOffset,
|
|
40 |
pvar_func_lsoRecordSizeOffset, pvar_func_mbbiRecordSizeOffset,
|
|
41 |
pvar_func_mbbiDirectRecordSizeOffset, pvar_func_mbboRecordSizeOffset,
|
|
42 |
pvar_func_mbboDirectRecordSizeOffset,
|
|
43 |
pvar_func_permissiveRecordSizeOffset,
|
|
44 |
pvar_func_printfRecordSizeOffset, pvar_func_scalcoutRecordSizeOffset,
|
|
45 |
pvar_func_selRecordSizeOffset, pvar_func_seqRecordSizeOffset,
|
|
46 |
pvar_func_sseqRecordSizeOffset, pvar_func_stateRecordSizeOffset,
|
|
47 |
pvar_func_stringinRecordSizeOffset,
|
|
48 |
pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset,
|
|
49 |
pvar_func_subArrayRecordSizeOffset, pvar_func_swaitRecordSizeOffset,
|
|
50 |
pvar_func_transformRecordSizeOffset,
|
|
51 |
pvar_func_waveformRecordSizeOffset;
|
|
52 |
|
|
53 |
static const char * const recordTypeNames[] = {
|
|
54 |
"aSub", "aai", "aao", "acalcout", "ai", "ao", "asyn", "bi", "bo",
|
|
55 |
"calc", "calcout", "compress", "dfanout", "event", "fanout",
|
|
56 |
"histogram", "longin", "longout", "lsi", "lso", "mbbi", "mbbiDirect",
|
|
57 |
"mbbo", "mbboDirect", "permissive", "printf", "scalcout", "sel",
|
|
58 |
"seq", "sseq", "state", "stringin", "stringout", "sub", "subArray",
|
|
59 |
"swait", "transform", "waveform"
|
|
60 |
};
|
|
61 |
|
|
62 |
static const recordTypeLocation rtl[] = {
|
|
63 |
{pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset},
|
|
64 |
{pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset},
|
|
65 |
{pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset},
|
|
66 |
{pvar_rset_acalcoutRSET, pvar_func_acalcoutRecordSizeOffset},
|
|
67 |
{pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset},
|
|
68 |
{pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset},
|
|
69 |
{pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset},
|
|
70 |
{pvar_rset_biRSET, pvar_func_biRecordSizeOffset},
|
|
71 |
{pvar_rset_boRSET, pvar_func_boRecordSizeOffset},
|
|
72 |
{pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset},
|
|
73 |
{pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset},
|
|
74 |
{pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset},
|
|
75 |
{pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset},
|
|
76 |
{pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset},
|
|
77 |
{pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset},
|
|
78 |
{pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset},
|
|
79 |
{pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset},
|
|
80 |
{pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset},
|
|
81 |
{pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset},
|
|
82 |
{pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset},
|
|
83 |
{pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset},
|
|
84 |
{pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset},
|
|
85 |
{pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset},
|
|
86 |
{pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset},
|
|
87 |
{pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset},
|
|
88 |
{pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset},
|
|
89 |
{pvar_rset_scalcoutRSET, pvar_func_scalcoutRecordSizeOffset},
|
|
90 |
{pvar_rset_selRSET, pvar_func_selRecordSizeOffset},
|
|
91 |
{pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset},
|
|
92 |
{pvar_rset_sseqRSET, pvar_func_sseqRecordSizeOffset},
|
|
93 |
{pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset},
|
|
94 |
{pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset},
|
|
95 |
{pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset},
|
|
96 |
{pvar_rset_subRSET, pvar_func_subRecordSizeOffset},
|
|
97 |
{pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset},
|
|
98 |
{pvar_rset_swaitRSET, pvar_func_swaitRecordSizeOffset},
|
|
99 |
{pvar_rset_transformRSET, pvar_func_transformRecordSizeOffset},
|
|
100 |
{pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset}
|
|
101 |
};
|
|
102 |
|
|
103 |
epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devaaiStream,
|
|
104 |
*pvar_dset_devAaoSoft, *pvar_dset_devaaoStream,
|
|
105 |
*pvar_dset_devaCalcoutSoft, *pvar_dset_devAiSoft,
|
|
106 |
*pvar_dset_devAiSoftRaw, *pvar_dset_devAiSoftCallback,
|
|
107 |
*pvar_dset_devTimestampAI, *pvar_dset_devAiGeneralTime,
|
|
108 |
*pvar_dset_asynAiInt32, *pvar_dset_asynAiInt32Average,
|
|
109 |
*pvar_dset_asynAiFloat64, *pvar_dset_asynAiFloat64Average,
|
|
110 |
*pvar_dset_devaiStream, *pvar_dset_adcPiAi, *pvar_dset_devAoSoft,
|
|
111 |
*pvar_dset_devAoSoftRaw, *pvar_dset_devAoSoftCallback,
|
|
112 |
*pvar_dset_asynAoInt32, *pvar_dset_asynAoFloat64,
|
|
113 |
*pvar_dset_devaoStream, *pvar_dset_asynRecordDevice,
|
|
114 |
*pvar_dset_devBiSoft, *pvar_dset_devBiSoftRaw,
|
|
115 |
*pvar_dset_devBiSoftCallback, *pvar_dset_devBiDbState,
|
|
116 |
*pvar_dset_asynBiInt32, *pvar_dset_asynBiUInt32Digital,
|
|
117 |
*pvar_dset_devbiStream, *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw,
|
|
118 |
*pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime,
|
|
119 |
*pvar_dset_devBoDbState, *pvar_dset_asynBoInt32,
|
|
120 |
*pvar_dset_asynBoUInt32Digital, *pvar_dset_devboStream,
|
|
121 |
*pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback,
|
|
122 |
*pvar_dset_devcalcoutStream, *pvar_dset_devEventSoft,
|
|
123 |
*pvar_dset_devHistogramSoft, *pvar_dset_devLiSoft,
|
|
124 |
*pvar_dset_devLiSoftCallback, *pvar_dset_devLiGeneralTime,
|
|
125 |
*pvar_dset_asynLiInt32, *pvar_dset_asynLiUInt32Digital,
|
|
126 |
*pvar_dset_devlonginStream, *pvar_dset_devLoSoft,
|
|
127 |
*pvar_dset_devLoSoftCallback, *pvar_dset_asynLoInt32,
|
|
128 |
*pvar_dset_asynLoUInt32Digital, *pvar_dset_devlongoutStream,
|
|
129 |
*pvar_dset_devLsiSoft, *pvar_dset_devLsoSoft,
|
|
130 |
*pvar_dset_devLsoSoftCallback, *pvar_dset_devLsoStdio,
|
|
131 |
*pvar_dset_devMbbiSoft, *pvar_dset_devMbbiSoftRaw,
|
|
132 |
*pvar_dset_devMbbiSoftCallback, *pvar_dset_asynMbbiInt32,
|
|
133 |
*pvar_dset_asynMbbiUInt32Digital, *pvar_dset_devmbbiStream,
|
|
134 |
*pvar_dset_devMbbiDirectSoft, *pvar_dset_devMbbiDirectSoftRaw,
|
|
135 |
*pvar_dset_devMbbiDirectSoftCallback,
|
|
136 |
*pvar_dset_asynMbbiDirectUInt32Digital,
|
|
137 |
*pvar_dset_devmbbiDirectStream, *pvar_dset_devMbboSoft,
|
|
138 |
*pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback,
|
|
139 |
*pvar_dset_asynMbboInt32, *pvar_dset_asynMbboUInt32Digital,
|
|
140 |
*pvar_dset_devmbboStream, *pvar_dset_devMbboDirectSoft,
|
|
141 |
*pvar_dset_devMbboDirectSoftRaw, *pvar_dset_devMbboDirectSoftCallback,
|
|
142 |
*pvar_dset_asynMbboDirectUInt32Digital,
|
|
143 |
*pvar_dset_devmbboDirectStream, *pvar_dset_devPrintfSoft,
|
|
144 |
*pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio,
|
|
145 |
*pvar_dset_devsCalcoutSoft, *pvar_dset_devSiSoft,
|
|
146 |
*pvar_dset_devSiSoftCallback, *pvar_dset_devTimestampSI,
|
|
147 |
*pvar_dset_devSiGeneralTime, *pvar_dset_asynSiOctetCmdResponse,
|
|
148 |
*pvar_dset_asynSiOctetWriteRead, *pvar_dset_asynSiOctetRead,
|
|
149 |
*pvar_dset_devstringinStream, *pvar_dset_devSoSoft,
|
|
150 |
*pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio,
|
|
151 |
*pvar_dset_asynSoOctetWrite, *pvar_dset_devstringoutStream,
|
|
152 |
*pvar_dset_devSASoft, *pvar_dset_devSWaitIoEvent,
|
|
153 |
*pvar_dset_devWfSoft, *pvar_dset_asynWfOctetCmdResponse,
|
|
154 |
*pvar_dset_asynWfOctetWriteRead, *pvar_dset_asynWfOctetRead,
|
|
155 |
*pvar_dset_asynWfOctetWrite, *pvar_dset_asynInt8ArrayWfIn,
|
|
156 |
*pvar_dset_asynInt8ArrayWfOut, *pvar_dset_asynInt16ArrayWfIn,
|
|
157 |
*pvar_dset_asynInt16ArrayWfOut, *pvar_dset_asynInt32ArrayWfIn,
|
|
158 |
*pvar_dset_asynInt32ArrayWfOut, *pvar_dset_asynInt32TimeSeries,
|
|
159 |
*pvar_dset_asynFloat32ArrayWfIn, *pvar_dset_asynFloat32ArrayWfOut,
|
|
160 |
*pvar_dset_asynFloat64ArrayWfIn, *pvar_dset_asynFloat64ArrayWfOut,
|
|
161 |
*pvar_dset_asynFloat64TimeSeries, *pvar_dset_devwaveformStream;
|
|
162 |
|
|
163 |
static const char * const deviceSupportNames[] = {
|
|
164 |
"devAaiSoft", "devaaiStream", "devAaoSoft", "devaaoStream",
|
|
165 |
"devaCalcoutSoft", "devAiSoft", "devAiSoftRaw", "devAiSoftCallback",
|
|
166 |
"devTimestampAI", "devAiGeneralTime", "asynAiInt32",
|
|
167 |
"asynAiInt32Average", "asynAiFloat64", "asynAiFloat64Average",
|
|
168 |
"devaiStream", "adcPiAi", "devAoSoft", "devAoSoftRaw",
|
|
169 |
"devAoSoftCallback", "asynAoInt32", "asynAoFloat64", "devaoStream",
|
|
170 |
"asynRecordDevice", "devBiSoft", "devBiSoftRaw", "devBiSoftCallback",
|
|
171 |
"devBiDbState", "asynBiInt32", "asynBiUInt32Digital", "devbiStream",
|
|
172 |
"devBoSoft", "devBoSoftRaw", "devBoSoftCallback", "devBoGeneralTime",
|
|
173 |
"devBoDbState", "asynBoInt32", "asynBoUInt32Digital", "devboStream",
|
|
174 |
"devCalcoutSoft", "devCalcoutSoftCallback", "devcalcoutStream",
|
|
175 |
"devEventSoft", "devHistogramSoft", "devLiSoft", "devLiSoftCallback",
|
|
176 |
"devLiGeneralTime", "asynLiInt32", "asynLiUInt32Digital",
|
|
177 |
"devlonginStream", "devLoSoft", "devLoSoftCallback", "asynLoInt32",
|
|
178 |
"asynLoUInt32Digital", "devlongoutStream", "devLsiSoft", "devLsoSoft",
|
|
179 |
"devLsoSoftCallback", "devLsoStdio", "devMbbiSoft", "devMbbiSoftRaw",
|
|
180 |
"devMbbiSoftCallback", "asynMbbiInt32", "asynMbbiUInt32Digital",
|
|
181 |
"devmbbiStream", "devMbbiDirectSoft", "devMbbiDirectSoftRaw",
|
|
182 |
"devMbbiDirectSoftCallback", "asynMbbiDirectUInt32Digital",
|
|
183 |
"devmbbiDirectStream", "devMbboSoft", "devMbboSoftRaw",
|
|
184 |
"devMbboSoftCallback", "asynMbboInt32", "asynMbboUInt32Digital",
|
|
185 |
"devmbboStream", "devMbboDirectSoft", "devMbboDirectSoftRaw",
|
|
186 |
"devMbboDirectSoftCallback", "asynMbboDirectUInt32Digital",
|
|
187 |
"devmbboDirectStream", "devPrintfSoft", "devPrintfSoftCallback",
|
|
188 |
"devPrintfStdio", "devsCalcoutSoft", "devSiSoft", "devSiSoftCallback",
|
|
189 |
"devTimestampSI", "devSiGeneralTime", "asynSiOctetCmdResponse",
|
|
190 |
"asynSiOctetWriteRead", "asynSiOctetRead", "devstringinStream",
|
|
191 |
"devSoSoft", "devSoSoftCallback", "devSoStdio", "asynSoOctetWrite",
|
|
192 |
"devstringoutStream", "devSASoft", "devSWaitIoEvent", "devWfSoft",
|
|
193 |
"asynWfOctetCmdResponse", "asynWfOctetWriteRead", "asynWfOctetRead",
|
|
194 |
"asynWfOctetWrite", "asynInt8ArrayWfIn", "asynInt8ArrayWfOut",
|
|
195 |
"asynInt16ArrayWfIn", "asynInt16ArrayWfOut", "asynInt32ArrayWfIn",
|
|
196 |
"asynInt32ArrayWfOut", "asynInt32TimeSeries", "asynFloat32ArrayWfIn",
|
|
197 |
"asynFloat32ArrayWfOut", "asynFloat64ArrayWfIn",
|
|
198 |
"asynFloat64ArrayWfOut", "asynFloat64TimeSeries", "devwaveformStream"
|
|
199 |
};
|
|
200 |
|
|
201 |
static const dset * const devsl[] = {
|
|
202 |
pvar_dset_devAaiSoft, pvar_dset_devaaiStream, pvar_dset_devAaoSoft,
|
|
203 |
pvar_dset_devaaoStream, pvar_dset_devaCalcoutSoft,
|
|
204 |
pvar_dset_devAiSoft, pvar_dset_devAiSoftRaw,
|
|
205 |
pvar_dset_devAiSoftCallback, pvar_dset_devTimestampAI,
|
|
206 |
pvar_dset_devAiGeneralTime, pvar_dset_asynAiInt32,
|
|
207 |
pvar_dset_asynAiInt32Average, pvar_dset_asynAiFloat64,
|
|
208 |
pvar_dset_asynAiFloat64Average, pvar_dset_devaiStream,
|
|
209 |
pvar_dset_adcPiAi, pvar_dset_devAoSoft, pvar_dset_devAoSoftRaw,
|
|
210 |
pvar_dset_devAoSoftCallback, pvar_dset_asynAoInt32,
|
|
211 |
pvar_dset_asynAoFloat64, pvar_dset_devaoStream,
|
|
212 |
pvar_dset_asynRecordDevice, pvar_dset_devBiSoft,
|
|
213 |
pvar_dset_devBiSoftRaw, pvar_dset_devBiSoftCallback,
|
|
214 |
pvar_dset_devBiDbState, pvar_dset_asynBiInt32,
|
|
215 |
pvar_dset_asynBiUInt32Digital, pvar_dset_devbiStream,
|
|
216 |
pvar_dset_devBoSoft, pvar_dset_devBoSoftRaw,
|
|
217 |
pvar_dset_devBoSoftCallback, pvar_dset_devBoGeneralTime,
|
|
218 |
pvar_dset_devBoDbState, pvar_dset_asynBoInt32,
|
|
219 |
pvar_dset_asynBoUInt32Digital, pvar_dset_devboStream,
|
|
220 |
pvar_dset_devCalcoutSoft, pvar_dset_devCalcoutSoftCallback,
|
|
221 |
pvar_dset_devcalcoutStream, pvar_dset_devEventSoft,
|
|
222 |
pvar_dset_devHistogramSoft, pvar_dset_devLiSoft,
|
|
223 |
pvar_dset_devLiSoftCallback, pvar_dset_devLiGeneralTime,
|
|
224 |
pvar_dset_asynLiInt32, pvar_dset_asynLiUInt32Digital,
|
|
225 |
pvar_dset_devlonginStream, pvar_dset_devLoSoft,
|
|
226 |
pvar_dset_devLoSoftCallback, pvar_dset_asynLoInt32,
|
|
227 |
pvar_dset_asynLoUInt32Digital, pvar_dset_devlongoutStream,
|
|
228 |
pvar_dset_devLsiSoft, pvar_dset_devLsoSoft,
|
|
229 |
pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio,
|
|
230 |
pvar_dset_devMbbiSoft, pvar_dset_devMbbiSoftRaw,
|
|
231 |
pvar_dset_devMbbiSoftCallback, pvar_dset_asynMbbiInt32,
|
|
232 |
pvar_dset_asynMbbiUInt32Digital, pvar_dset_devmbbiStream,
|
|
233 |
pvar_dset_devMbbiDirectSoft, pvar_dset_devMbbiDirectSoftRaw,
|
|
234 |
pvar_dset_devMbbiDirectSoftCallback,
|
|
235 |
pvar_dset_asynMbbiDirectUInt32Digital, pvar_dset_devmbbiDirectStream,
|
|
236 |
pvar_dset_devMbboSoft, pvar_dset_devMbboSoftRaw,
|
|
237 |
pvar_dset_devMbboSoftCallback, pvar_dset_asynMbboInt32,
|
|
238 |
pvar_dset_asynMbboUInt32Digital, pvar_dset_devmbboStream,
|
|
239 |
pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw,
|
|
240 |
pvar_dset_devMbboDirectSoftCallback,
|
|
241 |
pvar_dset_asynMbboDirectUInt32Digital, pvar_dset_devmbboDirectStream,
|
|
242 |
pvar_dset_devPrintfSoft, pvar_dset_devPrintfSoftCallback,
|
|
243 |
pvar_dset_devPrintfStdio, pvar_dset_devsCalcoutSoft,
|
|
244 |
pvar_dset_devSiSoft, pvar_dset_devSiSoftCallback,
|
|
245 |
pvar_dset_devTimestampSI, pvar_dset_devSiGeneralTime,
|
|
246 |
pvar_dset_asynSiOctetCmdResponse, pvar_dset_asynSiOctetWriteRead,
|
|
247 |
pvar_dset_asynSiOctetRead, pvar_dset_devstringinStream,
|
|
248 |
pvar_dset_devSoSoft, pvar_dset_devSoSoftCallback,
|
|
249 |
pvar_dset_devSoStdio, pvar_dset_asynSoOctetWrite,
|
|
250 |
pvar_dset_devstringoutStream, pvar_dset_devSASoft,
|
|
251 |
pvar_dset_devSWaitIoEvent, pvar_dset_devWfSoft,
|
|
252 |
pvar_dset_asynWfOctetCmdResponse, pvar_dset_asynWfOctetWriteRead,
|
|
253 |
pvar_dset_asynWfOctetRead, pvar_dset_asynWfOctetWrite,
|
|
254 |
pvar_dset_asynInt8ArrayWfIn, pvar_dset_asynInt8ArrayWfOut,
|
|
255 |
pvar_dset_asynInt16ArrayWfIn, pvar_dset_asynInt16ArrayWfOut,
|
|
256 |
pvar_dset_asynInt32ArrayWfIn, pvar_dset_asynInt32ArrayWfOut,
|
|
257 |
pvar_dset_asynInt32TimeSeries, pvar_dset_asynFloat32ArrayWfIn,
|
|
258 |
pvar_dset_asynFloat32ArrayWfOut, pvar_dset_asynFloat64ArrayWfIn,
|
|
259 |
pvar_dset_asynFloat64ArrayWfOut, pvar_dset_asynFloat64TimeSeries,
|
|
260 |
pvar_dset_devwaveformStream
|
|
261 |
};
|
|
262 |
|
|
263 |
epicsShareExtern drvet *pvar_drvet_adcPi, *pvar_drvet_drvAsyn,
|
|
264 |
*pvar_drvet_stream;
|
|
265 |
|
|
266 |
static const char *driverSupportNames[] = {
|
|
267 |
"adcPi", "drvAsyn", "stream"};
|
|
268 |
|
|
269 |
static struct drvet *drvsl[] = {
|
|
270 |
pvar_drvet_adcPi,
|
|
271 |
pvar_drvet_drvAsyn,
|
|
272 |
pvar_drvet_stream};
|
|
273 |
|
|
274 |
typedef void (*reg_func)(void);
|
|
275 |
epicsShareExtern reg_func pvar_func_adcPiRegister,
|
|
276 |
pvar_func_arrInitialize, pvar_func_arrayTestRegister, pvar_func_asSub,
|
|
277 |
pvar_func_asynInterposeEosRegister,
|
|
278 |
pvar_func_asynInterposeFlushRegister, pvar_func_asynRegister,
|
|
279 |
pvar_func_dbndInitialize, pvar_func_drvAsynIPPortRegisterCommands,
|
|
280 |
pvar_func_drvAsynIPServerPortRegisterCommands,
|
|
281 |
pvar_func_editSseqRegistrar, pvar_func_interpRegister,
|
|
282 |
pvar_func_streamRegistrar, pvar_func_subAveRegister,
|
|
283 |
pvar_func_syncInitialize, pvar_func_tsInitialize,
|
|
284 |
pvar_func_register_func_aSubReadDHTInit,
|
|
285 |
pvar_func_register_func_aSubReadDHTProcess;
|
|
286 |
|
|
287 |
epicsShareExtern int * const pvar_int_aCalcAsyncThreshold;
|
|
288 |
epicsShareExtern int * const pvar_int_aCalcLoopMax;
|
|
289 |
epicsShareExtern int * const pvar_int_aCalcPerformDebug;
|
|
290 |
epicsShareExtern int * const pvar_int_aCalcPostfixDebug;
|
|
291 |
epicsShareExtern int * const pvar_int_aCalcoutRecordDebug;
|
|
292 |
epicsShareExtern int * const pvar_int_aSubReadDHTDebug;
|
|
293 |
epicsShareExtern int * const pvar_int_adcPiDebug;
|
|
294 |
epicsShareExtern int * const pvar_int_arrayTestDebug;
|
|
295 |
epicsShareExtern int * const pvar_int_asCaDebug;
|
|
296 |
epicsShareExtern int * const pvar_int_atExitDebug;
|
|
297 |
epicsShareExtern double * const pvar_double_boHIGHlimit;
|
|
298 |
epicsShareExtern int * const pvar_int_boHIGHprecision;
|
|
299 |
epicsShareExtern double * const pvar_double_calcoutODLYlimit;
|
|
300 |
epicsShareExtern int * const pvar_int_calcoutODLYprecision;
|
|
301 |
epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault;
|
|
302 |
epicsShareExtern int * const pvar_int_dbBptNotMonotonic;
|
|
303 |
epicsShareExtern int * const pvar_int_dbRecordsOnceOnly;
|
|
304 |
epicsShareExtern int * const pvar_int_dbTemplateMaxVars;
|
|
305 |
epicsShareExtern int * const pvar_int_debugSubAve;
|
|
306 |
epicsShareExtern int * const pvar_int_devaCalcoutSoftDebug;
|
|
307 |
epicsShareExtern int * const pvar_int_devsCalcoutSoftDebug;
|
|
308 |
epicsShareExtern int * const pvar_int_histogramSDELprecision;
|
|
309 |
epicsShareExtern int * const pvar_int_interpDebug;
|
|
310 |
epicsShareExtern int * const pvar_int_sCalcLoopMax;
|
|
311 |
epicsShareExtern int * const pvar_int_sCalcPerformDebug;
|
|
312 |
epicsShareExtern int * const pvar_int_sCalcPostfixDebug;
|
|
313 |
epicsShareExtern int * const pvar_int_sCalcStackHW;
|
|
314 |
epicsShareExtern int * const pvar_int_sCalcStackLW;
|
|
315 |
epicsShareExtern int * const pvar_int_sCalcoutRecordDebug;
|
|
316 |
epicsShareExtern double * const pvar_double_seqDLYlimit;
|
|
317 |
epicsShareExtern int * const pvar_int_seqDLYprecision;
|
|
318 |
epicsShareExtern int * const pvar_int_sseqRecDebug;
|
|
319 |
epicsShareExtern int * const pvar_int_streamDebug;
|
|
320 |
epicsShareExtern int * const pvar_int_swaitRecordDebug;
|
|
321 |
epicsShareExtern int * const pvar_int_transformRecordDebug;
|
|
322 |
|
|
323 |
static struct iocshVarDef vardefs[] = {
|
|
324 |
{"aCalcAsyncThreshold", iocshArgInt, pvar_int_aCalcAsyncThreshold},
|
|
325 |
{"aCalcLoopMax", iocshArgInt, pvar_int_aCalcLoopMax},
|
|
326 |
{"aCalcPerformDebug", iocshArgInt, pvar_int_aCalcPerformDebug},
|
|
327 |
{"aCalcPostfixDebug", iocshArgInt, pvar_int_aCalcPostfixDebug},
|
|
328 |
{"aCalcoutRecordDebug", iocshArgInt, pvar_int_aCalcoutRecordDebug},
|
|
329 |
{"aSubReadDHTDebug", iocshArgInt, pvar_int_aSubReadDHTDebug},
|
|
330 |
{"adcPiDebug", iocshArgInt, pvar_int_adcPiDebug},
|
|
331 |
{"arrayTestDebug", iocshArgInt, pvar_int_arrayTestDebug},
|
|
332 |
{"asCaDebug", iocshArgInt, pvar_int_asCaDebug},
|
|
333 |
{"atExitDebug", iocshArgInt, pvar_int_atExitDebug},
|
|
334 |
{"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit},
|
|
335 |
{"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision},
|
|
336 |
{"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit},
|
|
337 |
{"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision},
|
|
338 |
{"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault},
|
|
339 |
{"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic},
|
|
340 |
{"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly},
|
|
341 |
{"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars},
|
|
342 |
{"debugSubAve", iocshArgInt, pvar_int_debugSubAve},
|
|
343 |
{"devaCalcoutSoftDebug", iocshArgInt, pvar_int_devaCalcoutSoftDebug},
|
|
344 |
{"devsCalcoutSoftDebug", iocshArgInt, pvar_int_devsCalcoutSoftDebug},
|
|
345 |
{"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision},
|
|
346 |
{"interpDebug", iocshArgInt, pvar_int_interpDebug},
|
|
347 |
{"sCalcLoopMax", iocshArgInt, pvar_int_sCalcLoopMax},
|
|
348 |
{"sCalcPerformDebug", iocshArgInt, pvar_int_sCalcPerformDebug},
|
|
349 |
{"sCalcPostfixDebug", iocshArgInt, pvar_int_sCalcPostfixDebug},
|
|
350 |
{"sCalcStackHW", iocshArgInt, pvar_int_sCalcStackHW},
|
|
351 |
{"sCalcStackLW", iocshArgInt, pvar_int_sCalcStackLW},
|
|
352 |
{"sCalcoutRecordDebug", iocshArgInt, pvar_int_sCalcoutRecordDebug},
|
|
353 |
{"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit},
|
|
354 |
{"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision},
|
|
355 |
{"sseqRecDebug", iocshArgInt, pvar_int_sseqRecDebug},
|
|
356 |
{"streamDebug", iocshArgInt, pvar_int_streamDebug},
|
|
357 |
{"swaitRecordDebug", iocshArgInt, pvar_int_swaitRecordDebug},
|
|
358 |
{"transformRecordDebug", iocshArgInt, pvar_int_transformRecordDebug},
|
|
359 |
{NULL, iocshArgInt, NULL}
|
|
360 |
};
|
|
361 |
|
|
362 |
int kstm_registerRecordDeviceDriver(DBBASE *pbase)
|
|
363 |
{
|
|
364 |
static int executed = 0;
|
|
365 |
const char *bldTop = "/home/epics/vierkstm";
|
|
366 |
const char *envTop = getenv("TOP");
|
|
367 |
|
|
368 |
if (envTop && strcmp(envTop, bldTop)) {
|
|
369 |
printf("Warning: IOC is booting with TOP = \"%s\"\n"
|
|
370 |
" but was built with TOP = \"%s\"\n",
|
|
371 |
envTop, bldTop);
|
|
372 |
}
|
|
373 |
|
|
374 |
if (!pbase) {
|
|
375 |
printf("pdbbase is NULL; you must load a DBD file first.\n");
|
|
376 |
return -1;
|
|
377 |
}
|
|
378 |
|
|
379 |
if (executed) {
|
|
380 |
printf("Warning: Registration already done.\n");
|
|
381 |
}
|
|
382 |
executed = 1;
|
|
383 |
|
|
384 |
registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl);
|
|
385 |
registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl);
|
|
386 |
registerDrivers(pbase, NELEMENTS(drvsl), driverSupportNames, drvsl);
|
|
387 |
pvar_func_adcPiRegister();
|
|
388 |
pvar_func_arrInitialize();
|
|
389 |
pvar_func_arrayTestRegister();
|
|
390 |
pvar_func_asSub();
|
|
391 |
pvar_func_asynInterposeEosRegister();
|
|
392 |
pvar_func_asynInterposeFlushRegister();
|
|
393 |
pvar_func_asynRegister();
|
|
394 |
pvar_func_dbndInitialize();
|
|
395 |
pvar_func_drvAsynIPPortRegisterCommands();
|
|
396 |
pvar_func_drvAsynIPServerPortRegisterCommands();
|
|
397 |
pvar_func_editSseqRegistrar();
|
|
398 |
pvar_func_interpRegister();
|
|
399 |
pvar_func_streamRegistrar();
|
|
400 |
pvar_func_subAveRegister();
|
|
401 |
pvar_func_syncInitialize();
|
|
402 |
pvar_func_tsInitialize();
|
|
403 |
pvar_func_register_func_aSubReadDHTInit();
|
|
404 |
pvar_func_register_func_aSubReadDHTProcess();
|
|
405 |
iocshRegisterVariable(vardefs);
|
|
406 |
return 0;
|
|
407 |
}
|
|
408 |
|
|
409 |
/* kstm_registerRecordDeviceDriver */
|
|
410 |
static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase};
|
|
411 |
static const iocshArg *rrddArgs[] = {&rrddArg0};
|
|
412 |
static const iocshFuncDef rrddFuncDef =
|
|
413 |
{"kstm_registerRecordDeviceDriver", 1, rrddArgs};
|
|
414 |
static void rrddCallFunc(const iocshArgBuf *)
|
|
415 |
{
|
|
416 |
kstm_registerRecordDeviceDriver(*iocshPpdbbase);
|
|
417 |
}
|
|
418 |
|
|
419 |
} // extern "C"
|
|
420 |
|
|
421 |
/*
|
|
422 |
* Register commands on application startup
|
|
423 |
*/
|
|
424 |
static int Registration() {
|
|
425 |
iocshRegisterCommon();
|
|
426 |
iocshRegister(&rrddFuncDef, rrddCallFunc);
|
|
427 |
return 0;
|
|
428 |
}
|
|
429 |
|
|
430 |
static int done = Registration();
|