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