From bcf0efbea40e8c546eb53c9fde2e215f0dc4639e Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Wed, 5 Feb 2020 15:52:49 +0100 Subject: [PATCH] Add option for 17 SPI DAC chained to dac_program.pl --- tools/dac_program.pl | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/dac_program.pl b/tools/dac_program.pl index 12dfa76..49bd95e 100755 --- a/tools/dac_program.pl +++ b/tools/dac_program.pl @@ -57,17 +57,33 @@ while (my $a = <$fh>) { $o = $cmd << 20; $o |= $chan << 16; $o |= (($val*1.+$offset)/$reference*65536.) & 0xFFFF; - + my @values; + $values[16] = $chain; + + if($dac == 16) { + foreach my $i (0..15) { + $values[$i] = 0x00F00000; + } + $values[17] = 16; + trb_register_write($board,0xd417, $chain | ($chain << 16)); + trb_register_write_mem($board,0xd400,0,\@values,18) or die "trb_register_write_mem: ", trb_strerror(); + usleep(5*$chainlen); + } + + foreach my $i (0..15) { $values[$i] = 0x00F00000; } - $values[16] = $chain; $values[17] = $chainlen; - $values[$chainlen-1-$dac] = $o; + $values[$chainlen-1-($dac & 0xf)] = $o; # print Dumper @values; # print "\n"; trb_register_write_mem($board,0xd400,0,\@values,18) or die "trb_register_write_mem: ", trb_strerror(); usleep(5*$chainlen); + + if($dac == 16) { + trb_register_write($board,0xd417,0); + } } } -- 2.43.0