The following lines which are part of /online_dir/TkIrc.pl create a widget to operate the MARCCD.
$Spc::res_h{ marccd_title} = { text => "MAR-CCD"};
$Spc::res_h{ "marccd_io1"} = {
label => { name => "File"},
entry => { set => sub { Spectra::marccd_writefile( $_[0]);}}};
$Spc::res_h{ "marccd_io2"} = {
label => { name => "Get_state",
get => sub { Spectra::marccd_get_state()}}};
$Spc::res_h{ marccd_b1} = { name => "Start",
command => sub { Spectra::marccd_start();}};
$Spc::res_h{ marccd_b2} = { name => "Readout",
command => sub { Spectra::marccd_readout();}};
$Spc::res_h{ marccd_b3} = { name => "Readout_bg",
command => sub { Spectra::marccd_readout_bg();}};
$Spc::res_h{ marccd_b4} = { name => "Readout_mr",
command => sub { Spectra::marccd_readout_mr();}};
$Spc::res_h{ marccd_b5} = { name => "Correct",
command => sub { Spectra::marccd_correct();}};
$Spc::res_h{ marccd_b6} = { name => "Open Shutter",
command => sub { Spectra::marccd_open_shutter();}};
$Spc::res_h{ marccd_b7} = { name => "Close Shutter",
command => sub { Spectra::marccd_close_shutter();}};
$Spc::res_h{ marccd_b8} = { name => "Abort",
command => sub { Spectra::marccd_abort();
Spectra::marccd_close_shutter(); }};