my $old;
while(1) {
- my $o = trb_registertime_read_mem(0xfe4c,0xc000,0,49) or sleep 5 and next;
+ my $o = trb_registertime_read_mem(0xfe4c,0xdfc0,0,48) or sleep 5 and next;
if (defined $old) {
foreach my $b (keys %$o) {
#my $ratesum = 0;
my $old_t = $old->{$b}{time}->[0];
my $t_diff = ($this_t - $old_t) || 1;
$t_diff += 2**16 if $t_diff < 0;
- $t_diff *= 16;
+ $t_diff *= 16 / 1E6;
my $xpos = (($b>>4)&0xF)*10 + ($b&0xF);
for my $v (0..47) {
last if $v == 32 && ($b&0xF)==3 && $b < 0x6440;
last if $v == 32 && ($b == 0x6464 || $b == 0x6465);
- my $vdiff = ($o->{$b}{value}->[$v+1]&0xfffffff) - ($old->{$b}{value}->[$v+1]&0xfffffff);
- $vdiff += 2**28 if $vdiff < 0;
-
+ my $vdiff = ($o->{$b}{value}->[$v]&0xffffff) - ($old->{$b}{value}->[$v]&0xffffff);
+ $vdiff += 2**24 if $vdiff < 0;
HPlot::PlotFill('StsRate',$vdiff/$t_diff,$v,$xpos);
}
}
}
$old = $o;
- sleep 2;
+ sleep 1;
}