This section displays the beamline specific code for the PiezoPiE712.
#
# E712 code
#
$Spc::res_h{ e712_title } = { text => "E712 Detector"};
$Spc::res_h{ e712_help} = sub
{
Util::display_text( "Help E712",
'
WAV axis X LIN SegLength Ampl Offset WaveLength StartPoint SpeedUpDown
SegLength
the length of the wave table segment in points, def. 5000
Amp
the amplitude of the scan line, e.g. 100 move from the current
position relative +100
Offset
the offset of the scan line, e.g. 0
Wavelength
the length of the single scan line curve in points, e.g. 4980
StartPoint
the index of the starting point of the scan line in the segment, e.g. 0
SpeedUpDown
the number of points for speed-up or low-down, e.g. 10
TableRate
the duration of the output, e.g. 10
OutputCycles
1
WOS
wave generator output offset, reflects the position
Position
Move using waveform, if distance > 2
PositionRaw
Move by command, not by WF
'
)};
$Spc::res_h{ e712_io1 } = { label => { name => "SegLength",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveSegmentLength");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveSegmentLength", $_[0]);}}};
$Spc::res_h{ e712_io2 } = { label => { name => "Amp",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveAmplitude");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveAmplitude", $_[0]);}}};
$Spc::res_h{ e712_io3 } = { label => { name => "Offset",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveOffset");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveOffset", $_[0]);}}};
$Spc::res_h{ e712_io4 } = { label => { name => "WaveLength",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveWaveLength");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveWaveLength", $_[0]);}}};
$Spc::res_h{ e712_io5 } = { label => { name => "StartPoint",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveStartPoint");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveStartPoint", $_[0]);}}};
$Spc::res_h{ e712_io6 } = { label => { name => "SpeedUpDown",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveSpeedUpDown");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveSpeedUpDown", $_[0]);}}};
$Spc::res_h{ e712_io7 } = { label => { name => "TableRate",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveTableRate");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveTableRate", $_[0]);}}};
$Spc::res_h{ e712_io8 } = { label => { name => "OutputCycles",
get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveOutputCycles");}},
entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveOutputCycles", $_[0]);}}};
$Spc::res_h{ e712_io9 } = { label => { name => "WOS",
get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "WOS");}},
entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "WOS", $_[0]);}}};
$Spc::res_h{ e712_io10 } = { label => { name => "ServoUpdateRate",
get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "ServoUpdateRate");}}};
$Spc::res_h{ e712_io11 } = { label => { name => "State",
get => sub {Spectra::tng_state( "mi_pi1");}}};
$Spc::res_h{ e712_io12 } = { label => { name => "Position (WF)",
get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "Position");}},
entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "Position", $_[0]);}}};
$Spc::res_h{ e712_io13 } = { label => { name => "PositionRaw",
get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "PositionRaw");}},
entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "PositionRaw", $_[0]);}}};
$Spc::res_h{ e712_b1} = { name => "DefineWF",
command => sub { Spectra::tng_inout( "mi_pi1", "DefineWaveform");}};
$Spc::res_h{ e712_b2} = { name => "StartWaveGen.",
command => sub { Spectra::tng_inout( "mi_pi1", "StartWaveGenerator");}};
$Spc::res_h{ e712_b3} = { name => "StopWaveGen.",
command => sub { Spectra::tng_inout( "mi_pi1", "StopWaveGenerator");}};