This section displays the beamline spefici code for the PCO4000 and the resulting widget.
$Spc::res_h{ blsc} = "pco4000";
$Spc::res_h{ pco4000_title} = { text => "PCO4000"};
$Spc::res_h{ "pco4000_io1"} = {
label => { name => "ExposureTime [s]",
get => sub { Spectra::tng_attrDoubleRd( "pco4000", "ExposureTime");},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrDoubleWrt( "pco4000", "ExposureTime", $_[0]);}}};
$Spc::res_h{ "pco4000_io2"} = {
label => { name => "FilePrefix",
get => sub { my $ret = Spectra::tng_attrStringRd( "pco4000", "FilePrefix");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrStringWrt( "pco4000", "FilePrefix", $_[0]);}}};
$Spc::res_h{ "pco4000_io3"} = {
label => { name => "FilePostfix",
get => sub { my $ret = Spectra::tng_attrStringRd( "pco4000", "FilePostfix");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrStringWrt( "pco4000", "FilePostfix",$_[0] );}}};
$Spc::res_h{ "pco4000_io4"} = {
label => { name => "FileStartNum",
get => sub { my $ret = Spectra::tng_attrLongRd( "pco4000", "FileStartNum");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrLongWrt( "pco4000", "FileStartNum", $_[0]);}}};
$Spc::res_h{ "pco4000_io5"} = {
label => { name => "State",
get => sub { my $ret = Spectra::tng_state( "pco4000");}}};
$Spc::res_h{ "pco4000_io6"} = {
label => { name => "TriggerMode",
get => sub { Spectra::tng_attrShortRd( "pco4000", "Triggermode");},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrShortWrt( "pco4000", "Triggermode", $_[0]);}}};
$Spc::res_h{ "pco4000_io7"} = {
label => { name => "FileDir",
width => 30,
get => sub { Spectra::tng_state( "pco4000");
Spectra::tng_attrStringRd( "pco4000", "FileDir");},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrStringWrt( "pco4000", "FileDir", $_[0]);}}};
$Spc::res_h{ "pco4000_io8"} = {
label => { name => "FileSaving",
get => sub { Spectra::tng_state( "pco4000");
Spectra::tng_attrBoolRd( "pco4000", "FileSaving");},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrBoolWrt( "pco4000", "FileSaving", $_[0]);}}};
$Spc::res_h{ "pco4000_io9"} = {
label => { name => "Binning_x",
get => sub { my $ret = Spectra::tng_attrShortRd( "pco4000", "Binning_x");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrShortWrt( "pco4000", "Binning_x", $_[0]);}}};
$Spc::res_h{ "pco4000_io10"} = {
label => { name => "Binning_y",
get => sub { my $ret = Spectra::tng_attrShortRd( "pco4000", "Binning_y");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrShortWrt( "pco4000", "Binning_y", $_[0]);}}};
$Spc::res_h{ "pco4000_io11"} = {
label => { name => "ADCs",
get => sub { my $ret = Spectra::tng_attrShortRd( "pco4000", "ADCs");
return $ret;},
unit => ""},
entry => { set => sub { while(Spectra::tng_state( "pco4000") == 10) # Wait Pco4000 to finish
{
Spectra::wait(0.1);
}
Spectra::tng_state( "pco4000");
Spectra::tng_attrShortWrt( "pco4000", "ADCs", $_[0]);}}};
$Spc::res_h{ pco4000_b1} = { name => "Start", #Wait for pco4000 to stop before starting
command => sub { while(Spectra::tng_state( "pco4000") == 10)
{
Spectra::wait(0.1);
}
Spectra::tng_inout( "pco4000", "StartStandardAcq");}};
$Spc::res_h{ pco4000_b2} = { name => "Stop",
command => sub { Spectra::tng_inout( "pco4000", "StopAcq");}};
$Spc::res_h{ pco4000_b3} = { name => "Reset",
command => sub { Spectra::tng_inout( "pco4000", "Reset");}};
$Spc::res_h{ pco4000_b4} = { name => "Live",
command => sub { Spectra::tng_inout( "pco4000", "Live");}};