From: Hadaq@styx Date: Thu, 10 Oct 2013 10:18:15 +0000 (+0200) Subject: added support for scales and units X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=8412be358d7139c7345e2d7c80f723f388cd2ab8;p=daqtools.git added support for scales and units --- diff --git a/xml-db/get.pl b/xml-db/get.pl index b284867..89bf027 100755 --- a/xml-db/get.pl +++ b/xml-db/get.pl @@ -99,6 +99,7 @@ sub FormatPretty { my ($value,$obj,$cont) = @_; $value = $value >> ($obj->{start}); $value &= ((1<<$obj->{bits})-1); + $value = $value * ($obj->{scale}||1); my $ret, my $cl; if (defined $cont) { @@ -110,6 +111,7 @@ sub FormatPretty { if($obj->{errorflag}) { $ret .= "$cl>".($value?"true":"false");} else { $ret .= "$cl>".($value?"true":"false");} } + when ("float") {$ret = sprintf("$cl>%.2f",$value);} when ("integer") {$ret .= sprintf("$cl>%i",$value);} when ("unsigned") {$ret .= sprintf("$cl>%u",$value);} when ("signed") {$ret .= sprintf("$cl>%d",$value);} @@ -130,6 +132,7 @@ sub FormatPretty { else { for($obj->{format}) { when ("boolean") {$ret = $value?"true":"false";} + when ("float") {$ret = sprintf("%.2f",$value);} when ("integer") {$ret = sprintf("%i",$value);} when ("unsigned") {$ret = sprintf("%u",$value);} when ("signed") {$ret = sprintf("%d",$value);} @@ -148,6 +151,7 @@ sub FormatPretty { default {$ret = sprintf("%08x",$value);} } } + $ret .= " ".$obj->{unit} if exists $obj->{unit}; return $ret; }