The following virtual counter operates a Pilatus in single shot mode, i.e. if the VC is used during a scan, a single frame is taken at each stop.
if( $method =~ /reset/i)
{
Spectra::tng_attrLongWrt( "pilatus", "NbFrames", 1);
Spectra::pilatus_start( "pilatus",
$Spectra::SYM{ scan_name},
$Spectra::SYM{ sample_time},
$Spectra::SYM{ sindex},
".cbf");
return 1;
}
if( $method =~ /read/i)
{
while( Spectra::tng_state( "pilatus"))
{
Util::log( "waiting for Pilatus ");
Spectra::wait( 0.5);
}
Util::log( "pilatus state " . Spectra::tng_state( "pilatus"));
return 1;
}