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; }