LCX, P10

The following lines which are part of /online_dir/TkIrc.pl create a widget to operate the LCX camera.

$Spc::res_h{ blsc} = "lcx";
$Spc::res_h{ lcx_title } = { text => "LCX Camera"};

$Spc::res_h{ lcx_io1 } = { label => { name => "FileDirectory", 
				      get => sub {Spectra::tng_attrStringRd( "lcx", "FileDir");}},
			   entry => { set => sub {Spectra::tng_attrStringWrt( "lcx", "FileDir", $_[0]);}}};
$Spc::res_h{ lcx_io2 } = { label => { name => "FilePrefix", 
				      get => sub {Spectra::tng_attrStringRd( "lcx", "FilePrefix");}},
			   entry => { set => sub {Spectra::tng_attrStringWrt( "lcx", "FilePrefix", $_[0]);}}};
$Spc::res_h{ lcx_io3 } = { label => { name => "FileStartNum", 
				      get => sub {Spectra::tng_attrLongRd( "lcx", "FileStartNum");}},
			   entry => { set => sub {Spectra::tng_attrLongWrt( "lcx", "FileStartNum", $_[0]);}}};
$Spc::res_h{ lcx_io4 } = { label => { name => "ExposureTime", 
				      get => sub {Spectra::tng_attrDoubleRd( "lcx", "ExposureTime");}},
			   entry => { set => sub {Spectra::tng_attrDoubleWrt( "lcx", "ExposureTime", $_[0]);}}};
$Spc::res_h{ lcx_io5 } = { label => { name => "NbFrames", 
				      get => sub {Spectra::tng_attrLongRd( "lcx", "NbFrames");}},
			   entry => { set => sub {Spectra::tng_attrLongWrt( "lcx", "NbFrames", $_[0]);}}};
$Spc::res_h{ lcx_io6 } = { label => { name => "State", 
				      get => sub {Spectra::tng_state( "lcx");}}}; 
$Spc::res_h{ lcx_io7 } = { label => { name => "Status", 
				      get => sub {Spectra::tng_status( "lcx");}}}; 
$Spc::res_h{ lcx_b1} = { name => "StartAcq", 
			 command => sub { while(Spectra::tng_state( "lcx") == 10)
					  {
					      Spectra::wait(0.1);
					  }
					  Spectra::tng_inout( "lcx", "StartAcquisition");
					  while(Spectra::tng_state( "lcx") == 10)
					  {
					      Spectra::wait(0.10);
					    }}};
$Spc::res_h{ lcx_b2} = { name => "Reset", 
			 command => sub { Spectra::tng_inout( "lcx", "Reset");}};

Figure 14.18: BLSC: LCX Camera, P10
Image blsc_lcx