Chapter 2. ICL 25
PVCAM Class 101: ICL pl_exp_start_script(101)
NAME
pl_exp_start_script – begin exposing, return immediately.
SYNOPSIS
boolean
pl_exp_start_script(int16 hcam, void_ptr pixel_stream)
DESCRIPTION
hcam
must specify a CCD camera that has been successfully opened by PVCAM.
This function is the companion function to pl_exp_setup_script.
pl_exp_setup_script must be called first to define the exposure and
program this information into the camera. After that, pl_exp_start_script
may be called one or more times. Each time, it will trigger the script to begin
executing from the start, and then immediately return. (Since a script may have
been aborted in the middle, leaving the camera in an unknown state, well
written scripts will usually force the camera to a known state at the start of the
script.)
Exposure progress is monitored through pl_exp_check_status. The next
script can be started as soon as the readout is finished or an abort is performed
(pl_exp_abort).
The user must allocate
pixel_stream
, an appropriately sized memory buffer
for data collection. The buffer must be at least
stream_size
bytes large, where
stream_size
is the value returned from pl_exp_setup_script. In addition,
this memory needs to be page locked or similarly protected on virtual memory
systems. These requirements are system specific.
There is a special case for users who want to use their own frame grabber (with
an appropriately equipped camera). If a null pointer is passed in for
pixel_stream
, pl_exp_start_script will assume that the user is routing
the data to a frame grabber or other device under user control. Under those
conditions, pl_exp_start_script will initiate the exposure, but will not
attempt to handle incoming data.
RETURN VALUE
TRUE for success, FALSE for a failure. Failure sets pl_error_code.
SEE ALSO
pl_exp_setup_script(101), pl_exp_abort(0),
pl_exp_check_status(0)
NOTES
This is programmed as macro call pl_exp_start_seq. This script function
exists to provide a complete and coherent conceptual model for the sequence
style exposure functions. From the API level, it should always appear that an
exposure style is self-contained and complete, and that each exposure style is
completely independent from every other exposure style. Underneath the API,
though, code will be reused as needed.