Project Support


Contexts:Network socket, serial console, stage2 only
Function:Perform CCD readout (clocking and sampling)
Required Parameters:none.
Optional Parameters:
dev=[current] Select dev 0 1 or all
namp=[8] Select number of amplifiers to read (per dev)
width=[set from detsize] Override detector pixel column (serial) count
height=[set from detsize] Override detector pixel row (parallel) count
cellrow=[none] OTA CCD cell row to read (0..7 none or all)
buffer=[see notes] Buffer pool number into which to copy the readout
adcflip=[true] Treat amplifiers in reverse order (affects readcal!)
adczero=[0] Position of first output amplifier to save (0..7)

CCD-only options, not applicable to IR devices:

colbin=[1] Column binning (not implemented, unless used with swscale=true)
rowbin=[1] Row binning factor (1,2,3,...)
swscale=[false] Instead of serial binning, apply software scaling at colbin factor (sw >= r5659)
bpp=[16] Bits per pixel to save (16:signal-pedestal, 32:pedestal,signal)
sercln=[5] Number of times to clean the serial register before readout
prebias=[0] Device serial register prescan pixels (clocked and discarded)
pskip=[0] Subraster/region of interest: Number of extra parallel clocks before reading region
sskip=[0] Subraster/region of interest: Number of extra serial clocks before each row

CCD Video-mode readout options:

vid_shutter=[false] If set to true, activate a stargrasp-controller shutter during video
vid_prebias=OBSOLETE. Use prebias=
rowpre=[0] Rows to shift down for a "video clean" before integration
colpre=[0] Columns to shift (left or right) for a "video clean" before integration
vid_expose=[0] Video frame exposure (integration) time in milliseconds. >= 1 activates video
vid_rowskip=OBSOLETE. Use pskip=
vid_colskip=OT-CCD only: Sideways pskip. Normal CCDs must use sskip=
vid_colskip2=OT-CCD only: Second sideways pskip (used for "ghost reduction")

Buffer Number (and OTA Cellrow Number)

The cellrow= option only applies to OTA CCDs. OTA CCDs have 8 cellrows, only one of which can be read at a time. They are numbered 0 through 7, so that is the valid range for this parameter. Non-OTA devices should use the default: cellrow=none

When cellrow= is 0..7 or all, then buffer= defaults to the same value as the cellrow. In other words, cellrow 0 pixels are placed in buffer 0 memory, cellrow 1 pixels are placed in buffer 1 memory, and so on. If double or triple buffering of images is desired for non-OTA devices, the buffer= option can be used to achieve this. Otherwise, the controller continually overwrites the image in buffer 0 for non-OTA devices.

Before using multiple buffers, calculate whether the controller has enough memory to store multiple images from your detector. Expect to have around a 10% overhead for packet headers and the controller code itself.

ADC Options

The adcflip= option is obsolete, in the sense that it should always be left at the default (true.) Reversing it in order to get the amplifiers written to FITS file in reverse order is not advised, because doing so will break readcal.

The adczero= option can still be used, in combination with namp= to select a (contiguous) range of output amplifiers from which pixels need to be saved. For example, to read only the third output (output amplifier 2), use:

readout namp=1 adczero=2

(And leave adcflip set, which is always the default.)