28 #include <epicsEvent.h>
29 #include <epicsTypes.h>
30 #include "ADCameralink.h"
32 #include "stopWatch.h"
41 class epicsShareClass
pco :
public ADCameralink {
43 pco(
const char *portName,
const char *pcoPort,
int maxBuffers,
44 size_t maxMemory,
int priority,
int stackSize);
47 virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32
value);
48 virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64
value);
50 virtual void report(FILE *fp,
int details);
62 #define FIRST_pco_PARAM pco_first
211 #define LAST_pco_PARAM pco_last
213 enum { pco_paramint, pco_paramdoub };
215 virtual void setDebuggingMessage(
int level);
228 void reconfigGrabber(
void);
229 void checkEdgeDescramble(
NDArray *img_ptr);
233 virtual void processNewImage(
void *img_ptr);
234 virtual void keepHouse(
void);
235 int updateParameters(asynUser *pasynUser, epicsInt32 ivalue,
236 epicsFloat64 dvalue,
int paramtype);
238 virtual int doSerialTransactions(
int function,
int ivalue,
double dvalue,
241 virtual void clearPipe(FILE *fp);
245 int OpenCamera(
void);
246 int Disconnected(
int code,
char *usrmsg);
247 void resetDimaxMemory(
void);
249 int checkCameraMessages(
void);
250 int setPcoBaudrate(
int function);
251 int ReportError(
int code,
char *usrmsg);
255 int getPcoStatusParams(
void);
257 int setPcoCameraLinkParams(
int function);
258 int getPcoCameraLinkParams(
void);
260 int getPcoGeneralParams(
void);
261 int setPcoGeneralParams(
int function);
263 int getPcoSensorParams(
void);
264 int setPcoSensorParams(
int function);
266 int getPcoTimingParams(
void);
267 int setPcoTimingParams(
int function);
269 int getPcoStorageParams(
void);
270 int setPcoStorageParams(
int function);
272 int getPcoRecordingParams(
void);
273 int setPcoRecordingParams(
int function);
275 int setPcoImageReadParams(
int function);
276 int getPcoImageReadParams(
void);
278 int dumpOneFrame(
int k);
280 void dumpCameraMemory(
void);
282 int doHighLevelParams(
int function);
283 static char dll_name[];
285 #ifndef USEASYNSERIAL
289 void dbgSerial(
void);
319 char myServerPort[255];
337 unsigned short test_line[128];
348 int intFlEndian(
unsigned int in);
355 epicsEventId startEventId;
356 epicsEventId imageEventId;
357 epicsTimeStamp acqStartTime;
358 epicsTimeStamp acqEndTime;
359 epicsTimerId timerId;
361 asynUser *pasynUserServer;
366 #define NUM_pco_PARAMS (&LAST_pco_PARAM - &FIRST_pco_PARAM + 1)
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition: NDArray.h:99
The NDArrayPool class manages a free list (pool) of NDArray objects.
Definition: NDArray.h:168
Inline class to create a binary command to be sent to pco cameras over serial port.
Definition: pco_structures.h:36
Class to define a single binary response from pco cameras, received over serial port.
Definition: pco_structures.h:180
pco.cpp Area Detector Driver for PCO cameras that use Camera Link Inherite ADCameraLink to provide Im...
Definition: pco.h:41
int pco_cancel_img
Definition: pco.h:122
int pco_rec_submode
Definition: pco.h:105
int pco_image_rate
Definition: pco.h:188
int pco_read_st_img
Definition: pco.h:116
int pco_init_selftest
!
Definition: pco.h:80
int pco_read_which_seg
Definition: pco.h:115
int pco_rec_stop_event_mode
Definition: pco.h:112
int pco_dump_camera_memory
Definition: pco.h:143
int pco_adc_mode
Definition: pco.h:85
int pco_num_imgs_seg3
Definition: pco.h:131
bool is_reset_dump_counters
Definition: pco.h:303
int pco_ser_waitms
Definition: pco.h:177
int pco_temp_setpt
Definition: pco.h:86
int close_com
Definition: pco.h:74
int last_which_camera
Definition: pco.h:294
int pco_hotpix_corr
Definition: pco.h:165
int pco_trigger_mode
Definition: pco.h:140
int pco_camlink_cont
Definition: pco.h:138
int pco_camlink_pixperclk
Definition: pco.h:137
int pco_last
Definition: pco.h:210
int pco_comport_number
Definition: pco.h:168
int pco_reconfig_grabber
Definition: pco.h:159
int pco_edge_fastscan
Definition: pco.h:167
int pco_1612_lookup
Definition: pco.h:166
int pco_play_slow
Definition: pco.h:148
int pco_acqen_sig_stat
Definition: pco.h:109
int pco_globshut_mcfname
Definition: pco.h:203
int pco_setallparams
Definition: pco.h:193
int pco_rpt_img
Definition: pco.h:121
int pco_health_status
Definition: pco.h:78
int pco_camera_seg_size1
Definition: pco.h:99
xPCO_Description pco_desc
Definition: pco.h:293
int pco_set_frame_rate
Definition: pco.h:160
int pco_camera_seg_size0
Definition: pco.h:98
int pco_do_camcontrol
Definition: pco.h:179
size_t mynwrite
Definition: pco.h:309
int pco_fps_mode
Definition: pco.h:91
int pco_dly_timebase
! need to put into cpp- double
Definition: pco.h:90
int pco_imgs2dump
Definition: pco.h:144
stopWatch image_timer
Definition: pco.h:335
int pco_memreq_cnt
Definition: pco.h:145
int pco_reset_default_settings
Definition: pco.h:79
int com_port_name
Definition: pco.h:71
int pco_com_err_max
Definition: pco.h:195
void checkEdgeDescramble(void *img_ptr)
int pco_max_imgs_seg3
Definition: pco.h:132
int pco_cclines
Definition: pco.h:136
int pco_dbg_serstr
Definition: pco.h:173
int pco_is_sleep
Definition: pco.h:69
int pco_max_imgs_seg0
Definition: pco.h:125
comportInterface * serial_port
Definition: pco.h:286
size_t mynread
Definition: pco.h:310
int pco_first
Definition: pco.h:61
int pco_timestamp_mode
Definition: pco.h:110
int pco_num_imgs_seg1
Definition: pco.h:126
int com_error_counter
Definition: pco.h:291
int pco_clear_ram_seg
Definition: pco.h:102
stopWatch time2
Definition: pco.h:225
int pco_read_end_img
Definition: pco.h:118
int pco_health_error
Definition: pco.h:77
stopWatch time1
Definition: pco.h:224
int pco_noise_filt_mode
Definition: pco.h:88
int pco_doub_img_mode
Definition: pco.h:83
int pco_ready2acquire
Definition: pco.h:183
int pco_arm_camera
Definition: pco.h:111
int pco_camlink_pixfreq
Definition: pco.h:135
int pco_which_camera
Definition: pco.h:191
unsigned short * temp_image
Definition: pco.h:340
int pco_reset_memory
Definition: pco.h:142
int pco_grab_waittime
Definition: pco.h:181
bool is_allow_kill_acquire
Definition: pco.h:300
int pco_do_read_imgs
Definition: pco.h:119
int pco_camera_tot_ram_size
Definition: pco.h:94
epicsEventId stopEventId
This should be private but is accessed from C, must be public.
Definition: pco.h:57
volatile bool is_cancel_dump
Definition: pco.h:220
int is_com_open
Definition: pco.h:75
int pco_cdi_mode
Definition: pco.h:156
int pco_check_time2
Definition: pco.h:154
int pco_test_pixels
Definition: pco.h:189
int pco_camera_seg_size2
Definition: pco.h:100
int pco_rollshut_mcfname
Definition: pco.h:202
int pco_dump_counter
Definition: pco.h:152
int pco_max_imgs_seg2
Definition: pco.h:130
int open_com
Definition: pco.h:72
int pco_conv_12to16
Definition: pco.h:204
int pco_max_imgs_seg1
Definition: pco.h:127
int pco_array_counter
Definition: pco.h:187
bool is_reset_memory
Definition: pco.h:306
int pco_storage_mode
Definition: pco.h:104
int lastxsize
Definition: pco.h:344
int pco_pixelrate
! need to put into cpp- int
Definition: pco.h:82
int pco_dimax_nimgs_fudge
Definition: pco.h:209
int pco_dbg_serprint
Definition: pco.h:174
int pco_sleep_ms
Definition: pco.h:68
int myeomreason
Definition: pco.h:311
int pco_force_trigger
Definition: pco.h:146
int pco_favor_dlytime
Definition: pco.h:164
int pco_dump_waitms
Definition: pco.h:153
int pco_sensor_format
!
Definition: pco.h:81
volatile int dbg_msg_level
Definition: pco.h:217
int pco_bit_alignment
Definition: pco.h:123
int pco_camera_ram_page_size
Definition: pco.h:97
int pco_camera_ram_npages
Definition: pco.h:96
int pco_dbg_serread
Definition: pco.h:172
int pco_baudrate
Definition: pco.h:141
int pco_dump_maxdatarate
Definition: pco.h:163
int pco_exp_timebase
Definition: pco.h:89
int pco_num_imgs_seg2
Definition: pco.h:129
int pco_is_frame_rate_mode
Definition: pco.h:169
int pco_rec_status
Definition: pco.h:107
int pco_kill_ioc
Definition: pco.h:197
int pco_double_image_error
Definition: pco.h:190
int pco_frame_rate
Definition: pco.h:155
int pco_global_shutter
Definition: pco.h:200
int pco_delay_time
Definition: pco.h:162
int pco_stop_record
Definition: pco.h:114
int pco_dbg_serwrite
Definition: pco.h:171
int pco_check_time
Definition: pco.h:133
stopWatch grab_delay
Definition: pco.h:226
int pco_is_log
Definition: pco.h:70
int pco_offset_mode
Definition: pco.h:87
whichPCOCam
Definition: pco.h:325
@ pco_other
Definition: pco.h:328
@ pco_edge
Definition: pco.h:327
@ pco_dimax
Definition: pco.h:326
int pco_play_stop
Definition: pco.h:149
int pco_active_seg
Definition: pco.h:103
int pco_run_counter
Definition: pco.h:67
int pco_req_img
Definition: pco.h:120
int pco_camera_seg_size3
Definition: pco.h:101
int pco_is_running
Definition: pco.h:64
int pco_rec_stop_event_nimgs
Definition: pco.h:113
int pco_dnsu_init_mode
Definition: pco.h:158
int pco_cancel_dump
Definition: pco.h:147
asynUser * pasynUserSerial
Definition: pco.h:313
asynInterface * paynOctet
Definition: pco.h:316
int pco_descramble
Definition: pco.h:192
int pco_acq_mode
Definition: pco.h:108
bool is_enable_which_camera
Definition: pco.h:295
int pco_disable_descramble
Definition: pco.h:198
asynInterface * paynOption
Definition: pco.h:317
int pco_busy
Definition: pco.h:92
int pco_dnsu_mode
Definition: pco.h:157
int pco_exp_trig_stat
Definition: pco.h:93
int pco_force_check
Definition: pco.h:134
int serial_callback
Definition: pco.h:66
int pco_live_view
Definition: pco.h:151
int pco_health_warning
Definition: pco.h:76
int pco_num_imgs_seg0
Definition: pco.h:124
list value
Definition: makeDbAndEdl.py:234
aps designed struct based on PCO SDK.
Definition: pco_structures.h:451