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