Prosilica Camera

$Spc::res_h{ blsc} = "prosilica";

$Spc::res_h{ prosilica_title } = { text => "Prosilica Camera"};
$Spc::res_h{ prosilica_help} = sub 
{ 
    Util::display_text( "Help Prosilica", 
'
  n.n.
'
)};
$Spc::res_h{ prosilica_io1 } = { label => { name => "FileDir", 
					   get => sub {Spectra::tng_attrStringRd( "prosilica", "FileDir");}},
				entry => { set => sub {Spectra::tng_attrStringWrt( "prosilica", "FileDir", $_[0]);}}};
$Spc::res_h{ prosilica_io2 } = { label => { name => "FilePrefix", 
					   get => sub {Spectra::tng_attrStringRd( "prosilica", "FilePrefix");}},
				entry => { set => sub {Spectra::tng_attrStringWrt( "prosilica", "FilePrefix", $_[0]);}}};
$Spc::res_h{ prosilica_io3 } = { label => { name => "FilePostfix", 
					   get => sub {Spectra::tng_attrStringRd( "prosilica", "FilePostfix");}},
				entry => { set => sub {Spectra::tng_attrStringWrt( "prosilica", "FilePostfix", $_[0]);}}};
$Spc::res_h{ prosilica_io4 } = { label => { name => "FileStartNum", 
					   get => sub {Spectra::tng_attrLongRd( "prosilica", "FileStartNum");}},
				entry => { set => sub {Spectra::tng_attrLongWrt( "prosilica", "FileStartNum", $_[0]);}}};
$Spc::res_h{ prosilica_io4 } = { label => { name => "AcquisitionMode", 
					   get => sub {Spectra::tng_attrLongRd( "prosilica", "AcquisitionMode");}},
				entry => { set => sub {Spectra::tng_attrLongWrt( "prosilica", "AcquisitionMode", $_[0]);}}};
$Spc::res_h{ prosilica_io4 } = { label => { name => "Exposure", 
					   get => sub {Spectra::tng_attrLongRd( "prosilica", "Exposure");}},
				entry => { set => sub {Spectra::tng_attrLongWrt( "prosilica", "Exposure", $_[0]);}}};
$Spc::res_h{ prosilica_io5 } = { label => { name => "BinningX", 
					   get => sub {Spectra::tng_attrLongRd( "prosilica", "BinningX");}},
				entry => { set => sub {Spectra::tng_attrLongWrt( "prosilica", "BinningX", $_[0]);}}};
$Spc::res_h{ prosilica_io6 } = { label => { name => "BinningY", 
					   get => sub {Spectra::tng_attrLongRd( "prosilica", "BinningY");}},
				entry => { set => sub {Spectra::tng_attrLongWrt( "prosilica ", "BinningY", $_[0]);}}};
$Spc::res_h{ prosilica_io7 } = { label => { name => "State", 
					    get => sub {Spectra::tng_state( "prosilica");}}}; 
$Spc::res_h{ prosilica_b1} = { name => "Start", 
			       command => sub { while(Spectra::tng_state( "Prosilica") != 0)
						{
						    Spectra::wait(0.1);
						  }
						Spectra::tng_inout( "Prosilica", "StartAcquisition");}}; 
$Spc::res_h{ prosilica_b2} = { name => "Stop", 
			       command => sub {Spectra::tng_inout( "Prosilica", "StopAcquisition");}}; 
$Spc::res_h{ prosilica_b3} = { name => "Cleanup", 
			       command => sub {Spectra::tng_inout( "Prosilica", "CleanupCamera");}}; 
$Spc::res_h{ prosilica_b4} = { name => "Init", 
			       command => sub {Spectra::tng_inout( "Prosilica", "InitCamera");}};