133 ADnED(
const char *portName,
int maxBuffers,
size_t maxMemory,
int debug);
137 virtual asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
138 virtual asynStatus
writeFloat64(asynUser *pasynUser, epicsFloat64 value);
139 virtual asynStatus
writeOctet(asynUser *pasynUser,
const char *value,
140 size_t nChars,
size_t *nActual);
141 virtual void report(FILE *fp,
int details);
147 void eventHandler(std::tr1::shared_ptr<epics::pvData::PVStructure>
const &pv_struct, epicsUInt32 channelID);
154 void printPixelMap(epicsUInt32 det);
155 void printTofTrans(epicsUInt32 det);
156 asynStatus checkPixelMap(epicsUInt32 det);
157 asynStatus setupChannelMonitor(
const char *pvName,
int channel);
158 bool matchTransFile(
const int asynParam, epicsUInt32 &transIndex);
159 bool matchTransInt(
const int asynParam, epicsUInt32 &transIndex);
160 bool matchTransFloat(
const int asynParam, epicsUInt32 &transIndex);
161 void resetTOFArray(epicsUInt32 det);
164 static const epicsInt32 s_ADNED_MAX_STRING_SIZE;
165 static const epicsInt32 s_ADNED_MAX_DETS;
166 static const epicsInt32 s_ADNED_MAX_CHANNELS;
167 static const epicsUInt32 s_ADNED_ALLOC_STATUS_OK;
168 static const epicsUInt32 s_ADNED_ALLOC_STATUS_REQ;
169 static const epicsUInt32 s_ADNED_ALLOC_STATUS_FAIL;
170 static const epicsUInt32 s_ADNED_2D_PLOT_XY;
171 static const epicsUInt32 s_ADNED_2D_PLOT_XTOF;
172 static const epicsUInt32 s_ADNED_2D_PLOT_YTOF;
173 static const epicsUInt32 s_ADNED_2D_PLOT_PIXELIDTOF;
176 epicsUInt32 m_acquiring;
180 epicsUInt32 m_pulseCounter;
181 epicsFloat64 m_pChargeInt;
182 epicsTimeStamp m_nowTime;
183 double m_nowTimeSecs;
184 double m_lastTimeSecs;
189 epicsUInt32 m_dataMaxSize;
190 epicsUInt32 m_bufferMaxSize;
191 epicsUInt32 m_tofMax;
192 epics::pvData::PVTimeStamp m_PVTimeStamp;
213 epicsUInt32 m_eventsSinceLastUpdate;
217 epics::pvAccess::ChannelProvider::shared_pointer p_ChannelProvider;
218 std::tr1::shared_ptr<nEDChannel::nEDChannelRequester> p_ChannelRequester;
219 std::tr1::shared_ptr<nEDChannel::nEDMonitorRequester> p_MonitorRequester[
ADNED_MAX_CHANNELS];
226 const epicsUInt32 m_debug;
228 epicsEventId m_startEvent;
229 epicsEventId m_stopEvent;
230 epicsEventId m_startFrame;
231 epicsEventId m_stopFrame;
235 #define ADNED_FIRST_DRIVER_COMMAND ADnEDFirstParam
240 int ADnEDEventDebugParam;
241 int ADnEDSeqCounterParam;
242 int ADnEDPulseCounterParam;
243 int ADnEDEventRateParam;
245 int ADnEDSeqIDMissingParam;
246 int ADnEDSeqIDNumMissingParam;
247 int ADnEDBadTimeStampParam;
248 int ADnEDPChargeParam;
249 int ADnEDPChargeIntParam;
250 int ADnEDEventUpdatePeriodParam;
251 int ADnEDFrameUpdatePeriodParam;
252 int ADnEDNumChannelsParam;
253 int ADnEDPVNameParam;
254 int ADnEDNumDetParam;
255 int ADnEDDetPixelNumStartParam;
256 int ADnEDDetPixelNumEndParam;
257 int ADnEDDetPixelNumSizeParam;
258 int ADnEDDetTOFNumBinsParam;
259 int ADnEDDet2DTypeParam;
260 int ADnEDDetNDArrayStartParam;
261 int ADnEDDetNDArrayEndParam;
262 int ADnEDDetNDArraySizeParam;
263 int ADnEDDetNDArrayTOFStartParam;
264 int ADnEDDetNDArrayTOFEndParam;
265 int ADnEDDetEventRateParam;
266 int ADnEDDetEventTotalParam;
267 int ADnEDDetTOFROIStartParam;
268 int ADnEDDetTOFROISizeParam;
269 int ADnEDDetTOFROIEnableParam;
270 int ADnEDDetTOFArrayResetParam;
272 int ADnEDDetTOFTransFile0Param;
273 int ADnEDDetTOFTransFile1Param;
274 int ADnEDDetTOFTransFile2Param;
275 int ADnEDDetTOFTransFile3Param;
276 int ADnEDDetTOFTransFile4Param;
277 int ADnEDDetTOFTransFile5Param;
278 int ADnEDDetTOFTransInt0Param;
279 int ADnEDDetTOFTransInt1Param;
280 int ADnEDDetTOFTransInt2Param;
281 int ADnEDDetTOFTransInt3Param;
282 int ADnEDDetTOFTransInt4Param;
283 int ADnEDDetTOFTransInt5Param;
284 int ADnEDDetTOFTransFloat0Param;
285 int ADnEDDetTOFTransFloat1Param;
286 int ADnEDDetTOFTransFloat2Param;
287 int ADnEDDetTOFTransFloat3Param;
288 int ADnEDDetTOFTransFloat4Param;
289 int ADnEDDetTOFTransFloat5Param;
290 int ADnEDDetTOFTransPrintParam;
291 int ADnEDDetTOFTransDebugParam;
292 int ADnEDDetTOFTransTypeParam;
293 int ADnEDDetTOFTransOffsetParam;
294 int ADnEDDetTOFTransScaleParam;
296 int ADnEDDetPixelMapFileParam;
297 int ADnEDDetPixelMapPrintParam;
298 int ADnEDDetPixelMapEnableParam;
299 int ADnEDDetPixelROIStartXParam;
300 int ADnEDDetPixelROISizeXParam;
301 int ADnEDDetPixelROIStartYParam;
302 int ADnEDDetPixelROISizeYParam;
303 int ADnEDDetPixelSizeXParam;
304 int ADnEDDetPixelROIEnableParam;
305 int ADnEDTOFMaxParam;
306 int ADnEDAllocSpaceParam;
307 int ADnEDAllocSpaceStatusParam;
309 #define ADNED_LAST_DRIVER_COMMAND ADnEDLastParam