use Pod::Usage;
$Data::Dumper::Terse = 1;
$Data::Dumper::Useqq = 0;
-
+use Cwd;
use FindBin;
use lib "$FindBin::Bin/..";
use Environment;
+require Common;
my ($help, $man, $verbose, $setup, $dryrun);
my $name = $db->getDocumentElement->getAttribute('name');
print STDERR "Loading setup $name from file $setupFile\n" if $verbose;
+my @CbCommands;
foreach my $curctrl ($db->getDocumentElement->findnodes('controller')) {
my $ctrlname = $curctrl->getAttribute('name');
push(@sname,$sensname);
push(@sfile,$sensfile);
push(@senable,$sensena);
+
+
+ # parse <CbConf> configuration and set settings in converter board
+ my $CbConf = $cursensor->findnodes('CbConf')->shift();
+ if (defined($CbConf)){
+ foreach my $attr ($CbConf->findnodes('@*')){
+# print $ctrladdr." ".$attr->getName()." ".$attr->getValue()."\n";
+ push(@CbCommands,{
+ addr => "0x".$ctrladdr,
+ name => $attr->getName().".".sprintf("%d",$sensid),
+ # sensor id is used to addres the xml-db data slice
+ value => any2hex($attr->getValue())
+ });
+ }
+ }
foreach my $cfg ($cursensor->findnodes('config')) {
print STDERR " Found config\n" if $verbose;
push(@commands,"./ui.pl -b $ctrlname -o ".$cfg->textContent());
}
}
+
+ # parse <CbConf> configuration and set settings in converter board
+ my $CbConf = $curchain->findnodes('CbConf')->shift();
+ if (defined($CbConf)){
+ foreach my $attr ($CbConf->findnodes('@*')){
+# print $ctrladdr." ".$attr->getName()." ".$attr->getValue()."\n";
+ push(@CbCommands,{
+ addr => "0x".$ctrladdr,
+ name => $attr->getName(),
+ # sensor id is used to addres the xml-db data slice
+ value => any2hex($attr->getValue())
+ });
+ }
+ }
+
+
foreach my $cfg ($curchain->findnodes('config')) {
print STDERR " Found config\n" if $verbose;
push(@commands,"./ui.pl -b $ctrlname -c $chainname -o ".$cfg->textContent());
}
+
$chainsini .= proto_chainsini($chainname,$chainid,$ctrladdr,\@sname,\@sfile,\@senable);
sensorini(\@sfile);
}
$chainsinifile->close();
+print Dumper @CbCommands;
###############################
## Do whatever has to be done
###############################
+
+# configure Converter Boards
+my $here = cwd();
+chdir(XMLDBPATH);
+foreach my $cmd (@CbCommands){
+ my $entity = "CbController";
+ my $addr = $cmd->{addr};
+ my $value = $cmd->{value};
+ my $fieldname = $cmd->{name};
+ execute("./put.pl $entity $addr $fieldname $value");
+
+}
+chdir($here);
+
+
local $CWD = $ENV{'JTAGPATH'};
foreach my $cmd (@commands) {
execute($cmd);