From 839598497111732964f50cd73ec715bfe2d205f3 Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Mon, 15 Jun 2020 16:48:15 +0200 Subject: [PATCH] Update CTS GUI for larger delay settings --- web/CtsPlugins/CtsMod10.pm | 59 ++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/web/CtsPlugins/CtsMod10.pm b/web/CtsPlugins/CtsMod10.pm index 43f7063..232d829 100755 --- a/web/CtsPlugins/CtsMod10.pm +++ b/web/CtsPlugins/CtsMod10.pm @@ -19,25 +19,46 @@ sub init { my $prop = $self->{'_properties'}; my $header = $self->{'_cts'}{'_enum'}{0x10}->read(); - + my $cprop = $self->{'_cts'}{'_properties'}; + # registers - for(my $i = 0; $i < $header->{'len'}; $i++) { - my $key = "trg_input_config$i"; - - $regs->{$key} = new TrbRegister($address + 1 + $i, $trb, { - 'delay' => {'lower' => 0, 'len' => 4}, - 'spike_rej' => {'lower' => 4, 'len' => 4}, - 'invert' => {'lower' => 8, 'len' => 1, 'type' => 'bool'}, - 'override' => {'lower' => 9, 'len' => 2, 'type' => 'enum', 'enum' => - {0 => 'off', 1 => 'to_low', 3 => 'to_high'} - } - }, { - 'accessmode' => "rw", - 'export' => 1, - 'monitor' => '1', - 'label' => "Trigger Input Module Configuration $i" - }); - } + if ($cprop->{'trb_compiletime'} < 1592219121) { + for(my $i = 0; $i < $header->{'len'}; $i++) { + my $key = "trg_input_config$i"; + + $regs->{$key} = new TrbRegister($address + 1 + $i, $trb, { + 'delay' => {'lower' => 0, 'len' => 4}, + 'spike_rej' => {'lower' => 4, 'len' => 4}, + 'invert' => {'lower' => 8, 'len' => 1, 'type' => 'bool'}, + 'override' => {'lower' => 9, 'len' => 2, 'type' => 'enum', 'enum' => + {0 => 'off', 1 => 'to_low', 3 => 'to_high'} + } + }, { + 'accessmode' => "rw", + 'export' => 1, + 'monitor' => '1', + 'label' => "Trigger Input Module Configuration $i" + }); + } + } else { + for(my $i = 0; $i < $header->{'len'}; $i++) { + my $key = "trg_input_config$i"; + + $regs->{$key} = new TrbRegister($address + 1 + $i, $trb, { + 'delay' => {'lower' => 0, 'len' => 6}, + 'spike_rej' => {'lower' => 8, 'len' => 4}, + 'invert' => {'lower' => 12, 'len' => 1, 'type' => 'bool'}, + 'override' => {'lower' => 13, 'len' => 2, 'type' => 'enum', 'enum' => + {0 => 'off', 1 => 'to_low', 3 => 'to_high'} + } + }, { + 'accessmode' => "rw", + 'export' => 1, + 'monitor' => '1', + 'label' => "Trigger Input Module Configuration $i" + }); + } + } for(my $i = 0; $i < $header->{'itc_len'}; $i++) { if ($self->{'_cts'}->getProperties->{'itc_assignments'}[$i + $header->{'itc_base'}] eq 'unconnected') { @@ -51,4 +72,4 @@ sub init { } -1; \ No newline at end of file +1; -- 2.43.0